Commit 03c804ee1022ea63fc3a0f059c332c537a3df361
1 parent
50e31f1b
fix(bpm):修复自选审批人时存在多个并行节点时审批人覆盖问题
多个并行节点中只有最后一个节点的审批人会被保存,其他都为空
Showing
1 changed file
with
5 additions
and
0 deletions
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java
| @@ -646,6 +646,11 @@ public class BpmTaskServiceImpl implements BpmTaskService { | @@ -646,6 +646,11 @@ public class BpmTaskServiceImpl implements BpmTaskService { | ||
| 646 | approveUserSelectAssignees = new HashMap<>(); | 646 | approveUserSelectAssignees = new HashMap<>(); |
| 647 | } | 647 | } |
| 648 | approveUserSelectAssignees.put(nextFlowNode.getId(), assignees); | 648 | approveUserSelectAssignees.put(nextFlowNode.getId(), assignees); |
| 649 | + @SuppressWarnings("unchecked") | ||
| 650 | + Map<String,List<Long>> existing = (Map<String,List<Long>>) variables.get(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_APPROVE_USER_SELECT_ASSIGNEES); | ||
| 651 | + if(CollUtil.isNotEmpty(existing)) { | ||
| 652 | + approveUserSelectAssignees.putAll(existing); | ||
| 653 | + } | ||
| 649 | variables.put(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_APPROVE_USER_SELECT_ASSIGNEES, approveUserSelectAssignees); | 654 | variables.put(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_APPROVE_USER_SELECT_ASSIGNEES, approveUserSelectAssignees); |
| 650 | } | 655 | } |
| 651 | } | 656 | } |