流程定义查询和删除

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

其实就是查询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);
}
相关文章
|
1月前
|
算法 Java 关系型数据库
jeecgboot中如何获取保存后数据的关键字ID
jeecgboot中如何获取保存后数据的关键字ID
26 0
|
1月前
逻辑删除
逻辑删除
15 0
|
6月前
关联表更新封装
关联表更新封装
31 2
|
6月前
关联更新封装(三)
关联更新封装(三)
36 2
|
6月前
关联更新封装(二)
关联更新封装(二)
32 2
|
9月前
|
BI 数据处理 开发工具
【批量创建,删除工作表】
【批量创建,删除工作表】
|
SQL Java Spring
如何查询已经执行过的流程信息?
如何查询已经执行过的流程信息?
|
存储 编译器 程序员
C++数据定义及相关操作
C++数据定义及相关操作
115 0
C++数据定义及相关操作
|
JSON JavaScript 数据格式
(简易)测试数据构造平台: 16 (工具列表新增)
(简易)测试数据构造平台: 16 (工具列表新增)
(简易)测试数据构造平台: 16 (工具列表新增)
|
JavaScript 前端开发
前端案例:我的备忘录(支持事件的增加、删除和修改,代码完整)
前端案例:我的备忘录(支持事件的增加、删除和修改,代码完整)
235 0
前端案例:我的备忘录(支持事件的增加、删除和修改,代码完整)