基於Metronic的Bootstrap開發框架--工做流模塊功能介紹

在很早以前的隨筆裏面,已經介紹了WInform框架中工做流模塊的功能,不過因爲工做流模塊中界面處理部分比較麻煩,一直沒有在Bootstrap框架中進行集成,最近因爲項目的關係,花了很多精力,把工做流模塊從新梳理遷移到Bootstrap框架上,本篇隨筆主要介紹基於Metronic的Bootstrap開發框架的工做模塊功能。數據庫

 一、工做流的設計模型

在咱們開始介紹工做流模塊功能以前,咱們須要瞭解下工做流模塊的設計模型,以便咱們更好深刻了解各個部分的功能。框架

咱們知道,咱們在Office裏面建立任何文檔,都有一個模板的概念,這樣咱們方便利用一些現成的數據和佈局,工做流也同樣,有一個流程模板的概念。每一個流程模板,自己會預約義了一系列的處理流程,以便在流程實例裏面進行不一樣的處理,所以流程模板還包含了多個流程步驟對象。每一個流程實例,除了他們本身的流程數據和字段信息外,它自己還有一個表單設計的問題,如費用審批,可能包含填寫的費用清單數據等,因此流程實例還應該包含了流程的業務表單對象。工具

在工做流處理表中,首先咱們區分流程模板和流程實例兩個部分,這個其實就是相似模板和具體文檔的概念,咱們一份模板能夠建立不少個相似的文檔,文檔樣式結構相似的。同理,流程模板實例爲流程實例後,就是具體的一個流程表單信息了,其中流程模板和流程實例表單都包括了各個流程步驟。在流程實例的層次上,咱們運行的時候,須要記錄一些日誌方便跟蹤,如流程步驟的處理日誌,流程實例表單的處理日誌等這些信息。佈局

一旦流程實例根據模板建立後,流程先根據模板初始化後,在處理過程還能夠動態增長一些審批步驟,使得咱們的處理更加彈性化。設計

固然,爲了更好的處理流程的相關信息,還須要記錄流程處理人,流程會籤人、流程閱辦人,以及經常使用審批意見等相關輔助表,以便對流程的各個處理信息進行合理處理和展現。3d

對於一個流程處理操做,咱們知道通常有審批經過、拒絕、退回到某步驟、轉發到內部閱讀、閱讀,以及包括起草者能撤銷表單呢等操做,固然若是還有一些具體的業務,可能還會有一些流程的處理才操做,不過基本上也能夠歸結爲上面幾種,只是他們每步處理的數據內容不一樣而已。所以審批的操做步驟分類以下所示。日誌

在流程審批中,通常還有一種流程處理就是會籤的操做,會籤處理是幾個審批步驟中審批人同時處理是否經過的,通常同時經過即爲經過。orm

會籤是指建立一個或多個子流程供相關人員進行審批,等待所有人員完成處理後再次回到主流程上,而後決定是否繼續流轉到下一個流程步驟上去,通常的申請單的主流程以下所示。對象

這裏設置的會籤處理就是其中一個步驟,一旦會籤處理步驟發起會籤,就會構建多個可供審批的子流程了,以下所示。blog

在會簽發起的步驟,指定參與具體流程會籤審批的人員,而後流程則會流轉到不一樣人員進行相關的處理【待辦事項】。

我在工做流中定義會簽完成後,由會簽發起人審覈(會簽結果審覈),決定是否進入下一步流程,在審覈過程當中決定如何處理這個申請單。

 

二、工做流模塊介紹

1)流程環節管理

從上面的基礎知識介紹中,咱們知道,流程環節是構成流程模板和流程實例的基本單元,咱們須要定義不一樣類型的流程處理環節,如審批、會籤、閱辦等等,不一樣類型的流程環節,在流程步驟的處理環節中是不同的,咱們也爲這些不一樣的環節定義不一樣的審批界面。

首先咱們在Bootstrap框架的系統菜單中選擇【工做流管理】【工做流維護】【流程環節管理】菜單,就能夠進入對應的流程環節管理界面。

