heheng
21 hours ago 421e1dc40f619e8bb44c0662325e0b1729ca79e8
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 -> {