第三章Workflow基礎設計實作第三章Workflow基礎設計實作\3-4 會簽活動處理

3-4 會簽活動處理

在企業的簽核單據中,經常會有多個人一起簽核意見的情況,當然我們也可以一個個依次貼入多個活動元件來讓個別的對象簽核,但這樣會有時效性的問題,就是必須上一個人簽完後才能讓下一個人簽核,因此,在EEP WF的系統中,我們提供了一個 ParallelActivity活動元件來專門處理這種多個對象同時簽核的情況,這種活動會平行觸發多條方向同時簽核,可以提高企業的運作效率。另外,此活動元件中也可以設定多個活動是「AND」或「OR」的關係,一般沒有設定都是代表「AND」,就是所有活動中都必須全部簽核才能到下一個活動(我們稱之會簽功能),否則會一直等待簽核;「OR」則代表平行的活動中,只要有一人審核了,就自動往下一個活動(我們稱之為平行簽核),端看你的流程需求而定。

Step1>        在原來的Customers.Xoml當中,經過主管審核後,我們希望這個客戶的申請能指派一個服務窗口給他,因為服務窗口的指派與信用審核不衝突,因此,我們在主管審核後分流同時進行服務窗口與信用審核的指派,並且在信用審核與服務窗口指派都必須被簽核過關後,才會進入「通過通知」的活動中,為此,我們特別在Customers這個資料表中,增加了ServiceRole欄位(nVarchar 20),代表服務窗口的角色代號(GroupsGroupID),如下:

Step2>        因為sCustomers.dll這個Server端的模組,之前我們是使用「Select * From Customers」的方式下達SQL語句,因此SCustomers.dll就無須重新編譯,即可取出新的ServiceRole欄位。接著,我們打開mCustomersFL這個專案。選中dataGridMasterColumns屬性,打開JQGirdColumn,添加ServiceRole欄位,並將它上提至CreditAmount下,同時設置屬性AlignmentleftWidth設置為120

 

Step3>        同樣,選中dataFormMasterColumns屬性,打開JQFormColumn,添加ServiceRole欄位,並將它上提至CreditAmount下,同時設置屬性Width設置為120。。

Step4>        FLDesigner打開Customers.Xoml,首先在「主管審核」與「信用額度審核」間拖入ParallelActivity活動元件,如圖,拖入後,請立即將「信用額度審核」的IfElseActivity活動元件整個拖入右邊的ParallelActivity(sequenceActivity2的下方)

Step5>        ParallelActivity的「Description」是用來設定是否為會簽或平行簽核,設為「AND」代表為會簽,設為「OR」代表為平行簽核,在這裡我們輸入AND

Step6>        接著,我們再拖入一個FLStand標準活動於ParallelActivity的左方(sequenceActivity1的下方),如圖,我們按下文來設定此活動元件。

現將這個FLStand的活動元件,屬性設定如下:

(Name)活動名稱,直接輸入指定服務窗口。

NavigatorMode設定打開此表單後,要控制其Navigator的進入的狀態,此活動因為要能夠讓其對象可以更改,因此我們設定為Modify,代表可以對資料進行更改的動作 (不能新增/刪除/查詢資料等等),目前是可以更改所有欄位,如果要控制只能輸入ServiceRole欄位,我們將在進階設計中來說明如何控制。

FLNavigatorMode在此設定為Approve,代表將顯示「審核」與「退回」的按鈕,而不是Summit的「呈送」按鈕。

SendToKind活動的對象種類,我們設定為 Role,代表此活動指定了一個特定的角色來指定服務窗口的動作。

SendToRole活動的簽核角色,當本活動設定SendToKindRole之後,就必須在SendToRole中來定義簽核角色。因為我們是要交給客服經理來負責服務窗口的指定,因此我們設定為R05,可以透過此SendToRole右方的下拉選項來選擇角色代號。

WebFormName請選擇一個Web的表單名稱,同樣選擇MobileClient.mCustomersFL這個表單。

最後別忘了對此Customers.Xoml進行存檔。

Step7>        同樣以003這個User來登入,點選「客戶申請」這個表單,接著我們輸入一筆客戶資料,信用額度我們輸入11萬,目的是為了不經過總經理審核,但又需經行政經理信用審核,服務處窗口我們暫時不輸入,最後我們按下「呈送」後,會自動送往R02業務經理待辦中。

 

 


 

Step8>        使用005登入,再從「待辦事項」中找到0007這個申請單,點擊「審核」輸入完批示意見後按下「確認」,系統會告知同時送往 R05客服經理(指定服務窗口),與R03行政經理(信用審核)等兩個活動,代表此兩個角色會同時收到此單據。

 

Step9>        我們先使用002登入,再從「待辦事項」中找到0007這個申請單,當按下「確認」時,系統會告知「等待對象」R05(客服經理),此代表在會簽當中,不管有多少對象,系統會清楚告知還要等待多少對象。

 

此會簽會有一個現象,就是必須大家協同一致的方向,不能有的是選擇審核,有的選擇退回,這樣系統會提出「你不能退回/前進,因為另一個的狀態為前進/退回」。

Step10>     接著使用007登入,再從「待辦事項」中找到0007這個申請單,如圖,可以按下「更改」來更改「服務窗口」的欄位,此時我們設定為R04,代表指定某一個工程師的角色,為了配合下一節的動態角色,我們在此還是輸入角色代號,不然一般情況下,都會以USER代號為主。

更改後按下「確定」存檔,最後按下「審核」,因後面只剩下申請者003的通過通知活動,因此系統會告知本流程已結案的訊息。

Top of Page