/**
* 啓動流程實例對象
*/
@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);
}