From 6605af34249a6fec0b3967698dcc53ae366d781c Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 14 七月 2025 16:56:49 +0800
Subject: [PATCH] 保洁巡检本周代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java |  135 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 107 insertions(+), 28 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 3c70789..014a8f3 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
@@ -135,7 +135,7 @@
             if (patrolInspectorIds.isEmpty()) {
                 return R.ok(new PageInfo<>());
             }
-            if (!query.getPatrolInspectorIds().isEmpty()) {
+            if (query.getPatrolInspectorIds()!=null&&!query.getPatrolInspectorIds().isEmpty()) {
                 // 取交集
                 patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
             }
@@ -234,13 +234,21 @@
     public void taskProgressExport(@RequestBody TaskProgressQuery query) {
         List<SysUser> sysUsers = sysUserService.selectAllList();
         if (StringUtils.hasLength(query.getDeptName())) {
-            List<String> projectIds = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list()
+            List<TProjectDept> list = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list();
+            List<String> projectIds = list
                     .stream().map(TProjectDept::getId).collect(Collectors.toList());
             List<String> deptIds = deptService.lambdaQuery().like(TDept::getDeptName, query.getDeptName()).list()
                     .stream().map(TDept::getId).collect(Collectors.toList());
+            for (TProjectDept projectDept : list) {
+                if (projectDept.getParentId().equals("0")){
+                    List<TProjectDept> list1 = projectDeptService.lambdaQuery().eq(TProjectDept::getParentId, projectDept.getId()).list();
+                    List<String> collect = list1.stream().map(TProjectDept::getId).collect(Collectors.toList());
+                    projectIds.addAll(collect);
+                }
+            }
             projectIds.addAll(deptIds);
             if (projectIds.isEmpty()) {
-                projectIds.add("-1");
+                projectIds.add("0");
             }
             // 用户ids
             List<Long> collect = sysUsers.stream().filter(e -> e.getDeptType() == 1 && projectIds.contains(e.getDeptId())).map(SysUser::getUserId)
@@ -249,7 +257,7 @@
                     .collect(Collectors.toList());
             collect.addAll(collect1);
             if (collect.isEmpty()) {
-                collect.add(0L);
+projectIds.add("0");
             }
             query.setPatrolInspectorIds(collect);
 
@@ -913,10 +921,18 @@
         tLeaveLambdaQueryWrapper.eq(TLeave::getAuditStatus, 2);
         List<TLeave> leaves = leaveService.list(tLeaveLambdaQueryWrapper);
         if (StringUtils.hasLength(query.getDeptName())) {
-            List<String> projectIds = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list()
+            List<TProjectDept> list = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list();
+            List<String> projectIds = list
                     .stream().map(TProjectDept::getId).collect(Collectors.toList());
             List<String> deptIds = deptService.lambdaQuery().like(TDept::getDeptName, query.getDeptName()).list()
                     .stream().map(TDept::getId).collect(Collectors.toList());
+            for (TProjectDept projectDept : list) {
+                if (projectDept.getParentId().equals("0")){
+                    List<TProjectDept> list1 = projectDeptService.lambdaQuery().eq(TProjectDept::getParentId, projectDept.getId()).list();
+                    List<String> collect = list1.stream().map(TProjectDept::getId).collect(Collectors.toList());
+                    projectIds.addAll(collect);
+                }
+            }
             projectIds.addAll(deptIds);
             if (projectIds.isEmpty()) {
                 projectIds.add("-1");
@@ -1103,37 +1119,71 @@
         List<TTask> listAll = taskCleanerService.list();
         List<String> listAllTaskIds = listAll.stream().map(TTask::getId).collect(Collectors.toList());
         if (StringUtils.hasLength(query.getDeptName())) {
-            List<String> projectIds = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list()
+            List<TProjectDept> list = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list();
+            List<String> projectIds = list
                     .stream().map(TProjectDept::getId).collect(Collectors.toList());
             List<String> deptIds = deptService.lambdaQuery().like(TDept::getDeptName, query.getDeptName()).list()
                     .stream().map(TDept::getId).collect(Collectors.toList());
+            for (TProjectDept projectDept : list) {
+                if (projectDept.getParentId().equals("0")){
+                        List<TProjectDept> list1 = projectDeptService.lambdaQuery().eq(TProjectDept::getParentId, projectDept.getId()).list();
+                        List<String> collect = list1.stream().map(TProjectDept::getId).collect(Collectors.toList());
+                        projectIds.addAll(collect);
+                }
+            }
             projectIds.addAll(deptIds);
             if (projectIds.isEmpty()) {
-                return R.ok(new ArrayList<>());
+                projectIds.add("0");
             }
+            // 用户ids
+            List<Long> collect = sysUsers.stream().filter(e -> e.getDeptType() == 1 && projectIds.contains(e.getDeptId())).map(SysUser::getUserId)
+                    .collect(Collectors.toList());
+            List<Long> collect1 = sysUsers.stream().filter(e -> e.getDeptType() == 2 && deptIds.contains(e.getDeptId())).map(SysUser::getUserId)
+                    .collect(Collectors.toList());
+            collect.addAll(collect1);
+            if (collect.isEmpty()) {
+            collect.add(-1L);
+            }
+            query.setPatrolInspectorIds(collect);
+
             if (StringUtils.hasLength(query.getPhonenumber())) {
                 List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser ->
                         sysUser.getPhonenumber().equals(query.getPhonenumber())
                                 && projectIds.contains(sysUser.getDeptId())
                 ).map(SysUser::getUserId).collect(Collectors.toList());
                 if (patrolInspectorIds.isEmpty()) {
-                    return R.ok(new ArrayList<>());
+                    patrolInspectorIds.add(-1L);
+                } else {
+                    patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
+                    query.setPatrolInspectorIds(patrolInspectorIds);
                 }
-                query.setPatrolInspectorIds(patrolInspectorIds);
             }
         }
-        if (StringUtils.hasLength(query.getPhonenumber())) {
+        if (StringUtils.hasLength(query.getNickName())){
             List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser ->
-                    sysUser.getPhonenumber().equals(query.getPhonenumber())
+                    sysUser.getNickName().contains(query.getNickName())
             ).map(SysUser::getUserId).collect(Collectors.toList());
-            if (!query.getPatrolInspectorIds().isEmpty()) {
+            if (query.getPatrolInspectorIds()!=null&&!query.getPatrolInspectorIds().isEmpty()){
                 // 取交集
                 patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
             }
-            query.setPatrolInspectorIds(patrolInspectorIds);
-            if (patrolInspectorIds.isEmpty()) {
-                return R.ok(new ArrayList<>());
+            if (patrolInspectorIds.isEmpty()){
+                patrolInspectorIds.add(-1L);
             }
+            query.setPatrolInspectorIds(patrolInspectorIds);
+        }
+        if (StringUtils.hasLength(query.getPhonenumber())){
+            List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser ->
+                    sysUser.getPhonenumber().contains(query.getPhonenumber())
+            ).map(SysUser::getUserId).collect(Collectors.toList());
+            if (query.getPatrolInspectorIds()!=null&&!query.getPatrolInspectorIds().isEmpty()){
+                // 取交集
+                patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
+            }
+            if (patrolInspectorIds.isEmpty()){
+                patrolInspectorIds.add(-1L);
+            }
+            query.setPatrolInspectorIds(patrolInspectorIds);
         }
         LambdaQueryWrapper<TInspector> tTaskLambdaQueryWrapper = new LambdaQueryWrapper<>();
         tTaskLambdaQueryWrapper.eq(TInspector::getAuditStatus, 1);
@@ -1153,8 +1203,11 @@
         }
         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) {
+        List<String> users = inspectors.stream().map(TInspector::getCommitPerson).collect(Collectors.toList());
+        if (users.isEmpty()){
+            users.add("0");
+        }
+        sysUsers = sysUsers.stream().filter(e -> e.getUserId() != 1&&users.contains(e.getUserId()+"")).collect(Collectors.toList());        for (SysUser sysUser : sysUsers) {
             InspectorVO inspectorVO = new InspectorVO();
             inspectorVO.setNickName(sysUser.getNickName());
             inspectorVO.setPhonenumber(sysUser.getPhonenumber());
@@ -1202,37 +1255,59 @@
         List<TTask> listAll = taskCleanerService.list();
         List<String> listAllTaskIds = listAll.stream().map(TTask::getId).collect(Collectors.toList());
         if (StringUtils.hasLength(query.getDeptName())) {
-            List<String> projectIds = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list()
+            List<TProjectDept> list = projectDeptService.lambdaQuery().like(TProjectDept::getProjectName, query.getDeptName()).list();
+            List<String> projectIds = list
                     .stream().map(TProjectDept::getId).collect(Collectors.toList());
             List<String> deptIds = deptService.lambdaQuery().like(TDept::getDeptName, query.getDeptName()).list()
                     .stream().map(TDept::getId).collect(Collectors.toList());
+            for (TProjectDept projectDept : list) {
+                if (projectDept.getParentId().equals("0")){
+                    List<TProjectDept> list1 = projectDeptService.lambdaQuery().eq(TProjectDept::getParentId, projectDept.getId()).list();
+                    List<String> collect = list1.stream().map(TProjectDept::getId).collect(Collectors.toList());
+                    projectIds.addAll(collect);
+                }
+            }
             projectIds.addAll(deptIds);
             if (projectIds.isEmpty()) {
-                projectIds.add("-1");
+                projectIds.add("0");
             }
+            // 用户ids
+            List<Long> collect = sysUsers.stream().filter(e -> e.getDeptType() == 1 && projectIds.contains(e.getDeptId())).map(SysUser::getUserId)
+                    .collect(Collectors.toList());
+            List<Long> collect1 = sysUsers.stream().filter(e -> e.getDeptType() == 2 && deptIds.contains(e.getDeptId())).map(SysUser::getUserId)
+                    .collect(Collectors.toList());
+            collect.addAll(collect1);
+            if (collect.isEmpty()) {
+                collect.add(-1L);
+            }
+            query.setPatrolInspectorIds(collect);
+
             if (StringUtils.hasLength(query.getPhonenumber())) {
                 List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser ->
                         sysUser.getPhonenumber().equals(query.getPhonenumber())
                                 && projectIds.contains(sysUser.getDeptId())
                 ).map(SysUser::getUserId).collect(Collectors.toList());
                 if (patrolInspectorIds.isEmpty()) {
-                    patrolInspectorIds.add(0L);
+                    patrolInspectorIds.add(-1L);
+                } else {
+                    patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
+                    query.setPatrolInspectorIds(patrolInspectorIds);
                 }
-                query.setPatrolInspectorIds(patrolInspectorIds);
             }
         }
-        if (StringUtils.hasLength(query.getPhonenumber())) {
+        if (StringUtils.hasLength(query.getPhonenumber())){
             List<Long> patrolInspectorIds = sysUsers.stream().filter(sysUser ->
-                    sysUser.getPhonenumber().equals(query.getPhonenumber())
+                    sysUser.getPhonenumber().contains(query.getPhonenumber())
             ).map(SysUser::getUserId).collect(Collectors.toList());
-            if (!query.getPatrolInspectorIds().isEmpty()) {
+            if (query.getPatrolInspectorIds()!=null&&!query.getPatrolInspectorIds().isEmpty()){
                 // 取交集
                 patrolInspectorIds = patrolInspectorIds.stream().filter(query.getPatrolInspectorIds()::contains).collect(Collectors.toList());
             }
-            query.setPatrolInspectorIds(patrolInspectorIds);
-            if (patrolInspectorIds.isEmpty()) {
-                patrolInspectorIds.add(0L);
+            if (patrolInspectorIds.isEmpty()){
+                patrolInspectorIds.add(-1L);
             }
+            query.setPatrolInspectorIds(patrolInspectorIds);
+
         }
         LambdaQueryWrapper<TInspector> tTaskLambdaQueryWrapper = new LambdaQueryWrapper<>();
         tTaskLambdaQueryWrapper.eq(TInspector::getAuditStatus, 1);
@@ -1252,7 +1327,11 @@
         }
         List<InspectorVO> res = new ArrayList<>();
         List<TInspector> inspectors = inspectorService.list(tTaskLambdaQueryWrapper);
-        sysUsers = sysUsers.stream().filter(e -> e.getUserId() != 1).collect(Collectors.toList());
+        List<String> users = inspectors.stream().map(TInspector::getCommitPerson).collect(Collectors.toList());
+        if (users.isEmpty()){
+            users.add("0");
+        }
+        sysUsers = sysUsers.stream().filter(e -> e.getUserId() != 1&&users.contains(e.getUserId()+"")).collect(Collectors.toList());
         for (SysUser sysUser : sysUsers) {
             InspectorVO inspectorVO = new InspectorVO();
             inspectorVO.setNickName(sysUser.getNickName());

--
Gitblit v1.7.1