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