1
如何将任务分配给activiti中的用户组。对于单个用户,可以使用下面的代码完成。如何将任务分配给组?
taskService.setAssignee(taskId, userId);
但是我们如何才能将一个任务分配给一个组,可以由属于该组的任何用户选择。
如何将任务分配给activiti中的用户组。对于单个用户,可以使用下面的代码完成。如何将任务分配给组?
taskService.setAssignee(taskId, userId);
但是我们如何才能将一个任务分配给一个组,可以由属于该组的任何用户选择。
使用TaskService
:
/**
* Convenience shorthand for {@link #addGroupIdentityLink(String, String, String)}; with type {@link IdentityLinkType#CANDIDATE}
*
* @param taskId
* id of the task, cannot be null.
* @param groupId
* id of the group to use as candidate, cannot be null.
* @throws ActivitiObjectNotFoundException
* when the task or group doesn't exist.
*/
void addCandidateGroup(String taskId, String groupId);
当您添加候选组,您可以通过获取任务:
taskService.addCandidateGroup(task.getId(), "sales");
assertNotNull(taskService.createTaskQuery().taskCandidateGroup("sales").singleResult());
欲了解更多信息Activiti中源检查org.activiti.engine.test.api.task.TaskServiceTest#testDeleteTaskIdentityLink
。
只为Martin的答案添加一些颜色(这是绝对正确的)。任务只能“分配”给单个用户,这是负责完成任务的用户。但是,如果任务可以由多个用户主张,那么这些用户被视为“候选人”。考生可以从个人用户,团体甚至是两者的组合中进行设置。任何非“已分配”的任务都可以由任何注册的“候选人”申请。 希望这会有所帮助。 –