feat(标准解读流程): 子解读多人分发

This commit is contained in:
yjz
2024-07-09 19:40:20 +08:00
parent 27e44eef03
commit 4bfa5a372d
@@ -231,9 +231,8 @@ public class StandardInterpretFlowServiceImpl implements StandardInterpretFlowSe
if (StandardInterpretCommon.AUTO_TASK_1.equals(taskDefinitionKey)
|| StandardInterpretCommon.AUTO_TASK_3.equals(taskDefinitionKey)) {
// 获取子解读人
List<String> interpretingPeopleList =
(List<String>) delegateTask.getVariable(StandardInterpretCommon.INTERPRETING_PEOPLE);
String interpretingPeoples = (String) delegateTask.getVariable(StandardInterpretCommon.INTERPRETING_PEOPLE);
List<String> interpretingPeopleList = Arrays.asList(interpretingPeoples.split(","));
for (String interpretingPeople : interpretingPeopleList) {
// 循环发起 标准解读流程(主解读重新分发子流程)
variables.put(StandardInterpretCommon.INTERPRETING_PEOPLE, interpretingPeople);
@@ -1028,7 +1027,8 @@ public class StandardInterpretFlowServiceImpl implements StandardInterpretFlowSe
// 设置未分配数量
map.put(StandardInterpretCommon.UNALLOCATED_QUANTITY, unallocatedQuantity);
// 设置子解读人
map.put(StandardInterpretCommon.INTERPRETING_PEOPLE, new ArrayList<>(interpretPersonIdList));
map.put(StandardInterpretCommon.INTERPRETING_PEOPLE,
String.join(",", interpretPersonIdList));
// 设置主流程实例id
map.put(ActivitiCommon.MAIN_INSTANCE_ID, standardInterpretFlowDTO.getProcessAll().getProcessInstanceId());
processStandardInterpretClauseSublistService.saveBatch(processStandardInterpretClauseSublists);
@@ -1129,21 +1129,23 @@ public class StandardInterpretFlowServiceImpl implements StandardInterpretFlowSe
// 更新流程审批信息
LambdaUpdateWrapper<ProcessApprovalRecord> processApprovalRecordUpdate = new LambdaUpdateWrapper<>();
if (!Objects.isNull(task)){
processApprovalRecordUpdate.eq(ProcessApprovalRecord::getTaskId, task.getId());
}
processApprovalRecordUpdate.set(ProcessApprovalRecord::getUserId, loginUser.getId());
processApprovalRecordUpdate.set(ProcessApprovalRecord::getProjectId, processAll.getProjectId());
processApprovalRecordUpdate.set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.COMPLETE.getValue());
processApprovalRecordUpdate.set(ProcessApprovalRecord::getEndTime, new Date());
if (StringUtils.isNotBlank(processApprovalRecord.getParentTaskId())){
// 子流程
processApprovalRecordUpdate.eq(
ProcessApprovalRecord::getParentTaskId, processApprovalRecord.getParentTaskId());
processApprovalRecordUpdate.eq(ProcessApprovalRecord::getUserId, processApprovalRecord.getUserId());
processApprovalRecordUpdate.set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.INCOMPLETE.getValue());
processApprovalRecordService.update(processApprovalRecordUpdate);
}else {
// 普通流程
processApprovalRecordUpdate.eq(ProcessApprovalRecord::getTaskId, task.getId());
processApprovalRecordUpdate.set(ProcessApprovalRecord::getUserId, loginUser.getId());
processApprovalRecordUpdate.set(ProcessApprovalRecord::getProjectId, processAll.getProjectId());
processApprovalRecordUpdate.set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.COMPLETE.getValue());
processApprovalRecordUpdate.set(ProcessApprovalRecord::getEndTime, new Date());
processApprovalRecordService.update(processApprovalRecord, processApprovalRecordUpdate);
}
processApprovalRecordService.update(processApprovalRecord, processApprovalRecordUpdate);
// 新增流程实例节点关联用户表信息
processNodeLinkService.saveNodeUserLink(processInstance.getProcessDefinitionId(), processInstance.getId()