流程历史记录查询

简介: 流程历史记录查询

流程历史记录查询

其实就是根据不同的查询条件查询act_hi_actinst表

网络异常,图片无法展示
|

首先需要把流程执行完,调用之前的根据当前人审批,挨个执行

// 查看流程审批的历史信息
@Test
public void getHistoryInfo(){
    // 获取流程引擎
    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    // 获取HistortService
    HistoryService historyService = processEngine.getHistoryService();
    // 获取instanceQuery
    HistoricActivityInstanceQuery instanceQuery = historyService.createHistoricActivityInstanceQuery();
    // 查询act_hi_actinst表 查询条件 根据InstanceID查询
    // instanceQuery.processInstanceId("5001");
    // 查询act_hi_actinst表 查询条件 根据DefinitionId查询
    instanceQuery.processDefinitionId("myEvection:1:2504");
    // 增加排序操作 根据开始时间去排序
    instanceQuery.orderByHistoricActivityInstanceStartTime().asc();
    List<HistoricActivityInstance> list = instanceQuery.list();
    // 输出结果
    for (HistoricActivityInstance hi : list) {
        System.out.println(hi.getActivityId());
        System.out.println(hi.getActivityName());
        System.out.println(hi.getProcessDefinitionId());
        System.out.println(hi.getProcessInstanceId());
        System.out.println("------------------------------------------");
    }
}

执行结果

_2

StartEvent

myEvection:1:2504

5001

------------------------------------------

_3

创建出差申请

myEvection:1:2504

5001

------------------------------------------

_4

经理审批

myEvection:1:2504

5001

------------------------------------------

_5

总经理审批

myEvection:1:2504

5001

------------------------------------------

_6

财务审批

myEvection:1:2504

5001

------------------------------------------

_7

EndEvent

myEvection:1:2504

5001

------------------------------------------

Process finished with exit code 0

17 Activiti进阶(与业务关联)

流程实例

网络异常,图片无法展示
|

把整个流程节点走完才算一个实例的结束

一个流程可以有多个实例,比如张三出差,李四出差

Activiti与业务系统整合分析

由于我们使用AC的时候只能进行流程审批,但是不知道流程内容是什么,所以我们需要和业务相关的表进行结合

网络异常,图片无法展示
|

进阶就是讲的AC和业务系统进行数据关联交互,才能真正的实现工作流,我们刚才写的代码全是demo,像下一个审批人我们不能写死成jack,应该从数据库里面获取,我们通常使用表中的一个字段(businessKey 业务key)让业务表和流程表关联,比如业务表的id为1,那么businessKey也应该为1,我们查询的时候就会把业务信息和AC表信息一起查出来,这是最简单的一种实现方式

Activiti实现businessKey关联

上述已经说了需要新增businessKey(业务key)进行AC和业务表的关联,下面我们就是用代码实现

首先新建一个测试类,添加businessKey的代码如下,这是一个demo级别的,因为我们都是写死的内容

网络异常,图片无法展示
|

package com.wyh.test;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.runtime.ProcessInstance;
import org.junit.Test;
/**
 * @description: Activiti整合BusinessKey(业务key)
 * @author: 魏一鹤
 * @createDate: 2022-07-18 22:13
 **/
public class ActivitiBusinessDemo {
    // 添加业务key到Activiti的表里面
    @Test
    public void addBusinessKey(){
        // 获取流程引擎
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
        // 获取service RuntimeService
        RuntimeService runtimeService = processEngine.getRuntimeService();
        // 启动流程的过程中添加业务key
        // 参数1 String processDefinitionKey  流程定义的key
        // 参数2 String businessKey 业务key,业务表的id 也就是1001,目前是一个demo级别先写死
        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myEvection", "1001");
        // 输出内容
        System.out.println("businessKey:"+processInstance.getBusinessKey());
    }
}

运行方法,的确是我们存入的业务表ID,1001

网络异常,图片无法展示
|

在数据库act_ru_execution表里面查询到业务key,我们以后就通过查询这张表获取流程信息

网络异常,图片无法展示
|

相关文章
|
4月前
|
API 数据库
Activiti 流程资源文件下载及历史信息查询
Activiti 流程资源文件下载及历史信息查询
42 0
|
28天前
宜搭子表单内数据提交时如何与历史数据进行去重效验?
宜搭子表单内数据提交时如何与历史数据进行去重效验?不是仅仅在当前提交页面内的子表单数据进行重复效验。
宜搭子表单内数据提交时如何与历史数据进行去重效验?
|
10月前
|
开发者
评审不通过开发者的提交工具一直显示推送状态,必须通过后推送的信息才会消失
在使用sourcetree时,开发者提交推送代码后,评审不通过,sourcetree上边一直显示推送的状态,只有通过评审推送状态才会消失。
|
11月前
|
数据库
30activiti - 流程执行历史记录
30activiti - 流程执行历史记录
51 0
|
12月前
如何进行需求评审后续跟踪和更新?附模板
如何进行需求评审后续跟踪和更新?附模板
116 0
|
SQL Java Spring
如何查询已经执行过的流程信息?
如何查询已经执行过的流程信息?
|
程序员 测试技术 数据库
实战! 项目单据确认状态未更新排查
实战! 项目单据确认状态未更新排查
|
Web App开发 缓存 iOS开发
CleanMyMacX4.12.2有哪些新的功能更新
任何一部电子设备在使用多年之后都会出现性能下降的问题,苹果的Mac计算机自然也不例外。当你发现Mac运行缓慢,因为有太多文件或缓存垃圾将Mac的运行速度拖了下来。 要想提高生活和工作效率,必须对Mac进行优化,提升一下Mac 的使用性能。那么以下三种提升Mac使用性能的方法对你的帮助将会是巨大的。
117 0
|
消息中间件 存储 数据库
回退库存流程分析|学习笔记
快速学习回退库存流程分析
159 0
回退库存流程分析|学习笔记
|
存储 测试技术 开发工具
BSTestRunner增加历史执行记录展示和重试功能
之前对于用例的失败重试,和用例的历史测试记录存储展示做了很多的描述呢,但是都是基于各个项目呢,不方便使用,为了更好的使用,我们对这里进行抽离,抽离出来一个单独的模块,集成到BSTestRunner中,以后我们使用BSTestRunner直接就可以使用里面的失败重试和展示历史记录了。
BSTestRunner增加历史执行记录展示和重试功能