diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlowServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlowServiceImpl.java index a548af27..fc3c2d16 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlowServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardinterpret/service/impl/StandardInterpretFlowServiceImpl.java @@ -1771,6 +1771,21 @@ public class StandardInterpretFlowServiceImpl implements StandardInterpretFlowSe processStandardInterpretClauseList) { // 重置状态 processStandardInterpretClause.setIsReject(YesOrNoEnum.NO.getValue()); + // 重新分发节点特殊处理 + if (StandardInterpretCommon.MASTER_INTERPRET_AGAIN_DISTRIBUTE.equals(node)){ + String taskId = standardInterpretFlowDTO.getProcessApprovalRecord().getTaskId(); + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + String snowflake = String.valueOf(runtimeService.getVariable(task.getExecutionId(), + StandardInterpretCommon.SNOWFLAKE)); + // 分发出去后删除当前snowflake + List snowflakeList = + new ArrayList<>(Arrays.asList(processStandardInterpretClause.getSnowFlake().split(","))); + if (CollectionUtils.isNotEmpty(snowflakeList) + && snowflakeList.contains(snowflake)){ + snowflakeList.remove(snowflake); + processStandardInterpretClause.setSnowFlake(String.join(",", snowflakeList)); + } + } } processStandardInterpretClauseService.saveOrUpdateBatch(processStandardInterpretClauseList);