下面贴出关键代码
设置下一节点签收人:
Map<String, Object> variables = new HashMap<String, Object>();//在流程里传递,变量集合 variables.put("nextPerson","张三"); String processName = 'oa_leave';//流程图名字 String businesskey= '01ab-cc32d-dccde2-113232';//buinesskey用来连接业务数据和流程数据 runtimeservice.startProcessInstanceByKey(processName ,businesskey,variables);
签收人查询代办事项:
//根据上一流程传过来的变量,查询属于自己的任务。 List<Task> 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); }