侧边栏壁纸
  • 累计撰写 2,046 篇文章
  • 累计创建 73 个标签
  • 累计收到 20 条评论

目 录CONTENT

文章目录

基于Flowable UI的工作流流程设计和操作

大猿本猿
2022-01-03 / 5,920 阅读 / 0 字

1、Flowable UI可以做什么

Flowable提供了几个UI应用来方便了解Flowable工作流引擎的功能:

  • Flowable IDM:对所有的Flowable UI应用提供注册于认证的应用,同时提供管理用户与组的管理功能,即我们说的权限管理。
  • Flowable Modeler:让用户制作model,表单,决策表,和应用定义
  • Flowable Task:启动流程引擎的运行任务,编辑,完成,查询工作流实例中的任务。
  • Flowable Admin:允许管理员权限的用户查询BPMN,DMN,表单,提供一些选项来修改工作流中的任务,依赖Flowable Task和Flowable REST App。

Flowable REST应用主要提供了Flowable相关的REST 接口。

2、基于Flowable UI设计模拟一个请假流程

2.1 业务流程说明

创建一个自动审批的请假业务流程。

当员工请假天数<=10天时,系统自带审批通过,并发送通过邮件。

当员工请假天数>10天时,系统自带审批通过,并发送通过邮件。

2.2 Flowable IDM中创建用户和组

2.2.1 创建用户

创建一个用户:张三,隶属普通员工组。

image

创建普通员工组,将张三加入到对应的分组。

image

需要注意的是,添加成员时候需要搜索【用户名称】而非ID。

2.2.1 设置登陆权限

将张三添加到workflow的权限控制中,让其可以登陆。

image

2.3 Flowable Modeler中创建业务流程

2.3.1创建流程

进入Flowable Modeler,创建流程

image

点击创建新模型后会出现业务流程模版,如下我先列出了请假流程中需要使用的元素,以及各自的含义。

image

画请假的流程图:

image

创建一个请假流程的表单,选中请假任务,下面属性中填写表单引用,创建一个新表单即可自动关联。

image

创建表单,填写表单的名称、key、描述之后进入表单设计页面。

这里设计三个字段: 名字、天数、请假理由。

image

请假天数后续判断需要用到,这里我将天数重命名一下,为了方便我们在后边的决策表中使用。

image

创建表单之后保存,此时可以重命名。

image

表单创建完成之后,表单引用中会显示关联的表单,如下:

image

创建表单完成之后,还要为请假的用户任务分配用户,这里我分配了用户组

image

选择普通员工组。

image

接下来要编辑决策表,这里我们假定设置的决策为:

根据用户在请假表单中提交的请假天数做判断,若大于10天则驳回,若小于等于10天则批准。
点击决策任务,选择属性面板中的决策表参考,添加决策表。

image

新建决策表

编辑左边的输入列,变量名称holidays需要和表单中的holidays对应。

image

编辑右边的输出列,

image

完整的决策表:

image

决策表建立之后保存回到流程界面。

在互斥网关之后的连接线添加路由条件

image

分别设置${autoAudit==true}和${autoAudit==false},这里的autoAudit就是决策表的输出变量,注意表达式不能有空格。

image

autoAudit就是经过决策表之后输出的值,如果是决策表输出true就执行发送通过邮件,如果决策表输出fase就执行发送拒绝邮件。

image

设置邮件发送内容,正文 属性即邮件内容。

image

至此,业务流程已经完成了,接下来需要去创建一个应用程序。

2.3.2 创建应用程序

将流程模型保存之后点击应用程序,创建新的应用程序。

image

在app定义中编辑包含的流程模型

image

选择编辑包含模型

image

保存之后重新进入 请假应用程序,点击右上角的发布,请假流程就被发布到这个程序上了,用户只需要到流程里去认领即可。

image

发布

image

如果发布Flowable应用程序报错,需要去tomcat后台查询报错原因。

image

tomcat报错提示:初步判断是邮件任务出现问题,没有填写邮件任务的收件人、发件人等信息,回到流程里编辑邮件任务补充信息。

image

重新发布程序

image

2.4 Flowable Task启动流程

2.4.1 启动流程

切换到flowable-task,登陆对应候选组的用户,首页可以看到刚才发布的新的请假应用程序

image

选择对应的程序,点击流程,新建一个流程并启动。

image

点击右上角,启动流程

image

这样就启动了一个新流程。

2.4.2 认领任务

点击活动任务中的具体任务,填写请假表单,认领任务

image

这里对于新手有一个小坑。可以看到我的请假表单右上角并没有出现【认领】字样,是因为我的用户是testAdministrator用户,而我们请假表单在流程模型中已被设置为【普通员工】组,所以应该用zhangsan的角色来登陆,才会出现【认领】。

image

在flowable-idm中设置zhangsan可以访问flowable workflow,登录zhangsan账户

image

重新启动流程,认领 填写请假单的 用户任务。

image

这个时候就可以填写请假单了。

image

按照我们的预想,工作流会根据表单中的天数自动的判断是允许请假还是拒绝请假。

填写表单后,点击完成,代表用户任务已经完成,工作流将流转到下一步。

image

若程序报错,需要根据报错进行处理,如下报错,即我们在排他网关后的判断条件写作,修改重新发布应用程序即可。

image

检查流程图,在流程-已完成中,可以看到我们启动的流程实例的进度。

image

至此,我们一个完整的工作流程就结束了。

image

2.4.3 邮件报错处理

新手在实际操作中,会报如下错:could not send e-mail in execution,原因是无法发送邮件,我们没有配置smtp服务器,当然发送不了。

image

设置一下flowable的邮件发送设置,参考:

[[Flowable UI发送邮件设置SMTP服务 id=1171a6a4-706e-4121-8dc6-fa0e70fadadd]]

2.5 Flowable Admin查看

Flowable admin提供了一个可以查看流程部署、实例、任务等的界面

image

3、补充说明

流程修改后需要重新发布应用程序。

发布应用程序后,用户现有的任务中不会展示新的流程,需要取消现有流程重新发起流程实例来验证。