From 083c414ff683ab12e65069c6c0ba6871ed1ed09f Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 12 七月 2025 10:19:09 +0800 Subject: [PATCH] 保洁巡检本周代码 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTaskController.java | 115 +++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 82 insertions(+), 33 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTaskController.java index fa09d0b..c20d223 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTaskController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTaskController.java @@ -35,6 +35,7 @@ import org.springframework.util.StringUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import oshi.driver.mac.net.NetStat; import javax.annotation.Resource; import javax.servlet.ServletOutputStream; @@ -62,6 +63,8 @@ private TNoticeService noticeService; @Resource private TNoticeSetService noticeSetService; + @Resource + private TEarlyWarningService earlyWarningService; @Resource private TTaskDetailService taskDetailService; @@ -92,18 +95,30 @@ List<SysUser> sysUsers = sysUserService.selectAllList(); List<TLocation> locationList = locationService.list(); if (StringUtils.hasLength(query.getDeptName())){ - List<String> projectIds = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list() + List<TProjectDept> list = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list(); + List<String> listIds = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list() .stream().map(TProjectDept::getId).collect(Collectors.toList()); + for (TProjectDept tProjectDept : list) { + if (tProjectDept.getParentId().equals("0")){ + List<String> collect = projectDeptService.lambdaQuery().eq(TProjectDept::getParentId, tProjectDept.getId()).list() + .stream().map(TProjectDept::getId).collect(Collectors.toList()); + listIds.addAll(collect); + listIds.add(tProjectDept.getId()); + } + } List<String> deptIds = deptService.lambdaQuery().like(TDept::getDeptName, query.getDeptName()).list() .stream().map(TDept::getId).collect(Collectors.toList()); - projectIds.addAll(deptIds); - if (projectIds.isEmpty()){ + listIds.addAll(deptIds); + if (listIds.isEmpty()){ return R.ok(new PageInfo<>()); } + List<Long> collect = sysUsers.stream().filter(e -> listIds.contains(e.getDeptId())) + .map(SysUser::getUserId).collect(Collectors.toList()); + query.setPatrolInspectorIds( collect); if (StringUtils.hasLength(query.getPhonenumber())){ List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser -> sysUser.getPhonenumber().contains(query.getPhonenumber()) - && projectIds.contains(sysUser.getDeptId()) + && listIds.contains(sysUser.getDeptId()) ).map(SysUser::getUserId).collect(Collectors.toList()); if (patrolInspectorIds.isEmpty()){ return R.ok(new PageInfo<>()); @@ -193,6 +208,21 @@ tNotice.setDataId(task.getId()); tNotice.setNoticeSetType(noticeSet.getNoticeType()); if (dto.getAuditStatus()==2){ + if (StringUtils.hasLength(location.getUnqualifiedTaskId())){ + if (location.getUnqualifiedTaskId().split(",").length==2){ + // 已经两条不合格了 生成点位不合格预警记录 + location.setUnqualifiedTaskId(location.getUnqualifiedTaskId()+","+dto.getTaskId()); + TEarlyWarning tEarlyWarning = new TEarlyWarning(); + tEarlyWarning.setWarningType(2); + tEarlyWarning.setTaskId(location.getUnqualifiedTaskId()); + earlyWarningService.save(tEarlyWarning); + location.setUnqualifiedTaskId(""); + locationService.updateById(location); + } + }else{ + location.setUnqualifiedTaskId(dto.getTaskId()); + locationService.updateById(location); + } dto.setHandleType(3); // 将任务修改为待整改 task.setStatus(4); @@ -200,15 +230,29 @@ // 增加消息 tNotice.setNoticeType(1); tNotice.setNoticeContent("【"+location.getLocationName()+"】任务不合格,请重新上传!"); - }else{ - + if (dto.getClearStatus()==2){ + if (StringUtils.hasLength(location.getUnqualifiedTaskId())){ + if (location.getUnqualifiedTaskId().split(",").length==2){ + // 已经两条不合格了 生成点位不合格预警记录 + location.setUnqualifiedTaskId(location.getUnqualifiedTaskId()+","+dto.getTaskId()); + TEarlyWarning tEarlyWarning = new TEarlyWarning(); + tEarlyWarning.setWarningType(2); + tEarlyWarning.setTaskId(location.getUnqualifiedTaskId()); + earlyWarningService.save(tEarlyWarning); + location.setUnqualifiedTaskId(""); + locationService.updateById(location); + } + }else{ + location.setUnqualifiedTaskId(dto.getTaskId()); + locationService.updateById(location); + } + } dto.setHandleType(2); // 如果是初次审核就通过 将状态设置为已完成 List<TTaskDetail> list = tTaskDetailService.lambdaQuery() .eq(TTaskDetail::getHandleType,1) .eq(TTaskDetail::getTaskId, dto.getTaskId()).list(); - if (one.getClearStatus()==1){ if (list.size()<2){ task.setStatus(6); taskCleanerService.updateById(task); @@ -220,15 +264,6 @@ tNotice.setNoticeType(2); tNotice.setNoticeContent("【"+location.getLocationName()+"】任务已通过"); } - }else{ - // 将任务修改为待整改 - task.setStatus(4); - taskCleanerService.updateById(task); - // 增加消息 - tNotice.setNoticeType(1); - tNotice.setNoticeContent("【"+location.getLocationName()+"】任务不合格,请重新上传!"); - } - } noticeService.save(tNotice); dto.setAuditPerson(tokenService.getLoginUser().getUserId()+""); @@ -243,7 +278,7 @@ @Log(title = "批量审核任务", businessType = BusinessType.UPDATE) @ApiOperation(value = "批量审核任务") @PostMapping(value = "/auditBatch") - public R<Boolean> auditBatch(@RequestBody @Validated TTaskAuditBatchDTO dto) { + public R<Boolean> auditBatch(@RequestBody TTaskAuditBatchDTO dto) { List<TTaskDetail> tTaskDetails = new ArrayList<>(); for (String s : dto.getTaskIds().split(",")) { TTask byId = taskCleanerService.getById(s); @@ -285,7 +320,8 @@ TLocationType byId2 = locationTypeService.getById(byId1.getLocationType()); taskDetailVO.setLocationAddress(byId1.getLocationAddress()); taskDetailVO.setLocationIcon(byId2.getLocationIcon()); - taskDetailVO.setLocationName(byId2.getLocationName()); + taskDetailVO.setLocationName(byId1.getLocationName()); + taskDetailVO.setLocationTypeName(byId2.getLocationName()); TTaskDetail tTaskDetail = list.stream().filter(e -> e.getHandleType() == 1).findFirst().orElse(null); if (tTaskDetail!=null && tTaskDetail.getUnqualified()!=null){ TDictData byId3 = dictDataService.getById(tTaskDetail.getUnqualified()); @@ -369,43 +405,55 @@ return R.ok(); } - @Log(title = "任务记录导出", businessType = BusinessType.EXPORT) + @Log(title = "任务记录导出", businessType = BusinessType.OTHER) @ApiOperation(value = "任务记录导出") @PostMapping(value = "/exportExcel") public void exportExcel(@RequestBody TaskListQuery query) { List<SysUser> sysUsers = sysUserService.selectAllList(); List<TLocation> locationList = locationService.list(); if (StringUtils.hasLength(query.getDeptName())){ - List<String> projectIds = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list() + List<TProjectDept> list = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list(); + List<String> listIds = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list() .stream().map(TProjectDept::getId).collect(Collectors.toList()); + for (TProjectDept tProjectDept : list) { + if (tProjectDept.getParentId().equals("0")){ + List<String> collect = projectDeptService.lambdaQuery().eq(TProjectDept::getParentId, tProjectDept.getId()).list() + .stream().map(TProjectDept::getId).collect(Collectors.toList()); + listIds.addAll(collect); + } + } List<String> deptIds = deptService.lambdaQuery().like(TDept::getDeptName, query.getDeptName()).list() .stream().map(TDept::getId).collect(Collectors.toList()); - projectIds.addAll(deptIds); - if (projectIds.isEmpty()){ - projectIds.add("-1"); + listIds.addAll(deptIds); + if (listIds.isEmpty()){ + listIds.add("0"); } + List<Long> collect = sysUsers.stream().filter(e -> listIds.contains(e.getDeptId())) + .map(SysUser::getUserId).collect(Collectors.toList()); + query.setPatrolInspectorIds( collect); if (StringUtils.hasLength(query.getPhonenumber())){ List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser -> - sysUser.getPhonenumber().equals(query.getPhonenumber()) - && projectIds.contains(sysUser.getDeptId()) + sysUser.getPhonenumber().contains(query.getPhonenumber()) + && listIds.contains(sysUser.getDeptId()) ).map(SysUser::getUserId).collect(Collectors.toList()); if (patrolInspectorIds.isEmpty()){ - patrolInspectorIds.add(-1L); + patrolInspectorIds.add(0L); } query.setPatrolInspectorIds(patrolInspectorIds); } } if (StringUtils.hasLength(query.getPhonenumber())){ List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser -> - sysUser.getPhonenumber().equals(query.getPhonenumber()) + sysUser.getPhonenumber().contains(query.getPhonenumber()) ).map(SysUser::getUserId).collect(Collectors.toList()); + query.setPatrolInspectorIds(patrolInspectorIds); if (!query.getPatrolInspectorIds().isEmpty()){ // 取交集 patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList()); } query.setPatrolInspectorIds(patrolInspectorIds); if (patrolInspectorIds.isEmpty()){ - patrolInspectorIds.add(-1L); + patrolInspectorIds.add(0L); } } if (query.getClearStatus()!=null){ @@ -413,26 +461,27 @@ .list().stream().distinct().map(TTaskDetail::getTaskId).collect(Collectors.toList()); query.setTaskIds(collect); if (collect.isEmpty()){ - collect.add("-1"); + collect.add("0"); } } - if (query.getLocationType()!=null){ + if (StringUtils.hasLength(query.getLocationType())){ List<String> collect = locationList.stream().filter(e -> e.getLocationType().equals(query.getLocationType())).map(TLocation::getId) .collect(Collectors.toList()); if (collect.isEmpty()){ - collect.add("-1"); + collect.add("0"); } query.setLocationIds(collect); } if (StringUtils.hasLength(query.getLocationName())){ List<String> collect = locationList.stream().filter(e -> e.getLocationName().contains(query.getLocationName())).map(TLocation::getId) .collect(Collectors.toList()); + query.setLocationIds(collect); if (collect.isEmpty()){ - collect.add("-1"); + collect.add("0"); }else{ collect = collect.stream().filter(query.getLocationIds()::contains).collect(Collectors.toList()); if (collect.isEmpty()){ - collect.add("-1"); + collect.add("0"); } query.setLocationIds(collect); } -- Gitblit v1.7.1