流程定义查询和删除

简介: 流程定义查询流程定义查询和删除

其实就是查询act_re_procdef表里面的信息

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


// 查询流程定义
@Test
public void queryProcessDefinition(){
    // 获取引擎
    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    // 获取RepositoryService
    RepositoryService repositoryService = processEngine.getRepositoryService();
    // 获取ProcessDifinitionQuery对象
    ProcessDefinitionQuery definitionQuery = repositoryService.createProcessDefinitionQuery();
    // 查询当前的所有流程定义,返回流程定义信息的集合
    // processDefinitionKey(流程定义的key)
    // 根据version进行排序,使用list查询所有的内容
    List<ProcessDefinition> definitionList = definitionQuery.processDefinitionKey("myEvection")
            .orderByProcessDefinitionVersion()
            .desc()
            .list();
    // 输出结果
    for (ProcessDefinition processDefinition : definitionList) {
        System.out.println("流程定义ID:"+processDefinition.getId());
        System.out.println("流程定义名称:"+processDefinition.getName());
        System.out.println("流程定义key:"+processDefinition.getKey());
        System.out.println("流程定义版本:"+processDefinition.getVersion());
    }
}

流程定义ID:myEvection:1:4

流程定义名称:出差申请

流程定义key:myEvection

流程定义版本:1

流程定义删除

把定义好的流程通过代码的方式进行删除,通过部署id进行删除,和创建流程定义的时候操作的那些表是一致的

注意:历史信息相关的表不会因为流程的删除而删除,也就是说删除流程定义时不会删除历史信息

// 删除流程部署信息
@Test
public void deleteDeployMent(){
    // 获取流程引擎
    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    // 获取RepositoryService
    RepositoryService repositoryService = processEngine.getRepositoryService();
    // 流程部署id
    String deploymentId="1";
    // 通过部署id进行删除流程部署细腻些
    repositoryService.deleteDeployment(deploymentId);
}

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


上面删除的流程是我们已经进行完的,如果流程进行到某一部还没有完全进行完,这时候删除是不会成功的,但是我们可以通过级联删除,也就是外键,需要修改下代码

// 删除流程部署信息
// 如果当前的流程还没有完成,需要使用特殊的方式进行删除,原理就是级联删除
@Test
public void deleteDeployMent(){
    // 获取流程引擎
    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    // 获取RepositoryService
    RepositoryService repositoryService = processEngine.getRepositoryService();
    // 流程部署id
    String deploymentId="1";
    // 通过部署id进行删除流程部署细腻些
    // repositoryService.deleteDeployment(deploymentId);
    // 执行级联删除 
    repositoryService.deleteDeployment(deploymentId,true);
}
相关文章
|
数据采集 搜索推荐 大数据
大数据技术在电商平台中的应用
电商平台是当今社会最为普及的购物方式之一,而大数据技术则成为了众多企业的强有力竞争力。本文将介绍大数据技术在电商平台中的应用,包括数据采集、预测分析、用户画像等方面,并探讨其对电商平台的价值和意义。
1026 27
|
Shell 开发工具
【优化篇】telegraf+shell脚本实现秒级的服务状态异常监测与告警
【优化篇】telegraf+shell脚本实现秒级的服务状态异常监测与告警
402 0
|
JavaScript 前端开发 测试技术
类型体操之实现 Pick 和 Omit
之前深信服前端一面的时候,面试官问我会 TypeScript 吗?想到我之前说 Vue3 原理时顺便提了一口 Vue3 是基于 TypeScript 写的,我既然懂 Vue3 原理,那说不会一点 TypeScript 那实在是有点说不过去
|
存储 JSON 前端开发
JSON与现代Web开发:数据交互的最佳选择
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也便于机器解析和生成。它以文本格式存储数据,常用于Web应用中的数据传输,尤其是在客户端和服务器之间。
779 1
|
SQL 关系型数据库 MySQL
MySQL服务的状态如何查看?
【5月更文挑战第23天】MySQL服务的状态如何查看?
4266 1
|
关系型数据库 MySQL 应用服务中间件
windows服务器自带IIS搭建网站并发布公网访问【内网穿透】-1
windows服务器自带IIS搭建网站并发布公网访问【内网穿透】
|
SQL XML Java
基于若依springboot架构实现数据多维统计
基于springboot架构实现数据多维统计,列表动态增减列,mybatis动态传入字段等内容
基于若依springboot架构实现数据多维统计
|
前端开发 JavaScript
vant NavBar 导航栏详解
vant NavBar 导航栏详解
694 4
|
存储 JSON 安全
[浏览器系列] : 客户端本地存储
[浏览器系列] : 客户端本地存储
239 2
[浏览器系列] : 客户端本地存储
|
缓存 监控 NoSQL
若依修改----监控相关,主要包括在线用户,数据监控,服务监控,缓存监控,缓存列表,缓存监控有助于帮我们搞清楚redis的缓存情况,数据监控的密码控制台管理用户名和密码在application-dru
若依修改----监控相关,主要包括在线用户,数据监控,服务监控,缓存监控,缓存列表,缓存监控有助于帮我们搞清楚redis的缓存情况,数据监控的密码控制台管理用户名和密码在application-dru