自從開源oa系統啟動:系統概覽放 出來後。園友們反饋了一些不錯的建議。主要集中在工作流部分。本來是先不考慮工作流部分。這些天的交流和思考。決定把工作流部分作為系統基礎結構貫穿整個 系統。所以先考慮了這個部分的設計,因為這部分的設計是否合理關係到整個系統是否可以繼續和是否有實際價值的問題。自己不敢獨斷專行。特放出來。讓大家拍 拍磚。期待各位園友一如即往提供專業意見!
本來打算用嘗試用mindmanager畫個思維導向圖的,不過down了n久都沒down下來,也就做罷了。
1,基礎部分資料庫設計。
下面說一下"頁面(功能項)表"的設計,因為其他的比較簡單。通過關係圖已經可以完整表達我的設計意圖:
我這樣設計是希望系統具有一定的自定義組裝能力,所以把設計的許可權控制粒度細到頁面級的添,刪,改,查的和區域性的使用者級,抽出頁面(功能項)表解釋下,
1),啟用審批流程:頁面(基本等同於乙個具體功能項,或者代表某項業務需求,下同),這個功能項是否需要進入審批流程;如果設定「是」則需要自定義相應的工作流程(下面會講到);
2),啟用填加控制:這個設定決定在配置使用者許可權的時候的細化程度。如果為「啟用」,則在配置使用者許可權的時候,可以控制改功能項那些使用者可以填加,那些不 可以。反之。則所有使用者均可以。當然該使用者必須具有功能項級的許可權。其他的。啟用修改,版本控制,瀏覽,刪除等類似;
3),僅自己:這個選項對啟用填加,修改,瀏覽,刪除控制均有影響。如果為「是」,則在配置使用者許可權的時候,可以附加選項「僅自己」,如果配置使用者許可權的時候「僅自己」為「是」,那麼該使用者只能修改,編輯,刪除,瀏覽自己填加的資料,反之。則無限制。
頁面(功能項)表為使用者許可權配置的時候提供可選引數,為系統配置提供服務。而許可權表是具體的使用者許可權設定。為控制使用者許可權服務;
2,工作流資料庫設計:
也就是說,系統自身實現簡單實用的工作流引擎而非採用比如wwf等的workflow enginee:
工 作流部分基於功能項和節點的組合。如果功能項(頁面)被配置為啟用審批流程。那麼需要設定相應的自定義流程。多個「節點」構成乙個完整的流程。節點的前後 順序結構在資料庫設計中以「樹結構」來體現。每個「節點」可配置多個相關人員。通過「是否需全體通過」來控制該流程節點等待所有人員都審批通過才進入下一 節點。還是只需要其中審批通過就進入下一節點。
考慮到系統的定位。沒有採用基於「崗位流轉」的工作流設計,而採用了基於「人員流轉」的工作流設計。
開源OA系統啟動 基礎資料,工作流設計
最近在做工作流這方面的東西,在網上搜了n久,看著有用的就拿來了。自從開源oa系統啟動 系統概覽放出來後。園友們反饋了一些不錯的建議。主要集中在工作流部分。本來是先不考慮工作流部分。這些天的交流和思考。決定把工作流部分作為系統基礎結構貫穿整個系統。所以先考慮了這個部分的設計,因為這部分的設計是否合理關...
工作流資料表設計
create table bk workflow id int 11 not null auto increment,name varchar 255 not null comment 工作流的名字 description text not null comment 描述 addtime int 1...
通達OA工作流主要表的資料結構
flow run prcs 流程執行明細 欄位名稱 型別中文 說明run id 數值流水號 關鍵字段 每發起乙個工作流,即建立乙個全域性唯一的流水號 prcs id 數值執行步驟序號 user id 字元步驟執行人 工作流設定中的流程編號 proc time 日期步驟開始時間 deliver tim...