00:00
各位同学大家好,下面呢,我们来看下一个网关,叫做并行网关,也可以叫平行网关,这个网关的特点是什么呢?所有路径会被同时选择,那咱们看一个具体场景,说一下它到底什么意思,咱们以这张图为例给大家解释一下,然后我实际画下这个图,并且给各位用代码咱们做一个最终的测试,咱们下面来做个分析啊。各位看到啊,这个也是一个完整的请假流程。写这位置啊,请假流程,然后在里边大家看这位置是不是有一个加号,这个加号就是咱们说的这个叫并行网关,我在这个位置给大家写出来,然后他是什么意思呢?我们来看啊,比如说我现在要进行请假,那怎么请假,需要部门经理审批,并且总经理也要审批,他们两个都审批之后,那才到下一个节点,就是人事经理进行备案,最终完成这个过程,这个就是并行网关,比如我现在啊,我请假,部门经理审批了,那总经理没有审批,他就到不了人事经理这个位置,只有两个经理都审批之后,才能到达人事经理这个位置,这就叫做并行网关,而并行网关还有一个特点,大家看里面的这段话写到啊。
01:24
并行网关不会解析条件,比如说你现在在这个位置啊,跟咱刚才那个排查网关一样,加个条件,这个条件不会生效,他依然是按照这种方式,两个流程都执行之后,才能到下一个流程,就是总经理、部门经理都审批之后,才到人事经理这个位置,这个就叫并行网关,那我下面呢,咱们把这张图在设计工具中给各位画一下,然后用代码我们来做个测试,咱们看下这个结果怎么样啊。那首先我在里边啊,新建一个模型,我们叫做。
02:00
请假,咱目前用的这个叫并行网关。把这个创建啊,然后创建之后在里边画一下,首先有一个开始。之后呢,我们加上一个叫并行网关,有这个带加号,这个网关加上之后呢,在里面加上两个用户任务。比如一个是部门经理审批,另外一个是总经理审批。之后在后面啊,再加上一个这个。并行网关。就咱说这个或者平行网关啊,最终我们有这个叫人事经理备案。放到这个位置,然后最终啊,它就结束了。加一个结束事件,也就是这个。所以现在啊,是咱们需要的里边的这些组成部分啊。然后这个加上之后,下面咱给它连上啊,首先我们开始进入到这个并行网关,在网关里边经过两个部分,一个是部门经理审批,一个是总经理审批,那咱加上啊,比如这个是部门经理审批。
03:14
然后部门经理,然后给他找一个人,比如部门经理,我们是这个叫。王五。就是他了啊,王武这个是总经理。审批。总经理呢,我们给他也是起个名字,比如这个总经理。啊,写到这个位置啊,总经理。它叫做。狗娃啊,总经理。现在我们都加上了啊,然后加上之后,这两个都审批完成之后,才能到达这个人事经理位置,这里边我给他画上人事经理,就说人事备案。啊,加上啊。人事。备案。然后人事经理给他也是起个名字,比如他叫这个啊,随便起一个啊,比如叫这个什么。
04:02
这个。肖丽啊,就是他啊,肖丽不是小丽啊。这现在啊,这个我们就完成了啊,然后最后他是结束,这就是一个完整的请假流程,然后大家看这个画法啊,画上一个加号,这个网关它叫做并行网关。包括咱们记住他的名字啊,就是这个部门经理,我们叫做王五狗娃,还有这个小丽啊,王五狗娃小丽。现在完成啊,完成之后把它保存一下啊,但是保存之前咱还是改个名字啊,把这个改成我们叫这个。请假003啊,改一下啊。最终我们来做一个保存。现在啊就完成了,完成之后呢,咱把它导出这个文件。这个导出来啊,然后导出之后还是复制到我们当前项目中来,最终咱通过代码做一个完整测试啊,给它复制过来啊。
05:08
请假003现在这个完成了啊,完成之后呢,下面我们到这个代码中做测试,用刚才这个直接试就可以了,首先第一个加上文件请假003这里改一下啊,003这是第一部分部署流程定义,然后第二部分呢,我们启动流程实例,目前就不需要这个流程变量了啊,所以这个麦部分咱就给它去掉了,我们叫做请假003这个名字不要写错啊,跟你刚才那个起的名字保持一致,比如这个名字。然后之后再来看啊,下面怎么做呢?因为在我们当前的流程中,当我进行请假,部门经理,总经理是不是都需要审批,就是这两个人应该都能看到当前这个代办任务,所以咱们分别查下这两个任务,咱们有两个人,一个是王五,一个是狗娃啊两个人咱们都做一下查询,比如咱先查王五看有没有,再查狗娃看有没有,如果两个都有之后,咱可以查下一个人,就是那个小丽啊,看他有没有,因为当前这两人只有都审批之后,小丽才能看到,如果他们没有审批,小丽应该是看不到的。
06:18
啊,这咱一块儿查询啊,然后之后咱们让这个王五完成任务,再让这个就是狗娃完成任务,然后最终我们来看一下啊,小丽能不能看到这个那种啊,就是通过它我们做一个最终的这个测试。这个代码啊,这个结构我先写一下,一会儿咱们再做一个完善。那结构先写出来啊,这个是。丑娃。所以现在啊,咱通过这种方式做个测试啊,我再说一遍,我们怎么做啊,前两步不变,流程定义部署启动流程实例,然后第三步,这里边我们就查这个部门经理和总经理能不能看到这个代班任务正确应该能看到,小丽肯定看不到,而下面咱让王五和狗娃都把流程审批完成,再通过小丽查看能不能查到,或者说咱让王五降分任务,狗娃不完成,看小丽能不能查到,正常应该是两个人都完成审批之后,这个人事才能看到这个相关的内容啊,那咱们通过这个代码,我们下面开始做这个测试,咱们一步步试一下啊,第一部分。
07:30
部署流程定义,把这个先执行一下。等他进行出来啊。第一部分执行完成,下面第二部分启动流程实例,这里边不需要这个流程变量啊,这部分咱就给它去掉了,然后现在把第二个执行。等他定出来啊,咱们再看第三个,第三个呢,咱分别查这个王五还有狗娃,看这两人能不能查到代办任务,因为咱当前的网关是这个并行网关,目前应该是能看到,我们看这个名字啊,这个还有这个狗娃。
08:06
啊,那咱们下面来查一下啊。等它顶出来啊。这个过程也完成了啊,然后下面咱查一下王五啊,等他执行。执行之后我们再查一下这个。狗娃。看这个纸啊,先查王五看有没有啊。我们来看啊,王五查到的是部门经理审批这个正确的,咱们再查一下狗娃,狗娃如果查询正确,应该是总经理审批,等他执行出来啊,咱们看结果。各位跟着我一起来看啊,效果是看到了,总经理狗娃是不是能查到证明,咱这流程就是刚才我说这个效果啊,咱说这个叫并行网络,然后这个时候咱怎么做呢?对我下面的过程啊,我这么来做,我现在让王五把这个任务完成,就是他完成审批。
09:07
完成审批之后呢,正常来讲,咱的下一个流程人事备案,这里边这个叫做名字啊,小丽应该是看不到这个代问任务的,只有等这个总经理都审批之后才能看到,所以咱们先这么试,让王五部门经理先审批,然后小丽看一下能不能看到,如果看不到那就正确了。那咱们等他进行出来啊,这个是王五。然后这个位置我查这个小丽。先等王五啊,把任务完成,就是完成这个审批,比如王五现在审批通过啊,这个可以,咱们下面查这个小丽,看他能不能得到啊,就验证一下刚才我说这个效果。然后各位来看啊,小丽查到的是不是零啊,就是他查不到带文任务,因为流程还没有到他这里,然后下面呢,当然这个狗娃也审批完成,最终再查小丽,这样的话应该能查到,然后狗娃听出来啊,然后最终啊,把这图咱再最后说一遍啊,我们的过程就是当我现在发起这个请假申请,由部门经理审批,并且总经理也需要审批,他们两个经理都审批完成之后,才到人事这边进行备案,如果两人只有一个人审批之后,他到不了人事经理这个位置,只有两人都完成之后才能到这里边,这个就叫并行网关,所有路径都会被同时选择。
10:34
那咱来看啊,目前这里边的狗娃也完成了,最后咱再查一下这个小利,应该能看到我们最后这个在完任务,因为目前到了小丽这个位置。然后大家看啊,最后查出这个人事备案是不是就可以了,验证出来我刚才说这个效果,所以以上啊,就是咱们说的第二个网关叫并行网关,这个咱们就也是完了,然后特别记住这句话啊,并行网关不会解析条件,它里边的路径都会被同时选择。
11:06
这个咱们就说到这里啊,然后之后呢,里边还有最后一个网关叫包含网关,这个网关给大家来解释一下啊,然后这里边我就不用代码测试了,让这个图给大家详细说明一下,咱们说一下这个是什么意思?我把这个图给大家同样复制出来,咱们解释一下啊,什么叫包含网关?我们放到这个位置啊,然后大家看这张图里边啊,它也是一个请假流程,然后这个图怎么来看,各位看到啊,这个符号里面有一个圆包有一个菱形,它就叫做包含网关。然后这个包含网关有什么特点呢?各位看这段话啊,它的特点是什么?可以同时执行多条线路,也可以在网关上设置条件,这是它的特点。比如说你可以这么理解,把它看作成什么排他网关和并行网关的结合体,它既有排他网关的特点,也具备了并行网关的特点,在包含网关中都可以里边有体现。
12:15
那咱看具体什么含义啊,首先各位看我的过程中啊,在这过程中我们看这叫包含网关,比如我现在我的流程中。不管你是怎么审批,都要人事经理进行审批,不管你是部门经理还是总经理,人事经理肯定要进行审批,而部门经理、总经理这过程中我们加了一个就是判断,就咱说那个排他网关,你看判断中如果说啊,小于等于两天由部门经理审批,人事经理审批最终结束,如果说你大于两天由总经理审批,再加上人事经理审批最终结束,这就叫做包含网关。也就说咱们再说一遍啊,既包含排他网关功能,就设置条件,我们要么部门经理,要么总经理也包含并行网关,不管你是这两个中的某一个审批,都要人事经理完成之后,最终才能到下一个节点,这就叫做包含网关。在实际中这种用的也是很多,因为它能做出更复杂的流程。
13:19
啊,所以说以上啊,咱就把这个网关部分给大家做个解释,包含排他网关,并行网关,以及里边这个包含网关。
我来说两句