账户设置:
- 进入到localhost:8888/flowable-idm里面,创建一个用户,并给予workflow权限以及modeler权限
- 使用新创建的账户名和密码登录: localhost:8888/flowable-modeler
画流程图
-
点击:创建流程,并填入名字和key
-
将左边的图标拖到右边空白地方即可
常用元素介绍
- Exclusive gateway排他网关
作用: 进入的时候可以允许多个任务,出去的时候可以进行条件判断 - Parallel gateway并行网关
作用: 两个并行网关同时使用,可以要求两个网关之间的线程同时到了,才执行下一步 -
Inclusive gateway包容网关
作用:例如:进入的时候有三条线,但是只有两条符合要求,出去的时候就只需要等待两条线都到达就行了
- Start events:开启流程
- End events:结束流程
- userTask:给用户的任务,需要设置人名或者组
- serviceTask:服务任务
- ScriptTask: 可以使用脚本语言编辑,支持javaScript,groovy
- MailTask: 可以给指定用户发送邮件,需要在配置文件里面配置发送方
- HttpTask:可以调用外部的http接口,传入参数,获取返回参数
组件信息填写
-
userTask:
id: 会自动生成32位随机数
name: 给这个任务取得名字
documentation: 当前任务说明
Assignments: 选择执行该任务的人或者组
Form reference: 设计一个填写信息的表单 -
连接线
Flow condition: 设置判断条件,结果只能为true或者false. ${value}这样写就可以拿到之前节点中填写的数据value
Default flow: 如果把√打上了,那么当其他流程判断为false的时候,就会往这条线走 -
设置全局变量
a. 点击Data Objects,填写设置的变量名和类型,以及初始值
b. 设置好了times的初始值为1,int类型,那么在后面的任务中就可以通过 ${times}来引用times的值
c. 在scriptTask中使用javaScript进行计算
Script format: 设置脚本语言类型
Script: 要执行的脚本,通过execution.setVariable("times",times+1)就可以执行times值加1的操作
Auto Store Variables: 如果没有设置全局变量,execution.setVariable("aa",1)直接给aa赋值是会报错的,可以通过将Auto Store Variables的√打上,强行赋值,就可以解决问题了.