From 7753f11fc053866f024048a5a65daebfe8dccc62 Mon Sep 17 00:00:00 2001 From: wangli Date: Sun, 6 Jul 2025 23:31:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-4468)=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=9B=A0=E4=B8=BA=E6=8F=90=E7=BA=A7=E5=AE=A1=E6=89=B9=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E8=8A=82=E7=82=B9=E9=80=89=E4=BA=BA=E4=BC=9A=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/engine/cmd/CustomResetTaskApproversCmd.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomResetTaskApproversCmd.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomResetTaskApproversCmd.java index 1781ec177..7b3f540cf 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomResetTaskApproversCmd.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomResetTaskApproversCmd.java @@ -22,6 +22,7 @@ import java.io.Serializable; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_ADVICE; import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_OPERATION_DESC; @@ -85,12 +86,11 @@ public class CustomResetTaskApproversCmd extends AbstractCommand implement validTask(historicTaskInstance, task, originTaskAssignee, null); - resolveOriginTask(commandContext, taskService, task); batchAddAttachment(commandContext, task.getProcessInstanceId(), task, attachmentList, originTaskAssignee); - resetActivityApprovers(commandContext, task, targetTaskAssigneeList, taskService); + resolveOriginTask(commandContext, taskService, task); return null; } @@ -105,7 +105,10 @@ public class CustomResetTaskApproversCmd extends AbstractCommand implement // 这个节点下所有审批人快照 String activityListSnapshot = INTERNAL_ACTIVITY_RELATION_ASSIGNEE_LIST_INFO_SNAPSHOT + taskEntity.getTaskDefinitionKey(); - runtimeService.setVariable(taskEntity.getProcessInstanceId(), activityListSnapshot, taskDelegateAssigners); + Map variables = new HashMap<>(); + variables.put(activityListSnapshot, taskDelegateAssigners); + variables.put(INTERNAL_TASK_RELATION_ASSIGNEE_LIST_INFO + taskEntity.getTaskDefinitionKey(), taskDelegateAssigners.stream().map(BpmnTaskDelegateAssigner::buildAssigneeId).collect(Collectors.toList())); + runtimeService.setVariables(taskEntity.getProcessInstanceId(), variables); log.info("正在进行提级任务:{},提级审批人列表:{}", taskEntity.getId(), JSONUtil.toJsonStr(taskDelegateAssigners)); // 将提级审批人加签 @@ -115,7 +118,6 @@ public class CustomResetTaskApproversCmd extends AbstractCommand implement CustomTaskHelper.deleteMultiTasks(commandContext, tasks); // 移除引擎内部用于确定人的快照变量 - runtimeService.removeVariable(taskEntity.getProcessInstanceId(), INTERNAL_TASK_RELATION_ASSIGNEE_LIST_INFO + taskEntity.getTaskDefinitionKey()); } private void resolveOriginTask(CommandContext commandContext, TaskService taskService, TaskEntity task) {