目前微信的企業號已經切換到企業微信裡面,這個是一個APP程式,提供了很豐富的企業應用,其中包括了業務審批處理,審批業務包括請假、報銷、費用、出差等很多個審批場景,在Winform開發框架中工作流模塊這些模塊也是可以很好的實現,本篇隨筆介紹如何參照企業微信審批業務,結合框架中的工作流模塊,實現多種表單... ...
目前微信的企業號已經切換到企業微信裡面,這個是一個APP程式,提供了很豐富的企業應用,其中包括了業務審批處理,審批業務包括請假、報銷、費用、出差等很多個審批場景,在Winform開發框架中工作流模塊這些模塊也是可以很好的實現,本篇隨筆介紹如何參照企業微信審批業務,結合框架中的工作流模塊,實現多種表單的審批處理。
1、企業微信審批
在開始介紹框架中工作流模塊之前,我們先來瞭解下企業微信中的審批業務,如下界面所示,這些審批表單包括有:請假、報銷、費用、出差、採購、加班、外出、用車、用章、合同審批、物品領用、付款、物品維修、會議室預定等這些常見的流程業務。
我們打開其中一個業務,看看其中的業務表單信息。
其中包括一些請假業務的相關信息,包括內容輸入、附件管理等,這樣就可以提交及抄送給對應給的人員了。
提交後,對業務表單的數據就可以查看及進行流程處理了,如下是業務表單的查看界面。
2、開發框架中工作流模塊的業務審批
首先我們需要根據業務表單的數據,填寫相關的信息,從而可以在業務的動態展示列表中展現可以新建的表單,如下界面所示。
至於每個業務表單的相關開發,我在隨筆《Winform開發框架中工作流模塊的業務表單開發》中介紹比較詳細,每個流程業務表單主要涉及到幾個窗體的處理,一個是新增編輯業務申請單、一個是查看業務申請和展示申請單的用戶控制項,以及一個常規的業務查詢需要的界面,其中一些窗體我們已經進行了基類封裝,簡化了子類窗體的代碼,如下界面所示。
例如對於請假業務申請單,我們的界面效果如下所示。
它主要是繼承FrmAddApply ,並實現業務申請單數據校驗、表單流程發送及數據顯示(重新編輯的時候顯示)等處理即可。界面代碼相對比較簡單了。
對於查看具體業務表單的顯示界面,繼承查看申請單的基類FrmViewApply類基類,那麼這個子類只需要負責數據的展示就是了。
數據展示部分分為固定通用的申請單信息,以及業務表單信息兩部分組成,其中附件處理則採用通用附件管理模塊按鈕即可,如下所示。
這些是在用戶控制項上進行展示的,設計狀態下的用戶控制項效果如下所示。
上面的介紹的請假申請單是單表的情況,有時候,我們申請單是主從表的情況,如報銷申請單,需要彙總總的報銷信息、包括總金額,然後把各種明細記錄提交,這種表單界面效果如下所示。
這種明細表單可以直接在表格控制項Griview上進行新增、編輯處理。
查看詳細的表單界面效果如下所示。
這種業務申請單比較單表而已,相對複雜一些,需要處理GridView的數據錄入和保存處理,以及數據的顯示處理,不過也是比較標準的處理,我們也是同樣繼承相同的基類,在子類實現不同的業務處理代碼即可。
後面我們為了減輕開發工作流,把這些業務表單的界面使用代碼生成工具一鍵生成,直接可用,這樣就省事多了。
3、工作流業務界面的代碼生成
從上面我們可以看到,其中對於工作流業務表單的窗體界面都可以實現標準的處理了,繼承自某個基類,然後整合相關的數據處理規則即可。
那麼我們提煉業務信息後,可以使用代碼生成工具快速生成,這樣可以極大提高我們的開發效率。
針對上面的構想,我們花費了好幾天的時間,創建了工作流界面的自動生成規則和反覆校驗,最終整合到代碼生成工具中方便開發。
對於主從表表的界面,我們依舊也可以使用代碼生成工具進行快速的工作流界面生成。
至於如何使用這個功能,後面在開一篇隨筆詳細進行介紹過程。
WInform開發框架之工作流系列文章:
參照企業微信審批業務,在Winform開發框架中工作流模塊的實現業務審批