Activiti7工作流

一.什么是工作流

工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。

二.工作流引擎

  1. 首先我们需要使用特殊的绘图工具绘制一张图。
  2. 这个图本质上就是一个 XML 文件。可以被 Java 代码所读取。
  3. 最终这里面的数据会存储到数据库中。
  4. 当申请人发起申请本质上就是根据 XML 中的 id 在通过连线找下一个节点。(本质上就是读取数据库中的数据)
  5. 当前节点会形成一条当前任务。审批人就可以通过当前任务表查询到自己的待办任务。
  6. 拒绝则流程结束。
  7. 同意则流程继续执行。会将当前任务表中之前完成过的任务删除,并插入新的任务。(当前任务表中永远只存在当前任务)。进入新的审批...
  8. 直到没有下一个任务了,流程结束。
    Activiti7执行原理

三.集成Activiti7

  1. 添加依赖。
  2. 添加 log4j.properties。日志。
  3. 书写配置文件,配置文件名字必须叫做 -> activiti.cfg.xml
  • 配置数据源。
  • 配置流程引擎对象的更新规则。
  1. 书写测试类。

image


image


image

四.业务建模

  1. 首先打开 Activiti7 的画布。
  2. 正常添加开始结束及用户任务节点。
  3. 在用户任务节点中添加对应的节点名称及负责人。
  4. 为整张图添加 id=xx name=xx id 是给机器做对比的,需要唯一。name 是给人看的。中文即可。

image


image


image

五.流程引擎 API

  1. 首先需要获取 ProcessEngine 流程引擎对象。
  2. 根据不同的阶段操作,获取不同的四个 Service
    1. RepositoryService:操作静态资源的。例如流程文件(XML 文件)、流程图(PNG)。 他主要操作的是流程定义。
    2. RuntimeService:操作的是运行起来的。主要就是启动流程。操作的是流程实例。
    3. TaskService:操作的是任务。查询待办任务、添加批注信息、完成任务。主要操作的就是任务。
    4. HistoryService:操作的是历史。查询历史流程实例、历史任务等等。

部署

image

运行完会在数据库生成25张表

image

启动流程

image

查询代办任务

image

任务审批

image

添加批注信息

image

查询历史任务

image

六.测试类的流程

image


image

posted @ 2026-08-31 22:32  诺森德的雪原  阅读(10)  评论(0)    收藏  举报