在流程環節管理界面中,會列出系統全部定義好的流程環節,咱們也能夠定義本身的流程步驟。

在系統主界面裏面,咱們通常已經預約義了一些常規的如審批、會籤、閱辦、歸檔等類型,咱們若是須要定義特殊的審批界面,咱們就能夠在這裏定義一些不一樣的流程環節,也能夠對已有的環節進行必定的修改處理。

 

2)流程模板管理

 經過第一步的流程環節定義,咱們接下來就基於流程環節,定義流程模板的內容了,流程模板是咱們開展一些工做流的基礎,也就是說,咱們先有特定流程的模板,而後纔有具體的流程示例。

流程模板咱們定義的時候,須要指定它的具體名稱,另外有幾個字段是必須注意的,就是它的對應業務表名和建立流程URL、查看流程URL這幾個信息。

指定這些內容,咱們在指定的視圖頁面中處理不一樣的流程信息,建立在Create視圖、查看在ViewDetail視圖,其中還會包含一個index視圖列出該類型的申請單,這幾個列表均可以使用代碼生成工具快速生成,具體代碼的生成過程,我會在隨後的文章中及進行詳細介紹。

這樣的自動化,能夠迅速提升咱們開發工做流業務的效率,而且和整個系統風格保持統一。這個就是咱們整個開發框架系列的精髓所在,以工具提升效率,統一過程。 

再次回到流程模板的處理來,咱們剛纔只是定義了流程模板的一些基礎信息,對於這個流程模板,咱們還須要肯定它的流程步驟,這個纔是工做流的靈魂所在,動態化的流程步驟,能夠知足咱們大多數變化流程的須要。

流程步驟的定義,以下界面所示,能夠指定流程處理人,經過選定角色、部門或者具體人員均可以,若是沒有選擇具體的處理人,那麼默認會以當前用戶部門的人員供選擇。

如但用戶選擇人員的時候,彈出層能夠根據組織機構、角色進行用戶的篩選和選擇。

 

 

3)業務受理列表

 業務受理列表,是根據咱們數據庫中定義的流程模板,動態列出申請單的建立入口,提供一個統一的入口方便咱們處理。

一下是咱們工做流模塊中定義好的一些流程模板,能夠供建立業務表單。

這些業務表單入口,單擊後就能夠建立對應類型的申請單了,咱們以剛纔介紹的請假申請爲例,單擊後進入請假申請單的Create視圖界面,建立新的申請。

其餘的業務申請單也是相似,咱們只須要使用代碼生成工具Database2Sharp對具體業務表單的工做流模塊代碼進行生成後,就能夠配置使用,而且能夠建立對應的業務表單的了。

對於一些具備明細表單的操做,也有案例能夠供參考。

 

4)個人審批工做

個人審批工做是列出和我相關的審批表單,包括已辦、待辦、 發起的幾種類型的分類,其中每一個種類型又能夠繼續細化不一樣表單類型,方便咱們快速選擇查看,以下列表所示。

經過快速定位所須要的類型申請單,咱們能夠很好的完成一些待辦工做,以及能夠查看本身參與的流程申請單的處理狀況等等。

雙擊其中的申請單,能夠查看具體的申請詳細信息,包括流程審批信息和業務表單信息等。

而若是是流程處理中的申請單,咱們能夠在相關的處理按鈕中執行咱們本身的審批操做。

 

5)全部申請單

 全部申請單是提供一個給流程管理員的一個入口,方便對一些錯誤或者不須要的申請單進行刪除等維護操做。

這裏面列出的是系統全部的申請單,這個頁面通常不暴露給普通用戶,而是做爲後臺數據管理的一個頁面,對不須要的數據進行刪除操做的。

 

6)個人草稿

 個人草稿是提供一個界面維護我本身的申請單草稿的,界面效果以下所示。

在咱們建立申請單的時候,有時候錄入數據後暫時想存起來而不提交的話,保存爲草稿就能夠,下次則能夠直接從草稿中繼續申請單的處理。

相關文章
相關標籤/搜索