Activiti_并行网关_退回实现案例


Activiti工作流开源引擎是国外组件,设计者没有考虑国内大部分中国式的流程场景,其中对于并行流程分支,单分支退回其他分支仍在运行是我们不能理解的;

我们希望看到是,并行网关流程分支中,只要有人退回,即认为总流程被退回;即某一分支退回,最终的结果是撤销总流程中所有人的待办,同时杀掉该流程进程;

 

以下为基本设计思路 

数据库工作流相关核心表:

所有流程实例:(对应数据库中表:act_hi_procinst

所有流程实例节点(对应数据库中表:act_hi_actinst

所有运行任务(对应数据库中表:act_hi_taskinst

当前运行任务(对应数据库中表:act_ru_task

执行实例表(对应数据库中表:act_ru_execution

 

并行网关退回实现思路:

1. 所有相关实例任务核心表,都有共同根实例‘PROC_INST_ID_

2. 执行退回动作时,

a. 记录根流程实例状态;

b. 记录根实例下所有历史实例、任务状态;

c. 删除根实例下所有当前运行任务、执行实例;

 

 

 

参考资料:

Activiti 并行网关实现撤回功能_程序员刘先生的博客-CSDN博客

 activiti之并行网关,驳回_勤奋写代码的人-CSDN博客_activiti并行网关驳回

Activiti 数据库表结构 | 开发文档


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM