目前微信的企业号已经切换到企业微信里面,这个是一个APP程序,提供了很丰富的企业应用,其中包括了业务审批处理,审批业务包括请假、报销、费用、出差等很多个审批场景,在Winform开发框架中工作流模块这些模块也是可以很好的实现,本篇随笔介绍如何参照企业微信审批业务,结合框架中的工作流模块,实现多种表单的审批处理。
1、企业微信审批
在开始介绍框架中工作流模块之前,我们先来了解下企业微信中的审批业务,如下界面所示,这些审批表单包括有:请假、报销、费用、出差、采购、加班、外出、用车、用章、合同审批、物品领用、付款、物品维修、会议室预定等这些常见的流程业务。
我们打开其中一个业务,看看其中的业务表单信息。
其中包括一些请假业务的相关信息,包括内容输入、附件管理等,这样就可以提交及抄送给对应给的人员了。
提交后,对业务表单的数据就可以查看及进行流程处理了,如下是业务表单的查看界面。
2、开发框架中工作流模块的业务审批
首先我们需要根据业务表单的数据,填写相关的信息,从而可以在业务的动态展示列表中展现可以新建的表单,如下界面所示。
至于每个业务表单的相关开发,我在随笔《Winform开发框架中工作流模块的业务表单开发》中介绍比较详细,每个流程业务表单主要涉及到几个窗体的处理,一个是新增编辑业务申请单、一个是查看业务申请和展示申请单的用户控件,以及一个常规的业务查询需要的界面,其中一些窗体我们已经进行了基类封装,简化了子类窗体的代码,如下界面所示。
例如对于请假业务申请单,我们的界面效果如下所示。
它主要是继承FrmAddApply ,并实现业务申请单数据校验、表单流程发送及数据显示(重新编辑的时候显示)等处理即可。界面代码相对比较简单了。
对于查看具体业务表单的显示界面,继承查看申请单的基类FrmViewApply类基类,那么这个子类只需要负责数据的展示就是了。
数据展示部分分为固定通用的申请单信息,以及业务表单信息两部分组成,其中附件处理则采用通用附件管理模块按钮即可,如下所示。
这些是在用户控件上进行展示的,设计状态下的用户控件效果如下所示。
上面的介绍的请假申请单是单表的情况,有时候,我们申请单是主从表的情况,如报销申请单,需要汇总总的报销信息、包括总金额,然后把各种明细记录提交,这种表单界面效果如下所示。
这种明细表单可以直接在表格控件Griview上进行新增、编辑处理。
查看详细的表单界面效果如下所示。
这种业务申请单比较单表而已,相对复杂一些,需要处理GridView的数据录入和保存处理,以及数据的显示处理,不过也是比较标准的处理,我们也是同样继承相同的基类,在子类实现不同的业务处理代码即可。
后面我们为了减轻开发工作流,把这些业务表单的界面使用代码生成工具一键生成,直接可用,这样就省事多了。
3、工作流业务界面的代码生成
从上面我们可以看到,其中对于工作流业务表单的窗体界面都可以实现标准的处理了,继承自某个基类,然后整合相关的数据处理规则即可。
那么我们提炼业务信息后,可以使用代码生成工具快速生成,这样可以极大提高我们的开发效率。
针对上面的构想,我们花费了好几天的时间,创建了工作流界面的自动生成规则和反复校验,最终整合到代码生成工具中方便开发。
对于主从表表的界面,我们依旧也可以使用代码生成工具进行快速的工作流界面生成。
至于如何使用这个功能,后面在开一篇随笔详细进行介绍过程。
WInform开发框架之工作流系列文章: