From 1046d46789315c9fd554f985d364a679d9a743c2 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Mon, 29 Jun 2026 17:02:39 -0700 Subject: [PATCH 1/2] =?UTF-8?q?=E3=80=90=E5=90=8C=E6=AD=A5=E3=80=91BOOT=20?= =?UTF-8?q?=E5=92=8C=20CLOUD=20=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/bpm/service/task/BpmTaskServiceImpl.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/yudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java index ccc5e8f03..ca71b25a8 100644 --- a/yudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.io.FileUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.*; import cn.hutool.extra.spring.SpringUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -622,9 +623,9 @@ public class BpmTaskServiceImpl implements BpmTaskService { } // 4. 校验并处理 APPROVE_USER_SELECT 当前审批人,选择下一节点审批人的逻辑 - Map variables = validateAndSetNextAssignees(task.getTaskDefinitionKey(), processVariables, + validateAndSetNextAssignees(task.getTaskDefinitionKey(), processVariables, bpmnModel, reqVO.getNextAssignees(), instance); - runtimeService.setVariables(task.getProcessInstanceId(), variables); + runtimeService.setVariables(task.getProcessInstanceId(), processVariables); // 5. 如果当前节点 Id 存在于需要预测的流程节点中,从中移除。 流程变量在回退操作中设置 Object needSimulateTaskIds = runtimeService.getVariable(task.getProcessInstanceId(), BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_NEED_SIMULATE_TASK_IDS); @@ -642,7 +643,8 @@ public class BpmTaskServiceImpl implements BpmTaskService { } // 7. 调用 BPM complete 去完成任务 - taskService.complete(task.getId(), variables, true); + Map taskVariables = MapUtil.emptyIfNull(reqVO.getVariables()); // task local variables. 一般用于任务内嵌流程表单 + taskService.complete(task.getId(), taskVariables, true); // 【加签专属】处理加签任务 handleParentTaskIfSign(task.getParentTaskId()); @@ -985,6 +987,9 @@ public class BpmTaskServiceImpl implements BpmTaskService { // 改成 moveExecutionsToSingleActivityId 好像并没有遇到 ② 提到的超时提醒失效的问题。暂时先改回 moveExecutionsToSingleActivityId // ④ moveExecutionsToSingleActivityId 回退多实例的时候不会去删除多实例根, 应改成 moveActivityIdsToSingleActivityId // flowable 8.0.0 修复上面相关问题, 还修复了并行分支回退的问题 https://t.zsxq.com/z4d9i。 + // ⑤ 使用 moveExecutionsToSingleActivityId 方法进行回退操作时,如果是多实例的用户任务【芋道用户任务默认为多实例】,不会删除多实例任务的根数据 ACT_RU_EXECUTION + // 会导致有一些问题,所以使用 moveActivityIdsToSingleActivityId。 但是该方法在 flowable 6.8.1 ~ 7.1.0 的版本会有 bug 阻塞回退功能 + // 相关 issue: https://github.com/flowable/flowable-engine/issues/3944 runtimeService.createChangeActivityStateBuilder() .processInstanceId(currentTask.getProcessInstanceId()) .moveActivityIdsToSingleActivityId(returnTaskKeyList, reqVO.getTargetTaskDefinitionKey()) From cd747d5396cc152a9ebfb4f146dbbc1cb155c66e Mon Sep 17 00:00:00 2001 From: YunaiV Date: Mon, 29 Jun 2026 17:05:42 -0700 Subject: [PATCH 2/2] =?UTF-8?q?v2026=5F06=5F=E5=8F=91=E5=B8=83=EF=BC=9A?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=20IM=20=E5=8D=B3=E6=97=B6=E9=80=9A=E8=AE=AF?= =?UTF-8?q?=EF=BC=8C=E6=AD=A3=E5=BC=8F=E5=8F=91=E5=B8=83=20Spring=20Boot?= =?UTF-8?q?=204.X=20=E6=94=AF=E6=8C=81=E5=8D=95=E4=BD=93=E3=80=81=E5=BE=AE?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E4=B8=A4=E7=A7=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- yudao-dependencies/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 366940545..1f349c37d 100644 --- a/pom.xml +++ b/pom.xml @@ -36,7 +36,7 @@ https://github.com/YunaiV/ruoyi-vue-pro - 2026.05-SNAPSHOT + 2026.06-SNAPSHOT 17 ${java.version} diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml index 013853c5e..bfa9700d9 100644 --- a/yudao-dependencies/pom.xml +++ b/yudao-dependencies/pom.xml @@ -14,7 +14,7 @@ https://github.com/YunaiV/ruoyi-vue-pro - 2026.05-SNAPSHOT + 2026.06-SNAPSHOT 1.7.2 3.5.15