From 7c7c8a75642377846be8c2206c1fd01c967b8cee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 28 May 2026 09:38:27 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E5=A4=9A=E6=AC=A1?= =?UTF-8?q?=E9=A9=B3=E5=9B=9E=E6=97=A0=E6=B3=95=E9=94=81=E5=AE=9A=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E4=BA=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/workflow/listener/WorkflowGlobalListener.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java index 914a6c00d..826990f1c 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java @@ -161,9 +161,11 @@ public class WorkflowGlobalListener implements GlobalListener { List userIdList = StringUtils.str2List(userIds, StringUtils.SEPARATOR, true, true); if (CollUtil.isNotEmpty(userIdList)) { flowTask.setPermissionList(userIdList); - // 移除已处理的状态变量 - variable.remove(nodeKey); - FlowEngine.insService().removeVariables(flowTask.getInstanceId(), nodeKey); + if (TaskStatusEnum.PASS.getStatus().equals(taskStatus)) { + // 办理指定人变量只消费一次;驳回指定人变量需要保留给后续重复驳回。 + variable.remove(nodeKey); + FlowEngine.insService().removeVariables(flowTask.getInstanceId(), nodeKey); + } } }