基于Activiti工作流引擎实现的请假审核流程

概要
本文档介绍的是某商用中集成的Activiti工作流的部署及使用,该框架用的Activiti版本为5.19.0。本文档中主要以一个请假流程为例子进行说明,该例子的流程图如下:

基于Activiti工作流引擎实现的请假审核流程_第1张图片
请假例子流程图

这是一个可以正常运作的工作流业务了,但是它也有不足的地方,如没做详细的分支控制,而且写死了节点,没能更好地体现工作流引擎的灵活性,这些在我们后面实际的项目业务中的工作流使用上做了调整,但由于项目业务不能公开,且这个例子已能说明大部分的问题,这里就不一一细说我们的其他业务实现了。
新建流程模型

  1. 新增模型
    (1)进入新建模型页面
基于Activiti工作流引擎实现的请假审核流程_第2张图片
新建模型

(2)填写名称等信息

基于Activiti工作流引擎实现的请假审核流程_第3张图片
填写信息

注意,这里的Key是该流程的唯一标识,须与实际业务中约定的key一致,如下图:

基于Activiti工作流引擎实现的请假审核流程_第4张图片
流程唯一标识

(3)点击保存时会进入工作流模型子系统,先在流程唯一标识处填写刚才的key

基于Activiti工作流引擎实现的请假审核流程_第5张图片
与代码中的Key一致

(4)添加开始事件,开始事件的属性不用填(也可填写名称)。然后添加人工任务,如下图:

基于Activiti工作流引擎实现的请假审核流程_第6张图片
添加人工任务

(5)给已添加的人工任务添加指派者(填系统用户或用户组ID)、名称、ID.如下图:

基于Activiti工作流引擎实现的请假审核流程_第7张图片
添加指派者

注意,这里的ID是该任务的唯一标识,是实际业务中判断是否为当前用户可办理的依据,须和代码中判断约定的ID保持一致,若不理解请参考下图(但这种写法会导致流程节点的灵活性降低,不太建议):

任务标识

(6)新建一个网关,任务后面一般会连着网关,根据上一任务的处理结果来实现分支管理(作用类似于if判断),请参考下图:

基于Activiti工作流引擎实现的请假审核流程_第8张图片
网关与分支管理

注意,网关后面的分支要填写名称及跳转条件,同意操作的跳转条件为” ${auditPass}”,不同意的跳转条件为” ${!auditPass}”

基于Activiti工作流引擎实现的请假审核流程_第9张图片
跳转条件

(7)按上述操作方法继续完成流程图的编辑。

基于Activiti工作流引擎实现的请假审核流程_第10张图片
继续编辑流程图

(8)点击保存模型

基于Activiti工作流引擎实现的请假审核流程_第11张图片
保存模型

部署模型
重新进入模型工作区,部署刚添加的模型


基于Activiti工作流引擎实现的请假审核流程_第12张图片
部署模型

转换模型
转换模型可理解为采纳某个定义好的模型,采纳完后涉及到该流程的业务操作将按新的模型运作。

基于Activiti工作流引擎实现的请假审核流程_第13张图片
转换模型

使用工作流
新建并定义好模型后,即可使用该工作流模型了,以下为请假流程为例进行示范:

  1. 提交申请
基于Activiti工作流引擎实现的请假审核流程_第14张图片
提交申请

提交完后可以在【运行中的任务】中看到该任务及其当前所在的节点

  1. 签收任务
    通过有权限处理该节点的用户账号登录后,可在【任务签收】处签收该任务,获得该事件的处理权(这一步骤可根据实际业务需要省略)。
基于Activiti工作流引擎实现的请假审核流程_第15张图片
Paste_Image.png
  1. 办理任务
    在【待办任务】中可对已签收的任务进行办理,办理后任务会根据办理结果移交下一节点,直至任务结束。
基于Activiti工作流引擎实现的请假审核流程_第16张图片
办理任务1
基于Activiti工作流引擎实现的请假审核流程_第17张图片
办理任务2
基于Activiti工作流引擎实现的请假审核流程_第18张图片
办理任务3
  1. 任务结束
    任务结束后可在【已结束任务中】看到。

感谢阅读,欢迎一起讨论,共同学习。 --广州学生梁植淋

你可能感兴趣的:(基于Activiti工作流引擎实现的请假审核流程)