首页 > 代码库 > activiti 中的签收与委托 操作

activiti 中的签收与委托 操作

先看看activiti中关于TASK的数据库表:

其中有两个字段:OWNER_,ASSIGNEE_

这两个字段的意义是:

1,ASSIGNEE_(受理人):task任务的受理人,就是执行TASK的人,这个又分两种情况(有值,NULL)

    1),有值的情况:XML流程里面定义的受理人,TASK会直接填入这个人;

    2),NULL:XML没有指定受理人或者只指定了候选组;

没有值的时候,可以使用签收功能去指定受理人,就是候选组里面谁签收谁就成了受理人:

Task task=taskService.createTaskQuery().singleResult();
//签收
taskService.claim(task.getId(), "billy");
logger.info(taskService.createTaskQuery().singleResult().getAssignee());
//结果:billy

2,OWNER_(委托人):受理人委托其他人操作该TASK的时候,受理人就成了委托人OWNER_,其他人就成了受理人ASSIGNEE_

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字段就是用于受理人委托别人操作的时候运用的字段

activiti 中的签收与委托 操作