跳转到内容

工作流组件最重要的就是建模工具,所有业务流程的核心都是从建模开始的。建模工具使用 C#语言开发,采用 WinForm 或 Web 的方式,完全整合到框架中,拥有框架的一切特性。同时业务逻辑层的代码可以毫无修改的应用到 web 方式上,这也是充分考虑使用的灵活性。通过建模工具可以:管理组织机构,管理流程模板,管理权限,管理工作流程业务表单等。本文主要介绍的是 WinForm 的建模方式,Web 建模工具可以参考框架 Web 部分相关介绍。

流程管理

流程模板也可以叫流程模型,采用分类管理的方式,可以无限级分类,流程模板必须属于某一分类,流程模版分类管理如下图所示,流程图采用可视化的制作,可以通过拖拽图形的方式画流程图,图形化的操作一目了然。让软件系统真实的体现工作过程,成为企业经营和管理的重要工具,是使用工作流系统的主要目的。

流程设计器

流程设计器是编辑流程模版的工具,可视化的流程设计器能直观的编辑流程模版,所见即所得,流程模版存放流程流转所需要的信息,使用流程设计器来管理流程模版是比较常见的方式,如下图是我们要开发的流程设计器。

在工作流程设计器主界面我们可以进行流程设计,工作流组件提供了 6 种任务节点类型和一个连线配置,如下图所示,在后面我们会分别介绍。

启动节点配置界面

启动节点是一个业务流程的开始,所有业务都是从启动节点开始执行的。流程定义必须包含一个以上启动节点,可以在该界面中配置交互表单上的命令按钮,有权限启动流程的处理者,流程中用到的变量,对应的表单等。启动节点的配置界面如下图所示:

1、启动节点-常规配置页

配置项说明:

  • 任务名称:启动节点的名称。

  • 表单名:启动节点要加载的主表单列表。

  • 任务描述:启动节点的描述信息。

  • 处理命令:移交到下一任务节点时的处理命令,一般默认"提交"诸如此类的字眼,用于做为业务操作界面上按钮的展示名称。

2、启动节点-处理者配置页

启动节点-处理者配置项说明:

  • 处理者策略:启动节点的名称。

任意用户处理:所有用户共享任务。

所有用户处理(会签):所有用户处理任务。

  • 增加处理者

增加处理者主要是增加当前任务可以处理的用户、组织机构、角色或岗位等。增加处理者界面如下图所示:

对于处理者详细配置规则可以参见章节"任务处理者配置规则"。

3、启动节点-任务变量配置页

任务变量配置页可以为当前任务节点增加变量,以备在业务流程执行过程中做相应的判断需求。

交互节点配置界面

与用户交互的节点,该节点可以配置业务表单供用户操作。还可以创建流程变量和任务变量,供流程引擎使用,变量是引擎与业务平台交互的途径。

交互节点执行流程如下:

交互节点配置主界面如下图所示。

交互节点的"常规"、"处理者"、"任务变量"配置页与启动节点类似,可以参考"启动节点"部分的说明。

1、交互节点-控制权限配置页

控制权限配置页主要用于配置当前任务节点是否允许"退回"、"指派他人处理"、"动态指定下一任务处理人"、"任意退回",控制权限配置页如下图所示。

  • 允许退回:当前任务节点提交后,在待处理用户未认领的情况下是否允许退回修改。

  • 允许指派他人处理:当前任务处理者在特殊情况下可以指派他人来处理自己的任务。

  • 允许动态指定下一任务处理人:在流程运行的时候,需要有操作人去选择下一步任务的执行人,而不是在流程定义的时候先固定好的执行人。

  • 允许任意退回:常有这样一种情况,流程进行了很多步了,到后面时审批人员发现有问题,可以指定退回到那一步重新开发流转。

查看节点配置界面

该节点只有处理者和任务通知,一般是用来通知任务审批情况的,供用户查阅信息的交互节点,该节点可以配置业务表单,供用户查看,可以看做是交互节点的简化版。查看节点配置界面如下图所示。

控制节点配置界面

控制节点是控制流程流转的节点,使用多种组合的控制节点可以实现流程的合流、分流。控制流程是否继续流转,控制节点有两种类型:and 和 or,任何节点后面都可以放置一个控制节点,and 表示只有前面节点的实例全部完成才能继续流转,or 表示只要前面节点的实例有一个通过就可以继续流转。使用控制节点我们就可以很好的处理会签等复杂的情况。

控制节点处理流程如下:

与节点判断是否通过,首先寻找与节点前面的所有节点,判断每个节点的任务实例是否通过,只要有一个未通过则该与节点不通过。与节点通过后也创建一个实例。与控制节点相连的实例不允许后退,也不允许抓回。控制节点配置界面如下图所示。

子流程节点配置界面

子流程节点是可以把任何一个已有的流程作为子流程,实现流程的重用,减少工作量。

子流程节点配置界面如下图所示。

在子流程节点配置界面,单击"子流程名称"文本框后面的"...",即可打开选择流程对话框,如下图所示,在流程名中输入一个流程名称点查询后点确定即可把指定流程加载进来。

结束节点

表示当前流程结束,没有配置界面。结束分两种情况,一种是流程全部结束,一种是退出当前流程,进入主流程。

结束节点执行流程如下:

流程模版导入导出

在流程分类树中,点击鼠标右键,我们可以对所选流程模版执行导入或导出操作。

流程模版可以导出为 xml 文件,如下图导出界面:

分两种情况导出,一种是包含表单配置信息,一种是不包含表单配置信息。一般情况都要包含表单配置信息,导入流程模版界面如下图。

从 Xml 文件中导入流程模版,导入的时候分三种情况,包含表单配置信息,不包含表单配置信息,这两种情况必须保证要导入的流程模版不存在,否则无法导入。第三种情况是只导入原型,如果流程模版已经存在,那么会新建一个同名的流程模版。