From 48a55a1aadabface50173439cbdda9126ee2ef71 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 03 七月 2025 23:12:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java |   59 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 39 insertions(+), 20 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 2a923e9..8751f4a 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
@@ -115,12 +115,21 @@
             if (deptType == 1) {
                 // 查询片区
                 TProjectDept projectDept = projectDeptService.getById(deptId);
-                // 查询项目部
-                TProjectDept parent = projectDeptService.getById(projectDept.getParentId());
-                List<TProjectDept> children = new ArrayList<>();
-                children.add(projectDept);
-                parent.setChildren(children);
-                projectDeptList.add(parent);
+                if("0".equals(projectDept.getParentId())){
+                    // 查询项目部
+                    List<TProjectDept> childProjectDept = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
+                            .eq(TProjectDept::getStatus,1)
+                            .eq(TProjectDept::getParentId,projectDept.getId()));
+                    projectDept.setChildren(childProjectDept);
+                    projectDeptList.add(projectDept);
+                }else {
+                    // 查询项目部
+                    TProjectDept parent = projectDeptService.getById(projectDept.getParentId());
+                    List<TProjectDept> children = new ArrayList<>();
+                    children.add(projectDept);
+                    parent.setChildren(children);
+                    projectDeptList.add(parent);
+                }
             }else {
                 projectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
                         .eq(TProjectDept::getStatus,1)
@@ -305,10 +314,9 @@
         Long userId = tokenService.getLoginUser().getUserId();
 
         TaskSituationVO taskSituationVO = new TaskSituationVO();
-
         LambdaQueryWrapper<TTask> wrapper = new LambdaQueryWrapper<>();
 
-        if(StringUtils.isEmpty(query.getStartTime()) || StringUtils.isNotEmpty(query.getEndTime())){
+        if(StringUtils.isEmpty(query.getStartTime()) || StringUtils.isEmpty(query.getEndTime())){
             LocalDate now = LocalDate.now();
             String startTime = now.minusDays(6) + " 00:00:00";
             String endTime = now + " 23:59:59";
@@ -345,7 +353,8 @@
                 // 公司人员
                 // 查询自己的任务列表
                 taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class)
-                        .eq(TTask::getPatrolInspector, userId));
+                        .eq(TTask::getPatrolInspector, userId)
+                        .between(TTask::getImplementTime, query.getStartTime(), query.getEndTime()));
                 if(CollectionUtils.isEmpty(query.getProjectId())){
                     // 查询所有项目部的任务列表
                     List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
@@ -384,7 +393,8 @@
                 }
             }
             // 超级管理员 查询所有的任务列表
