From 421e1dc40f619e8bb44c0662325e0b1729ca79e8 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: Fri, 08 May 2026 17:27:41 +0800
Subject: [PATCH] 功能

---
 expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java |   50 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 49 insertions(+), 1 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 682408b..4c68953 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
@@ -787,8 +787,19 @@
         if (projectManagement.getEvaluationState() == 0) {
             throw new ServiceException("有专家未完成评定与报销,请完善后再试");
         }
+        List<ProjectExpertExportInfoRes> projectExpertExportInfoRes = projectExpertMapper.projectExpertExportList(projectId);
+        projectExpertExportInfoRes.forEach(projectExpertExportInfoRes1 -> {
+            List<ProjectExpertExportResp> projectExpertExportResps = projectExpertExportInfoRes1.getProjectExpertExportResps();
+            Date maxUpdateTime = projectExpertExportResps.stream()
+                    .map(ProjectExpertExportResp::getUpdateTime)
+                    .max(Comparator.naturalOrder())
+                    .orElse(null);
+            if (maxUpdateTime != null){
+                projectExpertExportInfoRes1.setUpdateTime(maxUpdateTime);
+            }
+        });
 
-        return projectExpertMapper.projectExpertExportList(projectId);
+        return projectExpertExportInfoRes;
 
     }
 
@@ -797,6 +808,43 @@
         return projectManagementMapper.selectProjectData(projectManagement);
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void projectBackEvaluation(Long id) {
+        if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+            throw new ServiceException("非管理员无权操作!");
+        }
+        ProjectManagement projectManagement = projectManagementMapper.selectProjectManagementById(id);
+        if (null == projectManagement){
+            throw new ServiceException("项目不存在");
+        }
+        if (projectManagement.getState() != 4) {
+            throw new ServiceException("项目未完成,无权操作!");
+        }
+        if (projectManagement.getEvaluationState() != 1){
+            throw new ServiceException("未完成评审不可退回!");
+        }
+        LambdaUpdateWrapper<ProjectManagement> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.eq(ProjectManagement::getId, id)
+                .set(ProjectManagement::getEvaluationState, 0).set(ProjectManagement::getUpdateBy, SecurityUtils.getUsername())
+                .set(ProjectManagement::getUpdateTime, new Date());
+        int update = projectManagementMapper.update(null, updateWrapper);
+        if (update > 0){
+            LambdaUpdateWrapper<OutProjectExpert> updateWrapper1 = new LambdaUpdateWrapper<>();
+            updateWrapper1.eq(OutProjectExpert::getProjectId, id)
+                    .set(OutProjectExpert::getEvaluationState, 0).set(OutProjectExpert::getUpdateBy, SecurityUtils.getUsername())
+                    .set(OutProjectExpert::getUpdateTime, new Date());
+            outProjectExpertMapper.update(null, updateWrapper1);
+            LambdaUpdateWrapper<ProjectExpert> updateWrapper2 = new LambdaUpdateWrapper<>();
+            updateWrapper2.eq(ProjectExpert::getProjectId, id).set(ProjectExpert::getEvaluationState, 0)
+                    .set(ProjectExpert::getUpdateBy, SecurityUtils.getUsername())
+                    .set(ProjectExpert::getUpdateTime, new Date());
+                    projectExpertMapper.update(null, updateWrapper2);
+        }
+
+
+    }
+
     private List<ProjectExpertDetail> dealData(List<ProjectExpertScoreSaveReq.Score> data, Long projectExpertId) {
         List<ProjectExpertDetail> dealData = new ArrayList<>();
         data.forEach(dto -> {

--
Gitblit v1.9.2