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 DESIGN_ENGINEER_LIST = "designEngineerList";
public static final String PASS = "pass";
public static final String EXECUTION_ID = "executionId";
//法规工程师发起
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.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.vo.ResultCommon;
import com.jero.common.constant.CommonConstant;
@@ -97,7 +100,7 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
//海外标准
@Autowired
private ILawsOverseasStandardService lawsOverseasStandardService;
HashMap<String, String> tempCache = new HashMap<>();
public void add(ProcessProjectAssess processProjectAssess) {
this.save(processProjectAssess);
}
@@ -376,9 +379,22 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
}
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();
Task task = processDTO.getTask();
runtimeService.setVariable(task.getProcessInstanceId(), "moduleOwner", CurrentUserUtil.getId());
Map<String, Object> variables = new HashMap<>();
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) {
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();
Map<String, Object> variables = new HashMap<>();
@@ -482,6 +512,7 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
}
moduleOwnerIds = moduleOwnerIds.stream().distinct().collect(Collectors.toList());
processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectAssessCommon.GBMZGJLDXF, moduleOwnerIds);
tempCache.put(ProcessProjectAssessCommon.EXECUTION_ID,executionId);
// 完成任务
String taskId = processDTO.getTaskId();
Map<String, Object> variables = new HashMap<>();
@@ -556,6 +587,7 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
}
designEngineerIds = designEngineerIds.stream().distinct().collect(Collectors.toList());
processHandleService.saveNodeUserLink(processDTO.getProcessInstanceId(), ProcessProjectAssessCommon.SJGCSPG, designEngineerIds);
tempCache.put(ProcessProjectAssessCommon.EXECUTION_ID,executionId);
// 完成任务
String taskId = processDTO.getTaskId();
Map<String, Object> variables = new HashMap<>();
@@ -581,12 +613,14 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
termUser.setDescription(processProjectAssessTerm.getDescription());
termUser.setFileId(processProjectAssessTerm.getFileId());
termUser.setExpectedTime(processProjectAssessTerm.getExpectedTime());
termUser.setParentExecutionId(executionId);
allTermUserList.add(termUser);
}
processProjectAssessTermUserService.updateBatchById(allTermUserList);
ProcessProjectAssessTermUser byId = processProjectAssessTermUserService.getById(allTermUserList.get(0).getId());
runtimeService.setVariable(task.getProcessInstanceId(), "moduleOwner", byId.getModuleOwner());
tempCache.put(ProcessProjectAssessCommon.EXECUTION_ID,executionId);
// 完成任务
String taskId = processDTO.getTaskId();
@@ -642,32 +676,32 @@ public class ProcessProjectAssessService extends ServiceImpl<ProcessProjectAsses
String processInstanceId = delegateTask.getProcessInstanceId();
String nodeId = null;
String userId = null;
switch (taskDefinitionKey) {
//模块负责人分发
case ProcessProjectAssessCommon.MKFZRFF:
nodeId = ProcessProjectAssessCommon.GBMZGJLDXF;
break;
//设计工程师评估
case ProcessProjectAssessCommon.SJGCSPG:
nodeId = ProcessProjectAssessCommon.MKFZRFF;
userId = (String) runtimeService.getVariable(processInstanceId, "moduleOwner");
break;
//模块负责人审批
case ProcessProjectAssessCommon.MKFZRSP:
nodeId = ProcessProjectAssessCommon.MKFZRFF;
userId = (String) runtimeService.getVariable(processInstanceId, "moduleOwner");
break;
//模块负责人修改
case ProcessProjectAssessCommon.MKFZRXG:
nodeId = ProcessProjectAssessCommon.GBMZGJLDXF;
break;
default:
}
//查询我最新提交的task
ProcessApprovalRecord myLastComplete = processApprovalRecordService.getMyLastComplete(processInstanceId, nodeId, userId);
String lastCompleteTaskId = myLastComplete.getTaskId();
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().taskId(lastCompleteTaskId).singleResult();
String executionId = historicTaskInstance.getExecutionId();
delegateTask.setFormKey(executionId);
//switch (taskDefinitionKey) {
// //模块负责人分发
// case ProcessProjectAssessCommon.MKFZRFF:
// nodeId = ProcessProjectAssessCommon.GBMZGJLDXF;
// break;
// //设计工程师评估
// case ProcessProjectAssessCommon.SJGCSPG:
// nodeId = ProcessProjectAssessCommon.MKFZRFF;
// userId = (String) runtimeService.getVariable(processInstanceId, "moduleOwner");
// break;
// //模块负责人审批
// case ProcessProjectAssessCommon.MKFZRSP:
// nodeId = ProcessProjectAssessCommon.MKFZRFF;
// userId = (String) runtimeService.getVariable(processInstanceId, "moduleOwner");
// break;
// //模块负责人修改
// case ProcessProjectAssessCommon.MKFZRXG:
// nodeId = ProcessProjectAssessCommon.GBMZGJLDXF;
// break;
// default:
//}
////查询我最新提交的task
//ProcessApprovalRecord myLastComplete = processApprovalRecordService.getMyLastComplete(processInstanceId, nodeId, userId);
//String lastCompleteTaskId = myLastComplete.getTaskId();
//HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().taskId(lastCompleteTaskId).singleResult();
String parentExecutionId = tempCache.get(ProcessProjectAssessCommon.EXECUTION_ID);
delegateTask.setFormKey(parentExecutionId);
}
}