From b2e3d6532dbbb3929e01a598dcef7eb07f39b826 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 11 七月 2025 09:30:27 +0800
Subject: [PATCH] 保洁巡检本周代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java |   53 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 44 insertions(+), 9 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java
index 00d2131..f6d0d24 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java
@@ -24,6 +24,7 @@
 import io.swagger.annotations.ApiOperation;
 import io.swagger.models.auth.In;
 import org.apache.poi.ss.usermodel.Workbook;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -205,7 +206,7 @@
                                 break;
                         }
                     }
-                    LocalDateTime localDateTime = tTemplate.getCreateTime().plusDays(temp);
+                    LocalDateTime localDateTime = tTemplate.getCreateTime().plusDays(temp-1);
                     stringBuilder.append(localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
                     record.setTemplateDate(stringBuilder.toString());
                 }
@@ -384,6 +385,9 @@
         }
         List<ProjectDeptDetailsVO> res = new ArrayList<>();
         List<TTask> tasks = taskCleanerService.list(tTaskLambdaQueryWrapper);
+        if(CollectionUtils.isEmpty(tasks)){
+            return R.ok(res);
+        }
         List<TTaskDetail> taskDetails = taskDetailService.lambdaQuery().orderByDesc(BaseModel::getCreateTime).list();
         List<String> collect = tasks.stream().map(TTask::getProjectId).distinct().collect(Collectors.toList());
         List<TProjectDept> projectDepts = projectDeptService.list();
