Commit 7df6262b8a6a91f0cfeb56dc0da9a9c3530b61a0

Authored by 芋道源码
Committed by Gitee
2 parents 88bee9c4 dafa4dad

!1569 Merge remote-tracking branch 'origin/master-jdk17' into master-jdk17-bpm-bug-fix

Merge pull request !1569 from Jason/master-jdk17-bpm-bug-fix
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java
... ... @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
4 4 import cn.hutool.core.convert.Convert;
5 5 import cn.hutool.core.io.FileUtil;
6 6 import cn.hutool.core.lang.Assert;
  7 +import cn.hutool.core.map.MapUtil;
7 8 import cn.hutool.core.util.*;
8 9 import cn.hutool.extra.spring.SpringUtil;
9 10 import cn.iocoder.yudao.framework.common.pojo.PageResult;
... ... @@ -622,9 +623,9 @@ public class BpmTaskServiceImpl implements BpmTaskService {
622 623 }
623 624  
624 625 // 4. 校验并处理 APPROVE_USER_SELECT 当前审批人,选择下一节点审批人的逻辑
625   - Map<String, Object> variables = validateAndSetNextAssignees(task.getTaskDefinitionKey(), processVariables,
  626 + validateAndSetNextAssignees(task.getTaskDefinitionKey(), processVariables,
626 627 bpmnModel, reqVO.getNextAssignees(), instance);
627   - runtimeService.setVariables(task.getProcessInstanceId(), variables);
  628 + runtimeService.setVariables(task.getProcessInstanceId(), processVariables);
628 629  
629 630 // 5. 如果当前节点 Id 存在于需要预测的流程节点中,从中移除。 流程变量在回退操作中设置
630 631 Object needSimulateTaskIds = runtimeService.getVariable(task.getProcessInstanceId(), BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_NEED_SIMULATE_TASK_IDS);
... ... @@ -642,7 +643,8 @@ public class BpmTaskServiceImpl implements BpmTaskService {
642 643 }
643 644  
644 645 // 7. 调用 BPM complete 去完成任务
645   - taskService.complete(task.getId(), variables, true);
  646 + Map<String,Object> taskVariables = MapUtil.emptyIfNull(reqVO.getVariables()); // task local variables. 一般用于任务内嵌流程表单
  647 + taskService.complete(task.getId(), taskVariables, true);
646 648  
647 649 // 【加签专属】处理加签任务
648 650 handleParentTaskIfSign(task.getParentTaskId());
... ...