From e897513fc65c426c5b0f0dce6f8b887b9cc9010d Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 03 七月 2025 21:17:20 +0800
Subject: [PATCH] 保洁巡检本周代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java |   62 ++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 22 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 4367fa7..4651396 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
@@ -305,10 +305,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 +344,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 +384,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 +430,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 +446,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 +518,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)
@@ -553,7 +563,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() == 2){
+                    if(Objects.nonNull(tTaskDetail.getClearStatus()) && tTaskDetail.getClearStatus() == 2){
                         result.add(task);
                     }
                 }
@@ -578,7 +588,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)
@@ -621,7 +632,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() == 2){
+                    if(Objects.nonNull(tTaskDetail.getClearStatus()) && tTaskDetail.getClearStatus() == 2){
                         result.add(task);
                     }
                 }
@@ -757,8 +768,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();
@@ -827,10 +836,14 @@
             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() == 2){
-                        unqualifiedWarn++;
+                    if(Objects.nonNull(tTaskDetail.getClearStatus())){
+                        if(tTaskDetail.getClearStatus() == 2){
+                            unqualifiedWarn++;
+                        }else {
+                            qualifiedWarn++;
+                        }
                     }else {
-                        qualifiedWarn++;
+                        unqualifiedWarn++;
                     }
                 }
             }
@@ -889,10 +902,14 @@
             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() == 2){
-                        unqualifiedWarn++;
+                    if(Objects.nonNull(tTaskDetail.getClearStatus())){
+                        if(tTaskDetail.getClearStatus() == 2){
+                            unqualifiedWarn++;
+                        }else {
+                            qualifiedWarn++;
+                        }
                     }else {
-                        qualifiedWarn++;
+                        unqualifiedWarn++;
                     }
                 }
             }
@@ -968,6 +985,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