排他网关概念理解
排他网关,也称为异或(XOR)网关,用于流程中实现分支决策建模。排他网关需要搭配条件顺序流使用。
当流程流转到排他网关时,所有流程顺序流都是会顺序求解, 其中第一条条件为true的顺序流会被选中(当有多条顺序流都为true,只有第一条会被选中) , 此时流程不在进行计算而是沿着选中的顺序流进行流转。如果顺序流计算结果都为false,且该网关定义一个默认顺序流,那么该默认顺序流会被执行。 如果顺序流计算结果都为false,且该网关没有定义一个默认顺序流,则抛出异常,中断执行(为避免这种情况,至少确保有一条顺序流计算结果为true)
在线演示,点击下面链接。
www.jeecgflow.com
应用场景
- 条件分支:当流程需要根据某些条件(如时间、数据状态、用户输入等)选择不同的处理路径时,排他网关可以确保在任何给定时刻,只有一个条件分支被执行。
- 异常处理:在流程中,如果发生了异常情况或错误,排他网关可以用来定义异常处理流程,确保流程不会同时进入多个异常处理路径,避免流程混乱。
- 资源分配:当流程需要分配有限资源(如设备、人员、资金等)时,排他网关可以确保资源分配按照预定的规则进行,避免资源冲突。
- 权限控制:在需要根据用户角色或权限来决定流程走向的场景中,排独网关可以确保流程按照用户的权限和角色正确地执行。
- 审计和合规:在需要遵守特定法规或审计要求的业务流程中,排他网关可以确保流程遵循既定的规则和标准,以便进行有效的合规性检查。
- 竞赛或比赛流程:在举办竞赛或比赛的过程中,排他网关可以用来自动化判断参赛者的资格、评分、晋级等决策,确保比赛流程的公正和一致。
排他网关是BPM中的一种重要控制元素,它帮助企业确保流程的逻辑性和一致性,特别是在需要做出选择或决策的关键点上。通过使用排他网关,企业可以设计出更加清晰、高效的业务流程。
需求说明
假设有一个请假申请,请假1天由直属领导审批,请假大于1天小于3天则HR审批, 请假大于3天则Boss审批
设计流程
使用JeecgFlow设计流程
- 请假1天的的条件设置:${days==1}
- 请假大于1天小于3天的条件设置:${days > 1 && days < 3}
- 默认情况的,不做任何设置,并且位置要在下面,不然始终执行默认分支。
演示验证
使用将军角色,关羽,张飞登陆系统
- 发起流程
- 运行轨迹