下面贴出关键代码
设置下一节点签收人:
Map variables = new HashMap();//在流程里传递,变量集合
variables.put("nextPerson","张三");
String processName = 'oa_leave';//流程图名字
String businesskey= '01ab-cc32d-dccde2-113232';//buinesskey用来连接业务数据和流程数据
runtimeservice.startProcessInstanceByKey(processName ,businesskey,variables);
签收人查询代办事项:
//根据上一流程传过来的变量,查询属于自己的任务。
List tasks = taskservice.createTaskQuery().processVariableValueEquals("nextPerson", "张三").listPage(firstrow,rowcount);
//查询流程业务ID,关联业务表查询详情
for(Task task:tasks){
String instanceid=task.getProcessInstanceId();
ProcessInstance ins=runtimeservice.createProcessInstanceQuery().processInstanceId(instanceid).singleResult();
String businesskey=ins.getBusinessKey();
LeaveApply a=leavemapper.getLeaveApply(Integer.parseInt(businesskey));
a.setTask(task);
results.add(a);
}