activiti7工作流挂起/激活

工作流挂起和激活

package com.activiti01;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.ProcessDefinition;
import org.junit.Test;

import java.util.List;

/**
 */
public class ActivitiAllProcessSuspendActivateTest {
   
/**
 * 挂起/激活流程	
 */
	@Test
    public void test() {
        //获取ProcessEngineConfiguration对象
        ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
        //获取ProcessEngine对象
        ProcessEngine processEngine = configuration.buildProcessEngine();
        //获取RepositoryService对象
        RepositoryService repositoryService = processEngine.getRepositoryService();
        //获取指定key的流程定义
        List<ProcessDefinition> processDefinitionList = repositoryService.createProcessDefinitionQuery().processDefinitionKey("myEvection").list();
        for (ProcessDefinition processDefinition : processDefinitionList) {
            //如果该流程定义是暂停的
            boolean suspended = processDefinition.isSuspended();
            if (suspended) {
                //如果该流程定义是暂停的,则激活该流程定义下的所有流程实例
                //第一个参数,表示流程定义的id
                //第二个参数,表示是否级联激活该流程定义的流程实例
                //第三个参数,表示激活这个流程定义的时间,如果不填写,从此刻开始
                repositoryService.activateProcessDefinitionById(processDefinition.getId(), true, null);

                System.out.println("流程定义" + processDefinition.getId() + "激活");
            } else {
                //如果该流程定义是激活的,则挂起该流程定义
                repositoryService.suspendProcessDefinitionById(processDefinition.getId(), true, null);

                System.out.println("流程定义" + processDefinition.getId() + "挂起");
            }
        }

    }
}

猜你喜欢

转载自blog.csdn.net/u011628753/article/details/121393460