記camunda串行會簽的使用(同節點多人順序審批)


背景

由於流程引擎的需求較多,最近出現一個不定長的有序審批需求,之前一直做的都是最基礎的流程審批,一下子被難住了,查了好多資料,大概確定方向是camunda的會簽,但資料又有些欠缺。

后來在看並行會簽的時候發現了這個功能,大致實現的功能是:某一個節點,可以選擇多個不同的審批人,按照順序審批下去,最后一個人審批通過則通過

繪圖

繪圖工具拿了Camunda Modeler,這邊摘取其中一個節點作為示例。

如圖,流程從發起申請開始,到達領導審批節點,領導審批節點會存在多個審批人,且需要按照順序,若有一個人不通過,則流程返回發起申請,否則流程完結。

流程圖

 

 串行審批節點

選擇如圖橫着的三條杠,左側豎着的是並行

 

 

 會簽參數

主要參數見右側

Collection:指集合名稱(所有需要審批人的標識列表)

Element Variable:集合內的元素變量(當處於某個審批人時,該變量里存的會是當前審批人的標識)

Completion Condition:向下流轉的條件(這邊設置了未完成的審批=0或達成拒絕的條件時向下流轉)

 

 注意

需要注意的是,右側的Assignee,Candidate Users,Candidate Groups依然按需填寫,按照負責人/歸屬用戶/歸屬組等條件查詢時依然需要。

若采用Assignee的話,填寫上一步中的Element Variable字段的內容,即可獲取當前審批人。

 

會簽自動生成的字段

處於會簽節點時,該task會自動生成以下幾個字段(可用於上述作為節點完成的判斷條件),字段與任務完成時塞入的map同一層級:

nrOfInstance 實例的數目
nrOfCompletedInstances 完成實例的數目
nrOfActiveInstance 未完成實例的數目
loopCounter 循環計數器,辦理人在列表中的索引。

 代碼

代碼邏輯與普通的流程處理無差,只是在流轉到串行審批節點時,需要將Collection中的字段傳入map中如何執行complete。

// 待補充


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM