From c9d2e60f7d1a5cfe9e5b2da93af4d9edeecf5577 Mon Sep 17 00:00:00 2001
From: heheng <heheng@123456>
Date: 星期二, 26 十一月 2024 16:04:21 +0800
Subject: [PATCH] 部分修改

---
 expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java |   57 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 30 insertions(+), 27 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 9d55d55..2b261ff 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
@@ -17,6 +17,7 @@
 import com.gkhy.system.mapper.ProjectExpertMapper;
 import com.gkhy.system.mapper.ProjectFileMapper;
 import com.gkhy.system.mapper.ProjectManagementMapper;
+import com.gkhy.system.service.IProjectFileService;
 import com.gkhy.system.service.IProjectManagementService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -45,6 +46,9 @@
     @Autowired
     private ProjectExpertDetailMapper projectExpertDetailMapper;
 
+    @Autowired
+    private IProjectFileService projectFileService;
+
     /**
      * 查询项目管理
      *
@@ -64,6 +68,9 @@
      */
     @Override
     public List<ProjectManagement> selectProjectManagementList(ProjectManagement projectManagement) {
+        if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+           projectManagement.setDeptId(SecurityUtils.getDeptId());
+        }
         return projectManagementMapper.selectProjectManagementList(projectManagement);
     }
 
@@ -76,7 +83,9 @@
     @Override
     public Long insertProjectManagement(ProjectManageSaveReq projectManagement) {
         ProjectManagement projectManagementSave = new ProjectManagement();
-
+        if (SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+            throw new ServiceException("无权新增");
+        }
         projectManagementSave.setDelFlag(0L);
         BeanUtil.copyProperties(projectManagement, projectManagementSave);
         if (projectManagement.getId() != null){
@@ -112,7 +121,7 @@
         projectManagementSave.setUpdateBy(SecurityUtils.getUsername());
         projectManagementSave.setUpdateTime(DateUtils.getNowDate());
         projectManagementSave.setId(projectManagement.getId());
-        if (projectManagement1.getState() != 1 && projectManagement1.getState() != 0){
+        if (projectManagement1.getState() != 1 && projectManagement1.getState() != 0 ){
             throw new ServiceException("该步骤不可操作专家数据!");
         }
 
@@ -130,11 +139,11 @@
             throw new ServiceException("固定专家不能为空!");
         }
 
-        if (projectManagement1.getStep() == 1 || projectManagement1.getStep() == 2){
+        if ((projectManagement1.getStep() == 1 || projectManagement1.getStep() == 2) && (projectManagement.getStep() == 2 ) ){
             projectManagementSave.setStep(2L);
             projectManagementSave.setState(1L);
-        }else if (projectManagement1.getStep() == 3){
-            projectManagementSave.setStep(3L);
+        }else if (projectManagement1.getStep() == 2 && projectManagement.getStep() == 3){
+            projectManagementSave.setStep(2L);
             projectManagementSave.setState(2L);
             projectManagementSave.setProjectCheckTime(new Date());
             List<ProjectExpertSaveReqDto> collect = saveData.stream()
@@ -179,7 +188,6 @@
                 throw new ServiceException("保存专家失败!");
             }
         }
-
         int i = projectManagementMapper.updateProjectManagement(projectManagementSave);
         if (i < 1){
             throw new ServiceException("保存专家失败!");
@@ -219,13 +227,7 @@
                 .collect(Collectors.groupingBy(ProjectExpertSaveReqDto::getExpertId, Collectors.counting()));
 
         // 检查是否有任何 expertId 的频率大于 1
-        boolean hasDuplicates = frequencyMap.values().stream().anyMatch(count -> count > 1);
-
-        if (hasDuplicates) {
-           return true;
-        }
-
-        return false;
+       return  frequencyMap.values().stream().anyMatch(count -> count > 1);
     }
 
     /**
@@ -236,7 +238,7 @@
      */
     @Override
     public int deleteProjectManagementByIds(Long[] ids) {
-        //todo 校验
+        // 校验
         for (Long id : ids) {
             checkDataPer(id);
         }
@@ -267,14 +269,9 @@
         if (req.getState() != 3L &&  req.getState() != 1 ){
             throw new ServiceException("参数异常!");
         }
-        if (projectManagement.getStep() != 3){
-            throw new ServiceException("非审批步骤!");
-        }
         Long state = projectManagement.getState();
-        if (req.getState() == 3 && state != 2){
+        if (state != 2){
             throw new ServiceException("未生成审批单不可审批通过操作!");
-        }else if (req.getState() == 1 && state != 2){
-            throw new ServiceException("不可操作!");
         }
 
         List<ProjectFile> projectFile = req.getProjectFile();
@@ -283,7 +280,7 @@
         projectManagementUp.setState(req.getState());
         projectManagementUp.setUpdateBy(SecurityUtils.getUsername());
         if (req.getState() == 3){
-            projectManagementUp.setStep(4L);
+            projectManagementUp.setStep(3L);
         }else if (req.getState() == 1){
             projectManagementUp.setStep(2L);
         }
@@ -300,8 +297,9 @@
                 file.setCreateBy(username);
                 file.setProjectId(req.getId());
             });
-            int i1 = projectFileMapper.insertProjectFiles(projectFile);
-            if (i1 < 1){
+            //int i1 = projectFileMapper.insertProjectFiles(projectFile);
+            Boolean b = projectFileService.saveBatchProjectFile(projectFile);
+            if (!b){
                 throw new ServiceException("保存附件失败!");
             }
         }
@@ -319,6 +317,7 @@
         ProjectManagement projectManagementUp = new ProjectManagement();
         projectManagementUp.setId(req.getId());
         projectManagementUp.setState(4L);
+        projectManagementUp.setStep(4L);
         projectManagementUp.setDesc(req.getDesc());
         projectManagementUp.setProjectEndTime(req.getProjectEndTime());
         projectManagementUp.setUpdateBy(SecurityUtils.getUsername());
@@ -329,8 +328,12 @@
                 file.setCreateBy(username);
                 file.setProjectId(req.getId());
             });
-            int i1 = projectFileMapper.insertProjectFiles(projectFile);
-            if (i1 < 1){
+//            int i1 = projectFileMapper.insertProjectFiles(projectFile);
+//            if (i1 < 1){
+//                throw new ServiceException("保存附件失败!");
+//            }
+            Boolean b = projectFileService.saveBatchProjectFile(projectFile);
+            if (!b){
                 throw new ServiceException("保存附件失败!");
             }
         }
@@ -446,8 +449,8 @@
         if (!StringUtils.isEmpty(dataNum)){
             Map<Integer, Long> statusCounts = dataNum.stream()
                     .collect(Collectors.groupingBy(
-                            status -> status,  // 分组键
-                            Collectors.counting()  // 计数
+                            status -> status,
+                            Collectors.counting()
                     ));
             projectNumResp.setTotal(dataNum.size());
             projectNumResp.setApproval(statusCounts.get(3)  == null ? 0 : statusCounts.get(3).intValue());

--
Gitblit v1.9.2