路由规则配置
百度已收录

当某节点前后有多个分支节点时,就必须使用网关,不同场景下需要用不同的网关,网关需要成对使用才能实现效果。

网关介绍如下:

  1. 排他网关: 当流程中有多个分支节点,但会按条件判断执行哪条分支且只会流转到其中一个分支
  2. 并行网关:当流程中有多个分支节点,且每条分支都需要执行,会流转到每个分支节点上
  3. 包容网关:当流程中有多个分支节点,需按条件判断执行多个分支节点,所有满足条件的分支节点都会执行

流程设计器网关节点:

三种网关图:

一、 排他网关

当流程到达这个网关时,会去执行每个分支上的条件表达式,流程会沿着条件执行结果为true的分支继续进行,如果多个分支为true,则选择第一分支进行执行,如果所有的分支都为false,则报错,流程可以有默认分支,类似if else逻辑,当都为false时,走默认分支。

         例:请假申请场景,如果请假天数小于等于3天,部门领导审批即可,如果请假天数大于3天,还需要分管领导审批。

流程设计器配置

请假天数大于3天需要分管领导审批,连接线上条件类型选择表达式,表达式的值为:

${qjsqDay>3},如下图所示:

请假天数小于等于3天直接到结束节点,连接线上条件类型选择表达式,表达式的值为:

${qjsqDay<=3},如下图所示:

条件表达式中使用了流程变量qjsqDay,该值来源于表单字段,需要在电子表单设计器中指定为流程变量,如下图所示:

流程流转效果

请假人填写申请表单,请假天数录入4:

启动流程并提交到部门领导审批节点,流程运行效果如下:

部门领导打开待办办理流程,请假天数是4天,大于3天,${qjsqDay>3}满足条件,会提交的分管领导审批节点,因此点击办理时会弹出分管领导审批节点的选人界面,如下图所示:

注:
     1.排他网关的流程只会走一个分支,条件执行结果为true的第一分支或者默认分支
     2.如果没有满足条件的分支,流程会报错

二、 并行网关

并行网关,即通过此网关后的任务并行进行,或者在这个网关之前的任务并行进行。

例:合同审批流程,合同拟稿后需要质量部、市场部、研发部会签完才能归档。

流程图如下所示:

该流程启动后,合同拟稿人录入合同信息,办理时需要同时提交到质量部审批、市场部审批、研发部审批,单击办理会弹出这三个节点的选人界面,如下图所示:

提交后流程流转图如下所示:

研发部人员打开待办提交后,流程会后面网关节点等待其他分支,流程流转图如下所示:

市场部人员打开待办提交后,流程流转图如下所示:

质量部人员打开待办提交时,由于是最后一个分支节点,需要选择合同归档节点的执行人,如下图所示:

          质量部人员提交后流转到合同归档节点,流程流转图如下所示:

三、包容网关

当流程中有多个分支节点,需按条件判断执行多个分支节点,满足条件的分支节点都要执行,此时需要用包容网关。

例:合同定价审批流程,会根据合同金额给到不同人审核,当合同金额小于等于500万时由项目经理审批和技术经理审批,当合同金额大于500万时由项目经理、技术经理和部门经理审批共同审批。

到项目经理审批和技术经理审批的连线不设置条件,到部门经理审批的连线设置条件合同金额大于500,即${contractAmount>500},如下图所示:

根据该配置,合同定价节点提交后,当合同金额小于等于500万时,会流转到项目经理审批和技术经理审批节点,当合同金额大于500万时会流转到项目经理审批、技术经理审批和部门经理审批三个节点。

如下图所示,合同金额录入1000万:

启动流程并办理任务,由于金额大于500万,会提交到三个节点,办理时会弹出三个节点的选人界面,如下图所示:

提交后流程流转图如下: