| | |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.common.utils.WebUtils; |
| | | import com.ruoyi.common.utils.bean.BeanUtils; |
| | | import com.ruoyi.framework.web.service.TokenService; |
| | | import com.ruoyi.system.dto.LocationDTO; |
| | | import com.ruoyi.system.importExcel.TLocationImportExcel; |
| | | import com.ruoyi.system.model.*; |
| | |
| | | import com.ruoyi.system.query.LocationListTaskQuery; |
| | | import com.ruoyi.system.service.*; |
| | | import com.ruoyi.system.utils.CustomerImportFailedData; |
| | | import com.ruoyi.system.vo.system.LocationListTaskVO; |
| | | import com.ruoyi.system.vo.system.LocationListVO; |
| | | import com.ruoyi.system.vo.system.*; |
| | | import com.sun.org.apache.bcel.internal.generic.NEW; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | private TDeptService deptService; |
| | | @Resource |
| | | private ISysUserService sysUserService; |
| | | @Resource |
| | | private TokenService tokenService; |
| | | |
| | | @ApiOperation(value = "点位管理分页列表") |
| | | @PostMapping(value = "/pageList") |
| | |
| | | res.add(temp); |
| | | } |
| | | pageInfo.setRecords(res); |
| | | return R.ok(); |
| | | return R.ok(pageInfo); |
| | | } |
| | | @ApiOperation(value = "根据片区id查询保洁员列表 不分页") |
| | | @GetMapping(value = "/listCleaner") |
| | | public R<List<TCleaner>> listCleaner(@RequestParam String id) { |
| | | return R.ok(cleanerService.lambdaQuery().eq(TCleaner::getProjectId,id).list()); |
| | | } |
| | | @ApiOperation(value = "根据保洁员id查询点位列表 不分页") |
| | | @GetMapping(value = "/listLocation") |
| | | public R<List<TLocation>> listLocation(@RequestParam String id) { |
| | | return R.ok(locationService.lambdaQuery().eq(TLocation::getLocationCleaner,id).list()); |
| | | } |
| | | |
| | | @ApiOperation(value = "查询部门 项目部列表 不分页") |
| | | @GetMapping(value = "/listDepts") |
| | | public R<List<DeptNoLimitVO>> listDepts() { |
| | | List<TProjectDept> parent = projectDeptService.lambdaQuery().eq(TProjectDept::getParentId, "0").list(); |
| | | List<TProjectDept> child = projectDeptService.lambdaQuery().ne(TProjectDept::getParentId, "0").list(); |
| | | List<TDept> depts = deptService.list(); |
| | | List<DeptNoLimitVO> res = new ArrayList<>(); |
| | | DeptNoLimitVO deptNoLimitVO1 = new DeptNoLimitVO(); |
| | | deptNoLimitVO1.setDeptName("项目部"); |
| | | DeptNoLimitVO deptNoLimitVO2 = new DeptNoLimitVO(); |
| | | deptNoLimitVO2.setDeptName("公司"); |
| | | res.add(deptNoLimitVO1); |
| | | res.add(deptNoLimitVO2); |
| | | for (DeptNoLimitVO re : res) { |
| | | if (re.getDeptName().equals("项目部")){ |
| | | List<DeptNoLimitParentVO> deptNoLimitVOS = new ArrayList<>(); |
| | | for (TProjectDept tProjectDept : parent) { |
| | | DeptNoLimitParentVO deptNoLimitVO = new DeptNoLimitParentVO(); |
| | | deptNoLimitVO.setDeptName(tProjectDept.getProjectName()); |
| | | deptNoLimitVO.setDeptId(tProjectDept.getId()); |
| | | List<TProjectDept> collect = child.stream().filter(e -> e.getParentId().equals(tProjectDept.getId())).collect(Collectors.toList()); |
| | | List<DeptNoLimitChildVO> deptNoLimitChildVOS = new ArrayList<>(); |
| | | for (TProjectDept projectDept : collect) { |
| | | DeptNoLimitChildVO deptNoLimitChildVO = new DeptNoLimitChildVO(); |
| | | deptNoLimitChildVO.setDeptName(projectDept.getProjectName()); |
| | | deptNoLimitChildVO.setDeptId(projectDept.getId()); |
| | | deptNoLimitChildVOS.add(deptNoLimitChildVO); |
| | | } |
| | | deptNoLimitVO.setDeptChild(deptNoLimitChildVOS); |
| | | deptNoLimitVOS.add(deptNoLimitVO); |
| | | } |
| | | re.setDeptChild(deptNoLimitVOS); |
| | | }else { |
| | | List<DeptNoLimitParentVO> deptNoLimitVOS = new ArrayList<>(); |
| | | for (TDept tDept : depts) { |
| | | DeptNoLimitParentVO deptNoLimitVO = new DeptNoLimitParentVO(); |
| | | deptNoLimitVO.setDeptName(tDept.getDeptName()); |
| | | deptNoLimitVO.setDeptId(tDept.getId()); |
| | | deptNoLimitVOS.add(deptNoLimitVO); |
| | | } |
| | | re.setDeptChild(deptNoLimitVOS); |
| | | } |
| | | |
| | | } |
| | | return R.ok(res); |
| | | } |
| | | @ApiOperation(value = "根据部门/项目部id查询巡检员列表 不分页") |
| | | @GetMapping(value = "/listUsers") |
| | | public R<List<SysUser>> listUsers(@RequestParam String id) { |
| | | List<SysUser> res = sysUserService.selectUserByDeptId(id); |
| | | return R.ok(res); |
| | | } |
| | | @Log(title = "新增点位", businessType = BusinessType.INSERT) |
| | | @ApiOperation(value = "新增点位") |
| | |
| | | @GetMapping("/import-template") |
| | | public void importTemplate() { |
| | | List<TLocationImportExcel> locationImportExcels = new ArrayList<>(); |
| | | TLocationImportExcel tLocationImportExcel = new TLocationImportExcel(); |
| | | tLocationImportExcel.setDeptCode("1"); |
| | | tLocationImportExcel.setDeptName("1"); |
| | | tLocationImportExcel.setNickName("1"); |
| | | tLocationImportExcel.setProjectCodeClear("1"); |
| | | tLocationImportExcel.setDeptCodeClear("1"); |
| | | tLocationImportExcel.setCleanerCodeClear("1"); |
| | | tLocationImportExcel.setLocationCode("1"); |
| | | tLocationImportExcel.setLocationType("1"); |
| | | tLocationImportExcel.setLocationName("1"); |
| | | tLocationImportExcel.setLocationAddress("1"); |
| | | tLocationImportExcel.setLocationAddressEnd("1"); |
| | | tLocationImportExcel.setLocationAddressLonLat("1"); |
| | | tLocationImportExcel.setLocationAddressEndLonLat("1"); |
| | | |
| | | locationImportExcels.add(tLocationImportExcel); |
| | | Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TLocationImportExcel.class, locationImportExcels); |
| | | HttpServletResponse response = WebUtils.response(); |
| | | ServletOutputStream outputStream = null; |
| | |
| | | @ApiOperation(value = "点位导入") |
| | | @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) |
| | | @PostMapping("/importLocation") |
| | | public R<List<CustomerImportFailedData>> importLocation(@RequestPart("file") MultipartFile file) { |
| | | public R<String> importLocation(@RequestPart("file") MultipartFile file) { |
| | | ImportParams params = new ImportParams(); |
| | | params.setTitleRows(2); // 标题行数 |
| | | params.setHeadRows(1); //表头行数 |
| | | InputStream inputStream = null; |
| | | List<CustomerImportFailedData> failedData = new ArrayList<>(); |
| | | // List<CustomerImportFailedData> failedData = new ArrayList<>(); |
| | | List<TLocationImportExcel> locationExcelList; |
| | | try { |
| | | inputStream = file.getInputStream(); |
| | |
| | | if (CollectionUtils.isEmpty(locationExcelList)) { |
| | | throw new ServiceException("点位数据为空!"); |
| | | } |
| | | |
| | | // List<TLocation> saveOrUpdateList = new ArrayList<>(); |
| | | // 查询所有类型点位 |
| | | List<TLocationType> locationTypes = locationTypeService.list(); |
| | | // 查询所有用户 |
| | | List<SysUser> users = sysUserService.selectAllList(); |
| | | // 查询所有部门 |
| | | List<TDept> deptList = deptService.list(); |
| | | // 查询所有保洁员 |
| | | List<TCleaner> cleaners = cleanerService.list(); |
| | | |
| | | for (TLocationImportExcel locationExcel : locationExcelList) { |
| | | System.err.println(locationExcel); |
| | | TLocation location = new TLocation(); |
| | | location.setLocationCode(locationExcel.getLocationCode()); |
| | | location.setLocationName(locationExcel.getLocationName()); |
| | | TLocationType tLocationType = locationTypes.stream().filter(locationType -> locationType.getLocationName().equals(locationExcel.getLocationType())).findFirst().orElse(null); |
| | | if (Objects.nonNull(tLocationType)){ |
| | | location.setLocationType(tLocationType.getId()); |
| | | } |
| | | location.setLocationAddress(locationExcel.getLocationAddress()); |
| | | String[] addressLonLat = locationExcel.getLocationAddressLonLat().split("/"); |
| | | location.setLocationLon(addressLonLat[0]); |
| | | location.setLocationLat(addressLonLat[1]); |
| | | location.setLocationAddressEnd(locationExcel.getLocationAddressEnd()); |
| | | String[] addressEndLonLat = locationExcel.getLocationAddressEndLonLat().split("/"); |
| | | location.setLocationLonEnd(addressEndLonLat[0]); |
| | | location.setLocationLatEnd(addressEndLonLat[1]); |
| | | TDept tDept = deptList.stream().filter(dept -> dept.getCode().equals(locationExcel.getDeptCode())).findFirst().orElse(null); |
| | | if(Objects.nonNull(tDept)){ |
| | | location.setProjectId(tDept.getId()); |
| | | } |
| | | SysUser sysUser = users.stream().filter(user -> user.getNickName().equals(locationExcel.getNickName())).findFirst().orElse(null); |
| | | if(Objects.nonNull(sysUser)){ |
| | | location.setLocationLeader(String.valueOf(sysUser.getUserId())); |
| | | } |
| | | cleaners.stream().filter(cleaner -> cleaner.getCleanerCode().equals(locationExcel.getCleanerCodeClear()) |
| | | && cleaner.getDeptCode().equals(locationExcel.getDeptCodeClear()) |
| | | && cleaner.getProjectCode().equals(locationExcel.getProjectCodeClear())).findFirst().orElse(null); |
| | | location.setLocationCleaner(locationExcel.getProjectCodeClear()); |
| | | locationService.save(location); |
| | | } |
| | | // locationService.saveOrUpdateBatch(saveOrUpdateList); |
| | | |
| | | return R.ok(failedData); |
| | | return R.ok(); |
| | | } |
| | | |
| | | } |