背景
- 使用场景?假如现在公司同时有50人请假。其中,30人已经申请通过,还有20人在流程中流转。想法就是,不能再有人请假了,于是把这20人的流程实例挂起。等到前面30人有一部分人到岗了,然后又激活20人中的一部分。
过程
-
代码演示单个流程实例挂起
-
控制台打印
-
代码演示单个流程实例激活(与上面测试代码一致,只需要在重新执行一次)
-
控制台打印
-
假如现在流程实例已经被挂起了,去执行任务处理会发生什么?
-
情况说明,一个流程实例,zhangsan已经填好请假申请单了。流转到部门经理lisi去执行审批任务了。这个时候,我把此流程实例给挂起,然后lisi去执行任务处理,看发生了什么?
-
测试代码
-
测试结果(失败,抛出异常)
-
-
如果是流程定义被挂起后,我们要初始化一个流程实例,也会抛出异常,告诉我们不能创建流程实例,因为此流程定义已经被挂起了。
-
那如果我们把挂起的流程实例激活后,我们在执行lisi的任务呢?答案是行的。
小结
- 掌握单个流程实例的挂起与激活。
- 要非常熟悉画流程图,转为png文件。然后非常熟悉去部署流程定义,然后去实例化一个流程实例。然后进行任务处理。
- 其次,就是理解表之间的关联关系。
- 重要:理解表中每个字段含义,并且当我们执行了某个操作,比如部署,比如实例化,比如任务处理,比如激活或者挂起流程定义,或者激活或者挂起流程实例后,对应的表中的字段值被更新成了什么值。