From 05600d089901d44e8d5036046025b6a90ceb896a Mon Sep 17 00:00:00 2001
From: heheng <heheng@123456>
Date: 星期二, 03 十二月 2024 16:57:20 +0800
Subject: [PATCH] 修改及增加功能

---
 expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java |   64 ++++++++++++++++++++++++++-----
 1 files changed, 53 insertions(+), 11 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 fb1907f..e5f0a8b 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,16 +8,10 @@
 import com.gkhy.common.utils.DateUtils;
 import com.gkhy.common.utils.SecurityUtils;
 import com.gkhy.common.utils.StringUtils;
-import com.gkhy.system.domain.ProjectExpert;
-import com.gkhy.system.domain.ProjectExpertDetail;
-import com.gkhy.system.domain.ProjectFile;
-import com.gkhy.system.domain.ProjectManagement;
+import com.gkhy.system.domain.*;
 import com.gkhy.system.domain.vo.request.*;
 import com.gkhy.system.domain.vo.response.*;
-import com.gkhy.system.mapper.ProjectExpertDetailMapper;
-import com.gkhy.system.mapper.ProjectExpertMapper;
-import com.gkhy.system.mapper.ProjectFileMapper;
-import com.gkhy.system.mapper.ProjectManagementMapper;
+import com.gkhy.system.mapper.*;
 import com.gkhy.system.service.IProjectFileService;
 import com.gkhy.system.service.IProjectManagementService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -49,6 +43,8 @@
 
     @Autowired
     private IProjectFileService projectFileService;
+    @Autowired
+    private SysExpertInfoMapper sysExpertInfoMapper;
 
     /**
      * 查询项目管理
@@ -94,12 +90,14 @@
 
             projectManagementSave.setUpdateBy(SecurityUtils.getUsername());
             projectManagementSave.setUpdateTime(DateUtils.getNowDate());
-            projectManagementMapper.updateProjectManagement(projectManagementSave);
+           // projectManagementMapper.updateProjectManagement(projectManagementSave);
+            updateById(projectManagementSave);
         }else {
             projectManagementSave.setStep(1L);
             projectManagementSave.setCreateBy(SecurityUtils.getUsername());
             projectManagementSave.setCreateTime(DateUtils.getNowDate());
-            projectManagementMapper.insertProjectManagement(projectManagementSave);
+            save(projectManagementSave);
+          //  projectManagementMapper.insertProjectManagement(projectManagementSave);
         }
 
 
@@ -376,9 +374,10 @@
 
         //更新项目专家表
         ProjectExpert projectExpert = new ProjectExpert();
+        BeanUtil.copyProperties(req, projectExpert);
         projectExpert.setId(req.getProjectExpertId());
         projectExpert.setScore(req.getScore());
-        projectExpert.setevaluationState(1L);
+        projectExpert.setEvaluationState(1L);
         int i = projectExpertMapper.updateProjectExpert(projectExpert);
         if (i < 1){
             throw new ServiceException("保存失败!");
@@ -469,6 +468,49 @@
         return projectNumResp;
     }
 
+    @Override
+    public ProjectDetailResp selectProjectExpertDetail(Long projectExpertId) {
+        ProjectDetailResp projectDetailResp = new ProjectDetailResp();
+        ProjectExpert projectExpert = projectExpertMapper.selectProjectExpertById(projectExpertId);
+        BeanUtil.copyProperties(projectExpert, projectDetailResp);
+        if (projectDetailResp != null){
+            ProjectExpertDetail projectExpertDetail = new ProjectExpertDetail();
+            projectExpertDetail.setProjectExpertId(projectExpertId);
+            List<ProjectExpertDetail> projectExpertDetails = projectExpertDetailMapper.selectProjectExpertDetailList(projectExpertDetail);
+            if (StringUtils.isNotEmpty(projectExpertDetails)){
+                projectDetailResp.setExpertDetails(projectExpertDetails);
+            }
+            Long projectId = projectDetailResp.getProjectId();
+            ProjectManagement projectManagement = projectManagementMapper.selectProjectManagementById(projectId);
+            projectDetailResp.setDeptId(projectManagement.getDeptId());
+            projectDetailResp.setDeptName(projectDetailResp.getDeptName());
+            projectDetailResp.setProjectName(projectManagement.getProjectName());
+            SysExpertInfo sysExpertInfo = sysExpertInfoMapper.selectById(projectDetailResp.getExpertId());
+            if (sysExpertInfo != null){
+                projectDetailResp.setTitle(sysExpertInfo.getTitle());
+                projectDetailResp.setJob(sysExpertInfo.getJob());
+            }
+        }
+        return projectDetailResp;
+    }
+
+    @Override
+    public List<ProjectExpertExportInfoRes> projectExpertExportList(Long projectId) {
+        ProjectManagement projectManagement = checkData(projectId);
+        if (!SecurityUtils.isAdmin(SecurityUtils.getUserId()) && projectManagement.getDeptId().intValue() != SecurityUtils.getDeptId().intValue()){
+            throw new ServiceException("非本部门数据,无权操作!");
+        }
+        if (projectManagement.getState() != 4){
+            throw new ServiceException("项目未完成,无权操作!");
+        }
+        if (projectManagement.getEvaluationState() == 0){
+            throw new ServiceException("有专家未完成评定与报销,请完善后再试");
+        }
+
+        return projectExpertMapper.projectExpertExportList(projectId);
+
+    }
+
     private List<ProjectExpertDetail> dealData(List<ProjectExpertScoreSaveReq.Score> data,Long projectExpertId){
         List<ProjectExpertDetail> dealData = new ArrayList<>();
         data.forEach(dto -> {

--
Gitblit v1.9.2