From 9364cf6824389a3264dc2cdb2bc3b5857ce76ad5 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 03 七月 2025 23:38:54 +0800
Subject: [PATCH] bug修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/WorkbenchesController.java |   92 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 78 insertions(+), 14 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 875d1e4..931929f 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)
@@ -180,8 +189,17 @@
             if (deptType == 1) {
                 // 项目部人员
                 if(CollectionUtils.isEmpty(query.getProjectId())){
+                    TProjectDept projectDept = projectDeptService.getById(deptId);
                     List<String> projectIds = new ArrayList<>();
-                    projectIds.add(deptId);
+                    if("0".equals(projectDept.getParentId())){
+                        List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
+                                .eq(TProjectDept::getStatus, 1)
+                                .eq(TProjectDept::getParentId, projectDept.getId()));
+                        List<String> ids = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList());
+                        projectIds.addAll(ids);
+                    }else {
+                        projectIds.add(deptId);
+                    }
                     query.setProjectId(projectIds);
                 }
             }else {
@@ -336,8 +354,17 @@
             if (deptType == 1) {
                 // 项目部人员
                 if(CollectionUtils.isEmpty(query.getProjectId())){
+                    TProjectDept projectDept = projectDeptService.getById(deptId);
                     List<String> projectIds = new ArrayList<>();
-                    projectIds.add(deptId);
+                    if("0".equals(projectDept.getParentId())){
+                        List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
+                                .eq(TProjectDept::getStatus, 1)
+                                .eq(TProjectDept::getParentId, projectDept.getId()));
+                        List<String> ids = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList());
+                        projectIds.addAll(ids);
+                    }else {
+                        projectIds.add(deptId);
+                    }
                     query.setProjectId(projectIds);
                 }
             }else {
@@ -510,8 +537,17 @@
             if (deptType == 1) {
                 // 项目部人员
                 if(CollectionUtils.isEmpty(query.getProjectId())){
+                    TProjectDept projectDept = projectDeptService.getById(deptId);
                     List<String> projectIds = new ArrayList<>();
-                    projectIds.add(deptId);
+                    if("0".equals(projectDept.getParentId())){
+                        List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
+                                .eq(TProjectDept::getStatus, 1)
+                                .eq(TProjectDept::getParentId, projectDept.getId()));
+                        List<String> ids = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList());
+                        projectIds.addAll(ids);
+                    }else {
+                        projectIds.add(deptId);
+                    }
                     query.setProjectId(projectIds);
                 }
             }else {
@@ -673,8 +709,17 @@
             if (deptType == 1) {
                 // 项目部人员
                 if(CollectionUtils.isEmpty(query.getProjectId())){
+                    TProjectDept projectDept = projectDeptService.getById(deptId);
                     List<String> projectIds = new ArrayList<>();
-                    projectIds.add(deptId);
+                    if("0".equals(projectDept.getParentId())){
+                        List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
+                                .eq(TProjectDept::getStatus, 1)
+                                .eq(TProjectDept::getParentId, projectDept.getId()));
+                        List<String> ids = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList());
+                        projectIds.addAll(ids);
+                    }else {
+                        projectIds.add(deptId);
+                    }
                     query.setProjectId(projectIds);
                 }
             }else {
@@ -787,8 +832,17 @@
             if (deptType == 1) {
                 // 项目部人员
                 if(CollectionUtils.isEmpty(query.getProjectId())){
+                    TProjectDept projectDept = projectDeptService.getById(deptId);
                     List<String> projectIds = new ArrayList<>();
-                    projectIds.add(deptId);
+                    if("0".equals(projectDept.getParentId())){
+                        List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
+                                .eq(TProjectDept::getStatus, 1)
+                                .eq(TProjectDept::getParentId, projectDept.getId()));
+                        List<String> ids = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList());
+                        projectIds.addAll(ids);
+                    }else {
+                        projectIds.add(deptId);
+                    }
                     query.setProjectId(projectIds);
                 }
             }else {
@@ -942,8 +996,17 @@
             if (deptType == 1) {
                 // 项目部人员
                 if(CollectionUtils.isEmpty(query.getProjectId())){
+                    TProjectDept projectDept = projectDeptService.getById(deptId);
                     List<String> projectIds = new ArrayList<>();
-                    projectIds.add(deptId);
+                    if("0".equals(projectDept.getParentId())){
+                        List<TProjectDept> tProjectDeptList = projectDeptService.list(Wrappers.lambdaQuery(TProjectDept.class)
+                                .eq(TProjectDept::getStatus, 1)
+                                .eq(TProjectDept::getParentId, projectDept.getId()));
+                        List<String> ids = tProjectDeptList.stream().map(TProjectDept::getId).collect(Collectors.toList());
+                        projectIds.addAll(ids);
+                    }else {
+                        projectIds.add(deptId);
+                    }
                     query.setProjectId(projectIds);
                 }
             }else {
@@ -985,6 +1048,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) {
@@ -1000,7 +1064,7 @@
                     .eq(TDictData::getDataType, 2));
             List<AnalysisUnqualifiedCleaningDetailVO> analysisUnqualifiedCleaningDetailVOS = new ArrayList<>();
             for (TDictData tDictData : dictDataList) {
-                List<TTaskDetail> tTaskDetails = taskDetailList.stream().filter(taskDetail -> taskDetail.getUnqualified().equals(tDictData.getId())).collect(Collectors.toList());
+                List<TTaskDetail> tTaskDetails = taskDetailList.stream().filter(taskDetail -> StringUtils.isNotEmpty(taskDetail.getUnqualified())&&taskDetail.getUnqualified().equals(tDictData.getId())).collect(Collectors.toList());
                 AnalysisUnqualifiedCleaningDetailVO analysisUnqualifiedCleaningDetailVO = new AnalysisUnqualifiedCleaningDetailVO();
                 analysisUnqualifiedCleaningDetailVO.setUnqualifiedName(tDictData.getDataContent());
                 analysisUnqualifiedCleaningDetailVO.setCount(tTaskDetails.size());
@@ -1069,7 +1133,7 @@
                     .eq(TDictData::getDataType, 2));
             List<AnalysisUnqualifiedCleaningDetailVO> analysisUnqualifiedCleaningDetailVOS = new ArrayList<>();
             for (TDictData tDictData : dictDataList) {
-                List<TTaskDetail> tTaskDetails = taskDetailList.stream().filter(taskDetail -> taskDetail.getUnqualified().equals(tDictData.getId())).collect(Collectors.toList());
+                List<TTaskDetail> tTaskDetails = taskDetailList.stream().filter(taskDetail -> StringUtils.isNotEmpty(taskDetail.getUnqualified())&&taskDetail.getUnqualified().equals(tDictData.getId())).collect(Collectors.toList());
                 AnalysisUnqualifiedCleaningDetailVO analysisUnqualifiedCleaningDetailVO = new AnalysisUnqualifiedCleaningDetailVO();
                 analysisUnqualifiedCleaningDetailVO.setUnqualifiedName(tDictData.getDataContent());
                 analysisUnqualifiedCleaningDetailVO.setCount(tTaskDetails.size());

--
Gitblit v1.7.1