Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >activiti(四)历史数据

activiti(四)历史数据

作者头像
周杰伦本人
发布于 2023-10-12 06:04:29
发布于 2023-10-12 06:04:29
23000
代码可运行
举报
文章被收录于专栏:同步文章同步文章
运行总次数:0
代码可运行

activiti流程执行历史

历史数据交给HistoryService来管理

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package cn.panda.e_historyQuery;

import java.util.List;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.history.HistoricActivityInstance;
import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.history.HistoricTaskInstance;
import org.junit.Test;

public class HistoryQueryTest {

    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

    /**
     * 查询历史流程实例act_hi_procinst
     */
    @Test
    public void findHistoryProcessInstance(){
        String processInstanceId="2201";
        HistoricProcessInstance historicProcessInstance = processEngine.getHistoryService()
                        .createHistoricProcessInstanceQuery()
                        .processInstanceId(processInstanceId)
                        .singleResult();
        System.out.println(historicProcessInstance.getId()+historicProcessInstance.getProcessDefinitionId()
        +historicProcessInstance.getStartTime());
    }

    /**
     * 查询历史活动act_hi_actinst
     */
    @Test
    public void findHistoryActiviti(){
        String processInstanceId = "2201";
        List<HistoricActivityInstance> list = processEngine.getHistoryService()
                        .createHistoricActivityInstanceQuery()
                        .processInstanceId(processInstanceId)
                        .orderByHistoricActivityInstanceStartTime().asc()
                        .list();
        if (list!=null&&list.size()>0) {
            for (HistoricActivityInstance hai : list) {
                System.out.println(hai.getId()+" "+hai.getProcessInstanceId()+" "+hai.getActivityName());
            }
        }
    }

