1. 程式人生 > >工作流activiti之啟動例項物件,查詢處理任務,完成要處理任務

工作流activiti之啟動例項物件,查詢處理任務,完成要處理任務

/**
* 啟動流程例項物件
*/
@Test
public void testStartProcess() {
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
RuntimeService runtimeService = processEngine.getRuntimeService();
//1.流程變數
Map<String ,Object> map = new HashMap<String, Object>();
map.put("username", "二師兄");
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("LeaveBillBetter", map);

System.out.println("流程例項id:"+processInstance.getId());
}


/**
* 查詢某流程例項執行到哪的任務id,及任務處理人
*/
@Test
public void testFindProcessIns() {
String processInsId = "50001"; 
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
Task task = processEngine.getTaskService().createTaskQuery().processInstanceId(processInsId).orderByProcessInstanceId().desc().singleResult();
System.out.println("taskId:"+task.getId());
System.out.println("處理人:"+task.getAssignee());
}

/**
* 單連線完成任務
*/
@Test
public void testTask() {
String taskId = "50005"; 
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
TaskService taskService = processEngine.getTaskService();

taskService.complete(taskId);
System.out.println("完成任務:"+taskId);

}

/**
* 多連線完成任務
*/
@Test
public void testTaskChance() {
String taskId = "45003"; 
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
TaskService taskService = processEngine.getTaskService();

Map<String , Object> map = new HashMap<String, Object>();
map.put("outcome", "同意");
taskService.complete(taskId,map);
System.out.println("完成任務:"+taskId);

}