分支网关
在实施过程,比如“请假流程”、“休假流程”需要根据岗位或天数的数据决定流转不同的节点时,或类似场景,均可使用分支网关实现!
创建分支网关节点
1、入口:【工作流程】-【流程定义管理】
2、点击“在线流程建模”按钮,进入在线流程设计操作页面,设置“分支网关流程”,如下图:
设置分支网关
进入设置页面,选中设置分支网关的节点,在右边设置分支网关规则,如下图:
1、规则设置
(1)设置规则
(2)添加条件
一个分支可添加多个条件,多个条件间的逻辑关系可以是所有都满足或者满足任意一个。
条件之间的逻辑关系
①并且:所有条件必须同时满足流程才能流转到此分支。
②或者:满足其中任意一个条件流转即可流转到此分支。
(3)保存设置
温馨提示:
(1)表单字段:显示流程绑定的业务对象字段;
(2)条件表单式:字符串类型条件有等于、不等于、包含以下内容、不包含以下内容;数字类型有等于、不等于、小于、小于或等于、大于、大于或等于;日期类型有小于、小于或等于、大于、大于或等于;
(3)流程切换绑定业务对象时,使用表单变量的设置需要手动修改;
(4)由【脚本设置】切换到【规则设置】时,必须已经绑定业务对象,且存在字段信息,否则添加规则无效;
(5)暂不支持绑定业务对象在【业务对象管理】“日期”类型配置的“自定义”格式!
2、脚本设置
(1)设置脚本
(2)编写脚本
脚本快捷
同意:taskCmd.getActionName().equals(“agree”)
反对:taskCmd.getActionName().equals(“oppose”)

(3)脚本说明
设置分支网关条件:判断岗位信息,前提是需要在流程绑定的表单中维护一个岗位名称的字段信息;
表达式范例说明:
1、字符串:表单存储的是字符串:包含某个字符信息用contains运算符,2个字符串相等用equals分别表达示例如下:
1.1、(岗位名称)contains:xjsqd.get(“gangWei”).contains(“副职”);
1.2、(岗位名称)equals:xjsqd.get(“gangWei”).equals(“总经理”);
2、数字:数字之间运算符可用:>,<,>=,<=,!=,==
2.1、(天数): xjsqd.getInt(“tianShu”)<=3
3、多个条件结合运算
3.1、多个条件同时满足才往下流转,比如:岗位名称是副职且天数小于3天
xjsqd.getInt(“tianShu”)<=3&&xjsqd.getInt(“tianShu”)>3
3.2、多个条件满足其中之一即可
xjsqd.getInt(“tianShu”)<=3||xjsqd.getInt(“tianShu”)>3说明:注意标红的结合的运算符,且注意表达式中不要出现空格!
3、排序和优先级
(1)排序:可以拖拽按钮进行重新排优先级的值,默认根据分支网关多条随机排优先级;
(2)优先级:优先级为1的为最高,则当配置规则同时满足时,则只走优先级为1的分支。
①当分支网关不配置任何条件,默认条件都满足则走优先级1的目标节点;
②当前面配置的分支网关没有满足的,其中有个优先级没配置条件则代表满足,则代表找该没配置优先级较低的目标节点(比如,1和2配置不满足条件,在3,4都没配置,则流转到3进行流转)。
最后编辑:chenjt 更新时间:2025-11-28 15:39


