Java源码示例:org.activiti.engine.task.DelegationState
示例1
public TaskQuery taskDelegationState(DelegationState delegationState) {
if (orActive) {
if (delegationState == null) {
currentOrQueryObject.noDelegationState = true;
} else {
currentOrQueryObject.delegationState = delegationState;
}
} else {
if (delegationState == null) {
this.noDelegationState = true;
} else {
this.delegationState = delegationState;
}
}
return this;
}
示例2
public TaskQuery taskDelegationState(DelegationState delegationState) {
if (orActive) {
if (delegationState == null) {
currentOrQueryObject.noDelegationState = true;
} else {
currentOrQueryObject.delegationState = delegationState;
}
} else {
if (delegationState == null) {
this.noDelegationState = true;
} else {
this.delegationState = delegationState;
}
}
return this;
}
示例3
public void testTaskDelegationThroughServiceCall() {
Task task = taskService.newTask();
task.setOwner("johndoe");
taskService.saveTask(task);
String taskId = task.getId();
// Fetch the task again and update
task = taskService.createTaskQuery().taskId(taskId).singleResult();
taskService.delegateTask(task.getId(), "joesmoe");
task = taskService.createTaskQuery().taskId(taskId).singleResult();
assertEquals("johndoe", task.getOwner());
assertEquals("joesmoe", task.getAssignee());
assertEquals(DelegationState.PENDING, task.getDelegationState());
taskService.resolveTask(taskId);
task = taskService.createTaskQuery().taskId(taskId).singleResult();
assertEquals("johndoe", task.getOwner());
assertEquals("johndoe", task.getAssignee());
assertEquals(DelegationState.RESOLVED, task.getDelegationState());
// Finally, delete task
taskService.deleteTask(taskId, true);
}
示例4
/**
* @see <a href="https://activiti.atlassian.net/browse/ACT-1059">https://activiti.atlassian.net/browse/ACT-1059</a>
*/
public void testSetDelegationState() {
Task task = taskService.newTask();
task.setOwner("wuzh");
taskService.saveTask(task);
taskService.delegateTask(task.getId(), "other");
String taskId = task.getId();
task = taskService.createTaskQuery().taskId(taskId).singleResult();
assertEquals("wuzh", task.getOwner());
assertEquals("other", task.getAssignee());
assertEquals(DelegationState.PENDING, task.getDelegationState());
task.setDelegationState(DelegationState.RESOLVED);
taskService.saveTask(task);
task = taskService.createTaskQuery().taskId(taskId).singleResult();
assertEquals("wuzh", task.getOwner());
assertEquals("other", task.getAssignee());
assertEquals(DelegationState.RESOLVED, task.getDelegationState());
taskService.deleteTask(taskId, true);
}
示例5
public void testResolveTaskWithParametersNullParameters() {
Task task = taskService.newTask();
task.setDelegationState(DelegationState.PENDING);
taskService.saveTask(task);
String taskId = task.getId();
taskService.resolveTask(taskId, null);
if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.AUDIT)) {
historyService.deleteHistoricTaskInstance(taskId);
}
// Fetch the task again
task = taskService.createTaskQuery().taskId(taskId).singleResult();
assertEquals(DelegationState.RESOLVED, task.getDelegationState());
taskService.deleteTask(taskId, true);
}
示例6
@SuppressWarnings("unchecked")
public void testResolveTaskWithParametersEmptyParameters() {
Task task = taskService.newTask();
task.setDelegationState(DelegationState.PENDING);
taskService.saveTask(task);
String taskId = task.getId();
taskService.resolveTask(taskId, Collections.EMPTY_MAP);
if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.AUDIT)) {
historyService.deleteHistoricTaskInstance(taskId);
}
// Fetch the task again
task = taskService.createTaskQuery().taskId(taskId).singleResult();
assertEquals(DelegationState.RESOLVED, task.getDelegationState());
taskService.deleteTask(taskId, true);
}
示例7
@Deployment(resources = { "org/activiti/engine/test/api/twoTasksProcess.bpmn20.xml" })
public void testResolveWithParametersTask() {
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("twoTasksProcess");
// Fetch first task
Task task = taskService.createTaskQuery().singleResult();
assertEquals("First task", task.getName());
taskService.delegateTask(task.getId(), "johndoe");
// Resolve first task
Map<String, Object> taskParams = new HashMap<String, Object>();
taskParams.put("myParam", "myValue");
taskService.resolveTask(task.getId(), taskParams);
// Verify that task is resolved
task = taskService.createTaskQuery().taskDelegationState(DelegationState.RESOLVED).singleResult();
assertEquals("First task", task.getName());
// Verify task parameters set on execution
Map<String, Object> variables = runtimeService.getVariables(processInstance.getId());
assertEquals(1, variables.size());
assertEquals("myValue", variables.get("myParam"));
}
示例8
public void testTaskDelegationThroughServiceCall() {
Task task = taskService.newTask();
task.setOwner("johndoe");
taskService.saveTask(task);
String taskId = task.getId();
// Fetch the task again and update
task = taskService.createTaskQuery().taskId(taskId).singleResult();
taskService.delegateTask(task.getId(), "joesmoe");
task = taskService.createTaskQuery().taskId(taskId).singleResult();
assertEquals("johndoe", task.getOwner());
assertEquals("joesmoe", task.getAssignee());
assertEquals(DelegationState.PENDING, task.getDelegationState());
taskService.resolveTask(taskId);
task = taskService.createTaskQuery().taskId(taskId).singleResult();
assertEquals("johndoe", task.getOwner());
assertEquals("johndoe", task.getAssignee());
assertEquals(DelegationState.RESOLVED, task.getDelegationState());
// Finally, delete task
taskService.deleteTask(taskId, true);
}
示例9
/**
* @see <a href="https://activiti.atlassian.net/browse/ACT-1059">https://activiti.atlassian.net/browse/ACT-1059</a>
*/
public void testSetDelegationState() {
Task task = taskService.newTask();
task.setOwner("wuzh");
taskService.saveTask(task);
taskService.delegateTask(task.getId(), "other");
String taskId = task.getId();
task = taskService.createTaskQuery().taskId(taskId).singleResult();
assertEquals("wuzh", task.getOwner());
assertEquals("other", task.getAssignee());
assertEquals(DelegationState.PENDING, task.getDelegationState());
task.setDelegationState(DelegationState.RESOLVED);
taskService.saveTask(task);
task = taskService.createTaskQuery().taskId(taskId).singleResult();
assertEquals("wuzh", task.getOwner());
assertEquals("other", task.getAssignee());
assertEquals(DelegationState.RESOLVED, task.getDelegationState());
taskService.deleteTask(taskId, true);
}
示例10
public void testResolveTaskWithParametersNullParameters() {
Task task = taskService.newTask();
task.setDelegationState(DelegationState.PENDING);
taskService.saveTask(task);
String taskId = task.getId();
taskService.resolveTask(taskId, null);
if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.AUDIT)) {
historyService.deleteHistoricTaskInstance(taskId);
}
// Fetch the task again
task = taskService.createTaskQuery().taskId(taskId).singleResult();
assertEquals(DelegationState.RESOLVED, task.getDelegationState());
taskService.deleteTask(taskId, true);
}
示例11
@SuppressWarnings("unchecked")
public void testResolveTaskWithParametersEmptyParameters() {
Task task = taskService.newTask();
task.setDelegationState(DelegationState.PENDING);
taskService.saveTask(task);
String taskId = task.getId();
taskService.resolveTask(taskId, Collections.EMPTY_MAP);
if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.AUDIT)) {
historyService.deleteHistoricTaskInstance(taskId);
}
// Fetch the task again
task = taskService.createTaskQuery().taskId(taskId).singleResult();
assertEquals(DelegationState.RESOLVED, task.getDelegationState());
taskService.deleteTask(taskId, true);
}
示例12
@Deployment(resources = { "org/activiti5/engine/test/api/twoTasksProcess.bpmn20.xml" })
public void testResolveWithParametersTask() {
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("twoTasksProcess");
// Fetch first task
Task task = taskService.createTaskQuery().singleResult();
assertEquals("First task", task.getName());
taskService.delegateTask(task.getId(), "johndoe");
// Resolve first task
Map<String, Object> taskParams = new HashMap<String, Object>();
taskParams.put("myParam", "myValue");
taskService.resolveTask(task.getId(), taskParams);
// Verify that task is resolved
task = taskService.createTaskQuery().taskDelegationState(DelegationState.RESOLVED).singleResult();
assertEquals("First task", task.getName());
// Verify task parameters set on execution
Map<String, Object> variables = runtimeService.getVariables(processInstance.getId());
assertEquals(1, variables.size());
assertEquals("myValue", variables.get("myParam"));
}
示例13
public TaskQuery taskDelegationState(DelegationState delegationState) {
if (orActive) {
if (delegationState == null) {
currentOrQueryObject.noDelegationState = true;
} else {
currentOrQueryObject.delegationState = delegationState;
}
} else {
if (delegationState == null) {
this.noDelegationState = true;
} else {
this.delegationState = delegationState;
}
}
return this;
}
示例14
@SuppressWarnings("rawtypes")
public void complete(Map variablesMap, boolean localScope) {
if (getDelegationState() != null && getDelegationState().equals(DelegationState.PENDING)) {
throw new ActivitiException("A delegated task cannot be completed, but should be resolved instead.");
}
fireEvent(TaskListener.EVENTNAME_COMPLETE);
if (Authentication.getAuthenticatedUserId() != null && processInstanceId != null) {
getProcessInstance().involveUser(Authentication.getAuthenticatedUserId(), IdentityLinkType.PARTICIPANT);
}
if(Context.getProcessEngineConfiguration().getEventDispatcher().isEnabled()) {
Context.getProcessEngineConfiguration().getEventDispatcher().dispatchEvent(
ActivitiEventBuilder.createEntityWithVariablesEvent(ActivitiEventType.TASK_COMPLETED, this, variablesMap, localScope));
}
Context
.getCommandContext()
.getTaskEntityManager()
.deleteTask(this, TaskEntity.DELETE_REASON_COMPLETED, false);
if (executionId!=null) {
ExecutionEntity execution = getExecution();
execution.removeTask(this);
execution.signal(null, null);
}
}
示例15
public void delegate(String userId) {
setDelegationState(DelegationState.PENDING);
if (getOwner() == null) {
setOwner(getAssignee());
}
setAssignee(userId, true, true);
}
示例16
protected void executeTaskComplete(CommandContext commandContext, TaskEntity taskEntity, Map<String, Object> variables, boolean localScope) {
// Task complete logic
if (taskEntity.getDelegationState() != null && taskEntity.getDelegationState().equals(DelegationState.PENDING)) {
throw new ActivitiException("A delegated task cannot be completed, but should be resolved instead.");
}
commandContext.getProcessEngineConfiguration().getListenerNotificationHelper().executeTaskListeners(taskEntity, TaskListener.EVENTNAME_COMPLETE);
if (Authentication.getAuthenticatedUserId() != null && taskEntity.getProcessInstanceId() != null) {
ExecutionEntity processInstanceEntity = commandContext.getExecutionEntityManager().findById(taskEntity.getProcessInstanceId());
commandContext.getIdentityLinkEntityManager().involveUser(processInstanceEntity, Authentication.getAuthenticatedUserId(),IdentityLinkType.PARTICIPANT);
}
ActivitiEventDispatcher eventDispatcher = Context.getProcessEngineConfiguration().getEventDispatcher();
if (eventDispatcher.isEnabled()) {
if (variables != null) {
eventDispatcher.dispatchEvent(ActivitiEventBuilder.createEntityWithVariablesEvent(ActivitiEventType.TASK_COMPLETED, taskEntity, variables, localScope));
} else {
eventDispatcher.dispatchEvent(ActivitiEventBuilder.createEntityEvent(ActivitiEventType.TASK_COMPLETED, taskEntity));
}
}
commandContext.getTaskEntityManager().deleteTask(taskEntity, null, false, false);
// Continue process (if not a standalone task)
if (taskEntity.getExecutionId() != null) {
ExecutionEntity executionEntity = commandContext.getExecutionEntityManager().findById(taskEntity.getExecutionId());
Context.getAgenda().planTriggerExecutionOperation(executionEntity);
}
}
示例17
protected Object execute(CommandContext commandContext, TaskEntity task) {
task.setDelegationState(DelegationState.PENDING);
if (task.getOwner() == null) {
task.setOwner(task.getAssignee());
}
commandContext.getTaskEntityManager().changeTaskAssignee(task, userId);
return null;
}
示例18
protected Void execute(CommandContext commandContext, TaskEntity task) {
if (variables != null) {
task.setVariables(variables);
}
if (transientVariables != null) {
task.setTransientVariables(transientVariables);
}
task.setDelegationState(DelegationState.RESOLVED);
commandContext.getTaskEntityManager().changeTaskAssignee(task, task.getOwner());
return null;
}
示例19
public void testQueryByDelegationState() {
TaskQuery query = taskService.createTaskQuery().taskDelegationState(null);
assertEquals(12, query.count());
assertEquals(12, query.list().size());
query = taskService.createTaskQuery().taskDelegationState(DelegationState.PENDING);
assertEquals(0, query.count());
assertEquals(0, query.list().size());
query = taskService.createTaskQuery().taskDelegationState(DelegationState.RESOLVED);
assertEquals(0, query.count());
assertEquals(0, query.list().size());
String taskId = taskService.createTaskQuery().taskAssignee("gonzo").singleResult().getId();
taskService.delegateTask(taskId, "kermit");
query = taskService.createTaskQuery().taskDelegationState(null);
assertEquals(11, query.count());
assertEquals(11, query.list().size());
query = taskService.createTaskQuery().taskDelegationState(DelegationState.PENDING);
assertEquals(1, query.count());
assertEquals(1, query.list().size());
query = taskService.createTaskQuery().taskDelegationState(DelegationState.RESOLVED);
assertEquals(0, query.count());
assertEquals(0, query.list().size());
taskService.resolveTask(taskId);
query = taskService.createTaskQuery().taskDelegationState(null);
assertEquals(11, query.count());
assertEquals(11, query.list().size());
query = taskService.createTaskQuery().taskDelegationState(DelegationState.PENDING);
assertEquals(0, query.count());
assertEquals(0, query.list().size());
query = taskService.createTaskQuery().taskDelegationState(DelegationState.RESOLVED);
assertEquals(1, query.count());
assertEquals(1, query.list().size());
}
示例20
protected DelegationState getDelegationState(String delegationState) {
DelegationState state = null;
if (delegationState != null) {
if (DelegationState.RESOLVED.name().toLowerCase().equals(delegationState)) {
return DelegationState.RESOLVED;
} else if (DelegationState.PENDING.name().toLowerCase().equals(delegationState)) {
return DelegationState.PENDING;
} else {
throw new ActivitiIllegalArgumentException("Illegal value for delegationState: " + delegationState);
}
}
return state;
}
示例21
/**
* Populate the task based on the values that are present in the given {@link TaskRequest}.
*/
protected void populateTaskFromRequest(Task task, TaskRequest taskRequest) {
if (taskRequest.isNameSet()) {
task.setName(taskRequest.getName());
}
if (taskRequest.isAssigneeSet()) {
task.setAssignee(taskRequest.getAssignee());
}
if (taskRequest.isDescriptionSet()) {
task.setDescription(taskRequest.getDescription());
}
if (taskRequest.isDuedateSet()) {
task.setDueDate(taskRequest.getDueDate());
}
if (taskRequest.isOwnerSet()) {
task.setOwner(taskRequest.getOwner());
}
if (taskRequest.isParentTaskIdSet()) {
task.setParentTaskId(taskRequest.getParentTaskId());
}
if (taskRequest.isPrioritySet()) {
task.setPriority(taskRequest.getPriority());
}
if (taskRequest.isCategorySet()) {
task.setCategory(taskRequest.getCategory());
}
if (taskRequest.isTenantIdSet()) {
task.setTenantId(taskRequest.getTenantId());
}
if (taskRequest.isFormKeySet()) {
task.setFormKey(taskRequest.getFormKey());
}
if (taskRequest.isDelegationStateSet()) {
DelegationState delegationState = getDelegationState(taskRequest.getDelegationState());
task.setDelegationState(delegationState);
}
}
示例22
protected String getDelegationStateString(DelegationState state) {
String result = null;
if (state != null) {
result = state.toString().toLowerCase();
}
return result;
}
示例23
public void testQueryByDelegationState() {
TaskQuery query = taskService.createTaskQuery().taskDelegationState(null);
assertEquals(12, query.count());
assertEquals(12, query.list().size());
query = taskService.createTaskQuery().taskDelegationState(DelegationState.PENDING);
assertEquals(0, query.count());
assertEquals(0, query.list().size());
query = taskService.createTaskQuery().taskDelegationState(DelegationState.RESOLVED);
assertEquals(0, query.count());
assertEquals(0, query.list().size());
String taskId= taskService.createTaskQuery().taskAssignee("gonzo").singleResult().getId();
taskService.delegateTask(taskId, "kermit");
query = taskService.createTaskQuery().taskDelegationState(null);
assertEquals(11, query.count());
assertEquals(11, query.list().size());
query = taskService.createTaskQuery().taskDelegationState(DelegationState.PENDING);
assertEquals(1, query.count());
assertEquals(1, query.list().size());
query = taskService.createTaskQuery().taskDelegationState(DelegationState.RESOLVED);
assertEquals(0, query.count());
assertEquals(0, query.list().size());
taskService.resolveTask(taskId);
query = taskService.createTaskQuery().taskDelegationState(null);
assertEquals(11, query.count());
assertEquals(11, query.list().size());
query = taskService.createTaskQuery().taskDelegationState(DelegationState.PENDING);
assertEquals(0, query.count());
assertEquals(0, query.list().size());
query = taskService.createTaskQuery().taskDelegationState(DelegationState.RESOLVED);
assertEquals(1, query.count());
assertEquals(1, query.list().size());
}
示例24
public Task(org.activiti.engine.task.Task taskInstance)
{
this.id = taskInstance.getId();
this.processId = taskInstance.getProcessInstanceId();
this.processDefinitionId = taskInstance.getProcessDefinitionId();
this.activityDefinitionId = taskInstance.getTaskDefinitionKey();
this.name = taskInstance.getName();
this.description = taskInstance.getDescription();
this.dueAt = taskInstance.getDueDate();
this.startedAt = taskInstance.getCreateTime();
this.priority = taskInstance.getPriority();
this.owner = taskInstance.getOwner();
this.assignee = taskInstance.getAssignee();
if (taskInstance.getDelegationState() == DelegationState.PENDING)
{
this.state = TaskStateTransition.DELEGATED.name().toLowerCase();
}
else if (taskInstance.getDelegationState() == DelegationState.RESOLVED)
{
this.state = TaskStateTransition.RESOLVED.name().toLowerCase();
}
else if (taskInstance.getAssignee() != null)
{
this.state = TaskStateTransition.CLAIMED.name().toLowerCase();
}
else
{
this.state = TaskStateTransition.UNCLAIMED.name().toLowerCase();
}
}
示例25
/**
* 学习任务委派的过程,任务分配给bill,然后bill把任务委派给henryyan,henryyan处理完成后任务回归到bill
*/
@Deployment(resources = "diagrams/chapter12/taskDelegate.bpmn")
public void testTaskDelegate() throws Exception {
Map<String, Object> variables = new HashMap<String, Object>();
String userId = "bill";
variables.put("userId", userId);
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("taskDelegateProcess", variables);
Task task = taskService.createTaskQuery().taskAssignee(userId).singleResult();
assertNotNull(task);
assertNull(task.getOwner());
// 委派任务给其他人
String delegatedUserId = "henryyan";
taskService.delegateTask(task.getId(), delegatedUserId);
// 查看数据状态
task = taskService.createTaskQuery().taskAssignee(delegatedUserId).taskDelegationState(DelegationState.PENDING).singleResult();
assertEquals(task.getOwner(), userId);
assertEquals(task.getAssignee(), delegatedUserId);
// 被委派人处理完成任务
taskService.resolveTask(task.getId());
// 任务回归到委派人
task = taskService.createTaskQuery().taskAssignee(userId).taskDelegationState(DelegationState.RESOLVED).singleResult();
assertEquals(task.getOwner(), userId);
assertEquals(task.getAssignee(), userId);
// 委派人完成任务
taskService.complete(task.getId());
long count = historyService.createHistoricProcessInstanceQuery().finished().count();
assertEquals(1, count);
}
示例26
/**
* 学习任务委派的过程,任务分配给bill,然后bill把任务委派给henryyan,henryyan处理完成后任务回归到bill
*/
@Deployment(resources = "diagrams/chapter12/taskDelegate.bpmn")
public void testTaskDelegate() throws Exception {
Map<String, Object> variables = new HashMap<String, Object>();
String userId = "bill";
variables.put("userId", userId);
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("taskDelegateProcess", variables);
Task task = taskService.createTaskQuery().taskAssignee(userId).singleResult();
assertNotNull(task);
assertNull(task.getOwner());
// 委派任务给其他人
String delegatedUserId = "henryyan";
taskService.delegateTask(task.getId(), delegatedUserId);
// 查看数据状态
task = taskService.createTaskQuery().taskAssignee(delegatedUserId).taskDelegationState(DelegationState.PENDING).singleResult();
assertEquals(task.getOwner(), userId);
assertEquals(task.getAssignee(), delegatedUserId);
// 被委派人处理完成任务
taskService.resolveTask(task.getId());
// 任务回归到委派人
task = taskService.createTaskQuery().taskAssignee(userId).taskDelegationState(DelegationState.RESOLVED).singleResult();
assertEquals(task.getOwner(), userId);
assertEquals(task.getAssignee(), userId);
// 委派人完成任务
taskService.complete(task.getId());
long count = historyService.createHistoricProcessInstanceQuery().finished().count();
assertEquals(1, count);
}
示例27
/**
* 学习任务委派的过程,任务分配给bill,然后bill把任务委派给henryyan,henryyan处理完成后任务回归到bill
*/
@Deployment(resources = "diagrams/chapter12/taskDelegate.bpmn")
public void testTaskDelegate() throws Exception {
Map<String, Object> variables = new HashMap<String, Object>();
String userId = "bill";
variables.put("userId", userId);
runtimeService.startProcessInstanceByKey("taskDelegateProcess", variables);
Task task = taskService.createTaskQuery().taskAssignee(userId).singleResult();
assertNotNull(task);
assertNull(task.getOwner());
// 委派任务给其他人
String delegatedUserId = "henryyan";
taskService.delegateTask(task.getId(), delegatedUserId);
// 查看数据状态
task = taskService.createTaskQuery().taskAssignee(delegatedUserId).taskDelegationState(DelegationState.PENDING).singleResult();
assertEquals(task.getOwner(), userId);
assertEquals(task.getAssignee(), delegatedUserId);
// 被委派人处理完成任务
taskService.resolveTask(task.getId());
// 任务回归到委派人
task = taskService.createTaskQuery().taskAssignee(userId).taskDelegationState(DelegationState.RESOLVED).singleResult();
assertEquals(task.getOwner(), userId);
assertEquals(task.getAssignee(), userId);
// 委派人完成任务
taskService.complete(task.getId());
long count = historyService.createHistoricProcessInstanceQuery().finished().count();
assertEquals(1, count);
}
示例28
/**
* 学习任务委派的过程,任务分配给bill,然后bill把任务委派给henryyan,henryyan处理完成后任务回归到bill
*/
@Deployment(resources = "diagrams/chapter12/taskDelegate.bpmn")
public void testTaskDelegate() throws Exception {
Map<String, Object> variables = new HashMap<String, Object>();
String userId = "bill";
variables.put("userId", userId);
runtimeService.startProcessInstanceByKey("taskDelegateProcess", variables);
Task task = taskService.createTaskQuery().taskAssignee(userId).singleResult();
assertNotNull(task);
assertNull(task.getOwner());
// 委派任务给其他人
String delegatedUserId = "henryyan";
taskService.delegateTask(task.getId(), delegatedUserId);
// 查看数据状态
task = taskService.createTaskQuery().taskAssignee(delegatedUserId).taskDelegationState(DelegationState.PENDING).singleResult();
assertEquals(task.getOwner(), userId);
assertEquals(task.getAssignee(), delegatedUserId);
// 被委派人处理完成任务
taskService.resolveTask(task.getId());
// 任务回归到委派人
task = taskService.createTaskQuery().taskAssignee(userId).taskDelegationState(DelegationState.RESOLVED).singleResult();
assertEquals(task.getOwner(), userId);
assertEquals(task.getAssignee(), userId);
// 委派人完成任务
taskService.complete(task.getId());
long count = historyService.createHistoricProcessInstanceQuery().finished().count();
assertEquals(1, count);
}
示例29
/**
* 学习任务委派的过程,任务分配给bill,然后bill把任务委派给henryyan,henryyan处理完成后任务回归到bill
*/
@Deployment(resources = "diagrams/chapter12/taskDelegate.bpmn")
public void testTaskDelegate() throws Exception {
Map<String, Object> variables = new HashMap<String, Object>();
String userId = "bill";
variables.put("userId", userId);
runtimeService.startProcessInstanceByKey("taskDelegateProcess", variables);
Task task = taskService.createTaskQuery().taskAssignee(userId).singleResult();
assertNotNull(task);
assertNull(task.getOwner());
// 委派任务给其他人
String delegatedUserId = "henryyan";
taskService.delegateTask(task.getId(), delegatedUserId);
// 查看数据状态
task = taskService.createTaskQuery().taskAssignee(delegatedUserId).taskDelegationState(DelegationState.PENDING).singleResult();
assertEquals(task.getOwner(), userId);
assertEquals(task.getAssignee(), delegatedUserId);
// 被委派人处理完成任务
taskService.resolveTask(task.getId());
// 任务回归到委派人
task = taskService.createTaskQuery().taskAssignee(userId).taskDelegationState(DelegationState.RESOLVED).singleResult();
assertEquals(task.getOwner(), userId);
assertEquals(task.getAssignee(), userId);
// 委派人完成任务
taskService.complete(task.getId());
long count = historyService.createHistoricProcessInstanceQuery().finished().count();
assertEquals(1, count);
}
示例30
/**
* 学习任务委派的过程,任务分配给bill,然后bill把任务委派给henryyan,henryyan处理完成后任务回归到bill
*/
@Deployment(resources = "diagrams/chapter12/taskDelegate.bpmn")
public void testTaskDelegate() throws Exception {
Map<String, Object> variables = new HashMap<String, Object>();
String userId = "bill";
variables.put("userId", userId);
runtimeService.startProcessInstanceByKey("taskDelegateProcess", variables);
Task task = taskService.createTaskQuery().taskAssignee(userId).singleResult();
assertNotNull(task);
assertNull(task.getOwner());
// 委派任务给其他人
String delegatedUserId = "henryyan";
taskService.delegateTask(task.getId(), delegatedUserId);
// 查看数据状态
task = taskService.createTaskQuery().taskAssignee(delegatedUserId).taskDelegationState(DelegationState.PENDING).singleResult();
assertEquals(task.getOwner(), userId);
assertEquals(task.getAssignee(), delegatedUserId);
// 被委派人处理完成任务
taskService.resolveTask(task.getId());
// 任务回归到委派人
task = taskService.createTaskQuery().taskAssignee(userId).taskDelegationState(DelegationState.RESOLVED).singleResult();
assertEquals(task.getOwner(), userId);
assertEquals(task.getAssignee(), userId);
// 委派人完成任务
taskService.complete(task.getId());
long count = historyService.createHistoricProcessInstanceQuery().finished().count();
assertEquals(1, count);
}