    /**
     * 查询历史任务
     */
    @Test
    public void findHistoryTask() {
        String processInstanceId="2201";
        List<HistoricTaskInstance> list = processEngine.getHistoryService()
                        .createHistoricTaskInstanceQuery()//创建历史任务实例查询
                        .processInstanceId(processInstanceId)
                        .orderByProcessInstanceId().asc()
                        .list();
        if (list!=null&&list.size()>0) {
            for (HistoricTaskInstance historicTaskInstance : list) {
                System.out.println(historicTaskInstance.getId()+" "+historicTaskInstance.getName());
            }
        }
    }   
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
编辑精选文章
换一批
activiti(二)流程实例
周杰伦本人
2023/10/12
2650
activiti(七)并行网关和开始活动节点
周杰伦本人
2023/10/12
5460
activiti(七)并行网关和开始活动节点
activiti(十)组任务Group
部署流程 开启流程 查看当前人的组任务 组任务拾取个人任务 完成任务(组任务最后也要个人来完成)
周杰伦本人
2023/10/12
2910
activiti(十)组任务Group
Activiti5工作流笔记一
  网上工作流的定义一大堆,这里就不去复制了,通俗的理解,工作流就是类似OA系统中请假审批、报销审批等一系列流程,下级提交的申请只有直系领导才能审批,其他人是没有权限的,而只有直系领导审批通过后,直系领导的直系领导才可以看到申请,并进行审批,以此类推。。。
HUC思梦
2020/09/03
8040
Activiti5工作流笔记一
Activiti7的api查询(实时更新)
学习activiti,就是学习使用java代码操作25张表; java代码中我们调用Activiti的工具类;
一写代码就开心
2022/05/27
3K0
Activiti7的api查询(实时更新)
activiti(五)连线SequenceFlow
如果有多个SequenceFlow ,则需要使用流程变量设置codition的名称。message表示流程变量的名称,‘不重要’表示流程变量的值,${}中间的内容要使用boolean类型的表达式,用来判断应该执行的连线。
周杰伦本人
2023/10/12
3130
activiti(五)连线SequenceFlow
activiti(九)个人任务userTask
个人任务及三种分配方式: 1:在taskProcess.bpmn中直接写 assignee=“张三丰” 2:在taskProcess.bpmn中写 assignee=“#{userID}”,变量的值要是String的。 使用流程变量指定办理人 3,使用TaskListener接口,要使类实现该接口,在类中定义: delegateTask.setAssignee(assignee);// 指定个人任务的办理人 使用任务ID和办理人重新指定办理人: processEngine.getTaskService()// .setAssignee(taskId, userId);
周杰伦本人
2023/10/12
3530
activiti(九)个人任务userTask
【白银人机】Activiti 工作流:完整 hello world 大比拼(API 结合实例讲解)
本来想着闲来无事,前面在项目中刚刚用到了工作流 Activiti 框架,写写博客的,但是,事情总是纷纷杂杂,一直拖延到现在,这一节原本想要写一下关于 Activiti 的 API ,但是,想着太多这样的博客了,而且显得太生硬,难以理解,所以,这些 API 就在实际的 demo 中来讲解。
好好学java
2019/06/14
8080
activiti(六)排他网关ExclusiveGateWay
由排他网关流出的顺序流都有个conditionExpression元素,在内部维护返回boolean类型的决策结果。
周杰伦本人
2023/10/12
4040
activiti(六)排他网关ExclusiveGateWay
activiti(八)接收活动receiveTask
当前任务(一般指机器自动完成,但需要耗费一定时间的工作)完成后,向后推移流程,可以调用runtimeService.signal(executionId),传递接收执行对象的id。
周杰伦本人
2023/10/12
3080
activiti(八)接收活动receiveTask
工作流引擎之activiti6实时流程图追踪
有接触过activiti的朋友可能知道,在activiti5.x的追踪流程节点查找,可以用
lyb-geek
2018/07/26
13.2K2
工作流引擎之activiti6实时流程图追踪
Activiti就是这么简单
Activiti介绍 什么是Activiti? Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss jBPM的项目架构师,它特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务 流程图。. 我们即将学习的是一个业务流程管理框架, 常见开源工作流引擎框架 : O
Java3y
2018/04/02
2.3K1
Activiti就是这么简单
activiti(三)流程变量
流程变量的作用域范围是只对应一个流程实例。也就是说各个流程实例的流程变量是不相互影响的。流程实例结束完成以后流程变量还保存在数据库中(存放到流程变量的历史表中)。
周杰伦本人
2023/10/12
3910
Flowable 已经执行完毕的流程去哪找?
松哥最近正在录制 TienChin 项目视频~采用 Spring Boot+Vue3 技术栈,里边会涉及到各种好玩的技术,小伙伴们来和松哥一起做一个完成率超 90% 的项目,戳戳戳这里-->TienChin 项目配套视频来啦。
江南一点雨
2023/01/04
8880
Flowable 已经执行完毕的流程去哪找?
activiti6.0工作流引擎深度解析_自定义工作流引擎
工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。
全栈程序员站长
2022/09/27
2.9K0
activiti6.0工作流引擎深度解析_自定义工作流引擎
activiti的简单使用说明
java Doc https://www.activiti.org/javadocs/
用针戳左手中指指头
2021/03/02
2.1K0
activiti的简单使用说明
如何查询已经执行过的流程信息?
松哥最近正在录制 TienChin 项目视频~采用 Spring Boot+Vue3 技术栈,里边会涉及到各种好玩的技术,小伙伴们来和松哥一起做一个完成率超 90% 的项目,戳戳戳这里-->TienChin 项目配套视频来啦。 ---- 上篇文章和小伙伴们分享的流程操作主要是正在执行的流程,我们有一个非常常见的场景是查询执行过的流程信息,在上篇文章中,小伙伴们已经知道,对于正在执行的流程,会在 ACT_RU_EXECUTION 表中保存一条对应的记录,不过流程执行结束之后,ACT_RU_EXECUTION
江南一点雨
2022/09/28
8360
如何查询已经执行过的流程信息?
七万字掌握热门工作流引擎框架Activiti7,附带视频讲解哦
  工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。文章中涉及的相关软件资料扫左侧哦。
用户4919348
2022/01/07
1.5K0
七万字掌握热门工作流引擎框架Activiti7,附带视频讲解哦
Activiti7笔记(一)Activiti7是什么,入门流程操作的代码实现
Activiti是一个工作流引擎, activiti可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言BPMN2.0进行定义,业务流程按照预先定义的流程进行执行,实现了系统的流程由activiti进行管理,减少业务系统由于流程变更进行系统升级改造的工作量,从而提高系统的健壮性,同时也减少了系统开发维护成本。
一写代码就开心
2022/05/09
3.4K0
Activiti7笔记(一)Activiti7是什么,入门流程操作的代码实现
activiti7实战教程(一)集成用户系统
去掉SpringSecurity框架,修改启动类上的SpringBootApplication注解如下:
全栈程序员站长
2022/09/13
1.8K0
activiti7实战教程(一)集成用户系统
相关推荐
activiti(二)流程实例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验