From 245e62f87e29b22b1824d5361d073acaa06ceed9 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 10 七月 2025 11:11:04 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java | 99 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 89 insertions(+), 10 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java index 8751f4a..cd7f8c0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java @@ -189,8 +189,17 @@ if (deptType == 1) { // 项目部人员 if(CollectionUtils.isEmpty(query.getProjectId())){ + TProjectDept projectDept = projectDeptService.getById(deptId); List<String> projectIds = new ArrayList<>(); - projectIds.add(deptId); + if("0".equals(projectDept.getParentId())){ + List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) + .eq(TProjectDept::getStatus, 1) + .eq(TProjectDept::getParentId, projectDept.getId())); + List<String> ids = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); + projectIds.addAll(ids); + }else { + projectIds.add(deptId); + } query.setProjectId(projectIds); } }else { @@ -212,6 +221,7 @@ // 查询片区 if(!CollectionUtils.isEmpty(query.getProjectId())){ + query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList())); wrapper.in(TTask::getProjectId, query.getProjectId()); // 查询点位数 List<TLocation> locationList = locationService.list(Wrappers.lambdaQuery(TLocation.class) @@ -227,6 +237,7 @@ if(!CollectionUtils.isEmpty(taskList)){ list.addAll(taskList); } + list = list.stream().distinct().collect(Collectors.toList()); }else { // 超级管理员 // 查询点位类型 @@ -255,6 +266,7 @@ // 查询片区 if(!CollectionUtils.isEmpty(query.getProjectId())){ + query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList())); wrapper.in(TTask::getProjectId, query.getProjectId()); List<TLocation> locationList = locationService.list(Wrappers.lambdaQuery(TLocation.class) .in(TLocation::getProjectId, query.getProjectId())); @@ -269,6 +281,7 @@ if(!CollectionUtils.isEmpty(taskList)){ list.addAll(taskList); } + list = list.stream().distinct().collect(Collectors.toList()); } // 查询任务相关数据 @@ -345,8 +358,17 @@ if (deptType == 1) { // 项目部人员 if(CollectionUtils.isEmpty(query.getProjectId())){ + TProjectDept projectDept = projectDeptService.getById(deptId); List<String> projectIds = new ArrayList<>(); - projectIds.add(deptId); + if("0".equals(projectDept.getParentId())){ + List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) + .eq(TProjectDept::getStatus, 1) + .eq(TProjectDept::getParentId, projectDept.getId())); + List<String> ids = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); + projectIds.addAll(ids); + }else { + projectIds.add(deptId); + } query.setProjectId(projectIds); } }else { @@ -369,6 +391,7 @@ // 查询片区 if(!CollectionUtils.isEmpty(query.getProjectId())){ + query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList())); wrapper.in(TTask::getProjectId, query.getProjectId()); } @@ -380,6 +403,7 @@ if(!CollectionUtils.isEmpty(taskList)){ list.addAll(taskList); } + list = list.stream().distinct().collect(Collectors.toList()); }else { // 超级管理员 // 查询点位类型 @@ -408,6 +432,7 @@ // 查询片区 if(!CollectionUtils.isEmpty(query.getProjectId())){ + query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList())); wrapper.in(TTask::getProjectId, query.getProjectId()); } @@ -419,6 +444,7 @@ if(!CollectionUtils.isEmpty(taskList)){ list.addAll(taskList); } + list = list.stream().distinct().collect(Collectors.toList()); } // 任务总数 taskSituationVO.setTotalTaskNum(list.size()); @@ -519,8 +545,17 @@ if (deptType == 1) { // 项目部人员 if(CollectionUtils.isEmpty(query.getProjectId())){ + TProjectDept projectDept = projectDeptService.getById(deptId); List<String> projectIds = new ArrayList<>(); - projectIds.add(deptId); + if("0".equals(projectDept.getParentId())){ + List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) + .eq(TProjectDept::getStatus, 1) + .eq(TProjectDept::getParentId, projectDept.getId())); + List<String> ids = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); + projectIds.addAll(ids); + }else { + projectIds.add(deptId); + } query.setProjectId(projectIds); } }else { @@ -543,6 +578,7 @@ // 查询片区 if(!CollectionUtils.isEmpty(query.getProjectId())){ + query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList())); wrapper.in(TTask::getProjectId, query.getProjectId()); } @@ -554,6 +590,7 @@ if(!CollectionUtils.isEmpty(taskList)){ list.addAll(taskList); } + list = list.stream().distinct().collect(Collectors.toList()); List<TTask> result = list.stream().filter(task -> task.getStatus() == 2).collect(Collectors.toList()); List<TTask> tasks = list.stream().filter(task -> task.getStatus() != 1 && task.getStatus() != 2).collect(Collectors.toList()); if(CollectionUtils.isEmpty(tasks)){ @@ -612,6 +649,7 @@ // 查询片区 if(!CollectionUtils.isEmpty(query.getProjectId())){ + query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList())); wrapper.in(TTask::getProjectId, query.getProjectId()); } @@ -623,6 +661,7 @@ if(!CollectionUtils.isEmpty(taskList)){ list.addAll(taskList); } + list = list.stream().distinct().collect(Collectors.toList()); List<TTask> result = list.stream().filter(task -> task.getStatus() == 2).collect(Collectors.toList()); List<TTask> tasks = list.stream().filter(task -> task.getStatus() != 1 && task.getStatus() != 2).collect(Collectors.toList()); if(CollectionUtils.isEmpty(tasks)){ @@ -682,8 +721,17 @@ if (deptType == 1) { // 项目部人员 if(CollectionUtils.isEmpty(query.getProjectId())){ + TProjectDept projectDept = projectDeptService.getById(deptId); List<String> projectIds = new ArrayList<>(); - projectIds.add(deptId); + if("0".equals(projectDept.getParentId())){ + List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) + .eq(TProjectDept::getStatus, 1) + .eq(TProjectDept::getParentId, projectDept.getId())); + List<String> ids = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); + projectIds.addAll(ids); + }else { + projectIds.add(deptId); + } query.setProjectId(projectIds); } }else { @@ -705,6 +753,7 @@ // 查询片区 if(!CollectionUtils.isEmpty(query.getProjectId())){ + query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList())); wrapper.in(TTask::getProjectId, query.getProjectId()); } @@ -716,6 +765,7 @@ if(!CollectionUtils.isEmpty(taskList)){ list.addAll(taskList); } + list = list.stream().distinct().collect(Collectors.toList()); List<TTask> result = list.stream().filter(task -> task.getStatus() == 3).collect(Collectors.toList()); for (TTask task : result) { TLocation tLocation = locations.stream().filter(location -> location.getId().equals(task.getLocationId())).findFirst().orElse(null); @@ -751,6 +801,7 @@ // 查询片区 if(!CollectionUtils.isEmpty(query.getProjectId())){ + query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList())); wrapper.in(TTask::getProjectId, query.getProjectId()); } @@ -762,6 +813,7 @@ if(!CollectionUtils.isEmpty(taskList)){ list.addAll(taskList); } + list = list.stream().distinct().collect(Collectors.toList()); List<TTask> result = list.stream().filter(task -> task.getStatus() == 3).collect(Collectors.toList()); for (TTask task : result) { TLocation tLocation = locations.stream().filter(location -> location.getId().equals(task.getLocationId())).findFirst().orElse(null); @@ -796,8 +848,17 @@ if (deptType == 1) { // 项目部人员 if(CollectionUtils.isEmpty(query.getProjectId())){ + TProjectDept projectDept = projectDeptService.getById(deptId); List<String> projectIds = new ArrayList<>(); - projectIds.add(deptId); + if("0".equals(projectDept.getParentId())){ + List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) + .eq(TProjectDept::getStatus, 1) + .eq(TProjectDept::getParentId, projectDept.getId())); + List<String> ids = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); + projectIds.addAll(ids); + }else { + projectIds.add(deptId); + } query.setProjectId(projectIds); } }else { @@ -819,6 +880,7 @@ // 查询片区 if(!CollectionUtils.isEmpty(query.getProjectId())){ + query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList())); wrapper.in(TTask::getProjectId, query.getProjectId()); } @@ -830,6 +892,7 @@ if(!CollectionUtils.isEmpty(taskList)){ list.addAll(taskList); } + list = list.stream().distinct().collect(Collectors.toList()); List<TTask> tasks = list.stream().filter(task -> task.getStatus() != 1 && task.getStatus() != 2).collect(Collectors.toList()); if(CollectionUtils.isEmpty(tasks)){ map.put("unqualifiedWarn", 0); @@ -885,6 +948,7 @@ // 查询片区 if(!CollectionUtils.isEmpty(query.getProjectId())){ + query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList())); wrapper.in(TTask::getProjectId, query.getProjectId()); } @@ -896,6 +960,7 @@ if(!CollectionUtils.isEmpty(taskList)){ list.addAll(taskList); } + list = list.stream().distinct().collect(Collectors.toList()); List<TTask> tasks = list.stream().filter(task -> task.getStatus() != 1 && task.getStatus() != 2).collect(Collectors.toList()); if(CollectionUtils.isEmpty(tasks)){ map.put("unqualifiedWarn", 0); @@ -951,8 +1016,17 @@ if (deptType == 1) { // 项目部人员 if(CollectionUtils.isEmpty(query.getProjectId())){ + TProjectDept projectDept = projectDeptService.getById(deptId); List<String> projectIds = new ArrayList<>(); - projectIds.add(deptId); + if("0".equals(projectDept.getParentId())){ + List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class) + .eq(TProjectDept::getStatus, 1) + .eq(TProjectDept::getParentId, projectDept.getId())); + List<String> ids = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList()); + projectIds.addAll(ids); + }else { + projectIds.add(deptId); + } query.setProjectId(projectIds); } }else { @@ -974,6 +1048,7 @@ // 查询片区 if(!CollectionUtils.isEmpty(query.getProjectId())){ + query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList())); wrapper.in(TTask::getProjectId, query.getProjectId()); } @@ -985,7 +1060,7 @@ if(!CollectionUtils.isEmpty(taskList)){ list.addAll(taskList); } - + list = list.stream().distinct().collect(Collectors.toList()); List<TTask> tasks = list.stream().filter(task -> task.getStatus() != 1 && task.getStatus() != 2).collect(Collectors.toList()); if(CollectionUtils.isEmpty(tasks)){ return R.ok(); @@ -994,7 +1069,7 @@ List<TTaskDetail> taskDetails = tTaskDetailService.list(Wrappers.lambdaQuery(TTaskDetail.class) .in(TTaskDetail::getTaskId, taskIds) .eq(TTaskDetail::getClearStatus, 2) - .eq(TTaskDetail::getHandleType,1) + .eq(TTaskDetail::getHandleType,1) .orderByDesc(TTaskDetail::getCreateTime)); List<TTaskDetail> taskDetailList = new ArrayList<>(); for (TTask task : list) { @@ -1010,7 +1085,7 @@ .eq(TDictData::getDataType, 2)); List<AnalysisUnqualifiedCleaningDetailVO> analysisUnqualifiedCleaningDetailVOS = new ArrayList<>(); for (TDictData tDictData : dictDataList) { - List<TTaskDetail> tTaskDetails = taskDetailList.stream().filter(taskDetail -> taskDetail.getUnqualified().equals(tDictData.getId())).collect(Collectors.toList()); + List<TTaskDetail> tTaskDetails = taskDetailList.stream().filter(taskDetail -> StringUtils.isNotEmpty(taskDetail.getUnqualified())&&taskDetail.getUnqualified().equals(tDictData.getId())).collect(Collectors.toList()); AnalysisUnqualifiedCleaningDetailVO analysisUnqualifiedCleaningDetailVO = new AnalysisUnqualifiedCleaningDetailVO(); analysisUnqualifiedCleaningDetailVO.setUnqualifiedName(tDictData.getDataContent()); analysisUnqualifiedCleaningDetailVO.setCount(tTaskDetails.size()); @@ -1044,6 +1119,7 @@ // 查询片区 if(!CollectionUtils.isEmpty(query.getProjectId())){ + query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList())); wrapper.in(TTask::getProjectId, query.getProjectId()); } @@ -1056,6 +1132,8 @@ list.addAll(taskList); } + list = list.stream().distinct().collect(Collectors.toList()); + List<TTask> tasks = list.stream().filter(task -> task.getStatus() != 1 && task.getStatus() != 2).collect(Collectors.toList()); if(CollectionUtils.isEmpty(tasks)){ return R.ok(); @@ -1063,6 +1141,7 @@ List<String> taskIds = tasks.stream().map(TTask::getId).collect(Collectors.toList()); List<TTaskDetail> taskDetails = tTaskDetailService.list(Wrappers.lambdaQuery(TTaskDetail.class) .in(TTaskDetail::getTaskId, taskIds) + .eq(TTaskDetail::getHandleType,1) .eq(TTaskDetail::getClearStatus, 2) .orderByDesc(TTaskDetail::getCreateTime)); List<TTaskDetail> taskDetailList = new ArrayList<>(); @@ -1079,7 +1158,7 @@ .eq(TDictData::getDataType, 2)); List<AnalysisUnqualifiedCleaningDetailVO> analysisUnqualifiedCleaningDetailVOS = new ArrayList<>(); for (TDictData tDictData : dictDataList) { - List<TTaskDetail> tTaskDetails = taskDetailList.stream().filter(taskDetail -> taskDetail.getUnqualified().equals(tDictData.getId())).collect(Collectors.toList()); + List<TTaskDetail> tTaskDetails = taskDetailList.stream().filter(taskDetail -> StringUtils.isNotEmpty(taskDetail.getUnqualified())&&taskDetail.getUnqualified().equals(tDictData.getId())).collect(Collectors.toList()); AnalysisUnqualifiedCleaningDetailVO analysisUnqualifiedCleaningDetailVO = new AnalysisUnqualifiedCleaningDetailVO(); analysisUnqualifiedCleaningDetailVO.setUnqualifiedName(tDictData.getDataContent()); analysisUnqualifiedCleaningDetailVO.setCount(tTaskDetails.size()); -- Gitblit v1.7.1