使用 HZERO 流程图编辑器
此功能用于维护工作流中的流程定义关联的流程图。
流程图编辑器概览
流程图编辑器分为四个部分:
-
屏幕中间空白区域为流程图编辑器的画布
-
屏幕左侧为BPMN元素的工具面板,您可以把需要的元素拖拽到画布中,这些元素会在本章的后面部分会逐一介绍,它们是:
开始节点、结束节点、人工任务、服务任务、子流程、调用活动、单一网关、并行网关、泳道、区域 -
屏幕右侧是选中的元素的属性,当选择空白画布时,默认显示整个流程图的属性
-
屏幕顶部为流程编辑器的工具栏,包含:
保存、删除、重做、撤销、垂直对齐、水平对齐、相同尺寸、放大、缩小、缩小到实际大小、缩放到合适大小、添加节点、移除节点
下面,BPMN元素面板中的各个元素进行逐一介绍
开始节点
开始事件用来指明流程在哪里开始,其属性包括:
-
元素 ID :元素的唯一标识
-
名称 : 开始节点的名称
-
流程表单 : 开始节点对应的流程表单
-
表单属性 :开始节点存储的表单属性
-
监听器 : 配置开始节点的监听器

当我们点击开始节点时,节点下方会显示一排工具栏,当我们点击工具栏可以添加后续节点或者删除当前节点,从左至右分别是:删除、添加一个人工任务、添加一个结束节点、添加一个单一网关、添加一个顺序跳转线,下图显示了如果点击结束节点按钮后生成的效果

当我们点击监听器按钮时,我们可以配置当流程开始时触发的监听器,监听器类型可以选择开始或者是撤销,服务下拉框内的服务是在工作流 ->服务定义 功能内定义的服务任务类型的服务
监听器类型包括:
-
开始:当流程启动时触发相关监听器 -
撤销:当流程被撤销时触发相关监听器
结束节点
结束节点表示这一个流程的结束,在结束节点上,其属性包括:
-
元素 ID: 结束节点的唯一标识
-
名称: 结束节点的名称
-
监听器: 配置结束节点的监听器

从上图中我们可以看出,结束节点的监听器类型,只能选择结束,在选择相应的服务以后,在流程结束时,会自动触发该监听器
人工任务
一般的业务流程大多都会有人的参与,因此用户任务就是最常用的任务,当流程到达用户任务时,用户任务会被分配到特定的用户或者用户组,从下图中我们可以看出,用户任务可以配置的属性有:
-
元素 ID : 人工任务的唯一标识
-
名称 : 人工任务的名称
-
审批方式 : 选择审批方式,可以在
工作流->服务定义进行编辑或者新增,服务类型为审批方式的服务任务 -
审批方式变量: 设置审批方式的变量
-
审批规则: 选择审批任务的规则,后面会详细介绍
-
自动抄送: 是否允许自动抄送,可以选择自动抄送的规则,后面会详细介绍
-
审批动作配置 : 可以勾选
审批同意、审批拒绝、加签、转交 -
拒绝后通知审批人 : 当连续多个审批任务由不同人审批时,前一个审批人通过,后一个审批人拒绝,那么会自动通知前一个审批人
-
已审批自动同意 : 当连续两个审批任务都是由同一个审批人审批时,审批人同意一地个审批任务,后一个审批任务自动同意
-
允许撤回 : 是否允许撤回,勾选后在
工作流->我发起的流程内可以进行撤回操作 -
允许催办 : 是否允许催办,勾选后在
工作流->我发起的流程内可以进行催办操作 -
流程表单 : 查看流程表单
-
表单属性 : 查看流程表单的属性
-
监听器 : 设置监听器,后面会详细介绍

人工任务-审批方式
当点击审批方式下拉框时,可以选择在工作流->服务任务中定义的审批方式类型的服务任务

也可以在工作流->服务任务中对审批方式进行设置:

人工任务-审批规则
当我们点击审批规则的设置按钮时,我们可以选择可以选择在工作流->服务任务中定义的审批规则类型的服务任务


人工任务-自动抄送
自动抄送的抄送规则,和审批规则一样,也是可以选择在工作流->服务任务中定义的审批规则类型的服务任务


人工任务-监听器
在人工任务-监听器中可以配置用户任务监听器,监听器的类型可以选择的类型有
创建:在用户任务创建时触发分配: 在用户任务分配给指定用户时触发完成: 当用户任务完成后触发删除: 当用户任务被删除时触发
服务下拉框内的服务是在工作流 -> 服务定义 功能内定义的服务任务类型的服务

服务任务
服务任务定义了一个任务,这个任务在工作流流传到该节点时自动执行在配置的服务任务,其属性包括:
-
元素 ID : 服务任务的唯一标识
-
名称 : 服务任务的名称
-
异步: 是否异步执行
-
服务任务: 选择一个要执行的服务任务

子流程
子流程是一种特殊的流程活动,它可以包含其他的流程元素,例如流程任务、流程网关、流程事件和顺序流等。
其属性包括:
-
名称: 子流程的名称
-
异步: 是否开启异步执行
-
作为子流程的事务

单一网关
单一网关, 用来在流程中实现决策。 当流程执行到这个网关,工作流引擎会自动判断网关上的条件,仅执行条件符合的顺序流,单一网关就好像一个人在分岔路口,只能选择一条路前进,而如何选择前进的路,由条件决定。其属性包括:
- 名称: 单一网关的名称
- 异步: 是否开启异步执行
下面这个简单的例子,我们可以看出,在单一网关的输出执行流上设置跳转条件,在这个例子中,上级主管审批节点后会进入单一网关,当审批同意时,进入人事助理审批节点,如果审批拒绝,则进入调整请假请求节点

跳转条件可以在工作流->服务定义中定义一个服务类别为跳转条件的服务,当该服务返回结果为true时,单一网关会执行该执行流

并行网关
并行网关用于表示流程的并发,并行网关可以放一个执行流变为多个同时执行的并发执行流,也可以让多个执行流合并为一个执行流,因此并行网关对执行流会有两种行为:
分岔(fork): 表示为每条从并行网关出来的顺序流建立一个并行的执行流合并(join): 表示所有到达并行网关的并行执行流将会被合并
并行网关也可以配置是否异步和名称,下面是一个简单的示例

当请假人填写完申请信息后,需要同时由人事审批和总监审批,两个并行任务完成后,最后才到总经理审批