From fdb8cb8bb5dea273f440c8a52b7b4d9c73966f37 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期一, 18 八月 2025 14:51:40 +0800
Subject: [PATCH] 查询统计优化

---
 expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java |   29 +++++++++++++++++++++--------
 1 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java b/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java
index f404659..3c2b179 100644
--- a/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java
+++ b/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java
@@ -8,6 +8,7 @@
 import com.gkhy.common.utils.DateUtils;
 import com.gkhy.common.utils.SecurityUtils;
 import com.gkhy.common.utils.StringUtils;
+import com.gkhy.common.utils.uuid.RandomStringGenerator;
 import com.gkhy.system.domain.*;
 import com.gkhy.system.domain.vo.request.*;
 import com.gkhy.system.domain.vo.response.*;
@@ -65,7 +66,7 @@
      */
     @Override
     public List<ProjectManagement> selectProjectManagementList(ProjectManagement projectManagement) {
-        if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+        if (!SecurityUtils.isAdmin(SecurityUtils.getUserId()) && SecurityUtils.getUserId() != 130L){
            projectManagement.setDeptId(SecurityUtils.getDeptId());
         }
         return projectManagementMapper.selectProjectManagementList(projectManagement);
@@ -93,6 +94,7 @@
            // projectManagementMapper.updateProjectManagement(projectManagementSave);
             updateById(projectManagementSave);
         }else {
+            projectManagementSave.setProjectCode(RandomStringGenerator.generateRandomString(10));
             projectManagementSave.setStep(1L);
             projectManagementSave.setCreateBy(SecurityUtils.getUsername());
             projectManagementSave.setCreateTime(DateUtils.getNowDate());
@@ -138,13 +140,9 @@
 //            throw new ServiceException("固定专家不能为空!");
 //        }
 
-        if ((projectManagement1.getStep() == 1 || projectManagement1.getStep() == 2) && (projectManagement.getStep() == 2 ) ){
+        if ((projectManagement1.getStep() == 1 || projectManagement1.getStep() == 2) && (projectManagement.getStep() == 2  ) ){
             projectManagementSave.setStep(2L);
             projectManagementSave.setState(1L);
-        }else if (projectManagement1.getStep() == 2 && projectManagement.getStep() == 3){
-            projectManagementSave.setStep(2L);
-            projectManagementSave.setState(2L);
-            projectManagementSave.setProjectCheckTime(new Date());
             List<ProjectExpertSaveReqDto> collect = saveData.stream()
                     .filter(dto -> "1".equals(dto.getTeamLeader().toString()))
                     .collect(Collectors.toList());
@@ -157,6 +155,11 @@
             }
             projectManagementSave.setExpertName(collect.get(0).getExpertName());
             projectManagementSave.setExpertId(collect.get(0).getExpertId());
+        }else if (projectManagement1.getStep() == 2 && projectManagement.getStep() == 3){
+            projectManagementSave.setStep(2L);
+            projectManagementSave.setState(2L);
+            projectManagementSave.setProjectCheckTime(new Date());
+
         }
 
         List<ProjectExpertSaveReqDto> saveList = saveData.stream()
@@ -284,12 +287,16 @@
         if (req.getState() == 3){
             projectManagementUp.setStep(3L);
         }else if (req.getState() == 1){
-            projectManagementUp.setStep(2L);
+            projectManagementUp.setExpertName("");
+            projectManagementUp.setExpertId(0l);
+            projectManagementUp.setExpertNum(0L);
+            projectManagementUp.setStep(1L);
         }
         int i = projectManagementMapper.updateProjectManagement(projectManagementUp);
         //驳回删
         if (req.getState() == 1){
             projectFileMapper.deleteProjectFileByIdAndType(req.getId(), "1");
+            projectExpertMapper.deleteProjectExpertByProjectId(req.getId());
         }
         if (i > 0 && StringUtils.isNotEmpty(projectFile) && req.getState() == 3){
             //删除之前的该类型
@@ -463,7 +470,8 @@
                             Collectors.counting()
                     ));
             projectNumResp.setTotal(dataNum.size());
-            projectNumResp.setApproval(statusCounts.get(3)  == null ? 0 : statusCounts.get(3).intValue());
+            int i = statusCounts.get(2) == null ? 0 : statusCounts.get(2).intValue();
+            projectNumResp.setApproval(statusCounts.get(3)  == null ? 0+i: statusCounts.get(3).intValue()+i);
             projectNumResp.setExpert(statusCounts.get(1) == null ? 0 : statusCounts.get(1).intValue());
             projectNumResp.setStaging(statusCounts.get(0) == null ? 0:statusCounts.get(0).intValue());
             projectNumResp.setEnd(statusCounts.get(4) == null ? 0:statusCounts.get(4).intValue());
@@ -520,6 +528,11 @@
 
     }
 
+    @Override
+    public List<ProjectDataResp> selectProjectData(ProjectManagement projectManagement) {
+        return projectManagementMapper.selectProjectData(projectManagement);
+    }
+
     private List<ProjectExpertDetail> dealData(List<ProjectExpertScoreSaveReq.Score> data,Long projectExpertId){
         List<ProjectExpertDetail> dealData = new ArrayList<>();
         data.forEach(dto -> {

--
Gitblit v1.9.2