activiti 动态调用子流程

  • Post author:
  • Post category:其他


给子流程设置流程变量

在这里插入图片描述

package com.cn.event;
/**
 * 
* @Title: DynamicTest.java  
* @Package com.cn.event  
* @Description: 动态添加子流程
* @author cc  
* @date 2019年7月25日  
* @version V1.0
 */

import java.util.HashMap;
import java.util.Map;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.junit.Test;

public class DynamicTest {
        
	ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();
	/**
	 * 部署流程
	 */
	@Test
	public void getProceesDefintion() {
		
         Deployment deployment=processEngine.getRepositoryService().createDeployment()
        		               .addClasspathResource("Et/Event_v1.0.bpmn")
        		               .addClasspathResource("Et/Escall.bpmn")
		                       .deploy();
		 System.err.println(deployment.getId()+"部署id");
		 System.err.println(deployment.getName()+"部署名称");
		
	}
	/**
	 * 启动流程实例
	 */
	@Test
	public void startProcessInstance() {
		String processInstanceByKey="mypocss1";
	    ProcessInstance proInstance=processEngine.getRuntimeService().startProcessInstanceByKey(processInstanceByKey);
		System.err.println("proInstanceId"+proInstance.getId());
		
		
	}
	/**
	 * 查看个人任务
	 */
	@Test
	public void queryTask() {
		String assingnee="cc";
    	Task task=processEngine.getTaskService().createTaskQuery().taskAssignee(assingnee).singleResult();
		System.err.println(task.getName()+"//任务名称");
		
	}
	/**
	 * 完成个人任务
	 */
	@Test
	public void completeTask() {
		String taskId="5007";
		Map<String, Object> haMap=new HashMap<String, Object>();
		haMap.put("call", "call");
		//在完成任务的同时设置子流程 定义好的流程变量 
		processEngine.getTaskService().complete(taskId,haMap);
		System.err.println("任务完成");
		
	}
	
}



版权声明:本文为weixin_43864599原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。