審批業務流程設計

一、       引言

         審批流是工作流比較簡單的應用。審批流的特點是一個審批流模板對應一種單據。在審批流中僅處理單據的狀態,如審批通過、審批不通過;審批流中會用到單據數據,如條件中、各種需要引用單據變量的地方。審批流沒有涉及到多個單據之間的處理,因此審批流是相對簡單的。審批流定義節點用來爲某個具體的業務單據或某個具體單據的一個業務類型進行審批流程的定義。被定義了審批流程的單據將按照定義的審批流程被傳遞和審批。這一完整的過程就稱爲審批流。

二、       流程設計思路

通常的流程一般分爲2個層次來講:流程、節點(活動)。

1)        流程就是某一具體的業務流程(如請假審批流程,財務報銷審批流程),它由若干節點組成;

2)        節點就是一種特定業務類型的封裝,包括節點基本信息、參與者、時間限制、工作任務信息、觸發事件、啓動策略等信息。

一套完整的審批流程大體上包括:

1)        申請:針對當前業務工單發起申請,開始審批流程的傳遞。分爲2部分:由申請提交人手動發起申請、由程序自動判斷滿足觸發規則的數據自動發起申請;另外還要注意的2點:是否允許提交人撤消(是、否)、編輯(不可編輯、管理員可編輯、管理員和審批人都可編輯 );

2)        通過:當前處理人節點處理通過,進入下一節點處理,若爲最後節點,則流程處理完成;

3)        退回:將當前節點處理的業務工單退回至上一節點處理,或退回給提交人節點修改;

4)        否決:將流程直接結束,業務流程處理完成。 

三、       流程詳細設計

首先我們分析業務工單狀態,業務工單狀態從三個角度總結:

Ø  提交人:未提交、已提交、處理中、已結束。

Ø  處理人:待處理、已處理。

Ø  領取情況:已領取、未領取。

1)        創建業務工單:提交人登錄系統之後,選擇想要發起的業務工單,填寫業務工單。填寫完成可以選擇提交或者保存;

2)        未提交:列表中顯示所有保存但未提交的業務工單,未提交列表中的業務工單都沒有業務工單編號(唯一),狀態爲“未提交”。提交人可以選擇某個業務工單後能方便對其進行修改、刪除和提交;

3)        已提交:列表顯示所有已經提交的業務工單,有業務工單編號,並顯示(未處理)。提交後的業務工單進入處理流程,提交人無法進行修改和刪除;

4)        處理中:列表顯示所有提交併已經有節點處理的業務工單,提交人可以查詢某個業務工單的處理進度;

5)        已結束:列表顯示所有已經處理完成的業務工單;

6)        待處理:列表顯示所有待處理業務工單,列表的業務工單顯示兩種狀態,一種爲“未領取”,一種爲“已領取”;

7)        已處理:列表顯示所有當前處理人已處理的業務工單,既被當前處理人流轉到下一個流程節點的業務工單;

8)        已領取/未領取:每個節點下可能是一個人,同時有可能是一個部門,如果是部門,那麼該部門下的所有人都可以處理提交到該節點下的業務工單,爲了這一現象發生,設定當前節點的處理人必須領取工單後才能進行處理,領取成功後,其他人無法在領取該業務工單。

公共表結構設計及必要字段

流程實例表:(ID、流程實例編號、創建時間、創建人、流程名稱)

操作員表:(ID、用戶名、密碼、部門ID等)

部門表:(ID、機構名稱)

四、       技術參考

jBPM+SSH進行整合。

簡介

jBPM,全稱是Java Business Process Management,是一種基於J2EE的輕量級工作流管理系統。

使用jBPM優勢

將業務流程複雜的系統結構清晰話,提供系統運行時的靈活性。

1)        解耦系統業務流程

流程獨立,可以使用工具定義和建模,利於跟蹤、監控、管理、調度、優化和重整;

2)        提高系統的靈活性

系統流程定義生產環境的修改和調整,用戶和外部工具交互,任務的動態分派。

學習成本

審批流本身的概念較複雜,使用jbpm,需要學習其審批流的定義和結構,流程定義工具和語言、瞭解其數據結構。與其它工作流產品(如Shark)相比,jBPM對Java開發人員來說學習較低成本,在做流程複雜的項目時,學習成本可以接受。

適用範圍

1)        項目流程比較多,流程複雜的項目;

2)        系統運行和維護、升級時,流程可能需要修改、調整和跟蹤、控制的項目。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章