**Это старая версия документа!**
Содержание
Общее. Отчёты
Просмотр страницы отчётов осуществляется на вкладке Отчёты группы Общее бокового меню.
Окно выглядит следующим образом:
Данная страница содержит перечень предустановленных отчётов и инструментов для поиска дубликатов в системе. Страница разделена на тематические блоки, каждый из которых отвечает за выборку данных по определенному критерию.
В верхней части страницы расположено поле «Поиск по названию…», позволяющее быстро найти нужный отчёт среди представленного списка.
Ниже располагаются следующие блоки отчётов:
Активные дубликаты — отображает информацию о текущих дублирующихся записях.
Все дубликаты — сводный отчёт по всем дублирующимся записям в системе.
Дубликаты ID Access — отчёт, показывающий записи с совпадающими идентификаторами доступа.
Уволенные по окончанию ТД за последние 3 месяца — список сотрудников, трудовые договоры (ТД) которых были расторгнуты в связи с истечением срока за последние три месяца.
Работники с <> 1 Worker c isLast — отчёт, связан с флагом (isLast).
Работники с <> 1 Worker c isMain — отчёт, аналогичный предыдущему, но связанный с флагом (isMain).
Работники с единственной активной должностью внутр. совм. — список сотрудников, которые работают только на одной должности, но при этом числятся как внутренние совместители.
Каждый блок из списка выше, является кликабельным и редиректит к детальному просмотру соответствующего отчёта или запуска формирования выборки.
Подробнее о видах отчетов
Вот описание страницы для документации, основанное на предоставленном файле:
Общее. Отчёты. Активные дубликаты
Просмотр отчёта Активные дубликаты осуществляется на вкладке Отчёты группы Общее бокового меню. Переход к детальной информации происходит при нажатии на соответствующий блок в списке отчётов.
Окно выглядит следующим образом:
Данная страница отображает результат выполнения специализированного запроса к базе данных, целью которого является поиск активных дублирующихся записей пользователей.
Описание логики отчёта
Отчёт формируется на основе следующего запроса:
SELECT
concat_ws(' ', surname, name, midname) fis,
birthday,
COUNT(distinct u.id) as count,
ARRAY_AGG(u.id ORDER BY u.id) as ids,
ARRAY_AGG(u."lkid") as "lKids",
ARRAY_AGG("etuid") as "etuid",
ARRAY_AGG("roles":text) as "roles",
ARRAY_AGG("mobwid") as "mobwid",
ARRAY_AGG("mobsid") as "mobsids"
FROM «users» u left join «workers» w on w.userid = u.id left join «students» s on s.«userid» = u.id WHERE birthday IS NOT NULL AND «deletedAt» IS null AND u.«sex» = 'male' and 1))
or s.status:text in ('active', 'vacation'))
GROUP BY surname, name, midname, birthday HAVING COUNT(distinct u.id) > 1 ORDER BY fis;
Назначение отчёта: Отчёт предназначен для выявления пользователей мужского пола, которые имеют полностью совпадающие фамилию, имя, отчество и дату рождения, что с высокой долей вероятности свидетельствует о наличии дублирующих учётных записей.
Ключевые условия выборки (фильтры):
* Учитываются только пользователи мужского пола (sex = 'male').
* Дата рождения (birthday) должна быть указана.
* Учётные записи не должны быть помечены как удалённые (deletedAt IS NULL).
* Учитываются только активные на текущий момент пользователи, которые либо являются действующими сотрудниками (условия по датам begda/endda), либо имеют активный статус студента (active) или находятся в академическом отпуске (vacation).
Отображаемые данные: В случае обнаружения дубликатов (групп записей с одинаковыми ФИО и датой рождения) отчёт должен выводить список таких групп. Для каждой группы записей показывается:
- ФИО (объединённые фамилия, имя, отчество).
- Дата рождения.
- Количество найденных дублирующихся записей в группе.
- Идентификаторы всех записей, входящих в группу дубликатов (ID пользователей, LKID, etuid, mobwid, mobsid), а также их роли.
На момент формирования текущего отчёта в системе нет данных, соответствующих указанным критериям поиска.


