update 项目合规评估流程 新增字段

This commit is contained in:
lijiarao
2023-12-22 13:37:09 +08:00
parent 2cd9528e7c
commit a5de025737
6 changed files with 156 additions and 25 deletions
@@ -128,10 +128,12 @@ public class ProcessProjectAssessController extends JeroController<ProcessProjec
String sarFileSplitInfoId = lawsAssess.getSarFileSplitInfoId();
if (StringUtils.isNotBlank(sarFileSplitInfoId)) {
List<ProcessProjectAssessTerm> processProjectAssessTermList = documentSplitService.processProjectAssessGetList(sarFileSplitInfoId);
processProjectAssessTermList.forEach(item -> item.setStandardId(lawsAssess.getStandardId()));
allList.addAll(processProjectAssessTermList);
continue;
}
ProcessProjectAssessTerm processProjectAssessTerm = new ProcessProjectAssessTerm();
processProjectAssessTerm.setStandardId(lawsAssess.getStandardId());
processProjectAssessTerm.setTermNumber(lawsAssess.getStandardNumber());
processProjectAssessTerm.setTermName(lawsAssess.getStandardName());
processProjectAssessTerm.setCanAssignFlag(YesOrNoEnum.YES.getInteger());
@@ -12,6 +12,7 @@ import java.util.Date;
import java.util.List;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
/**
@@ -76,6 +77,10 @@ public class ProcessProjectAssessTerm {
@ApiModelProperty(value = "评估流程id")
private String assessmentId;
/**标准id*/
@ApiModelProperty(value = "标准id")
private String standardId;
/**
* 条款号
*/
@@ -226,5 +231,32 @@ public class ProcessProjectAssessTerm {
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date expectedTime;
/**评估日期*/
@TableField(exist = false)
@ApiModelProperty(value = "评估日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date assessTime;
/**风险点*/
@TableField(exist = false)
@ApiModelProperty(value = "风险点")
private String riskPoints;
/**验证方案*/
@TableField(exist = false)
@ApiModelProperty(value = "验证方案")
private String validateSolution;
/**不符合项*/
@TableField(exist = false)
@ApiModelProperty(value = "不符合项")
private String nonConformance;
/**应对措施*/
@TableField(exist = false)
@ApiModelProperty(value = "应对措施")
private String countermeasures;
}
@@ -140,6 +140,14 @@ public class ProcessProjectAssessTermUser {
@ApiModelProperty(value = "佐证材料")
private String fileId;
/**不符合项*/
@ApiModelProperty(value = "不符合项")
private String nonConformance;
/**应对措施*/
@ApiModelProperty(value = "应对措施")
private String countermeasures;
/**
* 预计整改完成日期
*/
@@ -148,6 +156,14 @@ public class ProcessProjectAssessTermUser {
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date expectedTime;
/**风险点*/
@ApiModelProperty(value = "风险点")
private String riskPoints;
/**验证方案*/
@ApiModelProperty(value = "验证方案")
private String validateSolution;
/**评估日期*/
@ApiModelProperty(value = "评估日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@@ -26,13 +26,18 @@
<result column="design_engineer" property="designEngineer"/>
<result column="module_owner" property="moduleOwner"/>
<result column="responsible_unit_leader" property="responsibleUnitLeader"/>
<result column="risk_points" property="riskPoints"/>
<result column="validate_solution" property="validateSolution"/>
<result column="non_conformance" property="nonConformance"/>
<result column="countermeasures" property="countermeasures"/>
<result column="assess_time" property="assessTime"/>
<result column="standard_id" property="standardId"/>
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
${alias}.id, ${alias}.create_by, ${alias}.create_time, ${alias}.update_by, ${alias}.update_time, ${alias}.org_code, ${alias}.del_flag, ${alias}.assessment_id,
${alias}.term_number, ${alias}.term_name, ${alias}.term_text, ${alias}.split_info_id, ${alias}.can_assign_flag
${alias}.standard_id, ${alias}.term_number, ${alias}.term_name, ${alias}.term_text, ${alias}.split_info_id, ${alias}.can_assign_flag
</sql>
<select id="getByResponsibleUnitLeader" resultMap="BaseResultMap">
@@ -49,7 +54,12 @@
ppatu.expected_time,
ppatu.design_engineer,
ppatu.module_owner,
ppatu.responsible_unit_leader
ppatu.assess_time,
ppatu.responsible_unit_leader,
ppatu.risk_points,
ppatu.validate_solution,
ppatu.non_conformance,
ppatu.countermeasures
from process_project_assess_term_user ppatu
left join process_project_assess_term ppat on ppat.id = ppatu.term_id
where ppat.assessment_id = #{assessmentId}
@@ -101,7 +111,13 @@
ppatu.expected_time,
ppatu.design_engineer,
ppatu.module_owner,
ppatu.responsible_unit_leader
ppatu.responsible_unit_leader,
ppatu.assess_time,
ppatu.responsible_unit_leader,
ppatu.risk_points,
ppatu.validate_solution,
ppatu.non_conformance,
ppatu.countermeasures
from process_project_assess_term_user ppatu
left join process_project_assess_term ppat on ppat.id = ppatu.term_id
@@ -3,12 +3,8 @@ package com.jero.modules.activiti.process.projectassess.service;
import java.util.Date;
import java.util.List;
import cn.hutool.cache.CacheUtil;
import cn.hutool.core.collection.CollStreamUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.stream.StreamUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.dto.message.SendMessageDTO;
import com.jero.common.api.vo.ResultCommon;
@@ -42,16 +38,14 @@ 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.entity.LawsAssess;
import com.jero.modules.projectLibrary.entity.LawsAssessResults;
import com.jero.modules.projectLibrary.entity.LawsProjectLibrary;
import com.jero.modules.projectLibrary.service.ILawsAssessService;
import com.jero.modules.projectLibrary.service.ILawsAssessResultsService;
import com.jero.modules.projectLibrary.service.ILawsProjectLibraryService;
import org.activiti.engine.HistoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.history.HistoricTaskInstance;
import org.activiti.engine.runtime.Execution;
import org.activiti.engine.task.Task;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -66,10 +60,6 @@ import com.jero.modules.activiti.process.projectassess.entity.ProcessProjectAsse
import com.jero.modules.activiti.process.projectassess.mapper.ProcessProjectAssessMapper;
import org.springframework.transaction.annotation.Transactional;
import static cn.hutool.poi.excel.sax.ElementName.c;
import static cn.hutool.poi.excel.sax.ElementName.v;
import static org.apache.tools.ant.taskdefs.SetPermissions.NonPosixMode.pass;
/**
* @author liJiaRao
* @date 2023-12-05 15:57
@@ -107,6 +97,9 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
private ILawsOverseasStandardService lawsOverseasStandardService;
@Resource
private SendMessageAPI sendMessageAPI;
@Resource
private ILawsAssessResultsService lawsAssessResultsService;
HashMap<String, String> tempCache = new HashMap<>();
public ProcessInfoVO<ProcessProjectAssessVO> queryProcessInfoVO(String draftId, String processInstanceId, String taskId) {
@@ -241,6 +234,11 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
term.setDescription(termUser.getDescription());
term.setFileId(termUser.getFileId());
term.setExpectedTime(termUser.getExpectedTime());
term.setRiskPoints(termUser.getRiskPoints());
term.setValidateSolution(termUser.getValidateSolution());
term.setNotInvolved(termUser.getNotInvolved());
term.setNonConformance(termUser.getNonConformance());
term.setCountermeasures(termUser.getCountermeasures());
}
String evaluationFeedback = term.getEvaluationFeedback();
term.setEvaluationFeedback_dictText(dictevaluationFeedbackMap.get(evaluationFeedback));
@@ -274,6 +272,7 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
term1.setTermNumber(titleTerm.getTermNumber());
term1.setTermText(decompositionOrderSourceMap.get(titleTerm.getTermText()));
term1.setCanAssignFlag(YesOrNoEnum.NO.getInteger());
term1.setPromoter(createUserName);
allProjectAssesTermList.add(term1);
}
allProjectAssesTermList.add(term);
@@ -540,6 +539,47 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
String projectId = projectAssess.getProjectId();
LawsProjectLibrary lawsProjectLibrary = lawsProjectLibraryService.getById(projectId);
ProcessProjectAssessVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
// 完成任务
String taskId = processDTO.getTaskId();
taskService.complete(taskId);
//同步数据到项目库的评估结果
List<LawsAssessResults> lawsAssessResultsList = new ArrayList<>();
List<ProcessProjectAssessTerm> processProjectAssessTermList = businessInfoDTO.getProcessProjectAssessTermList();
for (ProcessProjectAssessTerm assessTerm : processProjectAssessTermList) {
Integer canAssignFlag = assessTerm.getCanAssignFlag();
if (YesOrNoEnum.NO.getInteger().equals(canAssignFlag)){
continue;
}
LawsAssessResults lawsAssessResults = new LawsAssessResults();
lawsAssessResults.setProjectId(businessId);
//lawsAssessResults.setProcessStatus();
lawsAssessResults.setAssessorId(assessTerm.getAssessorId());
lawsAssessResults.setAssessorName(assessTerm.getAssessorName());
lawsAssessResults.setAssessTime(assessTerm.getAssessTime());
String evaluationFeedback = assessTerm.getEvaluationFeedback();
lawsAssessResults.setAssessResults(evaluationFeedback);
//lawsAssessResults.setTermId(assessTerm.getSplitInfoId());
lawsAssessResults.setStandardId(assessTerm.getStandardId());
lawsAssessResults.setTermNumber(assessTerm.getTermNumber());
lawsAssessResults.setFileId(assessTerm.getFileId());
lawsAssessResults.setRiskPoints(assessTerm.getRiskPoints());
lawsAssessResults.setValidateSolution(assessTerm.getValidateSolution());
lawsAssessResults.setExpectedTime(assessTerm.getExpectedTime());
lawsAssessResults.setDescription(assessTerm.getDescription());
lawsAssessResults.setNonConformance(assessTerm.getNonConformance());
lawsAssessResults.setCountermeasures(assessTerm.getCountermeasures());
//不涉及原因,根据是否是设计工程师评估反馈区分
if (StringUtils.isBlank(evaluationFeedback)){
lawsAssessResults.setReason(assessTerm.getNotInvolved());
}else {
lawsAssessResults.setReason(assessTerm.getDescription());
}
lawsAssessResultsList.add(lawsAssessResults);
}
lawsAssessResultsService.saveBatch(lawsAssessResultsList);
//发送消息
String carbonCopyPersonnels = businessInfoDTO.getCarbonCopyPersonnels();
SendMessageDTO sendMessageDTO = new SendMessageDTO();
sendMessageDTO.setTemplateCode(MessageTemplateCodeCommon.PROJECT_ASSESS_COMPLETE);
@@ -706,7 +746,11 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
termUser.setEvaluationFeedback(processProjectAssessTerm.getEvaluationFeedback());
termUser.setDescription(processProjectAssessTerm.getDescription());
termUser.setFileId(processProjectAssessTerm.getFileId());
termUser.setNonConformance(processProjectAssessTerm.getNonConformance());
termUser.setCountermeasures(processProjectAssessTerm.getCountermeasures());
termUser.setExpectedTime(processProjectAssessTerm.getExpectedTime());
termUser.setRiskPoints(processProjectAssessTerm.getRiskPoints());
termUser.setValidateSolution(processProjectAssessTerm.getValidateSolution());
termUser.setParentExecutionId(formKey);
termUser.setAssessTime(date);
allTermUserList.add(termUser);
@@ -4,6 +4,7 @@ import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jero.common.aspect.annotation.Dict;
@@ -15,6 +16,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
/**
* @Description: 标准评估结果
@@ -35,6 +38,11 @@ public class LawsAssessResults implements Serializable {
@ApiModelProperty(value = "主键")
private String id;
/**项目ID*/
@NotBlank(message = "projectId not null")
@ApiModelProperty(value = "项目ID")
private String projectId;
/**标准评估ID*/
@ApiModelProperty(value = "标准评估ID")
private String assessId;
@@ -90,6 +98,22 @@ public class LawsAssessResults implements Serializable {
@ApiModelProperty(value = "项目编号")
private String projectNo;
/**
* 依据描述
*/
@ApiModelProperty(value = "依据描述")
private String description;
/**
* 佐证材料
*/
@ApiModelProperty(value = "佐证材料")
private String fileId;
/**不符合项*/
@ApiModelProperty(value = "不符合项")
private String nonConformance;
/**应对措施*/
@ApiModelProperty(value = "应对措施")
private String countermeasures;
@@ -98,23 +122,20 @@ public class LawsAssessResults implements Serializable {
@ApiModelProperty(value = "风险点")
private String riskPoints;
/**设计工程师名字*/
/**验证方案*/
@ApiModelProperty(value = "验证方案")
private String validateSolution;
/**预估更改周期*/
@ApiModelProperty(value = "估更改周")
private String cycle;
/**预计整改完成日期*/
@ApiModelProperty(value = "计整改完成日")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date expectedTime;
/**不涉及理由*/
@ApiModelProperty(value = "不涉及理由")
private String reason;
/**不符合项*/
@ApiModelProperty(value = "不符合项")
private String nonconformance;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;