Commit d7a785d1de97a24d54fd169512359c488c938814

Authored by jason
1 parent f0c26d5b

【问题修复】 并行网关保存问题

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()));
... ...