Перейти к основному содержимому

Переместить сотрудников в другой узел оргструктуры

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

Успешная операция.