add 项目库 评估结果历史

This commit is contained in:
lijiarao
2023-12-22 18:04:24 +08:00
parent 93e1490a88
commit b14428dceb
11 changed files with 227 additions and 38 deletions
@@ -6,6 +6,7 @@ import java.util.List;
import cn.hutool.core.collection.CollStreamUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.jero.common.api.dto.message.SendMessageDTO;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.api.vo.SendMessageAPI;
@@ -38,9 +39,12 @@ import com.jero.modules.laws.standard.entity.LawsDomesticStandard;
import com.jero.modules.laws.standard.entity.LawsOverseasStandard;
import com.jero.modules.laws.standard.service.ILawsDomesticStandardService;
import com.jero.modules.laws.standard.service.ILawsOverseasStandardService;
import com.jero.modules.projectLibrary.common.AssessCommon;
import com.jero.modules.projectLibrary.entity.LawsAssess;
import com.jero.modules.projectLibrary.entity.LawsAssessResults;
import com.jero.modules.projectLibrary.entity.LawsProjectLibrary;
import com.jero.modules.projectLibrary.service.ILawsAssessResultsService;
import com.jero.modules.projectLibrary.service.ILawsAssessService;
import com.jero.modules.projectLibrary.service.ILawsProjectLibraryService;
import org.activiti.engine.HistoryService;
import org.activiti.engine.RuntimeService;
@@ -100,6 +104,10 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
@Resource
private ILawsAssessResultsService lawsAssessResultsService;
@Resource
private ILawsAssessService lawsAssessService;
HashMap<String, String> tempCache = new HashMap<>();
public ProcessInfoVO<ProcessProjectAssessVO> queryProcessInfoVO(String draftId, String processInstanceId, String taskId) {
@@ -321,11 +329,20 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
this.save(processProjectAssess);
String assessmentId = processProjectAssess.getId();
processInfoVO.setBusinessId(assessmentId);
String projectId = processProjectAssess.getProjectId();
//保存关联标准
List<ProcessProjectAssessLink> processProjectAssessLinkList = businessInfoDTO.getProcessProjectAssessLinkList();
for (ProcessProjectAssessLink processProjectAssessLink : processProjectAssessLinkList) {
processProjectAssessLink.setId(null);
processProjectAssessLink.setAssessmentId(assessmentId);
String standardId = processProjectAssessLink.getStandardId();
//更新项目库法规清单状态
LambdaUpdateWrapper<LawsAssess> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(LawsAssess::getProjectId,projectId);
wrapper.eq(LawsAssess::getStandardId,standardId);
wrapper.set(LawsAssess::getProcessStatus,AssessCommon.UNDER_EVALUATION);
lawsAssessService.update(wrapper);
}
processProjectAssessLinkService.saveBatch(processProjectAssessLinkList);
//保存关联的条款、标准
@@ -552,7 +569,7 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
continue;
}
LawsAssessResults lawsAssessResults = new LawsAssessResults();
lawsAssessResults.setProjectId(businessId);
lawsAssessResults.setProjectId(projectId);
//lawsAssessResults.setProcessStatus();
lawsAssessResults.setAssessorId(assessTerm.getAssessorId());
lawsAssessResults.setAssessorName(assessTerm.getAssessorName());
@@ -571,6 +588,7 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
lawsAssessResults.setCountermeasures(assessTerm.getCountermeasures());
//不涉及原因,根据是否是设计工程师评估反馈区分
if (StringUtils.isBlank(evaluationFeedback)){
lawsAssessResults.setAssessResults(AssessCommon.NOT_COMPLIANT);
lawsAssessResults.setReason(assessTerm.getNotInvolved());
}else {
lawsAssessResults.setReason(assessTerm.getDescription());
@@ -579,6 +597,34 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
}
lawsAssessResultsService.saveBatch(lawsAssessResultsList);
//更新法规清单的评估结果和流程状态
Map<String, List<LawsAssessResults>> stringListMap = CollStreamUtil.groupByKey(lawsAssessResultsList, LawsAssessResults::getStandardId);
for (Map.Entry<String, List<LawsAssessResults>> next : stringListMap.entrySet()) {
String assessResults = AssessCommon.NOT_INVOLVED;
List<LawsAssessResults> assessResultsList = next.getValue();
for (LawsAssessResults lawsAssessResults : assessResultsList) {
String assessResults1 = lawsAssessResults.getAssessResults();
if (AssessCommon.NOT_COMPLIANT.equals(assessResults1)) {
assessResults = AssessCommon.NOT_COMPLIANT;
break;
}
if (AssessCommon.TO_BE_VERIFIED.equals(assessResults)
|| AssessCommon.TO_BE_VERIFIED.equals(assessResults1)) {
assessResults = AssessCommon.TO_BE_VERIFIED;
continue;
}
if (AssessCommon.ACCORD_WITH.equals(assessResults1)) {
assessResults = AssessCommon.ACCORD_WITH;
}
}
LambdaUpdateWrapper<LawsAssess> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(LawsAssess::getProjectId, projectId);
wrapper.eq(LawsAssess::getStandardId, next.getKey());
wrapper.set(LawsAssess::getAssessResults, assessResults);
wrapper.set(LawsAssess::getProcessStatus, AssessCommon.EVALUATED);
lawsAssessService.update(wrapper);
}
//发送消息
String carbonCopyPersonnels = businessInfoDTO.getCarbonCopyPersonnels();
SendMessageDTO sendMessageDTO = new SendMessageDTO();