activiti 中的签收与委托 操作
activiti 中的签收与委托 操作
先看看activiti中关于TASK的数据库表:
其中有两个字段:OWNER_,ASSIGNEE_
这两个字段的意义是:
1,ASSIGNEE_(受理人):task任务的受理人,就是执行TASK的人,这个又分两种情况(有值,NULL)
1),有值的情况:XML流程里面定义的受理人,TASK会直接填入这个人;
2),NULL:XML没有指定受理人或者只指定了候选组;
没有值的时候,可以使用签收功能去指定受理人,就是候选组里面谁签收谁就成了受理人:
1
2
3
4
5
|
Task task=taskService.createTaskQuery().singleResult(); //签收 taskService.claim(task.getId(), "billy" ); logger.info(taskService.createTaskQuery().singleResult().getAssignee()); //结果:billy |
2,OWNER_(委托人):受理人委托其他人操作该TASK的时候,受理人就成了委托人OWNER_,其他人就成了受理人ASSIGNEE_
1
2
3
4
5
6
|
Task task=taskService.createTaskQuery().singleResult(); //委托 taskService.delegateTask(task.getId(), "cc" ); logger.info(taskService.createTaskQuery().singleResult().getOwner()); logger.info(taskService.createTaskQuery().singleResult().getAssignee()); //结果:owner是Billy,assignee是cc |
assignee容易理解,主要是owner字段容易误解,owner字段就是用于受理人委托别人操作的时候运用的字段