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,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 | @Schema(description = "路由分支组", example = "[]") | 117 | @Schema(description = "路由分支组", example = "[]") |
| 118 | private List<RouterSetting> routerGroups; | 118 | private List<RouterSetting> routerGroups; |
| @@ -241,7 +241,7 @@ public class BpmSimpleModelNodeVO { | @@ -241,7 +241,7 @@ public class BpmSimpleModelNodeVO { | ||
| 241 | @Schema(description = "条件设置") | 241 | @Schema(description = "条件设置") |
| 242 | @Data | 242 | @Data |
| 243 | @Valid | 243 | @Valid |
| 244 | - // 仅用于条件节点 BpmSimpleModelNodeType.CONDITION_NODE | 244 | + // 仅用于条件节点 BpmSimpleModelNodeTypeEnum.CONDITION_NODE |
| 245 | public static class ConditionSetting { | 245 | public static class ConditionSetting { |
| 246 | 246 | ||
| 247 | @Schema(description = "条件类型", example = "1") | 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,7 +187,7 @@ public class SimpleModelUtils { | ||
| 187 | /** | 187 | /** |
| 188 | * 构建有附加节点的连线 | 188 | * 构建有附加节点的连线 |
| 189 | * | 189 | * |
| 190 | - * @param nodeId 当前节点 ID | 190 | + * @param nodeId 当前节点 ID |
| 191 | * @param attachNodeId 附属节点 ID | 191 | * @param attachNodeId 附属节点 ID |
| 192 | * @param targetNodeId 目标节点 ID | 192 | * @param targetNodeId 目标节点 ID |
| 193 | */ | 193 | */ |
| @@ -662,6 +662,10 @@ public class SimpleModelUtils { | @@ -662,6 +662,10 @@ public class SimpleModelUtils { | ||
| 662 | * 构造条件表达式 | 662 | * 构造条件表达式 |
| 663 | */ | 663 | */ |
| 664 | public static String buildConditionExpression(BpmSimpleModelNodeVO.ConditionSetting conditionSetting) { | 664 | public static String buildConditionExpression(BpmSimpleModelNodeVO.ConditionSetting conditionSetting) { |
| 665 | + // 并行网关不需要设置条件 | ||
| 666 | + if (conditionSetting == null) { | ||
| 667 | + return null; | ||
| 668 | + } | ||
| 665 | return buildConditionExpression(conditionSetting.getConditionType(), conditionSetting.getConditionExpression(), | 669 | return buildConditionExpression(conditionSetting.getConditionType(), conditionSetting.getConditionExpression(), |
| 666 | conditionSetting.getConditionGroups()); | 670 | conditionSetting.getConditionGroups()); |
| 667 | } | 671 | } |
| @@ -958,8 +962,8 @@ public class SimpleModelUtils { | @@ -958,8 +962,8 @@ public class SimpleModelUtils { | ||
| 958 | if (nodeType == BpmSimpleModelNodeTypeEnum.CONDITION_BRANCH_NODE) { | 962 | if (nodeType == BpmSimpleModelNodeTypeEnum.CONDITION_BRANCH_NODE) { |
| 959 | // 查找满足条件的 BpmSimpleModelNodeVO 节点 | 963 | // 查找满足条件的 BpmSimpleModelNodeVO 节点 |
| 960 | BpmSimpleModelNodeVO matchConditionNode = CollUtil.findOne(currentNode.getConditionNodes(), | 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 | if (matchConditionNode == null) { | 967 | if (matchConditionNode == null) { |
| 964 | matchConditionNode = CollUtil.findOne(currentNode.getConditionNodes(), | 968 | matchConditionNode = CollUtil.findOne(currentNode.getConditionNodes(), |
| 965 | conditionNode -> BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow())); | 969 | conditionNode -> BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow())); |
| @@ -973,8 +977,8 @@ public class SimpleModelUtils { | @@ -973,8 +977,8 @@ public class SimpleModelUtils { | ||
| 973 | if (nodeType == BpmSimpleModelNodeTypeEnum.INCLUSIVE_BRANCH_NODE) { | 977 | if (nodeType == BpmSimpleModelNodeTypeEnum.INCLUSIVE_BRANCH_NODE) { |
| 974 | // 查找满足条件的 BpmSimpleModelNodeVO 节点 | 978 | // 查找满足条件的 BpmSimpleModelNodeVO 节点 |
| 975 | Collection<BpmSimpleModelNodeVO> matchConditionNodes = CollUtil.filterNew(currentNode.getConditionNodes(), | 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 | if (CollUtil.isEmpty(matchConditionNodes)) { | 982 | if (CollUtil.isEmpty(matchConditionNodes)) { |
| 979 | matchConditionNodes = CollUtil.filterNew(currentNode.getConditionNodes(), | 983 | matchConditionNodes = CollUtil.filterNew(currentNode.getConditionNodes(), |
| 980 | conditionNode -> BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow())); | 984 | conditionNode -> BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow())); |