@@ -425,7 +429,10 @@
                 for (LocationTypeListByProjectVO locationTypeListByProjectVO : locationTypeListByProjectVOS) {
                     LocationTypeListByProjectVO temp = new LocationTypeListByProjectVO();
                     BeanUtils.copyProperties(locationTypeListByProjectVO, temp);
-                    List<String> locationIds = locations.stream().filter(e -> e.getLocationType().equals(locationTypeListByProjectVO.getId())).map(TLocation::getId).collect(Collectors.toList());
+                    List<String> locationIds = locations.stream().filter(e ->
+                            e.getProjectId().equals(projectDeptDetailsChildVO.getProjectId())&&
+                            e.getLocationType().equals(locationTypeListByProjectVO.getId()))
+                            .map(TLocation::getId).collect(Collectors.toList());
                     if (locationIds.isEmpty()) {
                         locationTypeListByProjectVO.setLocationNum(0);
                     } else {
@@ -703,8 +710,8 @@
         List<SysUser> sysUsers = sysUserService.selectAllList();
         LambdaQueryWrapper<TLeave> tLeaveLambdaQueryWrapper = new LambdaQueryWrapper<>();
         if (StringUtils.hasLength(query.getStartTime())){
-            tLeaveLambdaQueryWrapper.ge(TLeave::getCreateTime, query.getStartTime());
-            tLeaveLambdaQueryWrapper.le(TLeave::getCreateTime, query.getEndTime());
+            tLeaveLambdaQueryWrapper.ge(TLeave::getCreateTime, query.getStartTime()+" :00:00:00");
+            tLeaveLambdaQueryWrapper.le(TLeave::getCreateTime, query.getEndTime()+" :23:59:59");
         }
         tLeaveLambdaQueryWrapper.eq(TLeave::getAuditStatus,2);
         List<TLeave> leaves = leaveService.list(tLeaveLambdaQueryWrapper);
@@ -744,15 +751,15 @@
         List<PatrolInspectorVO> res = new ArrayList<>();
         LambdaQueryWrapper<TTask> tTaskLambdaQueryWrapper = new LambdaQueryWrapper<>();
         if (StringUtils.hasLength(query.getStartTime())){
-            tTaskLambdaQueryWrapper.ge(TTask::getCreateTime, query.getStartTime());
-            tTaskLambdaQueryWrapper.le(TTask::getCreateTime, query.getEndTime());
+            tTaskLambdaQueryWrapper.ge(TTask::getCreateTime, query.getStartTime()+" :00:00:00");
+            tTaskLambdaQueryWrapper.le(TTask::getCreateTime, query.getEndTime()+" :23:59:59");
         }
         if(query.getPatrolInspectorIds()!=null){
             tTaskLambdaQueryWrapper.in(TTask::getPatrolInspector, query.getPatrolInspectorIds());
             sysUsers = sysUsers.stream().filter(sysUser -> query.getPatrolInspectorIds().contains(sysUser.getUserId())).collect(Collectors.toList());
         }
         List<TTask> tasks = taskCleanerService.list(tTaskLambdaQueryWrapper);
-
+        sysUsers = sysUsers.stream().filter(e -> e.getUserId() != 1).collect(Collectors.toList());
         for (SysUser sysUser : sysUsers) {
 
             PatrolInspectorVO patrolInspectorVO = new PatrolInspectorVO();
@@ -775,10 +782,22 @@
             }
             // 查询巡检员任务ids
             List<String> taskIds = tasks.stream().filter(e->e.getPatrolInspector().equals(sysUser.getUserId()+"")).map(TTask::getId).collect(Collectors.toList());
+            if (taskIds.isEmpty()){
+                taskIds.add("-1");
+            }
+            // 完成的任务
+            List<String> taskIdsFinish = tasks.stream().filter(e->
+                    (e.getStatus()==5 || e.getStatus()==6)
+                    &&
+                    e.getPatrolInspector().equals(sysUser.getUserId()+"")).map(TTask::getId).collect(Collectors.toList());
+
+            if (taskIdsFinish.isEmpty()){
+                taskIdsFinish.add("-1");
+            }
             List<TTaskDetail> list = taskDetailService.lambdaQuery()
                     .eq(TTaskDetail::getAuditStatus, 1)
                     .isNotNull(TTaskDetail::getClearStatus).orderByDesc(BaseModel::getCreateTime)
-                    .in(!taskIds.isEmpty(), TTaskDetail::getTaskId,taskIds).groupBy(TTaskDetail::getTaskId).list();
+                    .in(!taskIds.isEmpty(), TTaskDetail::getTaskId,taskIdsFinish).groupBy(TTaskDetail::getTaskId).list();
             // 查询clearStatus为1的数量
             List<TTaskDetail> clearStatus1 = list.stream().filter(e -> e.getClearStatus().equals(1)).collect(Collectors.toList());
             List<TTaskDetail> clearStatus2 = list.stream().filter(e -> e.getClearStatus().equals(2)).collect(Collectors.toList());
@@ -869,6 +888,7 @@
             sysUsers = sysUsers.stream().filter(sysUser -> query.getPatrolInspectorIds().contains(sysUser.getUserId())).collect(Collectors.toList());
         }
         List<TTask> tasks = taskCleanerService.list(tTaskLambdaQueryWrapper);
+        sysUsers = sysUsers.stream().filter(e -> e.getUserId() != 1).collect(Collectors.toList());
 
         for (SysUser sysUser : sysUsers) {
 
@@ -892,10 +912,22 @@
             }
             // 查询巡检员任务ids
             List<String> taskIds = tasks.stream().filter(e->e.getPatrolInspector().equals(sysUser.getUserId()+"")).map(TTask::getId).collect(Collectors.toList());
+            if (taskIds.isEmpty()){
+                taskIds.add("-1");
+            }
+            // 完成的任务
+            List<String> taskIdsFinish = tasks.stream().filter(e->
+                    (e.getStatus()==5 || e.getStatus()==6)
+                            &&
+                            e.getPatrolInspector().equals(sysUser.getUserId()+"")).map(TTask::getId).collect(Collectors.toList());
+
+            if (taskIdsFinish.isEmpty()){
+                taskIdsFinish.add("-1");
+            }
             List<TTaskDetail> list = taskDetailService.lambdaQuery()
                     .eq(TTaskDetail::getAuditStatus, 1)
                     .isNotNull(TTaskDetail::getClearStatus).orderByDesc(BaseModel::getCreateTime)
-                    .in(!taskIds.isEmpty(), TTaskDetail::getTaskId,taskIds).groupBy(TTaskDetail::getTaskId).list();
+                    .in(!taskIds.isEmpty(), TTaskDetail::getTaskId,taskIdsFinish).groupBy(TTaskDetail::getTaskId).list();
             // 查询clearStatus为1的数量
             List<TTaskDetail> clearStatus1 = list.stream().filter(e -> e.getClearStatus().equals(1)).collect(Collectors.toList());
             List<TTaskDetail> clearStatus2 = list.stream().filter(e -> e.getClearStatus().equals(2)).collect(Collectors.toList());
@@ -1000,6 +1032,7 @@
         }
         List<InspectorVO> res = new ArrayList<>();
         List<TInspector> inspectors = inspectorService.list(tTaskLambdaQueryWrapper);
+        sysUsers = sysUsers.stream().filter(e -> e.getUserId() != 1).collect(Collectors.toList());
         for (SysUser sysUser : sysUsers) {
             InspectorVO inspectorVO = new InspectorVO();
             inspectorVO.setNickName(sysUser.getNickName());
@@ -1087,6 +1120,8 @@
         }
         List<InspectorVO> res = new ArrayList<>();
         List<TInspector> inspectors = inspectorService.list(tTaskLambdaQueryWrapper);
+        sysUsers = sysUsers.stream().filter(e -> e.getUserId() != 1).collect(Collectors.toList());
+
         for (SysUser sysUser : sysUsers) {
             InspectorVO inspectorVO = new InspectorVO();
             inspectorVO.setNickName(sysUser.getNickName());

--
Gitblit v1.7.1