# 排他网关

排他网关,也称为异或(XOR)网关,用于流程中实现分支决策建模。排他网关需要搭配条件顺序流使用。
当流程流转到排他网关时,所有流程顺序流都是会顺序求解, 其中第一条条件为true的顺序流会被选中(当有多条顺序流都为true,只有第一条会被选中), 此时流程不在进行计算而是沿着选中的顺序流进行流转。如果顺序流计算结果都为false,且该网关定义一个默认顺序流,那么该默认顺序流会被执行。 如果顺序流计算结果都为false,且该网关没有定义一个默认顺序流,则抛出异常,中断执行(为避免这种情况,至少确保有一条顺序流计算结果为true)

# 需求说明

假设有一个请假申请,请假1天由直属领导审批,请假大于1天小于3天则HR审批, 请假大于3天则Boss审批

# 设计流程

foo

  • 请假1天的的条件设置:${days==1} foo
  • 请假大于1天小于3天的条件设置:${days > 1 && days < 3} foo
  • 默认情况的,不做任何设置,并且位置要在下面,不然始终执行默认分支。

# 演示验证

使用将军角色的用户登陆系统,比如:关羽,张飞

foo

  • 通过发起流程按钮,提交请假申请表单 foo
  • 预览运行情况 foo
  • 预览运行情况