七、流程挂起

原创
2021/02/27 20:07
阅读数 336

一、挂起全部流程实例

        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
        RepositoryService repositoryService = engine.getRepositoryService();

        //查询流程定义 获取流程定义对象
        ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
                .processDefinitionKey("myevection")
                .singleResult();
        //获取定义id
        String definitionId = processDefinition.getId();
        boolean isAble = processDefinition.isSuspended();
        if (isAble) {
            //激活
            repositoryService.activateProcessDefinitionById(definitionId, true, null);
        }else {
            //挂起
            repositoryService.suspendProcessDefinitionById(definitionId, true, null);
        }

挂起

repositoryService.suspendProcessDefinitionById(流程定义id, 是否挂起, 挂起时间(可为null));

激活

repositoryService.activateProcessDefinitionById(流程定义id, 是否激活, 激活时间);

二、挂起某一流程实例

        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
        RuntimeService runtimeService = engine.getRuntimeService();

        ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
                .processInstanceId("2501")
                .singleResult();
        //获取定义id
        String definitionId = processInstance.getId();
        boolean isAble = processInstance.isSuspended();
        if (isAble) {
            //激活
            runtimeService.activateProcessInstanceById(definitionId);
        }else {
            //挂起
            runtimeService.startProcessInstanceById(definitionId);
        }

因为是挂起某一个流程实例,需要知道流程实例对象方可挂起

挂起

runtimeService.startProcessInstanceById(流程实例对象id);

激活

runtimeService.activateProcessInstanceById(流程实例对象id);

问题:

    如果被挂起的流程实例对象中有未完成的还可操作?

    不可操作,需激活后方可继续进行

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部