接著我們根據上一章的實例,要來設定一個有條件的流程活動,就是會根據不同
的條件來決定不同的流程路線,可讓不同條件有不同的流程活動,我們可以
利用上一節中的Customers.Xoml來修改,如下:
Step1>重新使用Workflow Designer打開 Customers.Xoml這個流程圖,並在流程圖中將「ifElseActivity」拖入到『主管審核』的下方,為了本流程容易讓User閱讀,請將ifElseActivity1的Name改成「信用額度審核」,並在「ifElseBranchActivity1」的條件分支中將Name改成「小於10萬」,再將「ifElseBranchActivity2」的條件分支中將Name改成「大於10萬」,如圖:
Step2>再將「ifElseBranchActivity2」的Description設定為CreditAmount>=100000,ifElseActivity活動中,我們是將條件判斷式設定在Description這個屬性中,不是設定在Condition,其中CreditAmount 這是一個Customers資料表的欄位,用來當作條件的判斷,此代表如果信用額度超過或等於100000時,就會流向ifElseBranchActivity2這個支流。
Step3>再從流程活動元件區中拖入一個「FLStand」活動元件到ifElseBranchActivity2的下方,如圖:
現將信用審核的活動元件,屬性設定如下:
(Name):活動名稱,直接輸入中文 信用審核。
FormName:請選擇一個Windows的表單名稱,同樣選擇
CCustomers.CCustomers這個表單,當然,目前是因為申請與審核的表單是
同一個,如果信用審核需要不同的表單來呈現,是可以設定不同的表單,但
必須另外設計表單。
NavigatorMode:設定打開此表單後,要控制其Navigator的進入的狀態,此
活動為審核的狀態,因此我們將其設定為Normal,代表不能對資料進行更改
的動作(不能新增/更改/刪除/查詢資料等等),如果你是希望此角色需要可以更
改,則可設定為Modify的模式。
FLNavigatorMode:在此設定為Approve,代表將顯示「審核」與「退回」
的按鈕,而不是Summit的「上呈」按鈕。
SendToKind:活動的對象種類,我們設定為Role,代表此活動指定了一個特
定的角色來進行審核的動作(由角色的設定來對應所要簽核的Users)。
SendToRole:活動的簽核角色,當本活動設定SendToKind為Role之後,就
必須在SendToRole中來定義簽核角色。因為我們是要交給行政經理來負責信
用的審核,因此我們設定為R03,可以透過此SendToRole右方的下拉選項來
選擇角色代號。
Step4>最後,我們將此Customers.Xoml存檔。
Step5>接著同樣用EEPNetFLClient來執行Workflow的測試,同樣使用003 (角色:R01業務)來Login,打開「客戶申請」這個Customers.Xoml後,點選「客戶申請」這個活動來打開CCustomers這個表單,接著我們輸入兩筆客戶資料,如下:
送出的這兩筆資料中,第一筆的信用額度為50000,另一筆為150000,按下「上呈」後,依Customers.Xoml流程將呈送給了R02(業務經理)。
Step6>以005來Login到EEPNetFLClient中,此時會有「待辦事項」,如圖,可以直接在待辦事項中,以右鍵選擇「Approve」來直接審核,此方式是直接針對待辦事項來審核無須打開單據。
Step7>當005審核第一張單據時,C002這個客戶的信用額度為50000,因此依Customer.Xoml流程將會自動結案,結束流程,審核第二張單據C003這個客戶的信用額度為150000,送往後端的流程引擎處理後,將會送往R03行政經理(用戶代號為002)來進行信用審核。如下圖:
Step8>最後,我們再以002這個User來登入到EEPNetFLClient中,同樣在「待辦事項」直接以右鍵選擇「Approve」來直接審核,如圖,審核過之後,同樣會讓此單據結束流程。透過此方式我們可以來了解使用條件活動元件可以來控制流程的邏輯與單據資料的配合。
Related Topics