流程定义查询和删除

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

其实就是查询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);
}
相关文章
|
11月前
18activiti - 流程管理定义(删除key相同的所有不同版本的流程定义)
18activiti - 流程管理定义(删除key相同的所有不同版本的流程定义)
36 0
|
2月前
|
数据库连接 网络安全 数据库
阿里云云效操作报错合集之接口按迭代ID查询工作项查不到或查询结果不正确,是什么原因
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
4月前
逻辑删除
逻辑删除
23 0
|
9月前
关联表更新封装
关联表更新封装
39 2
|
9月前
关联更新封装(三)
关联更新封装(三)
50 2
|
9月前
关联更新封装(二)
关联更新封装(二)
50 2
|
11月前
27activiti - 流程变量(查询历史的流程变量)
27activiti - 流程变量(查询历史的流程变量)
49 0
|
12月前
|
BI 数据处理 开发工具
【批量创建,删除工作表】
【批量创建,删除工作表】
|
SQL Java Spring
如何查询已经执行过的流程信息?
如何查询已经执行过的流程信息?
|
存储 编译器 程序员
C++数据定义及相关操作
C++数据定义及相关操作
131 0
C++数据定义及相关操作