fix: scc流程分发给多个人其中一个人丢数据

This commit is contained in:
2024-07-17 16:31:42 +08:00
parent d198635f37
commit b78e0db544
@@ -320,8 +320,8 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
detail.setAssessor(curUserId);
detail.setAuthDept(curUserDepartIds);
});
sccDetailService.updateBatchById(detailInfoList);
}
sccDetailService.updateBatchById(detailInfoList);
runtimeService.setVariable(processInstanceId, DISTRIBUTE, distributeFlag);
runtimeService.setVariable(processInstanceId, UNALLOCATED_QUANTITY, unallocatedQuantity);
break;
@@ -436,8 +436,6 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
String taskDefinitionKey = delegateTask.getTaskDefinitionKey();
String processInstanceId = delegateTask.getProcessInstanceId();
Map<String, Object> userInfoMap = new HashMap<>();
ProcessInfoVO<ProcessDemoVO> processInfoVO = new ProcessInfoVO<>();
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
String mainInstanceId = (String) delegateTask.getVariable(ActivitiCommon.MAIN_INSTANCE_ID);
//保存父子关联信息
Map<String, Object> variables = new HashMap<>();
@@ -455,6 +453,8 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
case AUTO_TASK_3:
List<String> designerList = (List<String>) delegateTask.getVariable(DESIGNER_LIST);
for (String designer : designerList) {
ProcessInfoVO<ProcessDemoVO> processInfoVO = new ProcessInfoVO<>();
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
userInfoMap.put(DESIGNER, designer);
userInfoMap.put(MAIN_CHECK_USER, mainCheckUser);
// 流程定义id
@@ -462,7 +462,6 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
basicProcessInfoDTO.setProcessDefinitionId(definitionId);
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.STANDARD_COMPLIANCE_CHECK.getValue()); // 流程类型
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
processInfoVO.setProcessVariables(variables);
processInfoVO.setUserInfoMap(userInfoMap);
String childPrcId = processHandleService.startChildrenProcess(processInfoVO);
@@ -470,20 +469,21 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
wrapper.eq(ProcessStandardComplianceCheckDetail::getCheckId, checkId);
wrapper.eq(ProcessStandardComplianceCheckDetail::getDesignEngineer, designer);
wrapper.eq(ProcessStandardComplianceCheckDetail::getBatchId, batchId);
wrapper.set(ProcessStandardComplianceCheckDetail::getDesignEngineer, designer);
wrapper.set(ProcessStandardComplianceCheckDetail::getProcessInstanceId, childPrcId);
sccDetailService.update(wrapper);
wrapper.clear();
}
break;
//设计工程师驳回后自动任务
case AUTO_TASK_2:
ProcessInfoVO<ProcessDemoVO> processInfoVO = new ProcessInfoVO<>();
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
userInfoMap.put(MAIN_CHECK_USER, mainCheckUser);
// 流程定义id
String definitionId = processHandleService.getDefinitionIdByKey(ProcessDefinitionKey.STANDARD_COMPLIANCE_CHECK_REDISTRIBUTE);
basicProcessInfoDTO.setProcessDefinitionId(definitionId);
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.STANDARD_COMPLIANCE_CHECK.getValue()); // 流程类型
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
processInfoVO.setProcessVariables(variables);
processInfoVO.setUserInfoMap(userInfoMap);
String childPrcId = processHandleService.startChildrenProcess(processInfoVO);
@@ -494,8 +494,8 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
wrapper.set(ProcessStandardComplianceCheckDetail::getDesignEngineer, null);
wrapper.set(ProcessStandardComplianceCheckDetail::getProcessInstanceId, childPrcId);
sccDetailService.update(wrapper);
wrapper.clear();
break;
default:
}
}