diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/utils/BpmnJsonConverterUtil.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/utils/BpmnJsonConverterUtil.java index b67c252da..bf4dab965 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/utils/BpmnJsonConverterUtil.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/utils/BpmnJsonConverterUtil.java @@ -99,6 +99,7 @@ import static cn.axzo.workflow.common.constant.BpmnConstants.TEMPLATE_PENDING_ME import static cn.axzo.workflow.common.constant.BpmnConstants.TEMPLATE_SMS_MESSAGE_ID; import static cn.axzo.workflow.common.enums.BpmnFlowNodeType.NODE_CONDITION; import static cn.axzo.workflow.common.enums.BpmnFlowNodeType.NODE_EMPTY; +import static cn.axzo.workflow.common.enums.BpmnFlowNodeType.NODE_EXCLUSIVE_GATEWAY; import static cn.axzo.workflow.core.common.code.ConvertorRespCode.CONVERTOR_COMMON_ERROR; import static cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper.getButtonConfig; import static cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper.getFieldConfig; @@ -540,6 +541,10 @@ public final class BpmnJsonConverterUtil { children = children.getChildren(); } if (CollectionUtils.isEmpty(branchLastNodeIds)) { + //网关分支条件连接到下一节点,children节点不再连接前继网关节点 + if (bpmnJsonNode.getType() == NODE_EXCLUSIVE_GATEWAY) { + return create(children, mainProcess, bpmnModel, defaultConditionConnectNode); + } return create(children, mainProcess, bpmnModel, defaultConditionConnectNode, flowElement.getId()); } return create(children, mainProcess, bpmnModel, defaultConditionConnectNode, branchLastNodeIds.toArray(new String[0]));