赞助商
过年了向所有学习WF,关注我的博客的朋友们问个好,发布一个我用WF开发的工作流平台,供大家参考。(文/WXWinter(冬)

这个平台适合于以审批为主业务的工作环境,可以做为一个产品直接使用(已有公司在项目中直接使用了这个平台).
这个平台的特点是我对子流程的支持做得比较满意
WF对子流程支持很弱,我没用
这个平台支持静态调用多个子流程,动态调用多个子流程,
支持并发调多个不同类型的子流程
支持并发多个子流程的等待
支持数据表单从主流程分单入子流程,子流程再入子流程,最后再回到主流程
支持可用不同分支并发的会签
支持将现有的正在运行的流程挂接到其它流程
支持流程自身的递归调用


先说一下我的代码

从来不在代码中加注解,我写代码的方式是先写文档,然后按文档去写代码.
所以,要看代吗要先打开文档
(这是文档中的一个抓图,[1.1],[1.2],[1.3]都是方法变号,方法前有[√]表示该方法有对应的单元测试)


附件: 011709_0212_WF1.png


打开代吗,你在代码中会看到编号,所有的编号在文档中都有详细目的,实现方式,调用,算法说明

附件: 011709_0212_WF2.png
附件: 011709_0212_WF3.png


附件: 011709_0212_WF4.png
数据库设计,架构设计都在文档中



附件: 011709_0212_WF5.png

服务

服务以EXE程序的方式运行
提供了权限,流程操作,报表的WCF提口,
服务写的非常稳定,所的能判断的都判断了,基本没用 try { } catch { },客户端的不正确操作服务都会有说明值返回,压力测试不会拖垮服务
系统级问题会写入系统日志,业务级问题会写入业务日志,logo文件中会记录所有操作的流水账.
服务的所的参数在config文件中配置,服务的主程序是[BPM.Foundation.Server.exe]

附件: 011709_0212_WF6.png

时间引擎

计时,自动处理,可以管理工作日

附件: 011709_0212_WF7.png

流程设计器(专业版)

可发直接从数据库中打开流程,保存流程,也可将流程导出为XOML文件,也可加载XOML文件

附件: 011709_0212_WF8.png

打开数据库中的流程

附件: 011709_0212_WF9.png

将流程发布到数据库中

附件: 011709_0212_WF10.png

可以在发布前用测试器在本地进行快速测试

附件: 011709_0212_WF11.png

附件: 011709_0212_WF12.png

可以为流程生成文档,并生成业务流程图

附件: 011709_0212_WF13.png


附件: 011709_0212_WF14.png

设计工作流时,有向导

附件: 011709_0212_WF15.png

附件: 011709_0212_WF16.png

附件: 011709_0212_WF17.png

附件: 011709_0212_WF18.png
附件: 011709_0212_WF19.png

流程设计器(用户简洁版)

附件: 011709_0212_WF20.png

表单设计器

鼠标拖动任意布局,

附件: 011709_0212_WF21.png
可以为任意字段指定权限(流程设计器上)

附件: 011709_0212_WF22.png
附件: 011709_0212_WF23.png
赞助商
赞助商
TOP