activiti6的集成开发
一、安装eclipse的activiti插件
eclipse对activiti插件的集成友好点,工作流的流程图使用eclipse进行绘图。
1. 安装activiti插件。
Name:Activiti BPMN 2.0 designer
Location:http://activiti.org/designer/update
- 判断是否已经安装成功
2.绘制工作流的流程图
-
开始流程
-
部门审批
-
排他网关
-根据审批结果,进入相关的任务节点
如果deptleaderapprove为true,就进入审“人事审批”
为false,则进入“调整申请”节点 -
调整申请
-
将受理人的参数设置为申请人、
-
设置排他网关
-
根据审批进行流转
-
如果不在申请,就结束流程
-
最终流程图结果为:
二、 spring boot2 集成mybatis和activiti6
1. 引入依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
<version>5.1.44</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter-basic</artifactId>
<version>6.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2 修改配置
如果工作流的bpmn文件编写正确,项目启动时,activiti会自动检查数据库,进行activiti的表文件生成及工作流部署。
server:
port: 8081
mybatis:
mapper-locations: classpath:mappers/*.xml
type-aliases-package: com.example.entity
spring:
thymeleaf:
cache: false
mode: HTML
activiti:
db-history-used: true
history-level: full #保存历史数据级别设置为full最高级别,便于历史数据的追溯
async-executor-activate: true #开启异步,定时任务
database-schema-update: true #Activiti会对数据库中所有的表进行更新,如果表不存在,则Activiti会自动创建。
datasource:
driver-class-name: com.mysql.jdbc.Driver
url : jdbc:mysql:/x.x.x.x:3306/dababase?useUnicode=true&characterEncoding=UTF-8
name : username
password : pawssword
三 流程相关的开发
1.启动流程
根据业务流程,获取自己业务相关的数据,将用户传递给工作流进行相关关联。
//启动流程