用户任务的属性面板 包括:
Assignee:执行人 代理人
Candidate User :候选人
CandidateGroups : 候选组
DueDate :任务到期时间
新建一个流程
第一个节点的UserTask参数
第二个节点的UserTask
代码块
@Autowired
private TaskService taskService;
//部署
@Autowired
private RepositoryService repositoryService;
//操作实例
@Autowired
private RuntimeService runtimeService;
//1部署BPMN文件
@Test
public void initDeploymentBPMN() {
String fileName = "BPMN/Part5.bpmn20.xml";
Deployment deployment = repositoryService.createDeployment().addClasspathResource(fileName).name("流程候选人").deploy();
System.out.println(deployment.getName());
}
//2查询部署情况
@Test
public void getDeploymentList(){
List<Deployment> list = repositoryService.createDeploymentQuery().list();
for (Deployment deployment : list) {
System.out.println(deployment.getKey());
}
}
//3获取流程定义
@Test
public void getDefinitions(){
List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery().list();
for (ProcessDefinition processDefinition : list) {
System.out.println(processDefinition.getKey());
}
}
//4创建流程实例
@Test
public void initProcessInstance(){
//拿到Key
//执行的备注
String key = "Part5";
String be = "流程候选人";
//创建流程实例
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(key, be);
System.out.println("流程实例Id"+processInstance.getProcessInstanceId());
}
//查询所有代办任务
@Test
public void getTasks(){
List<Task> list = taskService.createTaskQuery().list();
for (Task task : list) {
System.out.println("ID"+task.getId());
System.out.println("名称"+task.getName());
System.out.println("执行"+task.getAssignee());
}
}
//查询bajie的代办
@Test
public void getTasksByAssigneeByBajie(){
//需要查询的名称 = user
String user = "bajie";
List<Task> list = taskService.createTaskQuery().taskAssignee(user).list();
for (Task task : list) {
System.out.println(task.getAssignee());
}
}
//执行任务
@Test
public void completeTask(){
//传入流程实例ID
taskService.complete("12015b26-2f49-11ed-960c-708bcd0c3dc6");
}
//查询wukong的代办
@Test
public void getTasksByAssigneeByWukong(){
//需要查询的名称 = user
String user = "wukong";
List<Task> list = taskService.createTaskQuery().taskAssignee(user).list();
for (Task task : list) {
System.out.println(task.getAssignee());
System.out.println(task.getId());
}
}
//拾取任务
@Test
public void Test(){
//第一个参数为流程实例id 第二个为谁拾取了任务
Task task = taskService.createTaskQuery().taskId("c8e3948a-3009-11ed-9a28-708bcd0c3dc6").singleResult();
//拾取任务
taskService.claim("c8e3948a-3009-11ed-9a28-708bcd0c3dc6","bajie");
}
//归还与交办任务
@Test
public void Huan(){
//第一个参数为流程实例id 第二个为谁拾取了任务
Task task = taskService.createTaskQuery().taskId("c8e3948a-3009-11ed-9a28-708bcd0c3dc6").singleResult();
//归还候选任务
taskService.setAssignee("c8e3948a-3009-11ed-9a28-708bcd0c3dc6","null");
//交办任务
taskService.setAssignee("c8e3948a-3009-11ed-9a28-708bcd0c3dc6","wukong");
}