package cn.itcast.l_group02;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
@SuppressWarnings("serial")
public class TaskListenerImpl implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
delegateTask.addCandidateUser("郭靖");
delegateTask.addCandidateUser("黄蓉");
}
}
package cn.itcast.l_group02;
import java.io.InputStream;
import java.util.List;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.history.HistoricIdentityLink;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.IdentityLink;
import org.activiti.engine.task.Task;
import org.junit.Test;
public class TaskTest {
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
@Test
public void deploymentProcessDefinition_inputStream(){
InputStream inputStreamBpmn = this.getClass().getResourceAsStream("task.bpmn");
InputStream inputStreamPng = this.getClass().getResourceAsStream("task.png");
Deployment deployment = processEngine.getRepositoryService()
.createDeployment()
.name("任务")
.addInputStream("task.bpmn", inputStreamBpmn)
.addInputStream("task.png", inputStreamPng)
.deploy();
System.out.println("部署ID:"+deployment.getId());
System.out.println("部署名称:"+deployment.getName());
}
@Test
public void startProcessInstance(){
String processDefinitionKey = "task";
ProcessInstance pi = processEngine.getRuntimeService()
.startProcessInstanceByKey(processDefinitionKey);
System.out.println("流程实例ID:"+pi.getId());
System.out.println("流程定义ID:"+pi.getProcessDefinitionId());
}
@Test
public void findMyPersonalTask(){
String assignee = "郭靖";
List<Task> list = processEngine.getTaskService()
.createTaskQuery()
.taskAssignee(assignee)
.orderByTaskCreateTime().asc()
.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.getCreateTime());
System.out.println("任务的办理人:"+task.getAssignee());
System.out.println("流程实例ID:"+task.getProcessInstanceId());
System.out.println("执行对象ID:"+task.getExecutionId());
System.out.println("流程定义ID:"+task.getProcessDefinitionId());
System.out.println("########################################################");
}
}
}
@Test
public void findMyGroupTask(){
String candidateUser = "郭靖";
List<Task> list = processEngine.getTaskService()
.createTaskQuery()
.taskCandidateUser(candidateUser)
.orderByTaskCreateTime().asc()
.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.getCreateTime());
System.out.println("任务的办理人:"+task.getAssignee());
System.out.println("流程实例ID:"+task.getProcessInstanceId());
System.out.println("执行对象ID:"+task.getExecutionId());
System.out.println("流程定义ID:"+task.getProcessDefinitionId());
System.out.println("########################################################");
}
}
}
@Test
public void completeMyPersonalTask(){
String taskId = "7204";
processEngine.getTaskService()
.complete(taskId);
System.out.println("完成任务:任务ID:"+taskId);
}
@Test
public void findRunPersonTask(){
String taskId = "6204";
List<IdentityLink> list = processEngine.getTaskService()
.getIdentityLinksForTask(taskId);
if(list!=null && list.size()>0){
for(IdentityLink identityLink:list){
System.out.println(identityLink.getTaskId()+" "+identityLink.getType()+" "+identityLink.getProcessInstanceId()+" "+identityLink.getUserId());
}
}
}
@Test
public void findHistoryPersonTask(){
String processInstanceId = "6201";
List<HistoricIdentityLink> list = processEngine.getHistoryService()
.getHistoricIdentityLinksForProcessInstance(processInstanceId);
if(list!=null && list.size()>0){
for(HistoricIdentityLink identityLink:list){
System.out.println(identityLink.getTaskId()+" "+identityLink.getType()+" "+identityLink.getProcessInstanceId()+" "+identityLink.getUserId());
}
}
}
@Test
public void claim(){
String taskId = "7204";
String userId = "郭靖";
processEngine.getTaskService()
.claim(taskId, userId);
}
@Test
public void setAssigee(){
String taskId = "6204";
processEngine.getTaskService()
.setAssignee(taskId, null);
}
@Test
public void addGroupUser(){
String taskId = "6204";
String userId = "大H";
processEngine.getTaskService()
.addCandidateUser(taskId, userId);
}
@Test
public void deleteGroupUser(){
String taskId = "6204";
String userId = "小B";
processEngine.getTaskService()
.deleteCandidateUser(taskId, userId);
}
}