From 165640ccada379858b4e1769c6475fcc95324843 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 11 七月 2025 09:30:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java |   34 ++++++++++++++++++++++++++++++----
 1 files changed, 30 insertions(+), 4 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 61560a3..3980bb8 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
@@ -221,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)
@@ -236,6 +237,7 @@
             if(!CollectionUtils.isEmpty(taskList)){
                 list.addAll(taskList);
             }
+            list = list.stream().distinct().collect(Collectors.toList());
         }else {
             // 超级管理员
             // 查询点位类型
@@ -264,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()));
@@ -278,6 +281,7 @@
             if(!CollectionUtils.isEmpty(taskList)){
                 list.addAll(taskList);
             }
+            list = list.stream().distinct().collect(Collectors.toList());
         }
 
         // 查询任务相关数据
@@ -289,7 +293,7 @@
         map.put("waitTaskNum", list.stream().filter(tTask -> tTask.getStatus() == 1).count());
 
         // 总计员工数
-        Integer totalEmployeeNum = sysUserService.selectUserCount(query.getProjectId(),deptType);
+        Integer totalEmployeeNum = sysUserService.selectUserCount(null,deptType);
         if (deptType != 1) {
             totalEmployeeNum = totalEmployeeNum + 1;
         }
@@ -387,6 +391,7 @@
 
             // 查询片区
             if(!CollectionUtils.isEmpty(query.getProjectId())){
+                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                 wrapper.in(TTask::getProjectId, query.getProjectId());
             }
 
@@ -398,6 +403,7 @@
             if(!CollectionUtils.isEmpty(taskList)){
                 list.addAll(taskList);
             }
+            list = list.stream().distinct().collect(Collectors.toList());
         }else {
             // 超级管理员
             // 查询点位类型
@@ -426,6 +432,7 @@
 
             // 查询片区
             if(!CollectionUtils.isEmpty(query.getProjectId())){
+                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                 wrapper.in(TTask::getProjectId, query.getProjectId());
             }
 
@@ -437,6 +444,7 @@
             if(!CollectionUtils.isEmpty(taskList)){
                 list.addAll(taskList);
             }
+            list = list.stream().distinct().collect(Collectors.toList());
         }
         // 任务总数
         taskSituationVO.setTotalTaskNum(list.size());
@@ -462,7 +470,7 @@
                 }
             }
         }
-        taskSituationVO.setPassRate(new BigDecimal(qualifiedWarn).divide(new BigDecimal(tasks.size()), 2, RoundingMode.HALF_UP));
+        taskSituationVO.setPassRate(new BigDecimal(qualifiedWarn).divide(new BigDecimal(tasks.size()), 2, RoundingMode.HALF_DOWN));
 
         // 过滤每天的任务
         LocalDateTime start = DateUtils.stringToLocalDateTime(query.getStartTime());
@@ -500,7 +508,7 @@
             if(tTasks.isEmpty()){
                 taskSituationDayVO.setCompleteRate(BigDecimal.ZERO);
             }else {
-                taskSituationDayVO.setCompleteRate(new BigDecimal(qualifiedWarnChild).divide(new BigDecimal(tTasks.size()), 2, RoundingMode.HALF_UP));
+                taskSituationDayVO.setCompleteRate(new BigDecimal(qualifiedWarnChild).divide(new BigDecimal(tTasks.size()), 2, RoundingMode.HALF_DOWN));
             }
             taskSituationDayVOList.add(taskSituationDayVO);
         }
@@ -570,6 +578,7 @@
 
             // 查询片区
             if(!CollectionUtils.isEmpty(query.getProjectId())){
+                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                 wrapper.in(TTask::getProjectId, query.getProjectId());
             }
 
@@ -581,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)){
@@ -639,6 +649,7 @@
 
             // 查询片区
             if(!CollectionUtils.isEmpty(query.getProjectId())){
+                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                 wrapper.in(TTask::getProjectId, query.getProjectId());
             }
 
@@ -650,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)){
@@ -741,6 +753,7 @@
 
             // 查询片区
             if(!CollectionUtils.isEmpty(query.getProjectId())){
+                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                 wrapper.in(TTask::getProjectId, query.getProjectId());
             }
 
@@ -752,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);
@@ -787,6 +801,7 @@
 
             // 查询片区
             if(!CollectionUtils.isEmpty(query.getProjectId())){
+                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                 wrapper.in(TTask::getProjectId, query.getProjectId());
             }
 
@@ -798,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);
@@ -864,6 +880,7 @@
 
             // 查询片区
             if(!CollectionUtils.isEmpty(query.getProjectId())){
+                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                 wrapper.in(TTask::getProjectId, query.getProjectId());
             }
 
@@ -875,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);
@@ -930,6 +948,7 @@
 
             // 查询片区
             if(!CollectionUtils.isEmpty(query.getProjectId())){
+                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                 wrapper.in(TTask::getProjectId, query.getProjectId());
             }
 
@@ -941,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);
@@ -1028,6 +1048,7 @@
 
             // 查询片区
             if(!CollectionUtils.isEmpty(query.getProjectId())){
+                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                 wrapper.in(TTask::getProjectId, query.getProjectId());
             }
 
@@ -1039,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();
@@ -1098,6 +1119,7 @@
 
             // 查询片区
             if(!CollectionUtils.isEmpty(query.getProjectId())){
+                query.setProjectId(query.getProjectId().stream().distinct().collect(Collectors.toList()));
                 wrapper.in(TTask::getProjectId, query.getProjectId());
             }
 
@@ -1109,6 +1131,8 @@
             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)){
@@ -1140,6 +1164,8 @@
                 analysisUnqualifiedCleaningDetailVO.setCount(tTaskDetails.size());
                 analysisUnqualifiedCleaningDetailVOS.add(analysisUnqualifiedCleaningDetailVO);
             }
+            // 按照数量倒序排序
+            analysisUnqualifiedCleaningDetailVOS.sort(Comparator.comparingInt(AnalysisUnqualifiedCleaningDetailVO::getCount).reversed());
             analysisUnqualifiedCleaningVO.setAnalysisUnqualifiedCleaningDetailVOS(analysisUnqualifiedCleaningDetailVOS);
         }
 

--
Gitblit v1.7.1