update 项目合规评估流程 自测

This commit is contained in:
lijiarao
2023-12-18 17:33:24 +08:00
parent 240ad5bb57
commit f8191ee1ac
2 changed files with 64 additions and 29 deletions
@@ -10,6 +10,7 @@ public class ProcessProjectAssessCommon {
public static final String MODULE_OWNER_LIST = "moduleOwnerList"; public static final String MODULE_OWNER_LIST = "moduleOwnerList";
public static final String DESIGN_ENGINEER_LIST = "designEngineerList"; public static final String DESIGN_ENGINEER_LIST = "designEngineerList";
public static final String PASS = "pass"; public static final String PASS = "pass";
public static final String EXECUTION_ID = "executionId";
//法规工程师发起 //法规工程师发起
public static final String FGGCSFQ = "fggcsfq"; public static final String FGGCSFQ = "fggcsfq";
//各部门主管级领导下发 //各部门主管级领导下发
@@ -3,9 +3,12 @@ package com.jero.modules.activiti.process.projectassess.service;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import cn.hutool.cache.CacheUtil;
import cn.hutool.core.collection.CollStreamUtil; import cn.hutool.core.collection.CollStreamUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.stream.StreamUtil; 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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.vo.ResultCommon; import com.jero.common.api.vo.ResultCommon;
import com.jero.common.constant.CommonConstant; import com.jero.common.constant.CommonConstant;
@@ -97,7 +100,7 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
//海外标准 //海外标准
@Autowired @Autowired
private ILawsOverseasStandardService lawsOverseasStandardService; private ILawsOverseasStandardService lawsOverseasStandardService;
HashMap<String, String> tempCache = new HashMap<>();
public void add(ProcessProjectAssess processProjectAssess) { public void add(ProcessProjectAssess processProjectAssess) {
this.save(processProjectAssess); this.save(processProjectAssess);
} }
@@ -376,9 +379,22 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
} }
private void mkfzrspApprove(ProcessInfoVO<ProcessProjectAssessVO> processInfoVO, ProcessDTO processDTO, boolean pass) { private void mkfzrspApprove(ProcessInfoVO<ProcessProjectAssessVO> processInfoVO, ProcessDTO processDTO, boolean pass) {
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.setParentExecutionId(executionId);
allTermUserList.add(termUser);
}
processProjectAssessTermUserService.updateBatchById(allTermUserList);
tempCache.put(ProcessProjectAssessCommon.EXECUTION_ID, executionId);
// 完成任务 // 完成任务
String taskId = processDTO.getTaskId(); String taskId = processDTO.getTaskId();
Task task = processDTO.getTask();
runtimeService.setVariable(task.getProcessInstanceId(), "moduleOwner", CurrentUserUtil.getId()); runtimeService.setVariable(task.getProcessInstanceId(), "moduleOwner", CurrentUserUtil.getId());
Map<String, Object> variables = new HashMap<>(); Map<String, Object> variables = new HashMap<>();
variables.put(ProcessProjectAssessCommon.PASS, pass); variables.put(ProcessProjectAssessCommon.PASS, pass);
@@ -386,6 +402,20 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
} }
private void gbmzgjldspApprove(ProcessInfoVO<ProcessProjectAssessVO> processInfoVO, ProcessDTO processDTO, boolean pass) { private void gbmzgjldspApprove(ProcessInfoVO<ProcessProjectAssessVO> processInfoVO, ProcessDTO processDTO, boolean pass) {
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.setParentExecutionId(executionId);
allTermUserList.add(termUser);
}
processProjectAssessTermUserService.updateBatchById(allTermUserList);
tempCache.put(ProcessProjectAssessCommon.EXECUTION_ID, executionId);
// 完成任务 // 完成任务
String taskId = processDTO.getTaskId(); String taskId = processDTO.getTaskId();
Map<String, Object> variables = new HashMap<>(); Map<String, Object> variables = new HashMap<>();
@@ -482,6 +512,7 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
} }
moduleOwnerIds = moduleOwnerIds.stream().distinct().collect(Collectors.toList()); moduleOwnerIds = moduleOwnerIds.stream().distinct().collect(Collectors.toList());
processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectAssessCommon.GBMZGJLDXF, moduleOwnerIds); processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectAssessCommon.GBMZGJLDXF, moduleOwnerIds);
tempCache.put(ProcessProjectAssessCommon.EXECUTION_ID,executionId);
// 完成任务 // 完成任务
String taskId = processDTO.getTaskId(); String taskId = processDTO.getTaskId();
Map<String, Object> variables = new HashMap<>(); Map<String, Object> variables = new HashMap<>();
@@ -556,6 +587,7 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
} }
designEngineerIds = designEngineerIds.stream().distinct().collect(Collectors.toList()); designEngineerIds = designEngineerIds.stream().distinct().collect(Collectors.toList());
processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectAssessCommon.SJGCSPG, designEngineerIds); processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectAssessCommon.SJGCSPG, designEngineerIds);
tempCache.put(ProcessProjectAssessCommon.EXECUTION_ID,executionId);
// 完成任务 // 完成任务
String taskId = processDTO.getTaskId(); String taskId = processDTO.getTaskId();
Map<String, Object> variables = new HashMap<>(); Map<String, Object> variables = new HashMap<>();
@@ -581,12 +613,14 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
termUser.setDescription(processProjectAssessTerm.getDescription()); termUser.setDescription(processProjectAssessTerm.getDescription());
termUser.setFileId(processProjectAssessTerm.getFileId()); termUser.setFileId(processProjectAssessTerm.getFileId());
termUser.setExpectedTime(processProjectAssessTerm.getExpectedTime()); termUser.setExpectedTime(processProjectAssessTerm.getExpectedTime());
termUser.setParentExecutionId(executionId);
allTermUserList.add(termUser); allTermUserList.add(termUser);
} }
processProjectAssessTermUserService.updateBatchById(allTermUserList); processProjectAssessTermUserService.updateBatchById(allTermUserList);
ProcessProjectAssessTermUser byId = processProjectAssessTermUserService.getById(allTermUserList.get(0).getId()); ProcessProjectAssessTermUser byId = processProjectAssessTermUserService.getById(allTermUserList.get(0).getId());
runtimeService.setVariable(task.getProcessInstanceId(), "moduleOwner", byId.getModuleOwner()); runtimeService.setVariable(task.getProcessInstanceId(), "moduleOwner", byId.getModuleOwner());
tempCache.put(ProcessProjectAssessCommon.EXECUTION_ID,executionId);
// 完成任务 // 完成任务
String taskId = processDTO.getTaskId(); String taskId = processDTO.getTaskId();
@@ -642,32 +676,32 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
String processInstanceId = delegateTask.getProcessInstanceId(); String processInstanceId = delegateTask.getProcessInstanceId();
String nodeId = null; String nodeId = null;
String userId = null; String userId = null;
switch (taskDefinitionKey) { //switch (taskDefinitionKey) {
//模块负责人分发 // //模块负责人分发
case ProcessProjectAssessCommon.MKFZRFF: // case ProcessProjectAssessCommon.MKFZRFF:
nodeId = ProcessProjectAssessCommon.GBMZGJLDXF; // nodeId = ProcessProjectAssessCommon.GBMZGJLDXF;
break; // break;
//设计工程师评估 // //设计工程师评估
case ProcessProjectAssessCommon.SJGCSPG: // case ProcessProjectAssessCommon.SJGCSPG:
nodeId = ProcessProjectAssessCommon.MKFZRFF; // nodeId = ProcessProjectAssessCommon.MKFZRFF;
userId = (String) runtimeService.getVariable(processInstanceId, "moduleOwner"); // userId = (String) runtimeService.getVariable(processInstanceId, "moduleOwner");
break; // break;
//模块负责人审批 // //模块负责人审批
case ProcessProjectAssessCommon.MKFZRSP: // case ProcessProjectAssessCommon.MKFZRSP:
nodeId = ProcessProjectAssessCommon.MKFZRFF; // nodeId = ProcessProjectAssessCommon.MKFZRFF;
userId = (String) runtimeService.getVariable(processInstanceId, "moduleOwner"); // userId = (String) runtimeService.getVariable(processInstanceId, "moduleOwner");
break; // break;
//模块负责人修改 // //模块负责人修改
case ProcessProjectAssessCommon.MKFZRXG: // case ProcessProjectAssessCommon.MKFZRXG:
nodeId = ProcessProjectAssessCommon.GBMZGJLDXF; // nodeId = ProcessProjectAssessCommon.GBMZGJLDXF;
break; // break;
default: // default:
} //}
//查询我最新提交的task ////查询我最新提交的task
ProcessApprovalRecord myLastComplete = processApprovalRecordService.getMyLastComplete(processInstanceId, nodeId, userId); //ProcessApprovalRecord myLastComplete = processApprovalRecordService.getMyLastComplete(processInstanceId, nodeId, userId);
String lastCompleteTaskId = myLastComplete.getTaskId(); //String lastCompleteTaskId = myLastComplete.getTaskId();
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().taskId(lastCompleteTaskId).singleResult(); //HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().taskId(lastCompleteTaskId).singleResult();
String executionId = historicTaskInstance.getExecutionId(); String parentExecutionId = tempCache.get(ProcessProjectAssessCommon.EXECUTION_ID);
delegateTask.setFormKey(executionId); delegateTask.setFormKey(parentExecutionId);
} }
} }