Bootstrap

Activity 审批流简单介绍

 

一、概述

     最近做一个项目用到了审批流,在网上找了一下,activity还是比较好用,对其简单整理,主要内容包括组件引入,审批流创建,代码开发等功能

二、引入Activity

     通过gradle和maven都可引入activity,gradle的引入方式如下:

    implementation("org.activiti:activiti-engine:7.1.0.M6")
    implementation("org.activiti:activiti-spring:7.1.0.M6")

    即使用其7.1.0.M6版本,通过maven的方式如下:

<dependency>
	<groupId>org.activiti</groupId>
	<artifactId>activiti-engine</artifactId>
	<version>7.1.0.M6</version>
</dependency>
<dependency>
	<groupId>org.activiti</groupId>
	<artifactId>activiti-engine</artifactId>
	<version>7.1.0.M6</version>
</dependency>

     只要依赖能下载下来,则引入就是成功的

三、创建流程文件

      我们首先要创建一个流程文件,才能在后续的过程中使用这个文件,actiivity7据说是有一个在线的工具,不过不是太会用,这里使用的是eclipse的插件,要注意的是eclipse不能使用最新版本,根据官方的介绍,kepler 版本是可以的,这个不做过多介绍,eclipse的插件虽然已经不再维护了,但老版本也还是可以使用的,其效果如下:

              

    对于每个任务节点来说,可以在Main config里配置审批人变量,在创建流程时对变量设置值。

 

四、创建流程表并初始化流程

      actiivity的数据也是通过表来存储的,所以使用之前还需要建表,当然这个要先进行数据源配置,actiity的配置文件默认为actiity.cfg.xml,示例配置如下:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">

        <property name="jdbcUrl" value="${yourJdbcUrl}" />
        <property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
        <property name="jdbcUsername" value="${yourUsername}" />
        <property name="jdbcPassword" value="${yourPassword}" />
        <property name="databaseSchemaUpdate" value="true" />
        <property name="asyncExecutorActivate" value="false" />
    </bean>

</beans>

      系统初始化的时候,要先进行建表,示例代码如下:

public class ActivityConnectionDB {
    public static void main(String args[]){
        //获取流程引擎配置
        ProcessEngineConfiguration pec = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
        //设置自动创建表和更新表
        pec.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHE
;