参照企业微信审批业务,在Winform开发框架中工作流模块的实现业务审批
目前微信的企业号已经切换到企业微信里面,这个是一个APP程序,提供了很丰富的企业应用,其中包括了业务审批处理,审批业务包括请假、报销、费用、出差等很多个审批场景,在Winform开发框架中工作流模块这些模块也是可以很好的实现,本篇随笔介绍如何参照企业微信审批业务,结合框架中的工作流模块,实现多种表单的审批处理。
1、企业微信审批
在开始介绍框架中工作流模块之前,我们先来了解下企业微信中的审批业务,如下界面所示,这些审批表单包括有:请假、报销、费用、出差、采购、加班、外出、用车、用章、合同审批、物品领用、付款、物品维修、会议室预定等这些常见的流程业务。

我们打开其中一个业务,看看其中的业务表单信息。

其中包括一些请假业务的相关信息,包括内容输入、附件管理等,这样就可以提交及抄送给对应给的人员了。

提交后,对业务表单的数据就可以查看及进行流程处理了,如下是业务表单的查看界面。

2、开发框架中工作流模块的业务审批
首先我们需要根据业务表单的数据,填写相关的信息,从而可以在业务的动态展示列表中展现可以新建的表单,如下界面所示。

至于每个业务表单的相关开发,我在随笔《Winform开发框架中工作流模块的业务表单开发》中介绍比较详细,每个流程业务表单主要涉及到几个窗体的处理,一个是新增编辑业务申请单、一个是查看业务申请和展示申请单的用户控件,以及一个常规的业务查询需要的界面,其中一些窗体我们已经进行了基类封装,简化了子类窗体的代码,如下界面所示。

例如对于请假业务申请单,我们的界面效果如下所示。

它主要是继承FrmAddApply ,并实现业务申请单数据校验、表单流程发送及数据显示(重新编辑的时候显示)等处理即可。界面代码相对比较简单了。

对于查看具体业务表单的显示界面,继承查看申请单的基类FrmViewApply类基类,那么这个子类只需要负责数据的展示就是了。
数据展示部分分为固定通用的申请单信息,以及业务表单信息两部分组成,其中附件处理则采用通用附件管理模块按钮即可,如下所示。

这些是在用户控件上进行展示的,设计状态下的用户控件效果如下所示。

上面的介绍的请假申请单是单表的情况,有时候,我们申请单是主从表的情况,如报销申请单,需要汇总总的报销信息、包括总金额,然后把各种明细记录提交,这种表单界面效果如下所示。

这种明细表单可以直接在表格控件Griview上进行新增、编辑处理。
查看详细的表单界面效果如下所示。

这种业务申请单比较单表而已,相对复杂一些,需要处理GridView的数据录入和保存处理,以及数据的显示处理,不过也是比较标准的处理,我们也是同样继承相同的基类,在子类实现不同的业务处理代码即可。
后面我们为了减轻开发工作流,把这些业务表单的界面使用代码生成工具一键生成,直接可用,这样就省事多了。
3、工作流业务界面的代码生成
从上面我们可以看到,其中对于工作流业务表单的窗体界面都可以实现标准的处理了,继承自某个基类,然后整合相关的数据处理规则即可。
那么我们提炼业务信息后,可以使用代码生成工具快速生成,这样可以极大提高我们的开发效率。
针对上面的构想,我们花费了好几天的时间,创建了工作流界面的自动生成规则和反复校验,最终整合到代码生成工具中方便开发。

对于主从表表的界面,我们依旧也可以使用代码生成工具进行快速的工作流界面生成。

