|
|
|
@ -187,7 +187,7 @@ public class SimpleModelUtils { |
|
|
|
|
/** |
|
|
|
|
* 构建有附加节点的连线 |
|
|
|
|
* |
|
|
|
|
* @param nodeId 当前节点 ID |
|
|
|
|
* @param nodeId 当前节点 ID |
|
|
|
|
* @param attachNodeId 附属节点 ID |
|
|
|
|
* @param targetNodeId 目标节点 ID |
|
|
|
|
*/ |
|
|
|
@ -662,6 +662,10 @@ public class SimpleModelUtils { |
|
|
|
|
* 构造条件表达式 |
|
|
|
|
*/ |
|
|
|
|
public static String buildConditionExpression(BpmSimpleModelNodeVO.ConditionSetting conditionSetting) { |
|
|
|
|
// 并行网关不需要设置条件
|
|
|
|
|
if (conditionSetting == null) { |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
return buildConditionExpression(conditionSetting.getConditionType(), conditionSetting.getConditionExpression(), |
|
|
|
|
conditionSetting.getConditionGroups()); |
|
|
|
|
} |
|
|
|
@ -958,8 +962,8 @@ public class SimpleModelUtils { |
|
|
|
|
if (nodeType == BpmSimpleModelNodeTypeEnum.CONDITION_BRANCH_NODE) { |
|
|
|
|
// 查找满足条件的 BpmSimpleModelNodeVO 节点
|
|
|
|
|
BpmSimpleModelNodeVO matchConditionNode = CollUtil.findOne(currentNode.getConditionNodes(), |
|
|
|
|
conditionNode -> !BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow()) |
|
|
|
|
&& evalConditionExpress(variables, conditionNode.getConditionSetting())); |
|
|
|
|
conditionNode -> !BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow()) |
|
|
|
|
&& evalConditionExpress(variables, conditionNode.getConditionSetting())); |
|
|
|
|
if (matchConditionNode == null) { |
|
|
|
|
matchConditionNode = CollUtil.findOne(currentNode.getConditionNodes(), |
|
|
|
|
conditionNode -> BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow())); |
|
|
|
@ -973,8 +977,8 @@ public class SimpleModelUtils { |
|
|
|
|
if (nodeType == BpmSimpleModelNodeTypeEnum.INCLUSIVE_BRANCH_NODE) { |
|
|
|
|
// 查找满足条件的 BpmSimpleModelNodeVO 节点
|
|
|
|
|
Collection<BpmSimpleModelNodeVO> matchConditionNodes = CollUtil.filterNew(currentNode.getConditionNodes(), |
|
|
|
|
conditionNode -> !BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow()) |
|
|
|
|
&& evalConditionExpress(variables, conditionNode.getConditionSetting())); |
|
|
|
|
conditionNode -> !BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow()) |
|
|
|
|
&& evalConditionExpress(variables, conditionNode.getConditionSetting())); |
|
|
|
|
if (CollUtil.isEmpty(matchConditionNodes)) { |
|
|
|
|
matchConditionNodes = CollUtil.filterNew(currentNode.getConditionNodes(), |
|
|
|
|
conditionNode -> BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow())); |
|
|
|
|