跳到主要内容

条件分支节点

根据业务数据条件决定审批流向,实现分支路由。

概念说明

本文档是 审批流 概念的具体配置说明。建议先阅读审批流概念,了解整体架构。

概述​

「条件分支节点」(NodeType 为 ApproveCondition)是审批流中的条件判断环节。它在流程执行时读取当前业务数据的指定字段,按配置的条件计算是否命中,命中才继续向下流转,否则该分支不通过。

条件分支节点自身不需要人工处理,属于自动计算节点。它没有通知与接口配置,核心配置只有一个「条件类型」及对应的条件内容。

配置项​

配置项必填说明
条件类型是选择「实体数据条件」或「实体数据条件(旧版)」
条件内容是按条件类型以不同方式配置,见下

实体数据条件(推荐)​

条件类型选择「实体数据条件」后,通过可视化条件编辑器配置字段、运算符与取值,支持 AND / OR 组合。取值可引用数据字段。

实体数据条件(旧版)​

条件类型选择「实体数据条件(旧版)」后,点击「编辑发起条件」在弹窗中通过拖拽方式配置条件。旧版条件已不再被引擎支持执行,界面会给出迁移提示,点击「一键迁移」可将旧版条件转换为新版条件并自动切换条件类型。

旧版条件需迁移

旧版条件通过拖拽方式配置,新版引擎在运行时不再支持旧版条件,请迁移为「实体数据条件」。迁移后即可正常保存与运行。

下一步​

属性明细​

以下内容面向技术实现与知识库检索,说明节点属性的属性名、类型、含义与存储格式。节点属性存储在流程图版本 LogicGraphical 的 data.meta 字典中,所有值均为字符串。

节点属性表​

属性名类型含义取值/存储值
typestring节点类型固定为 ApproveCondition
ConditionTypestring条件类型"1"=实体数据条件,"0"=实体数据条件(旧版)
DynamicConditionstring(JSON)新版条件的过滤条件DynamicFilter 的 JSON 字符串
Conditionstring(JSON)旧版条件的组件配置WidgetItem[] 的 JSON 字符串

节点默认值:ConditionType 为 "1",Condition 与 DynamicCondition 为空字符串。

存储示例​

{
"shape": "node",
"id": "node-condition-1",
"data": {
"meta": {
"type": "ApproveCondition",
"ConditionType": "1",
"Condition": "",
"DynamicCondition": "{\"ConditionType\":0,\"Children\":[{\"Field\":\"amount\",\"Operator\":\"gt\",\"Value\":\"10000\"}]}"
}
}
}

引擎行为​

阶段行为
校验仅支持 ConditionType 为 "1":校验 DynamicCondition 的过滤条件合法(字段与运算符不可为空);"0" 旧版条件在运行时报错「旧版条件不再支持」
构建解析 DynamicCondition 为 DynamicFilter,从业务数据中取出涉及字段并计算是否命中;命中则继续下一个节点
分支条件节点的下游可连接多个分支,命中条件的分支继续执行;全部未命中时流程无法继续并提示「未满足审批条件」
通知 / 执行条件节点不产生人工待办,无需通知与执行处理

流程结构约束​

  • 同一节点的下游不能同时存在审批节点与条件节点;
  • 单个节点下游不能存在多个审批节点;
  • 条件节点的下游需要能回到结束节点,否则流程无法结束。

分支示意​