Activiti 定义流程实例 及 数据表的含义 Map 集合的特点

package cn.ycit.C_processInstance;

import java.io.InputStream;
import java.util.zip.ZipInputStream;

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 ProcessInstanceTest {
	ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
	@Test
	public void deploymentProcessDefinition_zip(){
//		部署流程定义	 
			//  这一段代码的目的是为了操作数据库
		InputStream in = this.getClass().getClassLoader().getResourceAsStream("HelloWorld.zip");
		ZipInputStream zipInputStream = new ZipInputStream(in);
		Deployment deployment =  processEngine.getRepositoryService() //与流程定义和部署相关的service
								.createDeployment() //创建一个部署对象
								.name("流程定义")
								.addZipInputStream(zipInputStream) //从classpath文件中加载且一次只能加载一个文件
								.deploy(); //完成部署
		System.out.println(  "部署ID:"+ deployment.getId());
		System.out.println("部署名称:"+deployment.getName());
		}
	@Test
//	启动流程实例
	public void startProcessInstance(){
		String ProcessDefinitionKey = "hellowordid";
		ProcessInstance pl = processEngine.getRuntimeService()//与正在执行的流程实例和部署对象相关的Service
				.startProcessInstanceByKey(ProcessDefinitionKey);//使用流程定义的KEY运行流程实例 key对应 HelloWord中的id的属性值
		System.out.println("流程实例ID:"+pl.getId());               //使用KEY启动  默认 的是最新版本的流程定义
		System.out.println("流程定义ID:"+pl.getProcessDefinitionId());
	}
	@Test
//	查询当前的个人任务
	public void FindPersonTask(){
		String assignee = "王五";
		java.util.List<Task> list = processEngine.getTaskService()//与正在执行的任务相关的Service
		.createTaskQuery()// 创建查询任务对象
		.taskAssignee(assignee)// 制定个人任务查询 制定查询个人
		.list();
		if(list!=null && list.size()>0 ){
			for(Task task :list){
				System.out.println("任务ID:"+task.getId());
				System.out.println("任务名称:"+task.getName());
				System.out.println("任务的办理人:"+task.getAssignee());
				System.out.println("任务的创建时间:"+task.getCreateTime());
				System.out.println("流程实例ID:"+task.getProcessDefinitionId());
				System.out.println("执行对象ID:"+task.getExecutionId());
				System.out.println("流程定义ID:"+task.getProcessDefinitionId());
				System.out.println("##########################################################");
			}
		}
	}	
	@Test
//	完成当前任务
	public void CompletePersonTask(){
		String taskId = "2602";
		processEngine.getTaskService()
					.complete(taskId);
		System.out.println("完成任务ID:"+taskId);
	}
}

猜你喜欢

转载自blog.csdn.net/qq_40068214/article/details/79998847
今日推荐