fix(bpm): 更改 moveActivityIdsToSingleActivityId 传入的第一个参数

This commit is contained in:
zz 2025-11-28 11:41:43 +08:00
parent ee8a5bf822
commit aee514cf33

View File

@ -922,16 +922,16 @@ public class BpmTaskServiceImpl implements BpmTaskService {
List<UserTask> returnUserTaskList = BpmnModelUtils.iteratorFindChildUserTasks(targetElement, runTaskKeyList, null, null);
List<String> returnTaskKeyList = convertList(returnUserTaskList, UserTask::getId);
List<String> runExecutionIds = new ArrayList<>();
// List<String> runExecutionIds = new ArrayList<>();
// 2. 给当前要被退回的 task 数组设置退回意见
taskList.forEach(task -> {
// 需要排除掉不需要设置退回意见的任务
if (!returnTaskKeyList.contains(task.getTaskDefinitionKey())) {
return;
}
if (task.getExecutionId() != null) {
runExecutionIds.add(task.getExecutionId());
}
// if (task.getExecutionId() != null) {
// runExecutionIds.add(task.getExecutionId());
// }
// 判断是否分配给自己任务因为会签任务一个节点会有多个任务
if (isAssignUserTask(userId, task)) { // 情况一自己的任务进行 RETURN 标记
@ -953,9 +953,12 @@ public class BpmTaskServiceImpl implements BpmTaskService {
// 相关 issue: https://github.com/flowable/flowable-engine/issues/3944
// flowable 7.2.0 版本后继续使用 moveActivityIdsToSingleActivityId 方法原因flowable 7.2.0 版本修复了该问题
// 相关 issuehttps://github.com/YunaiV/ruoyi-vue-pro/issues/1018
// moveExecutionsToSingleActivityId 基于运行时执行实例层面的精确控制它的操作对象第一个参数 executionId需要收集到 runExecutionIds
// moveActivityIdsToSingleActivityId 基于 BPMN 模型层面的节点迁移它的操作对象第一个参数 taskKey
runtimeService.createChangeActivityStateBuilder()
.processInstanceId(currentTask.getProcessInstanceId())
.moveActivityIdsToSingleActivityId(runExecutionIds, reqVO.getTargetTaskDefinitionKey())
// .moveExecutionsToSingleActivityId(runExecutionIds, reqVO.getTargetTaskDefinitionKey())
.moveActivityIdsToSingleActivityId(returnTaskKeyList, reqVO.getTargetTaskDefinitionKey())
// 设置需要预测的任务 ids 的流程变量用于辅助预测
.processVariable(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_NEED_SIMULATE_TASK_IDS, needSimulateTaskDefinitionKeys)
// 设置流程变量local节点退回标记, 用于退回到节点不执行 BpmUserTaskAssignStartUserHandlerTypeEnum 策略导致自动通过