From ff07f3bbbae77b6b32f13abf4fde5516a9cfc049 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 01 七月 2025 17:22:50 +0800
Subject: [PATCH] 工作台

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java |   34 ++++++++++++++++++++++------------
 1 files changed, 22 insertions(+), 12 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..cbec531 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
@@ -345,7 +345,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 +385,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 +431,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 +447,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 +519,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 +589,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 +769,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();

--
Gitblit v1.7.1