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