ВАЖНО!!! Логику определения статуса квалификации и дат его изменения нужно переиспользовать из отчета 4_deals
В качестве значений столбцов Дата присвоения квалификации и Дата снятия квалификации необходимо для заполнения использовать значение qualified_updated_at*
with params as (
select '2026-03-31'::date at time zone 'gmt+03' as end_date
)
select a.user_uuid as user_id
, a.application_type = 'inclusion' as is_qualified
, a.created_at
, a.updated_at
– новая дата присвоения квалификации
, coalesce(a.updated_at, a.created_at) as qulififed_updated_at
from params, applications a
where a.application_type in ('inclusion', 'exclusion')
/* and a.created_at = (
select max(a2.created_at)
from applications a2
where a2.user_uuid = a.user_uuid
and a2.application_type = a.application_type
and a2.created_at <= params.end_date
)*/
--добавление нового фильтра по статусу и по реальной дате присвоения квалификации
and a.status ='approved'
and coalesce(a.updated_at, a.created_at) = (
select max(coalesce(a2.updated_at, a2.created_at))
from applications a2
where a2.user_uuid = a.user_uuid
and a2.application_type = a.application_type
and a2.status = 'approved'
and coalesce(a2.updated_at, a2.created_at) <= params.end_date
);