工作流引擎如何实现流程实例激活操作?

     在OA、CRM等传统的审批流系统中,可能会遇到类似这样的需求。系统按照季度或者年份已经完成的审批单子进行复审操作。如果某些审批单不满足条件或者审批错误,则需要当事人对其进行重新审批。该操作就涉及到已经完成的实例如何重新启动,并由管理员指定从指定的节点开始。然后相关人员收到待办任务,并对其进行重新复核。

     对于流程实例的重启操作需要考虑如下几个问题?

         1、那些流程实例可以激活?很明显,只有已经完成的实例才可以对其进行激活,正在运行的实例不可以对其进行激活操作。在这里得出一个结论,被激活的流程实例一定是已经处于完成状态。

         2、原有已经完成的历史实例相关数据如何与新发起的实例进行关联,原有流程实例相关的数据有:历史表单、历史意见、节点信息、历史模型等等。这些实体信息如何保存和还原呢?

        3、新发起的流程实例如何可以从指定的节点开始进行运转。默认工作流引擎框架发起实例均是从开始节点进行流转,对于流程激活功能没必要从开始节点开始运转,如果采用默认的发起机制,则发起实例之后,还需要额外的跳转操作,实现起来比较麻烦,且性能不高,因此盘古BPM工作流引擎发明了一种全新的发起实例API,这样就可以在流程发起的时候指定流转到指定的节点,相对原生的API,效率会更高,一步到位,无需进行大量的跳转操作。

       4、因为跳转不太容易控制实现,比如并行网关的跳转,嵌套并行网关的跳转、多层执行树的跳转等。因此在发起实例的时候或者完成任务的时候去指定下一步流程实例可达节点的设计还是非常有必要的。

       5、在重启实例的设计中一定要考虑新旧两个实例的关联和日志记录,方便后续对其进行统计和追责到人。

盘古工作流引擎实现流程重启?

      接下来看一下在盘古BPM工作流引擎中如何使用流程实例的激活功能。

打开”工作“->”流程管理“->”工作“->”流程优化管理“,如下所示:

工作流引擎

点击要重启的流程模板,点击查看,如下图所示:

流程实例激活

操作步骤为:点击节点(该节点为新的流程实例从哪个节点开始),鼠标上浮之后,点击”同步执行“或者是”异步执行“。然后点击重启实例table 选择实例即可。如下图所示:

实例重启

同步执行会立即执行,异步执行会使用定时器方式执行。

盘古工作流引擎流程重启效果?

      进入我的工作台,查询待办,就会发现新的待办任务,重新启动实例的任务与常规的一样,无差异性,如下图所示:
盘古bpm待办

相关教程