java实现flowable工作流(二)flowable-modeler画流程图

账户设置:

  1. 进入到localhost:8888/flowable-idm里面,创建一个用户,并给予workflow权限以及modeler权限
  2. 使用新创建的账户名和密码登录: localhost:8888/flowable-modeler

画流程图

  1. 点击:创建流程,并填入名字和key


    微信图片_20190624181500.png
  2. 将左边的图标拖到右边空白地方即可


    微信图片_20190624181852.png

常用元素介绍

  1. Exclusive gateway排他网关
    作用: 进入的时候可以允许多个任务,出去的时候可以进行条件判断
  2. Parallel gateway并行网关
    作用: 两个并行网关同时使用,可以要求两个网关之间的线程同时到了,才执行下一步
  3. Inclusive gateway包容网关
    作用:例如:进入的时候有三条线,但是只有两条符合要求,出去的时候就只需要等待两条线都到达就行了


    微信图片_20190624183943.png
  4. Start events:开启流程
  5. End events:结束流程
  6. userTask:给用户的任务,需要设置人名或者组
  7. serviceTask:服务任务
  8. ScriptTask: 可以使用脚本语言编辑,支持javaScript,groovy
  9. MailTask: 可以给指定用户发送邮件,需要在配置文件里面配置发送方
  10. HttpTask:可以调用外部的http接口,传入参数,获取返回参数

组件信息填写

  1. userTask:


    微信图片_20190624194618.png

    id: 会自动生成32位随机数
    name: 给这个任务取得名字
    documentation: 当前任务说明


    微信图片_20190624194842.png

    Assignments: 选择执行该任务的人或者组
    Form reference: 设计一个填写信息的表单
  2. 连接线


    微信图片_20190624195100.png

    微信图片_20190624195158.png

    Flow condition: 设置判断条件,结果只能为true或者false. ${value}这样写就可以拿到之前节点中填写的数据value
    Default flow: 如果把√打上了,那么当其他流程判断为false的时候,就会往这条线走

  3. 设置全局变量


    微信图片_20190624195615.png

    a. 点击Data Objects,填写设置的变量名和类型,以及初始值


    微信图片_20190624195549.png

    b. 设置好了times的初始值为1,int类型,那么在后面的任务中就可以通过 ${times}来引用times的值
    c. 在scriptTask中使用javaScript进行计算
    微信图片_20190624200127.png

    Script format: 设置脚本语言类型
    Script: 要执行的脚本,通过execution.setVariable("times",times+1)就可以执行times值加1的操作
    Auto Store Variables: 如果没有设置全局变量,execution.setVariable("aa",1)直接给aa赋值是会报错的,可以通过将Auto Store Variables的√打上,强行赋值,就可以解决问题了.

小知识: 当设置全局变量的时候,在flowable-modeler里面显示流程图的时候会显示不出来,原因是源码里面的有一段注释掉了,没有处理error,F12找到报错地方,然后去源码里面打开注释就好了

你可能感兴趣的:(java实现flowable工作流(二)flowable-modeler画流程图)