在流程定义中设置任务节点的assignee为固定负责人,则后续需要修改该负责人时需要改动流程定义重新部署,可扩展性差
针对这一情况我们可以设置候选人处理流程任务

1、设置任务候选人

在流程中任务节点的配置中设置candidate-users,多个候选人使用逗号分隔

2、组任务办理

1、查询组任务

在处理任务之前,查询该候选人当前的待办任务
候选人不能立即处理任务,而是需要先认领任务才能处理

  1. TaskQuery queryAssignee = taskQueryHandler.createTaskQuery().active().taskAssignee(userId);
  2. TaskQuery queryCandidate = taskQueryHandler.createTaskQuery().active().taskCandidateUser(userId);

2、签收任务

多个候选人的时候需要将该任务签收后才能进行处理,
而且只能由一人进行签收,候选组任务变成个人任务,
除非归还,否则其他人不能签收

3、反签收任务