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/DataStatisticsController.java |  102 +++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 87 insertions(+), 15 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/DataStatisticsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/DataStatisticsController.java
index c19569c..3197987 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/DataStatisticsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/DataStatisticsController.java
@@ -77,12 +77,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)
@@ -153,8 +162,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 {
@@ -264,8 +282,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 {
@@ -379,8 +406,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 {
@@ -518,8 +554,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 {
@@ -576,7 +621,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());
@@ -645,7 +690,7 @@
                     .eq(TDictData::getDataType, 2));
             List<AnalysisUnqualifiedCleaningDetailVO> analysisUnqualifiedCleaningDetailVOS = new ArrayList<>();
             for (TDictData tDictData : dictDataList) {
-                List<TTaskDetail> tTaskDetails = taskDetailList.stream().filter(taskDetail -> org.springframework.util.StringUtils.hasLength(taskDetail.getUnqualified())&& 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());
@@ -707,8 +752,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 {
@@ -994,8 +1048,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 {
@@ -1141,8 +1204,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 {

--
Gitblit v1.7.1