至于如何使用这个功能,后面在开一篇随笔详细进行介绍过程。
WInform开发框架之工作流系列文章:
参照企业微信审批业务,在Winform开发框架中工作流模块的实现业务审批
参照企业微信审批业务,在Winform开发框架中工作流模块的实现业务审批的更多相关文章
- Winform开发框架中工作流模块之审批会签操作(2)
前面随笔介绍了请假申请单和报销申请单两个不同的业务表单的流程处理,一个是单表信息,一个包含明细的主从表信息,后者包含了条件流程的处理,在流程审批中,一般还有一种流程处理就是会签的操作,会签处理是几个审 ...
- Winform开发框架中工作流模块之审批会签操作
在前面介绍了框架中工作流的几个开发过程,本篇随笔重点介绍一下日常审批环节中的具体处理过程,从开始创建表单,以及各个审批.会签过程的流转过程,希望大家对其中流程的处理有一个大概的印象. 1.请假申请表单 ...
- Winform开发框架中工作流模块的业务表单开发
在我们开发工作流的时候,往往需要设计到具体业务表单信息的编辑,有些是采用动态编辑的,有些则是在开发过程中处理的,各有各的优点,动态编辑的则方便维护各种各样的表单,但是数据的绑定及处理则比较麻烦,而自定 ...
- Winform开发框架中工作流模块之申请单草稿处理
在我们开发工作流模块的时候,有时候填写申请单过程中,暂时不想提交审批,那么可以暂存为草稿,以供下次继续填写或者提交处理,那么这个草稿的功能是比较实用的,否则对于一些填写内容比较多的申请单,每次要重填写 ...
- Winform开发框架中工作流模块的表设计分析
在较早博客随笔里面写过文章<Winform开发框架之简易工作流设计>之后,很久没有对工作流部分进行详细的介绍了,本篇继续这个主题,详细介绍其中的设计.实现及效果给大家,这个工作流在好几年前 ...
- Winform开发框架中工作流模块的动态处理
在工作流处理表中,首先我们区分流程模板和流程实例两个部分,这个其实就是类似模板和具体文档的概念,我们一份模板可以创建很多个类似的文档,文档样式结构类似的.同理,流程模板实例为流程实例后,就是具体的一个 ...
- Winform开发框架中实现同时兼容多种数据库类型处理
在很多应用系统里面,虽然一般采用一种数据库运行,但是由于各种情况的需要,可能业务系统会部署在不同类型的数据库上,如果开发的系统能够很方便支持多种数据库的切换,那可以为我们减少很多烦恼,同时提高系统的适 ...
- 在Winform开发框架中实现对数据库的加密支持(转)
在很多情况下,我们需要对数据库进行加密,特别是Access数据库.Sqlite数据库,这些直接部署在客户端的数据,因为数据也是客户的资产,数据库总是存在很多相关的秘密或者重要的业务数据,所以一般来说, ...
- 在Winform开发框架中实现对数据库的加密支持
在很多情况下,我们需要对数据库进行加密,特别是Access数据库.Sqlite数据库,这些直接部署在客户端的数据,因为数据也是客户的资产,数据库总是存在很多相关的秘密或者重要的业务数据,所以一般来说, ...
随机推荐
- 面试题:判断连个字符串是否互为回环变位(Circular Rotaion)
题干: 如果字符串 s 中的字符循环移动任意位置之后能够得到另一个字符串 t,那么 s 就被称为 t 的回环变位(circular rotation). 例如,ACTGACG 就是 TGACG ...
- ServerSocket(TCP/IP协议)__Java
服务器端 //参数为端口号,可以自定义 ServerSocket ss=new ServerSocket(11111); System.out.println("开启监听..." ...
- Java实现归并排序和快速排序
参考http://blog.csdn.net/morewindows/article/details/6684558和http://developer.51cto.com/art/201206/344 ...
- 前端面试题(6)图片格式jpg,gif,png-8,png-24的区别,及其各自的使用场景
Gif格式特点: 透明性,Gif是一种布尔透明类型,既它可以是全透明,也可以是全不透明,但是它并没有半透明(alpha透明). 动画,Gif这种格式支持动画. 无损耗性,Gif是一种无损耗的图像格式, ...
- yaml在python中的应用简单整理
#简单介绍============================================================== YAML使用寄主语言的数据类型,这在多种语言中流传的时候可能会引 ...
- Robotium 框架学习之概述
框架目的: Robotium is an Android test automation framework that has full support for native and hybrid a ...
- mysql 查询各数据库的占用大小
select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size, concat(trunc ...
- SQL---存储过程---sp_addextendedproperty表字段加描述
相信很多朋友对利用SQL创建表已经很熟悉了,但我们发现在创建表的同时不能像添加默认值或者主键一样为列加上说明信息,所以我们经常是创建表后再到表的可视化设计器中为列加上说明,这样操作起来就相当麻烦了,本 ...
- java 之 适配器模式(大话设计模式)
适配器模式,笔者不是很推荐在项目初期阶段使用,在笔者看来这个设计模式就是套接了一层,从而达到能够迎合现有的外部接口规范. 先来简单的看下类图: 大话设计模式-类图 这个模式理解起来非常简单,A→B因为 ...
- Spring Cloud Feign 整合 Hystrix
在前面随笔Spring Cloud 之 Feign的feign工程基础上进行改造 1.pom.xml依赖不变 2.application.yml文件添加feign.hystrix.enabled=tr ...