1.绘制流程图
2.代码
package com.lxl.candidate;
import org.activiti.engine.*;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.task.Task;
import org.junit.Test;
import java.util.List;
import java.util.Properties;
public class GroupTest {
private ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
private String key = "myProcess";
private String DefinitionId = "myProcess:2:12509";
@Test
public void deployment() {
RepositoryService repositoryService = processEngine.getRepositoryService();
Deployment deploy = repositoryService.createDeployment()
.addClasspathResource("diagram/holiday4.bpmn")
.name("填写请假单")
.deploy();
}
@Test
public void startFlow(){
RuntimeService runtimeService = processEngine.getRuntimeService();
runtimeService.startProcessInstanceByKey(key);
}
@Test
public void completeTask(){
TaskService taskService = processEngine.getTaskService();
Task task = taskService.createTaskQuery()
.processDefinitionKey(key)
.processDefinitionId("myProcess:2:12509")
.taskAssignee("xiaozhang")
.singleResult();
if (task != null) {
taskService.complete(task.getId());
System.out.println("执行完成");
}
}
@Test
public void GroupTask(){
TaskService taskService = processEngine.getTaskService();
String can = "lisi";
Task task = taskService.createTaskQuery()
.processDefinitionKey(key)
.processDefinitionId(DefinitionId)
.taskCandidateUser(can)
.singleResult();
if (task != null) {
taskService.claim(task.getId(),can);
}
}
@Test
public void reback(){
TaskService taskService = processEngine.getTaskService();
String taskId = "17502";
String userId = "lisi";
//检查
Task task = taskService.createTaskQuery()
.taskId(taskId)
.taskAssignee(userId)
.singleResult();
if (task != null){
taskService.setAssignee(taskId,null);
}
}
@Test
public void setAssignee(){
//交接
TaskService taskService = processEngine.getTaskService();
String taskId = "17502";
String userId = "lisi";
String can = "wangwu";
Task task = taskService.createTaskQuery()
.taskId(taskId)
.taskAssignee(userId)
.singleResult();
if (task != null) {
taskService.setAssignee(taskId,can);
}
}
}