自己開發的工作流引擎


辭職了,很久沒寫文章了,我的工作流項目爛了,是團隊爛了;我現在想把這套東西貼出來,希望大家吐個槽;望大家不吝指點!

android暫未完成,ios還未開發

工作流引擎設計工具我是使用wpf做的一個客戶端程序,能可視化的設計流程l;

整個流程的跑動是asp.net做的,並提供了相應的接口,便於移動端調用!

先看看整個項目的截圖把:

1)流程設計工具,用戶身份驗證,根據登陸用戶獲取隸屬於該用戶能操作的流程模板,請求wcf來進行身份驗證;

2)這個是驗證后獲取用戶具有權限的工作流模板;(1)為流程模板分類,便於設計和實際跑時管理(2)為模板列表,並有些基本信息,狀態,名稱,等信息;雙擊可對其進行編輯;(3)左上角+號為創建一個工作流;

 

3)創建一個工作流,程序默認會加入開始和結束環節,一個工作流必須有開始,有結束;

工具欄

(1):添加一個普通環節;普通環節,能給該環節設計訪問權限,可編輯權限,處理動作等

(2):添加一個分流環節;何為分流,即一個事物需要兩或多個角色同時同意才能夠進入下一個環節

(3)添加一個合理環節;有分必合,這是和分流環節配套使用,因為一山不容二虎,老大始終只有一個。

(4)添加一個連接線;何為連接線,從a棟樓走到b棟樓必須得有路,不可能飛過去,就算飛也得有個路徑;那么這個連接線就充當這條路,並能設置條件,滿足了你才能進入下一個環節,就好像深圳地鐵安檢一樣,你包里有危險東西,安保同志是肯定不讓你坐地鐵的;

(5)刪除選中的對象:我選擇設計面板上的任何一個對象(連接線,環節)我多可以干掉

(6)html模板編輯器;web上流程內容、格式如何展示,就得靠這個東西去編輯了,想想還是有點小雞凍

 (7)保存編輯:將整個模板的結構保存到服務器數據庫中;

 

4)創建一個請假流程:

 首先我可能會添加這個流程用到的字段,什么類型的,瀏覽器上的輸入控件是什么,庫中的數據類型是什么,默認值是什么,是否需要默認從字典表中綁定什么等等信息,任你發揮好了;

5)做了這些了,得設定這個申請環節信息了;

 1)基本信息 :基本信息的設置,名稱,處理時限,超過時限了是否跳過該環節

2)人員設置:能訪問這個環節的角色,部門,個人等權限設置

3)處理動作:到了這個環節有哪些操作,提交,撤回等其他動作(這個就和連接線配合了)

4)信息項設置:哪些字段在這個環節可見,可編輯

5)特殊權限:暫未實現

 

人員設置:

處理動作

信息項設置:

 

頁面如何展示呢?html編輯器來了;

完成一個模板:

 

 

現在模板完成了,看是否能按照設計跑呢?我們登陸管理系統一看便知:能發起申請的是非超級用戶的兩個用戶:

果然沒錯,是它是它;我們發起一個,看是否這楊跑呢?

 

悠嘻,沒錯,是我寫的個table,沒錯;

 

填好了提交了,下個環節應該是超級用戶來處理的;

進去看下

 

 

簡單的流程就跑完了;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM