.NET 工作流: Slickflow開源工作流引擎高級開發(八) -- 審批網關(ApprovalOrSplit)模式的應用


前言:業務流程流轉過程中,審批類型的節點是比較常見的,在審批操作中,常見的操作就是就是主管人員對待辦事項進行同意或者拒絕。所以網關處理節點,就是需要對這兩種審批結果進行預備處理,審批網關是在或分支(OrSplit)的基礎上,特意針對審批類型進行處理(同意或拒絕),跟或分支的區別方式是:條件參數不用每次配置,而是對連線(Transition)的屬性進行快速配置就可以。審批網關建立的好處就是省去條件參數的傳遞,也簡化編程過程中的條件(Condition)變量的維護。值得在流程中推廣使用。

1. 或分支(OrSplit)介紹

 或分支是一種決策結果的處理,通常可以在連線(Transition)屬性上進行條件參數的配置,當條件表達式被滿足時,可以走該分支,當條件參數不滿足時,則會繼續遍歷下一個分支,依次完成該網關節點的執行。圖形示例和條件表達式示例如下:

 

 

 

 圖1-或分支

2. 審批網關(ApprovalOrSplit)介紹

審批網關是在或分支的基礎上進行的擴展,因為在一些審批過程中,對事項的處理要么是同意,要么是拒絕,結果導向非常明確,沒有其它條件參數的干擾。所以針對這種類型,可以構建出一種專門的審批網關模式。跟或分支網關模式的區別是:不用配置條件參數,而是增加了審批結果:同意或拒絕的枚舉類型設置。轉移屬性的配置頁面如下圖所示:

 

 

 

 圖2-同意分支配置

 

3. 普通流程的審批網關模式應用

 在一個任務節點處理中,其后面可以直接繪制一個審批網關節點,這樣當用戶對該任務節點進行同意(Agreed)或者拒絕(Refused)的操作(可以調用WorkflowService接口),其對應的分支也會被選擇。其示例圖形如下:

     

 

 圖3-普通流程審批網關模式

 

 

 

4. 高級會簽流程的審批網關模式應用

會簽節點的處理,是多人對同一辦理事項的集中投票處理,所以會簽節點上面,會涉及到會簽類型,會簽通過率的設置等操作。會簽模式可以跟審批網關模式結合使用,因為會簽最終的結果就是要么同意,要么拒絕,所以非常適合審批網關模式的應用。會簽流程圖形示例如下:


 

圖4-會簽審批網關模式

在編程模型中,會簽節點能否通過,需要計算會簽節點的通過率,這個是根據每個會簽實例節點上的審批狀態(ApprovalStatus)的數值來進行計算。當實例中的會簽同意數量達到通過率要求,才可以使整個會簽節點通過,並且根據審批網關上的分支選擇匹配的分支,這樣不用額外的條件參數配置,簡化了會簽流程的處理。會簽審批數據如下:

 

 圖5-會簽節點審批狀態數據

5. 總結

1) 審批網關(ApprovalOrSplit)可以被廣泛應用在審批類型的節點操作中,因為其預備處理了同意或拒絕的兩種結果處理,所以是比較方便的。

2) 在BPMN圖形繪制過程中,建議保留網關(Gateway)節點的繪制,這樣比較方便業務人員對流程的理解,在有些廠商的流程模型中,是在任務節點的屬性上面配置了審批結果的分支選擇。圖形中的網關節點的出現,比較有助於用戶對業務流程的理解,值得用戶采納使用。

 


免責聲明!

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



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