${nrOfCompletedInstances/nrOfInstances==1} ==1表示所有任务实力完成才可以进入下一个节点; ==0.75 表示 3/4的完成可进入下一节点;以此类推
@RequestMapping("multi_assignee")
public void setMultiAssignee() {
//根据bpmn文件部署流程
repositoryService.createDeployment().addClasspathResource("processes/multi_assignee.bpmn").deploy();
// 设置多个处理人变量 这里设置了三个人
Map<String, Object> variables = new HashMap<>();
List<String> userList = new ArrayList<>();
userList.add("user1");
userList.add("user2");
userList.add("user3");
variables.put("userList", userList);
//采用key来启动流程定义并设置流程变量,返回流程实例
ProcessInstance pi = runtimeService.startProcessInstanceByKey("multi_assignee", variables);
String processId = pi.getId();
System.out.println("流程创建成功,当前流程实例ID:"+processId);
// 查看user1的任务
List<Task> list = taskService.createTaskQuery().taskAssignee("user1").list();
if(list!=null && list.size()>0){
for(org.activiti.engine.task.Task task:list){
System.out.println("任务ID:"+task.getId());
System.out.println("任务的办理人:"+task.getAssignee());
System.out.println("任务名称:"+task.getName());
System.out.println("任务的创建时间:"+task.getCreateTime());
System.out.println("流程实例ID:"+task.getProcessInstanceId());
System.out.println("#######################################");
}
}
// 查看user2的任务
List<Task> list2 = taskService.createTaskQuery().taskAssignee("user2").list();
if(list2!=null && list2.size()>0){
for(org.activiti.engine.task.Task task:list2){
System.out.println("任务ID:"+task.getId());
System.out.println("任务的办理人:"+task.getAssignee());
System.out.println("任务名称:"+task.getName());
System.out.println("任务的创建时间:"+task.getCreateTime());
System.out.println("流程实例ID:"+task.getProcessInstanceId());
System.out.println("#######################################");
}
}
// 查看user3的任务
List<Task> list3 = taskService.createTaskQuery().taskAssignee("user3").list();
if(list3!=null && list3.size()>0){
for(org.activiti.engine.task.Task task:list3){
System.out.println("任务ID:"+task.getId());
System.out.println("任务的办理人:"+task.getAssignee());
System.out.println("任务名称:"+task.getName());
System.out.println("任务的创建时间:"+task.getCreateTime());
System.out.println("流程实例ID:"+task.getProcessInstanceId());
System.out.println("#######################################");
}
}
}