activity owner和assigness的區別

packageorg.activiti.designer.test;
importstaticorg.junit.Assert.assertEquals;
importstaticorg.junit.Assert.assertNotNull;
importstaticorg.junit.Assert.assertNull;
importjava.util.HashMap;
importjava.util.Map;
importorg.activiti.engine.RuntimeService;
importorg.activiti.engine.TaskService;
importorg.activiti.engine.runtime.ProcessInstance;
importorg.activiti.engine.task.DelegationState;
importorg.activiti.engine.task.Task;
importorg.activiti.engine.test.ActivitiRule;
importorg.activiti.engine.test.Deployment;
importorg.junit.Rule;
importorg.junit.Test;
/**
* 任務委派
*
* @author henryyan
*/
publicclassProcessTestDelegateTask{
@Rule
publicActivitiRuleactivitiRule=newActivitiRule();
@Test
@Deployment(resources={"diagrams/AutoAssignee.bpmn"})
publicvoidstartProcess()throwsException{
RuntimeServiceruntimeService=activitiRule.getRuntimeService();
Map<String,Object>variableMap=newHashMap<String,Object>();
variableMap.put("name","Activiti");
ProcessInstanceprocessInstance=runtimeService.startProcessInstanceByKey("AutoAssignee",variableMap);
assertNotNull(processInstance.getId());
System.out.println("id "+processInstance.getId()+" "+processInstance.getProcessDefinitionId());
TaskServicetaskService=activitiRule.getTaskService();
Tasktask=taskService.createTaskQuery().singleResult();
assertNull(task.getAssignee());
// 簽收
taskService.claim(task.getId(),"user1");
task=taskService.createTaskQuery().singleResult();
assertNull(task.getOwner());
assertNotNull(task.getAssignee());
// 委派
taskService.delegateTask(task.getId(),"henryyan");
task=taskService.createTaskQuery().singleResult();
assertEquals("user1",task.getOwner());
// 查詢被委派的任務
task=taskService.createTaskQuery().taskAssignee("henryyan").taskDelegationState(DelegationState.PENDING).singleResult();
assertNotNull(task);
// 被委派人完成任務
taskService.resolveTask(task.getId());
// 查詢已完成的委派任務
task=taskService.createTaskQuery().taskDelegationState(DelegationState.RESOLVED).singleResult();
assertNotNull(task);
assertEquals("user1",task.getAssignee());
assertEquals("user1",task.getOwner());
//taskService.complete(task.getId(), Collections.singletonMap("taskTwoAssignee", "user2"));
}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章