支持当前结点有多个审核人 其中一个审核人要流转给另外的人 其他审核人不受影响
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//获取当前结点审批人 考虑到有多个审批人的情况 需要先查询出所有的审批人 所以涉及到identityLink
List<String> userIds = processEngine.getTaskService().getIdentityLinksForTask(taskId).stream().map(IdentityLink::getUserId).distinct().collect(Collectors.toList());
//删除identityLink中的用户关系
for (String userId : userIds) {
taskService.deleteUserIdentityLink(taskId, userId, IdentityLinkType.CANDIDATE);
}
//清空task中的assignee
taskService.unclaim(taskId);
//当前节点审核人列表 清空申请人
userIds.remove(activitiService.getCurrentUser().getId());
//当前节点审核人列表 追加流转人
userIds.add(roamId);
//给当前任务节点分配审核人
for (String userId : userIds) {
taskService.addCandidateUser(taskId, userId);
}