【问题修复】 并行网关保存问题
This commit is contained in:
parent
f0c26d5b5a
commit
d7a785d1de
|
@ -112,7 +112,7 @@ public class BpmSimpleModelNodeVO {
|
||||||
/**
|
/**
|
||||||
* 条件节点设置
|
* 条件节点设置
|
||||||
*/
|
*/
|
||||||
private ConditionSetting conditionSetting; // 仅用于条件节点 BpmSimpleModelNodeType.CONDITION_NODE
|
private ConditionSetting conditionSetting; // 仅用于条件节点 BpmSimpleModelNodeTypeEnum.CONDITION_NODE
|
||||||
|
|
||||||
@Schema(description = "路由分支组", example = "[]")
|
@Schema(description = "路由分支组", example = "[]")
|
||||||
private List<RouterSetting> routerGroups;
|
private List<RouterSetting> routerGroups;
|
||||||
|
@ -241,7 +241,7 @@ public class BpmSimpleModelNodeVO {
|
||||||
@Schema(description = "条件设置")
|
@Schema(description = "条件设置")
|
||||||
@Data
|
@Data
|
||||||
@Valid
|
@Valid
|
||||||
// 仅用于条件节点 BpmSimpleModelNodeType.CONDITION_NODE
|
// 仅用于条件节点 BpmSimpleModelNodeTypeEnum.CONDITION_NODE
|
||||||
public static class ConditionSetting {
|
public static class ConditionSetting {
|
||||||
|
|
||||||
@Schema(description = "条件类型", example = "1")
|
@Schema(description = "条件类型", example = "1")
|
||||||
|
|
|
@ -187,7 +187,7 @@ public class SimpleModelUtils {
|
||||||
/**
|
/**
|
||||||
* 构建有附加节点的连线
|
* 构建有附加节点的连线
|
||||||
*
|
*
|
||||||
* @param nodeId 当前节点 ID
|
* @param nodeId 当前节点 ID
|
||||||
* @param attachNodeId 附属节点 ID
|
* @param attachNodeId 附属节点 ID
|
||||||
* @param targetNodeId 目标节点 ID
|
* @param targetNodeId 目标节点 ID
|
||||||
*/
|
*/
|
||||||
|
@ -662,6 +662,10 @@ public class SimpleModelUtils {
|
||||||
* 构造条件表达式
|
* 构造条件表达式
|
||||||
*/
|
*/
|
||||||
public static String buildConditionExpression(BpmSimpleModelNodeVO.ConditionSetting conditionSetting) {
|
public static String buildConditionExpression(BpmSimpleModelNodeVO.ConditionSetting conditionSetting) {
|
||||||
|
// 并行网关不需要设置条件
|
||||||
|
if (conditionSetting == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return buildConditionExpression(conditionSetting.getConditionType(), conditionSetting.getConditionExpression(),
|
return buildConditionExpression(conditionSetting.getConditionType(), conditionSetting.getConditionExpression(),
|
||||||
conditionSetting.getConditionGroups());
|
conditionSetting.getConditionGroups());
|
||||||
}
|
}
|
||||||
|
@ -958,8 +962,8 @@ public class SimpleModelUtils {
|
||||||
if (nodeType == BpmSimpleModelNodeTypeEnum.CONDITION_BRANCH_NODE) {
|
if (nodeType == BpmSimpleModelNodeTypeEnum.CONDITION_BRANCH_NODE) {
|
||||||
// 查找满足条件的 BpmSimpleModelNodeVO 节点
|
// 查找满足条件的 BpmSimpleModelNodeVO 节点
|
||||||
BpmSimpleModelNodeVO matchConditionNode = CollUtil.findOne(currentNode.getConditionNodes(),
|
BpmSimpleModelNodeVO matchConditionNode = CollUtil.findOne(currentNode.getConditionNodes(),
|
||||||
conditionNode -> !BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow())
|
conditionNode -> !BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow())
|
||||||
&& evalConditionExpress(variables, conditionNode.getConditionSetting()));
|
&& evalConditionExpress(variables, conditionNode.getConditionSetting()));
|
||||||
if (matchConditionNode == null) {
|
if (matchConditionNode == null) {
|
||||||
matchConditionNode = CollUtil.findOne(currentNode.getConditionNodes(),
|
matchConditionNode = CollUtil.findOne(currentNode.getConditionNodes(),
|
||||||
conditionNode -> BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow()));
|
conditionNode -> BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow()));
|
||||||
|
@ -973,8 +977,8 @@ public class SimpleModelUtils {
|
||||||
if (nodeType == BpmSimpleModelNodeTypeEnum.INCLUSIVE_BRANCH_NODE) {
|
if (nodeType == BpmSimpleModelNodeTypeEnum.INCLUSIVE_BRANCH_NODE) {
|
||||||
// 查找满足条件的 BpmSimpleModelNodeVO 节点
|
// 查找满足条件的 BpmSimpleModelNodeVO 节点
|
||||||
Collection<BpmSimpleModelNodeVO> matchConditionNodes = CollUtil.filterNew(currentNode.getConditionNodes(),
|
Collection<BpmSimpleModelNodeVO> matchConditionNodes = CollUtil.filterNew(currentNode.getConditionNodes(),
|
||||||
conditionNode -> !BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow())
|
conditionNode -> !BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow())
|
||||||
&& evalConditionExpress(variables, conditionNode.getConditionSetting()));
|
&& evalConditionExpress(variables, conditionNode.getConditionSetting()));
|
||||||
if (CollUtil.isEmpty(matchConditionNodes)) {
|
if (CollUtil.isEmpty(matchConditionNodes)) {
|
||||||
matchConditionNodes = CollUtil.filterNew(currentNode.getConditionNodes(),
|
matchConditionNodes = CollUtil.filterNew(currentNode.getConditionNodes(),
|
||||||
conditionNode -> BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow()));
|
conditionNode -> BooleanUtil.isTrue(conditionNode.getConditionSetting().getDefaultFlow()));
|
||||||
|
|
Loading…
Reference in New Issue