委派和驳回
目录
委派
A由于某些原因不能处理该任务可以把任务委派给用户B代理,当B决绝完之后再次回到用户A这里,然后由A去完成任务,在这个过程中A是任务的所有者OWNER_,B是该任务的办理人Assignee。A->B->A
。
应用场景:这事太大,我做不了主,我先问一下老大delegateTask
,如果老大说可以resolveTask
我就完成审批complete
。
核心使用taskService.delegateTask(任务id, 被委派的人员id);
如下,任务是pm的,但是被委派给了pm2
@Test
public void testTaskDelegate() {
TaskService taskService = ProcessEngines.getDefaultProcessEngine().getTaskService();
Task task = ProcessEngines.getDefaultProcessEngine().getTaskService()
.createTaskQuery()
.processDefinitionKey("helloworld")
.taskAssignee("pm")
.singleResult();
taskService.delegateTask(task.getId(), "pm2");
}
驳回
驳回或者拒绝就是某个审批人不同意你的申请,此时流程就直接结束了。我们可以增加分支条件或者排它网关来完成驳回功能。此方法适用于节点较少的情况。
在bpmn文件给所有节点都设置一条连线,直接连接到停止节点,驳回:${result==1}
有一个正常结束事件,有一个异常结束事件。