首页 > 其他分享 >flowable中判断流程实例是否已经结束可通过两种方式实现

flowable中判断流程实例是否已经结束可通过两种方式实现

时间:2024-01-23 13:31:36浏览次数:23  
标签:flowable 流程 processInstanceId System 实例 println out

processInstanceId是流程实例id

方式一:使用RuntimeService

RuntimeService runtimeService = processEngine.getRuntimeService();
String processInstanceId = "your_process_instance_id"; // 替换为实际的流程实例ID

// 检查流程实例是否已经结束
boolean isEnded = runtimeService.createProcessInstanceQuery()
    .processInstanceId(processInstanceId)
    .finished() // 查询已完成的流程实例
    .count() > 0;

if (isEnded) {
    System.out.println("流程实例已结束");
} else {
    System.out.println("流程实例未结束或不存在");
}

方式二:使用HistoryService

HistoryService historyService = processEngine.getHistoryService();
String processInstanceId = "your_process_instance_id";

// 查询历史流程实例并判断是否结束
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
    .processInstanceId(processInstanceId)
    .singleResult();
// 也可以判断结束时间是否为空
if (historicProcessInstance != null && historicProcessInstance.getEndTime() != null) {
    System.out.println("流程实例已结束");
} else {
    System.out.println("流程实例未结束或不存在");
}
// 也可以判断结束节点是否有数据
if (historicProcessInstance != null && historicProcessInstance.getEndActivityId() != null) {
    System.out.println("流程实例已结束");
} else {
    System.out.println("流程实例未结束或不存在");
}

标签:flowable,流程,processInstanceId,System,实例,println,out
From: https://blog.51cto.com/u_16469255/9378818

相关文章

  • .NET 6 ASP.NET Core API 项目依赖注入一个全局对象,确保全局只实例化一次,调用的都是此
    在.NET6中,实现全局单例服务的方法是通过内置在ASP.NETCore中的依赖注入(DI)容器来完成的。DI容器负责创建和管理服务的实例,包括控制它们的生命周期。对于单例服务,DI容器将确保在应用程序的整个生命周期内只创建服务的一个实例,并且所有对该服务的请求都会返回这个单一的实例。以下......
  • 化繁为简|流程开发工具让流程化办公简便更高效!
    在现代化职场办公中,如果想要实现流程化办公,那就可以了解低代码技术平台以及流程开发工具。随着业务量的激增,应用专业的流程表单制作工具不仅让工作化繁为简,而且还能让办公变得更为顺畅、高效和简洁。今天,一起来了解什么是低代码技术平台,以及流程开发工具的各项优势特点。什么是低......
  • 毕设全流程记录(个人向)
    选定java语言参考1:Java快速入门:https://www.cnblogs.com/happyframework/p/3332243.htmlJava后台开发的常用框架有SSM框架。选定SSM框架参考1:SSM框架理解:https://www.cnblogs.com/verlen11/p/5349747.html 参考2:使用idea2017搭建SSM框架:https://www.cnblogs.com/hackyo/p/66......
  • 项目开发流程与角色
    一、项目研发流程  二、时间分配占比 三、公司人员架构  ......
  • datax编译以及测试流程
    简单记录一下1、编译mvn-Ucleanpackageassembly:assembly'-Dmaven.test.skip=true'   缺少<!--<dependency>--><!--<groupId>org.pentaho</groupId>--><!--<artifactId>pentaho-aggdesigne......
  • Flutter框架渲染流程与使用
    转自:https://www.cnblogs.com/zhou--fei/p/17068412.html Flutter简述Flutter是一个UI框架,可以进行移动端(iOS,Android),Web端,桌面端开发,它是一个跨平台解决方案。Flutter的特点:美观,快速,高效,开放。美观:Flutter内置了美丽的MaterialDesign和Cupertinowidget,方便开发出美......
  • Micro 接口运行流程
    1.程序运行2初始化接口清单(TSysInterMst)3.静态函数(GlobalManager)-----------------------------------1.控制器(Run)2.账号/密码/接口名/参数(Body),使用zip压缩传参3.验证账号/密码4.验证接口名/参数5.执行接口(接口名、参数)6.默认函数(ImportJson)6.1.取字段映射(TSysInterMst、TSysInter......
  • Go语言核心36讲 24 | 测试的基本规则和流程(下)
    你好,我是郝林。今天我分享的主题是测试的基本规则和流程的(下)篇。Go语言是一门很重视程序测试的编程语言,所以在上一篇中,我与你再三强调了程序测试的重要性,同时,也介绍了关于gotest命令的基本规则和主要流程的内容。今天我们继续分享测试的基本规则和流程。本篇代码和指令较多,你......
  • Go语言核心36讲 23 | 测试的基本规则和流程 (上)
    你好,我是郝林,今天我分享的主题是:测试的基本规则和流程(上)。你很棒,已经学完了本专栏最大的一个模块!这涉及了Go语言的所有内建数据类型,以及非常有特色的那些流程和语句。你已经完全可以去独立编写各种各样的Go程序了。如果忘了什么,回到之前的文章再复习一下就好了。在接下来的日......
  • 在Markdown中使用mermaid画图之流程图
    流程图流程图由流程图方向、节点、节点形状、节点间关系构成声明流程图flowchartLR//flowchart声明为流程图、LR确定流程图从左至右的方向 id1[test1]//id--创建出一个节点、括号内为该节点显示的内容 id2[test2] id3[test3]流程图的方向有以下几种选择:TB-从上到......