update 项目合规评估流程 模块负责人修改可以驳回到设计工程师

This commit is contained in:
lijiarao
2023-12-19 14:26:55 +08:00
parent 32eaa457c2
commit 251ad2d99b
2 changed files with 47 additions and 27 deletions
@@ -27,6 +27,8 @@ public class ProcessProjectAssessCommon {
public static final String GBMZGJLDSP = "gbmzgjldsp";
//模块负责人修改
public static final String MKFZRXG = "mkfzrxg";
//设计工程师评估2
public static final String SJGCSPG2 = "sjgcspg2";
//法规工程师归档
public static final String FGGCSGD = "fggcsgd";
@@ -176,6 +176,7 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
break;
//设计工程师评估
case ProcessProjectAssessCommon.SJGCSPG:
case ProcessProjectAssessCommon.SJGCSPG2:
processProjectAssessTermList = processProjectAssessTermService.getByDesignEngineer(assessmentId, originUserId, executionParentId);
wrapper.eq(ProcessProjectAssessTermUser::getDesignEngineer, originUserId);
wrapper.eq(ProcessProjectAssessTermUser::getParentExecutionId, executionParentId);
@@ -371,6 +372,10 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
case ProcessProjectAssessCommon.GBMZGJLDSP:
gbmzgjldspApprove(processInfoVO, processDTO, pass);
break;
//模块负责人修改
case ProcessProjectAssessCommon.MKFZRXG:
mkfzrxgApprove(processInfoVO, processDTO, pass);
break;
default:
}
@@ -429,6 +434,44 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
taskService.complete(taskId, variables);
}
private void mkfzrxgApprove(ProcessInfoVO<ProcessProjectAssessVO> processInfoVO, ProcessDTO processDTO, boolean pass) {
String assessmentId = processInfoVO.getBusinessId();
ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord();
String originUserId = processApprovalRecord.getOriginUserId();
Task task = processDTO.getTask();
String executionId = task.getExecutionId();
String formKey = task.getFormKey();
ProcessProjectAssessVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
List<ProcessProjectAssessTerm> processProjectAssessTermList = businessInfoDTO.getProcessProjectAssessTermList();
List<ProcessProjectAssessTermUser> allTermUserList = new ArrayList<>();
for (ProcessProjectAssessTerm processProjectAssessTerm : processProjectAssessTermList) {
ProcessProjectAssessTermUser termUser = new ProcessProjectAssessTermUser();
termUser.setId(processProjectAssessTerm.getTermUserId());
termUser.setParentExecutionId(executionId);
termUser.setEvaluationFeedback(processProjectAssessTerm.getEvaluationFeedback());
termUser.setDescription(processProjectAssessTerm.getDescription());
termUser.setFileId(processProjectAssessTerm.getFileId());
termUser.setExpectedTime(processProjectAssessTerm.getExpectedTime());
allTermUserList.add(termUser);
}
processProjectAssessTermUserService.updateBatchById(allTermUserList);
LambdaQueryWrapper<ProcessProjectAssessTermUser> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessProjectAssessTermUser::getAssessmentId, assessmentId);
wrapper.eq(ProcessProjectAssessTermUser::getParentExecutionId, formKey);
List<ProcessProjectAssessTermUser> projectAssessTermUsers = processProjectAssessTermUserService.list(wrapper);
List<String> designEngineerList = projectAssessTermUsers.stream().map(ProcessProjectAssessTermUser::getDesignEngineer).distinct().collect(Collectors.toList());
tempCache.put(ProcessProjectAssessCommon.EXECUTION_ID, executionId);
processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectAssessCommon.SJGCSPG2, designEngineerList);
// 完成任务
String taskId = processDTO.getTaskId();
Map<String, Object> variables = new HashMap<>();
variables.put(ProcessProjectAssessCommon.PASS, pass);
variables.put(ProcessProjectAssessCommon.DESIGN_ENGINEER_LIST, designEngineerList);
variables.put(ProcessProjectAssessCommon.DESIGN_ENGINEER_LIST_SIZE, designEngineerList.size());
taskService.complete(taskId, variables);
}
public void submit(ProcessInfoVO<ProcessProjectAssessVO> processInfoVO) {
BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO();
@@ -451,11 +494,12 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
break;
//设计工程师评估
case ProcessProjectAssessCommon.SJGCSPG:
case ProcessProjectAssessCommon.SJGCSPG2:
sjgcspgSubmit(processInfoVO, processDTO);
break;
//模块负责人修改
case ProcessProjectAssessCommon.MKFZRXG:
mkfzrxgSubmit(processInfoVO, processDTO);
mkfzrxgApprove(processInfoVO, processDTO, true);
break;
//法规工程师归档
case ProcessProjectAssessCommon.FGGCSGD:
@@ -647,32 +691,6 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
taskService.complete(taskId);
}
//模块负责人修改
private void mkfzrxgSubmit(ProcessInfoVO<ProcessProjectAssessVO> processInfoVO, ProcessDTO processDTO) {
String businessId = processInfoVO.getBusinessId();
ProcessApprovalRecord processApprovalRecord = processDTO.getProcessApprovalRecord();
String originUserId = processApprovalRecord.getOriginUserId();
Task task = processDTO.getTask();
String executionId = task.getExecutionId();
ProcessProjectAssessVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
List<ProcessProjectAssessTerm> processProjectAssessTermList = businessInfoDTO.getProcessProjectAssessTermList();
List<ProcessProjectAssessTermUser> allTermUserList = new ArrayList<>();
for (ProcessProjectAssessTerm processProjectAssessTerm : processProjectAssessTermList) {
ProcessProjectAssessTermUser termUser = new ProcessProjectAssessTermUser();
termUser.setId(processProjectAssessTerm.getTermUserId());
termUser.setEvaluationFeedback(processProjectAssessTerm.getEvaluationFeedback());
termUser.setDescription(processProjectAssessTerm.getDescription());
termUser.setFileId(processProjectAssessTerm.getFileId());
termUser.setExpectedTime(processProjectAssessTerm.getExpectedTime());
allTermUserList.add(termUser);
}
processProjectAssessTermUserService.updateBatchById(allTermUserList);
// 完成任务
String taskId = processDTO.getTaskId();
taskService.complete(taskId);
}
public void saveToDraft(ProcessInfoVO<ProcessProjectAssessVO> processInfoVO) {
ProcessProjectAssessVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();