審批工作流系統(tǒng)預覽
1、工作流系統(tǒng)有什么用?
可以簡化您關(guān)于 業(yè)務對象狀態(tài)的判斷的流程。舉例:如果一個對象每個階段有2個狀態(tài)(通過或不通過),一共有3個價段,分別可能有4個人參與到流程中,并且狀態(tài)處理的方向可能與當前操作員相關(guān),有些操作員權(quán)限大,可直接跳轉(zhuǎn)到下一階段,如是沒有工作流系統(tǒng),我們的代碼可能會是什么樣子呢?
- if( 階段1.Statu1 == obj.Status)
- {
- //您的代碼
- if( operatorID == obj張三。ID )
- {
- ...
- }
- }
- else if( 階段1.Statu2 == obj.Status )
- {
- //您的代碼
- ....
- }
- else if( ....)
- {
- .....
- }
您能想象會出現(xiàn)多少 if else ,更糟糕的是如果哪天客戶告訴你,要在某階段增加一個 特殊狀態(tài),或特殊邏輯,你肯定有想自殺的想法,或者你想把客戶殺掉。為什么?因為難度成指數(shù)級別在增長。
另外,這只是處理邏輯上代碼的增長,如果您根據(jù)每個狀態(tài)都在界面上對應有個交互界面,比如:等您審核的XXX,等待您審批的XXX。。。,您知道會出現(xiàn)多少用戶交互界面嘛?況且,用戶哪天突發(fā)奇想說要增加審批環(huán)節(jié)的時候,就是入地獄的時候了。
所有變更都是侵入性的,必須重新編寫代碼,編譯、發(fā)布、重新布置,啊,我的天哪,“天盡頭,何處有香丘?”。
2、關(guān)于工作流學習的文章或成功應用太少,不免讓很多同學感到大海茫茫,如何開始?
首先,感謝WXWinter ,關(guān)于WF4.0,我的基礎(chǔ)學習基本上是參考他的例子理解基本概念的,但是當你理解了基本概念后,想建立一個審批工作流系統(tǒng)您還是無從下手,如何辦?
困難澄清:
2.1.工作流如果要良好運行,必須有外圍用戶系統(tǒng)的支撐,比如,關(guān)于如何進行權(quán)限檢查及認證哪是業(yè)務對象的事,不應該侵入到工作流中。
2.2.工作流并不是孤立的運行,有時他需外部審批人的動作,因此必須有渠道為流程添加審批節(jié)點,并指定審批人,因此您必須提供相應的流程設計器供用戶或?qū)嵤┤藛T使用。
2.3.有時流程運行需要與人做交互,由操作員決策節(jié)點應如何向下走,并且要向運行中的流程提供運行參數(shù),外部支撐系統(tǒng)應如何提供流程的運行參數(shù)呢,這和流程運行上下文有關(guān),可能還與當前用戶有關(guān)。
2.4.關(guān)于節(jié)點自身的審批結(jié)果,有多種多樣的組合,比如:一票通過、多票通過、一票否定、多票否定、按比例通過、按比例否定等。或者他們的組合。
看到這里,也許您的大腦已被許多概念交織在一起,一片混亂了。別急,總有解決方法的,下面我們先預覽一下我心目中的工作審批系統(tǒng)是什么樣的?和您的期望是否一致,我們之間能產(chǎn)生些許共鳴嘛?
3.以公司常見的“借款申請”為例,我們一步一步的演示:
環(huán)境交待:張三 是公司員工,因要出差處理某事,出差前向公司申請借款 5000元,借款申請必須先征得部門經(jīng)理 李四的同意,后經(jīng)財務經(jīng)理 趙五 審核同意,才能用署名后的借款單到出綱換取 現(xiàn)金。
流程:發(fā)起借款申請->李四審批-> 趙五審批-> 出納付款
3.1 發(fā)起審請

3.2 啟動流程

3.3 流程啟動后的結(jié)果: 等待部門經(jīng)理審批

3.4 部門經(jīng)理審批:
首先,查看待辦事項:

雙擊查看:

點擊同意流轉(zhuǎn)到下一節(jié)點:財務審批
3.4審請人查看流程進度:

3.5 財務審批

雙擊打開申請單:

點擊同意,彈出付款賬戶供財務選擇,點擊確認流程結(jié)束。
4.流程設計器預覽:

Oh yeah….!!!!完成,感覺如何呢?
另外,我想表達一點,如何您的解決方案連自己都覺得在哪一點有不自然或覺得繁瑣的地方,說明設計與實現(xiàn)肯定有問題,應反思,因為用戶很少給自己第二次機會,提供用戶使用的軟件應是能解決實際問題,有價值且優(yōu)秀的產(chǎn)品,這樣您就有了市場需求了。
期待下文吧,OK,整個系統(tǒng)如何動作?審批工作流系統(tǒng)的設計要點是什么?
原文鏈接:http://www.cnblogs.com/yyj/archive/2013/04/22/3034327.html






























