Flowable流程引擎简单使用二

171 阅读1分钟

源码

https://gitee.com/pingfanrenbiji/flowable-springboot-demo

安装mysql 8

docker pull mysql

docker ps|grep mysql # 查看镜像id

docker run -id --name=mysql8 -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 3218b38490ce(镜像id)

# 创建flowable-springboot数据库、编码utf8mb4

启动服务

会自动生成表结构

创建报销单

image.png

查看流程状态

image.png

此时是未审批时候的报销流程图

创建报销单接口

image.png

通过runtimeService.startProcessInstanceByKey方法发起一个流程,指定报销单流程模版xml文件,该xml模版可以由flowable web ui生成

image.png

经理审批流程

image.png

再查看流程状态

image.png

这是到达经理审批的流程图

审批接口

image.png

taskService.addComment # 任务评论

taskService.getTaskFormModel # 获取表单

taskService.completeTaskWithForm # 通过或驳回

原理简介

Flowable有五大引擎,每个之间都是相互独立互不影响

image.png

Flowable引擎在使用前需要先通过配置来初始化ProcessEngine。

初始化ProcessEngineConfiguration一般有两种方式:

  • 通过Spinrg配置文件进行依赖注入,通过flowable.cfg.xml文件来初始化ProcessEngineConfiguration(这里的文件名必须为flowable.cfg.xml,否则Flowable识别不到)
  • 通过编写程序的方式来构造ProcessEngineConfiguration对象

image.pngimage.png

ProcessEngineConfiguration在初始化过程中会同时初始化数据库,如果数据库已经存在,则不会做创建更新操作,如果数据库不存在,则会默认执行数据库创建脚本。