Spring Boot + Activiti 7 + Mybatis Demo

Demo 演示简单的请假流程

请假流程

注意:由于 Activiti 7 默认使用 Spring Security 做用户角色管理,这里只是做了 Spring Security 兼容,并没有做任何用户和权限管理。

环境

  • IDEA
  • Spring Boot 2.3.3
  • Acitviti 7
  • Swagger 2.9.2
  • Mysql 5.7
  • Java 11
  • Gradle 6.4.1

启动项目

项目代码:https://github.com/mangobeta/springboot-activiti-demo

  1. 项目 pull 下来后,需要将 application.xml 中数据库连接改成自己的
  2. 启动项目
  3. 打开Swagger UI http://localhost:8083/swagger-ui.html

执行流程

activiti-flow

流程 ID 在 resources/processes/myProcess.bpmn20.xml 定义,即 myProcess

以下操作均在 Swagger UI 下进行。

  1. 部署流程

调用 /deploy 接口,参数 bpmnName 为 myProcess。

  1. 启动流程

流程部署好后,启动流程。 调用 /start 接口,processKey 为 myProcess,user 可随意填写。

  1. 查询未分配任务

启动流程后会生成一条默认未分配任务。

调用 /findTaskUnassigned 接口,得到未分配任务列表,复制一个taskId。

  1. 领取任务

调用 /claimTask 接口,填写 taskId,userId 可随意。

  1. 完成任务

调用 /completeTask 接口,需填写请假天数,原因,和任务 Id。

这时作为请假人,第一步发起请假申请任务就完成了。

接下来任务会根据请假天数分配给经理(test)或总监 (test2),重复4,5两个步骤即可。

参考

updatedupdated2020-08-212020-08-21
Load Comments?