-            List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class));
+            List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class)
+                    .between(TTask::getImplementTime, query.getStartTime(), query.getEndTime()));
             if(CollectionUtils.isEmpty(query.getProjectId())){
                 // 查询所有项目部的任务列表
                 List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
@@ -429,7 +439,7 @@
         for (TTask task : list) {
             TTaskDetail tTaskDetail = taskDetails.stream().filter(taskDetail -> taskDetail.getTaskId().equals(task.getId())).findFirst().orElse(null);
             if(Objects.nonNull(tTaskDetail)){
-                if(tTaskDetail.getClearStatus() == 1){
+                if(Objects.nonNull(tTaskDetail.getClearStatus()) && tTaskDetail.getClearStatus() == 1){
                     qualifiedWarn++;
                 }
             }
@@ -445,27 +455,35 @@
         List<TaskSituationDayVO> taskSituationDayVOList = new ArrayList<>();
 
         LocalDateTime localDateTime = DateUtils.stringToLocalDateTime(query.getStartTime());
+        String format = null;
         for (long i = 0; i <= daysBetween; i++) {
             TaskSituationDayVO taskSituationDayVO = new TaskSituationDayVO();
-            String format;
             if(i == 0){
                 format = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
             }else {
-                format = localDateTime.plusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                format = DateUtils.stringToLocalDate(format).plusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
             }
             taskSituationDayVO.setTaskTime(format);
-            List<TTask> tTasks = list.stream().filter(task -> DateUtils.localDateTimeToString(task.getImplementTime()).contains(format)).collect(Collectors.toList());
+            String finalFormat = format;
+            List<TTask> tTasks = list.stream().filter(task -> DateUtils.localDateTimeToString(task.getImplementTime()).contains(finalFormat)).collect(Collectors.toList());
+            // 任务数
             taskSituationDayVO.setTaskNum(tTasks.size());
+            // 完成数
+            taskSituationDayVO.setCompletedNum(tTasks.stream().filter(task -> task.getStatus() == 6).collect(Collectors.toList()).size());
             int qualifiedWarnChild = 0;
             for (TTask task : tTasks) {
                 TTaskDetail tTaskDetail = taskDetails.stream().filter(taskDetail -> taskDetail.getTaskId().equals(task.getId())).findFirst().orElse(null);
                 if(Objects.nonNull(tTaskDetail)){
-                    if(tTaskDetail.getClearStatus() == 1){
+                    if(Objects.nonNull(tTaskDetail.getClearStatus()) && tTaskDetail.getClearStatus() == 1){
                         qualifiedWarnChild++;
                     }
                 }
             }
-            taskSituationDayVO.setCompleteRate(new BigDecimal(qualifiedWarnChild).divide(new BigDecimal(tTasks.size()), 2, RoundingMode.HALF_UP));
+            if(tTasks.isEmpty()){
+                taskSituationDayVO.setCompleteRate(BigDecimal.ZERO);
+            }else {
+                taskSituationDayVO.setCompleteRate(new BigDecimal(qualifiedWarnChild).divide(new BigDecimal(tTasks.size()), 2, RoundingMode.HALF_UP));
+            }
             taskSituationDayVOList.add(taskSituationDayVO);
         }
         taskSituationVO.setTaskSituationDayVO(taskSituationDayVOList);
@@ -509,7 +527,8 @@
                 // 公司人员
                 // 查询自己的任务列表
                 taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class)
-                        .eq(TTask::getPatrolInspector, userId));
+                        .eq(TTask::getPatrolInspector, userId)
+                        .between(TTask::getImplementTime, startTime, endTime));
                 if(CollectionUtils.isEmpty(query.getProjectId())){
                     // 查询所有项目部的任务列表
                     List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
@@ -578,7 +597,8 @@
                 }
             }
             // 超级管理员 查询所有的任务列表
-            List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class));
+            List<TTask> taskList = taskCleanService.list(Wrappers.lambdaQuery(TTask.class)
+                    .between(TTask::getImplementTime, startTime, endTime));
             if(CollectionUtils.isEmpty(query.getProjectId())){
                 // 查询所有项目部的任务列表
                 List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
@@ -757,8 +777,6 @@
     @PostMapping(value = "/cleaningQualitySummary")
     public R<Map<String, Object>> cleaningQualitySummary(@RequestBody DataStatisticsQuery query) {
         Map<String, Object> map = new HashMap<>();
-        map.put("timeoutWarn", 0);
-        map.put("unqualifiedWarn", 0);
         Integer deptType = tokenService.getLoginUser().getUser().getDeptType();
         String deptId = tokenService.getLoginUser().getUser().getDeptId();
         Long userId = tokenService.getLoginUser().getUserId();
@@ -976,6 +994,7 @@
             List<TTaskDetail> taskDetails = tTaskDetailService.list(Wrappers.lambdaQuery(TTaskDetail.class)
                     .in(TTaskDetail::getTaskId, taskIds)
                     .eq(TTaskDetail::getClearStatus, 2)
+                            .eq(TTaskDetail::getHandleType,1)
                     .orderByDesc(TTaskDetail::getCreateTime));
             List<TTaskDetail> taskDetailList = new ArrayList<>();
             for (TTask task : list) {

--
Gitblit v1.7.1