開源OA系統啓動:基礎數據,工作流設計

轉自http://www.cnblogs.com/kwklover

最近在做工作流這方面的東西,在網上搜了N久,看着有用的就拿來了。

自從開源OA系統啓動:系統概覽放出來後。園友們反饋了一些不錯的建議。主要集中在工作流部分。本來是先不考慮工作流部分。這些天的交流和思考。決定把工作流部分作爲系統基礎結構貫穿整個系統。所以先考慮了這個部分的設計,因爲這部分的設計是否合理關係到整個系統是否可以繼續和是否有實際價值的問題。自己不敢獨斷專行。特放出來。讓大家拍拍磚。期待各位園友一如即往提供專業意見!

本來打算用嘗試用MindManager畫個思維導向圖的,不過down了N久都沒down下來,也就做罷了。
1,基礎部分數據庫設計。

[img]http://dl.iteye.com/upload/attachment/0063/2791/10e29410-0d5b-3c0e-a09a-33a2ba750391.gif[/img]

下面說一下"頁面(功能項)表"的設計,因爲其他的比較簡單。通過關係圖已經可以完整表達我的設計意圖:
我這樣設計是希望系統具有一定的自定義組裝能力,所以把設計的權限控制粒度細到頁面級的添,刪,改,查的和局部的用戶級,抽出頁面(功能項)表解釋下,
1),啓用審批流程:頁面(基本等同於一個具體功能項,或者代表某項業務需求,下同),這個功能項是否需要進入審批流程;如果設置“是”則需要自定義相應的工作流程(下面會講到);
2),啓用填加控制:這個設置決定在配置用戶權限的時候的細化程度。如果爲“啓用”,則在配置用戶權限的時候,可以控制改功能項那些用戶可以填加,那些不可以。反之。則所有用戶均可以。當然該用戶必須具有功能項級的權限。其他的。啓用修改,版本控制,瀏覽,刪除等類似;
3),僅自己:這個選項對啓用填加,修改,瀏覽,刪除控制均有影響。如果爲“是”,則在配置用戶權限的時候,可以附加選項“僅自己”,如果配置用戶權限的時候“僅自己”爲“是”,那麼該用戶只能修改,編輯,刪除,瀏覽自己填加的數據,反之。則無限制。

頁面(功能項)表爲用戶權限配置的時候提供可選參數,爲系統配置提供服務。而權限表是具體的用戶權限設置。爲控制用戶權限服務;

2,工作流數據庫設計:
也就是說,系統自身實現簡單實用的工作流引擎而非採用比如wwf等的workflow enginee:


[img]http://dl.iteye.com/upload/attachment/0063/2793/a5b94006-a8e1-3a92-aa32-a538e83ebc0f.gif[/img]


工作流部分基於功能項和節點的組合。如果功能項(頁面)被配置爲啓用審批流程。那麼需要設置相應的自定義流程。多個“節點”構成一個完整的流程。節點的前後順序結構在數據庫設計中以“樹結構”來體現。每個“節點”可配置多個相關人員。通過“是否需全體通過”來控制該流程節點等待所有人員都審批通過才進入下一節點。還是隻需要其中審批通過就進入下一節點。

考慮到系統的定位。沒有采用基於“崗位流轉”的工作流設計,而採用了基於“人員流轉”的工作流設計。

其實我自己對工作流並不是很熟悉,歡迎大家批評指正或者提供更優的設計。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章