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