EOS Low-Code Platform 8 EOS Low-Code Platform 8
产品简介
学习指南
更新说明
安装与集成
上线指南
初见EOS
低代码开发手册
专业代码开发手册
智能体开发手册
专题场景实战
公共服务框架
应用运行治理
运维指南
  • 1 默认连线
  • 2 简单表达式
  • 3 分支规则
  • 3.1 分支规则
  • 3.2 复合分支规则
  • 4 复杂表达式
  • 5 三方服务
  • 5.1 EOS服务
  • 5.2 逻辑流
  • 5.3 运算逻辑

分支条件

当流程中某一环节出现后续环节有多个时,则出现多分支场景,该场景下可针对不同分支进行条件设置,以实现根据条件不同走不同环节的场景。双击流程编辑器中俩活动之间的连接线,在弹出连接线的属性窗口中可以针对该分支做条件设置。
参数名称 参数意义
显示名称 连接线在流程图中显示的名称。
优先级 该连接线被实例化的优先级别,从高到低依次分为高、次高、中、次中、低、次低6个级别。当活动的分支模式为"单一分支",而该活动引出的若干分支的判断条件都满足的情况下,系统将以连接线的优先级级别的高低来判断该执行哪个活动。
是否为默认连线 选中此项即表明该连接线是默认连接线,表达式不可编辑。一个活动后如果引出多条连接线,则只能有一条为默认,其它均是有判断条件的连接线。非默认连接线用"*"标注。当所有的判断条件均不满足时,业务流程会走默认连接线。
简单表达式 利用一些常用的比较操作来进行条件判断的表达式。
分支规则 利用当前流程中所定义的分支规则来进行条件判断。

# 1 默认连线

选中此项即表明该连接线是默认连接线,表达式不可编辑。一个活动后如果引出多条连接线,则只能有一条为默认,其它均是有判断条件的连接线。当所有的判断条件均不满足时,业务流程会走默认连接线。

# 2 简单表达式

利用一些常用的比较操作来进行条件判断的表达式。

简单表达式各部分说明:

设置项 描述 备注
左值类型 左值类型,分为业务变量、相关数据、业务资源三种 业务变量为流程属性中业务规则里创建的业务变量
相关数据为流程实例相关数据和内置变量
业务资源可以选择流程绑定的表单的字段
左值 表达式中比较操作符左边的部分。 根据左值类型不同左值可以选填或直接填写相关xpath值
比较操作符 表达式中用来表述左值和右值关系的部分。常用的有"=="、">"、"<"等。 根据实际情况在下拉列表中选择。
右值 表达式中比较操作符右边的部分。 分为"常量"和"变量"两种。常量:可以是字符串、数字等。变量:流程相关数据以及流程的内置变量都可以作为右值比较对。
右值类型 右值的类型,分为常量、业务变量和相关数据"三种。 如果是"常量"则代表设置项"右值"的内容就是一个常量
业务资源可以选择流程绑定的表单的字段
相关数据为流程实例相关数据和内置变量

示例:

  • 左值类型为业务变量时

    流程属性定义业务变量,xpath值为流程相关属性的key,即业务变量是相关数据的一个抽象,原理还是从相关数据获取具体值。下图示例中__bfp_entity/name为流程绑定的表单实体中name属性值,即在流程环节到分支时根据name属性值是否为张三来决定走哪个分支。

简单表达式条件中选择业务变量类型并在左值中选择定义的业务变量。

  • 左值类型为相关数据时

    类型为相关数据时左值则可以直接输入具体相关数据的xpath值即key值。如下取流程绑定的表单实体中name属性值,即在流程环节到分支时根据name属性值是否为张三来决定走哪个分支。

  • 左值类型为业务资源时

    类型为业务资源时左值则可以点击选择表单实体的业务属性。如下取流程绑定的表单实体中name属性值,即在流程环节到分支时根据name属性值是否为张三来决定走哪个分支。

# 3 分支规则

利用当前流程中所定义的分支规则来进行条件判断。该条件需要先在流程属性中定义分支规则,再在连线属性中选择分支规则并进行规则选择绑定。

# 3.1 分支规则

  • 流程属性中定义分支规则,如下位置创建分支规则:

注意:分支规则内容中需要返回boolean类型true或者false,如上图示例中,分支规则可选变量为左侧的业务资源、上下文数据、业务参数,上图示例内容区中左侧值选择业务资源中姓名属性,表达式左右值可变量也可常量,根据业务场景自行决定。

  • 连线属性设置条件为分支规则

    即在流程环节到分支时根据姓名属性值是否为张三来决定走哪个分支。

特殊介绍:

在创建分支规则时可选择业务参数作为变量值,业务参数可作为动态修改的属性变量值,根据业务场景需要随时动态修改业务参数值。如下:

  1. 创建业务参数,此时创建的业务参数时需要自定义个默认值。

  1. 分支规则使用业务参数

  1. 连线属性使用定义的分支规则

  2. 业务参数动态修改

    业务参数的修改生效可在流程进行时,通过动态修改业务参数可实现分支的动态调整。

# 3.2 复合分支规则

新版本分支规则支持多条件、多变量类型支持。可灵活配置条件。

流程定义属性配置页面新增复合参与者规则

image-20251219103734188

image-20251219104023746

# 左值

左值可选的类型为:内部变量、流程表单、当前操作人、流程发起人、指定用户、业务变量

image-20251219104246455

内部变量:

  • 流程定义:流程定义属性
  • 流程实例:流程实例属性

流程表单

可选择流程绑定表单的属性

当前操作人

可选内容如下:

  • 当前部门
  • 当前部门领导
  • 上级部门
  • 上级部门领导
  • 直属领导
  • 分管VP
  • 是否是分管VP
  • 岗位列表
  • 角色列表

流程发起人

同当前操作人

指定用户

image-20251219104414064

可选内容同当前操作人,点击人员按钮可以指定表单相关字段

业务变量

使用流程配置-业务配置-业务变量

# 右值

可选类型

类型 说明
常量 输入文本
业务字典 选择字典内容
实体 选择实体和字段
组织 可以选择机构和用户
角色 可以选择角色
岗位 可以选择岗位
表单 可以选择流程表单字段
变量 可以选择 流程属性-业务配置-业务规则里的业务变量和流程属性-业务配置里的业务参数

# 操作符

操作符 描述
等于 a == b
大于 a > b
不小于 a >= b
小于 a < b
不大于 a <= b
不等于 a != b
在集合 a in set
不在集合 a not in set
包含 set1.issuperset(set2) 或 set1 >= set2
不包含 not set1.issuperset(set2) 或 set1 < set2
开始于 string.startswith(prefix) 或 sequence[0] == element
结束于 string.endswith(suffix) 或 sequence[-1] == element
为空 len(collection) == 0 或 collection == []
不为空 len(collection) > 0 或 collection != []

注意:(在集合)(不在集合)时右值需要多选,其他的右值都是单选(组织/角色/岗位/数据字典/实体)

# 使用

在流程连线属性中选择分支规则,选择对应复合分支规则即可

image-20251219104730375

# 4 复杂表达式

复杂条件为一个值类型为boolean的Java表达式。该表达式必须符合java规范,表达式最后的计算结果必须是一个boolean类型的值。

示例:

如下图中,从相关数据中获取表单属性name 和address值进行比较

image-20251219102345397

# 5 三方服务

分支条件判断支持调用逻辑流方式,逻辑流返回值只能是true/false。即所选逻辑流或运算逻辑必须要返回值且数据类型为boolean类型。

# 5.1 EOS服务

如果开发的逻辑流与流程引擎不在一个进程,则需要使用EOS服务调用。

具体配置动作、远程URL、参数,如下表所示。

配置项 配置说明
动作 选择一个定义好的逻辑流。
远程URL 可以编辑动作的url,用于添加远程请求。
参数配置表 服务需要的参数,不能修改参数个数以及数据类型,可以通过刷新更新参数列表。

image-20251219100051284

# 5.2 逻辑流

如果开发的逻辑流与流程引擎在一个进程,则需要使用逻辑流调用。

具体配置动作、参数,如下表所示。

配置项 配置说明
动作 选择一个定义好的逻辑流。
参数配置表 服务需要的参数,不能修改参数个数以及数据类型,可以通过刷新更新参数列表。

image-20251219100426162

# 5.3 运算逻辑

如果开发的运算逻辑与流程引擎在一个进程,则需要使用运算逻辑调用。

具体配置动作、参数,如下表所示。

配置项 配置说明
动作 选择一个定义好的运算逻辑,基础构件库中所有的构件都是运算构件。
参数配置表 服务需要的参数,不能修改参数个数以及数据类型,可以通过刷新更新参数列表。

image-20251219100625033

← 启动策略 分支模式 →