我在项目中 activiti 的使用记录

activiti 介绍

  1. 我使用工作流的感觉:灵活方便,通过画图定义自己业务需要的流程,对那种值比较的代码有较强替代性,松耦合减少很多 if 判断语句
  2. 什么是 activiti: activiti 是一个工作流引擎,通过自定义配置,将复杂灵活易变的业务流程按我们指定的流程去执行的框架.
  3. springboot 整合 activiti 导入如下依赖:

     
	org.activiti 
	activiti-spring-boot-starter-basic     
	6.0.0

  1. activiti 自带表信息介绍
    Activiti 所有的表都以ACT_开头.第二部分是表示表的用途标识.用途也和服务的API对应.
    ACT_RE_* : RE 表示 repository.这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等).
    ACT_RU_* : RU 表示 runtime. 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据. Activiti 只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录.
    ACT_ID_* : ID 表示 identity.这些表包含身份信息,比如用户,组等等.
    ACT_HI_* : HI 表示 history.这些表包含历史数据,比如历史流程实例, 变量,任务等等
    ACT_GE_* : 通用数据, 用于不同场景下,如存放资源文件.

画流程图程序安装使用与部署

由于公司画工作流程图界面是自己开发的,前端代码我没有,这里我在网上找了个画流程图开源程序包代替

链接:https://pan.baidu.com/s/1fztuAAz5_qNrFauWRtQlKQ 密码:1fgp

程序启动页面是这样的
我在项目中 activiti 的使用记录_第1张图片
1.解压程序包:
在这里插入图片描述

  1. 设置操作数据库
  • 进入这个目录
    在这里插入图片描述
  • 打开配置文件
    我在项目中 activiti 的使用记录_第2张图片
  • 界面登录账号密码也是在这个配置文件设置
  1. 启动程序
    在这里插入图片描述
  2. 查看日志
    我在项目中 activiti 的使用记录_第3张图片
  3. 访问页面查看工作流:就到了工作流页面,这里需要输入登录密码和账号,我这里浏览器保存了密码就不需要设置了.就可以到上文所在的页面画流程图.
  4. 创建流程图
    在这里插入图片描述

我在项目中 activiti 的使用记录_第4张图片
这里的 id 是我在项目中找流程实例的 id

  1. 部署流程实列
    我在项目中 activiti 的使用记录_第5张图片

我在项目中 activiti 的使用记录_第6张图片

程序代码

//这里的 key 就是我在上文中所有的 id
ProcessDefinition definition = repositoryService.createProcessDefinitionQuery()
                .processDefinitionKey(key).latestVersion().singleResult();
                //todo 这里定义些要传递的参数
ProcessInstance processInstance = runtimeService.startProcessInstanceById(definition.getId(), params);

我这里画图是自动通过的那种,而不是请假需要审批那种,实现 JavaDelegate 就好了

我在项目中 activiti 的使用记录_第7张图片

你可能感兴趣的:(activiti)