![]()
![]()
package com.tgb.video;
import java.util.List;
import org.jbpm.api.Configuration;
import org.jbpm.api.ExecutionService;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.ProcessInstance;
import org.jbpm.api.RepositoryService;
import org.jbpm.api.TaskService;
import org.jbpm.api.task.Task;
import junit.framework.TestCase;
public class testJbpm extends TestCase {
//部署流程
public void testDeploy(){
ProcessEngine processEngine = Configuration.getProcessEngine();
RepositoryService repositoryService = processEngine.getRepositoryService();
repositoryService.createDeployment().addResourceFromClasspath("test.jpdl.xml").deploy();
}
//创建流程实例
public void createInstance(){
ProcessEngine processEngine = Configuration.getProcessEngine();
//获取流程服务
ExecutionService executionService = processEngine.getExecutionService();
ProcessInstance processInstance = executionService.startProcessInstanceByKey("test");
System.out.println("流程实例ID=======" + processInstance.getId() );
}
//获取对应人员的任务
public void getTask(){
ProcessEngine processEngine = Configuration.getProcessEngine();
//获取节点服务
TaskService taskService = processEngine.getTaskService();
List<Task> tasks = taskService.findPersonalTasks("李四");
System.out.println("任务数量==" +tasks.size());
Task task = tasks.get(0);
System.out.println("任务名词==" +task.getActivityName());
System.out.println("任务人员==" +task.getAssignee() + "任务ID===" + task.getId());
}
//查询流程实例当前所在节点
public void getCurrectActivity(){
ProcessEngine processEngine = Configuration.getProcessEngine();
//获取流程服务
ExecutionService executionService = processEngine.getExecutionService();
String activityName = executionService.createProcessInstanceQuery().processInstanceId("test.10001").uniqueResult().findActiveActivityNames().toString();
System.out.println("当前任务所在节点===" + activityName);
}
//完成任务节点向下推进
public void completeTask(){
ProcessEngine processEngine = Configuration.getProcessEngine();
TaskService taskService = processEngine.getTaskService();
taskService.completeTask("30001");
}
}