前言
设想这么一种场景,一个流程有3级审批,其中第一级审批完毕后本应该到达二级审批的,但是可能觉得这个流程模板设置的不尽合理,需要再在上面增加一级审批人,即变成4级审批,这个需求该怎么做呢?
按照我们初步的设想,解决办法大概有这么两种思路:
第一,修改流程模板
这是一种大家很容易想到的方法,即重新更新一下流程定义文件,更改审批节点的审批人,所谓直接修改模板。在模板中添加节点以及连线,并修改实例的走向。
第二,修改流程定义对应的缓存数据
即不修改模板,新增的节点与当前需要加签的实例挂钩,关于缓存数据,我们可以先这么理解,即每个流程模板一旦启动一个实例之后,相当于是说在缓存中添加了一个流程定义的副本,这个副本被当前启动的这个流程实例使用,很明显这样做的好处就是,不会影响其他正在运行中的流程实例
需求原型:
比如说,我们这里的审批存在step1和step2两个审批节点,这时需要新增一个step1_2的节点进来,按照上面的思路,我们无需修改原有的流程定义文件,而是需要动态