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

Найти узлы и сотрудников оргструктуры

POST 

/api/v1/clients/:clientId/orgStructures/:id/search

Описание метода

Универсальный поиск по конкретной оргструктуре. Возвращает два независимых списка: найденные узлы (departments) и найденных сотрудников этих узлов (employees).

Узлы матчатся только по name. Управленческая — DEPARTMENT и EMPLOYEE_AS_NODE из org_structure_element; Юридическая — client_department (всегда DEPARTMENT). Сотрудники матчатся по ФИО (через ekd-ididВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях.) и по должности — для управленческой используется снимок org_structure_element_employee.position_name, для Юридической — справочник employee_position.

Выдача асимметрична по активности: руководители (positionType=HEAD_MANAGER) возвращаются любой активности — и активные, и уволенные, с полем active; рядовые сотрудники (positionType=EMPLOYEE) — только активные. Это касается и employees[], и departments[i].headEmployees.

Каждый найденный узел дополнен headEmployees, employeesCount, totalEmployeesCount.

Один и тот же руководитель может одновременно попасть в departments[i].headEmployees (узел, в котором он руководитель) и в employees[] (запись с positionType=HEAD_MANAGER) — это допустимое поведение, рассчитанное на разный фокус поиска: «найти руководителя» либо «найти узел с таким руководителем». Поиск по ФИО руководителя через departments[] не выполняется — узел матчится только по названию.

Для Юридической оргструктуры поиск дополнительно охватывает активных сотрудников клиента без отдела — они возвращаются в employees[] с узлом-заглушкой {id: 549d1eb3-16b4-4cdd-95f2- 66b3671e69c7, name: "Сотрудники без отдела"}; в departments[] этот синтетический узел не попадает.

Спецсимволы LIKE (%, _) в query не экранируются и работают как wildcard-маски.

Валидации запроса

  • IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. клиента соответствует формату UUID; клиент существует, не удалён, к нему относится пользователь, выполняющий операцию.

  • IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. оргструктуры соответствует формату UUID; оргструктура существует и принадлежит клиенту (либо это Юридическая).

  • Видимость оргструктуры пользователю: с правом ORG_STRUCTURES видно всё; без него — только опубликованная с доступом PUBLIC либо RESTRICTED с членством хотя бы одним активным сотрудником. Для Юридической проверка видимости пропускается.

  • Тело запроса задано.

  • query не пустая строка и не строка из пробелов.

  • limit не отрицательный; превышение максимального значения пагинации недопустимо.

  • offset не отрицательный.

  • Функционал оргструктур включён в настройках клиента.

Request

Responses

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