Переместить сотрудников в другой узел оргструктуры
POST/api/v1/clients/:clientId/orgStructures/:id/elements/:elementId/employees/moveToOther
Описание метода
Массово перемещает подмножество сотрудников из узла-источника в узел-приёмник в той же оргструктуре, сохраняя общий для батча тип позиции (HEAD_MANAGER либо EMPLOYEE). Смешивание типов позиций в одном запросе запрещено.
Сотрудники, уже состоящие в узле-приёмнике, молча пропускаются: их вхождение в узле-источнике удаляется, в узле-приёмнике остаётся без изменений (silent-skip без ошибки и без отдельного списка в ответе).
Возвращает обновлённые метаданные структуры и затронутые узлы (источник + приёмник + предки обоих до корня) с пересчитанными счётчиками. Если узел-приёмник совпадает с узлом-источником — операция трактуется как no-op: БД не меняется, версия не увеличивается, в ответе — исходная версия структуры и узел-источник с актуальными счётчиками.
При positionType=HEAD_MANAGER узел-источник и узел-приёмник не могут быть EMPLOYEE_AS_NODE — перемещение ключевого руководителя такого узла и назначение второго руководителя в EMPLOYEE_AS_NODE-приёмник запрещены. При positionType=EMPLOYEE ограничений на тип узла- приёмника нет — обычные подчинённые могут перемещаться в EMPLOYEE_AS_NODE так же, как в DEPARTMENT.
Валидации запроса
-
Тело запроса задано;
employeeIdsне пуст, элементы неnull;targetElementIdиpositionTypeзаданы. -
IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. клиента соответствует формату UUID; клиент существует, не удалён, к нему относится пользователь, выполняющий операцию.
-
У пользователя клиента есть право
ORG_STRUCTURES_UPDATE. -
IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. оргструктуры соответствует формату UUID; оргструктура существует, принадлежит клиенту, не является Юридической, находится в статусе
DRAFT. -
Если
versionзадана — совпадает с актуальной версией оргструктуры в БД. -
Режим редактирования оргструктуры свободен либо захвачен инициатором операции.
-
IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. узла-источника соответствует формату UUID; узел существует в этой оргструктуре.
-
targetElementIdсоответствует формату UUID; узел-приёмник существует в этой же оргструктуре. -
При
positionType=HEAD_MANAGERни узел-источник, ни узел-приёмник не являютсяEMPLOYEE_AS_NODE. -
Все перемещаемые сотрудники существуют в тенантеTenantЭкземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов., принадлежат клиенту и активны (не уволены).
-
Все указанные сотрудники реально состоят в узле-источнике в позиции, равной заданному
positionType— смешивание типов позиций в одном батче запрещено. -
При
positionType=HEAD_MANAGER— после перемещения не более 10 руководителей в узле-приёмнике. -
Функционал оргструктур включён в настройках клиента.
Request
Responses
- 200
- 400
- 401
- 403
- 429
Успешная операция.
Ошибка при валидации данных запроса.
Запрос не аутенифицирован.
Для заданного пользователя доступ к ресурсу запрещен.
Превышен разрешенный лимит запросов за период.