Commit d7a785d1de97a24d54fd169512359c488c938814
1 parent
f0c26d5b
【问题修复】 并行网关保存问题
Showing
2 changed files
with
11 additions
and
7 deletions
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/simple/BpmSimpleModelNodeVO.java
| ... | ... | @@ -112,7 +112,7 @@ public class BpmSimpleModelNodeVO { |
| 112 | 112 | /** |
| 113 | 113 | * 条件节点设置 |
| 114 | 114 | */ |
| 115 | - private ConditionSetting conditionSetting; // 仅用于条件节点 BpmSimpleModelNodeType.CONDITION_NODE | |
| 115 | + private ConditionSetting conditionSetting; // 仅用于条件节点 BpmSimpleModelNodeTypeEnum.CONDITION_NODE | |
| 116 | 116 | |
| 117 | 117 | @Schema(description = "路由分支组", example = "[]") |
| 118 | 118 | private List<RouterSetting> routerGroups; |
| ... | ... | @@ -241,7 +241,7 @@ public class BpmSimpleModelNodeVO { |
| 241 | 241 | @Schema(description = "条件设置") |
| 242 | 242 | @Data |
| 243 | 243 | @Valid |
| 244 | - // 仅用于条件节点 BpmSimpleModelNodeType.CONDITION_NODE | |
| 244 | + // 仅用于条件节点 BpmSimpleModelNodeTypeEnum.CONDITION_NODE | |
| 245 | 245 | public static class ConditionSetting { |
| 246 | 246 | |
| 247 | 247 | @Schema(description = "条件类型", example = "1") | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java
| ... | ... | @@ -187,7 +187,7 @@ public class SimpleModelUtils { |
| 187 | 187 | /** |
| 188 | 188 | * 构建有附加节点的连线 |
| 189 | 189 | * |
| 190 | - * @param nodeId 当前节点 ID | |
| 190 | + * @param nodeId 当前节点 ID | |
| 191 | 191 | * @param attachNodeId 附属节点 ID |
| 192 | 192 | * @param targetNodeId 目标节点 ID |
| 193 | 193 | */ |
| ... | ... | @@ -662,6 +662,10 @@ public class SimpleModelUtils { |
| 662 | 662 | * 构造条件表达式 |
| 663 | 663 | */ |
| 664 | 664 | public static String buildConditionExpression(BpmSimpleModelNodeVO.ConditionSetting conditionSetting) { |
| 665 | + // 并行网关不需要设置条件 | |
| 666 | + if (conditionSetting == null) { | |
| 667 | + return null; | |
| 668 | + } | |
| 665 | 669 | return buildConditionExpression(conditionSetting.getConditionType(), conditionSetting.getConditionExpression(), |
| 666 | 670 | conditionSetting.getConditionGroups()); |
| 667 | 671 | } |
| ... | ... | @@ -958,8 +962,8 @@ public class SimpleModelUtils { |
| 958 | 962 | if (nodeType == BpmSimpleModelNodeTypeEnum.CONDITION_BRANCH_NODE) { |
| 959 | 963 | // 查找满足条件的 BpmSimpleModelNodeVO 节点 |
| 960 | 964 | BpmSimpleModelNodeVO matchConditionNode = CollUtil.findOne(currentNode.getConditionNodes(), |
| 961 | - conditionNode -> !BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow()) | |
| 962 | - && evalConditionExpress(variables, conditionNode.getConditionSetting())); | |
| 965 | + conditionNode -> !BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow()) | |
| 966 | + && evalConditionExpress(variables, conditionNode.getConditionSetting())); | |
| 963 | 967 | if (matchConditionNode == null) { |
| 964 | 968 | matchConditionNode = CollUtil.findOne(currentNode.getConditionNodes(), |
| 965 | 969 | conditionNode -> BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow())); |
| ... | ... | @@ -973,8 +977,8 @@ public class SimpleModelUtils { |
| 973 | 977 | if (nodeType == BpmSimpleModelNodeTypeEnum.INCLUSIVE_BRANCH_NODE) { |
| 974 | 978 | // 查找满足条件的 BpmSimpleModelNodeVO 节点 |
| 975 | 979 | Collection<BpmSimpleModelNodeVO> matchConditionNodes = CollUtil.filterNew(currentNode.getConditionNodes(), |
| 976 | - conditionNode -> !BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow()) | |
| 977 | - && evalConditionExpress(variables, conditionNode.getConditionSetting())); | |
| 980 | + conditionNode -> !BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow()) | |
| 981 | + && evalConditionExpress(variables, conditionNode.getConditionSetting())); | |
| 978 | 982 | if (CollUtil.isEmpty(matchConditionNodes)) { |
| 979 | 983 | matchConditionNodes = CollUtil.filterNew(currentNode.getConditionNodes(), |
| 980 | 984 | conditionNode -> BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow())); | ... | ... |