diff --git a/v1_apache-hop dash mapping/mil_com/total_registered.driver_license(m_c).hpl b/v1_apache-hop dash mapping/mil_com/total_registered.driver_license(m_c).hpl index 1fe9d93..425269f 100644 --- a/v1_apache-hop dash mapping/mil_com/total_registered.driver_license(m_c).hpl +++ b/v1_apache-hop dash mapping/mil_com/total_registered.driver_license(m_c).hpl @@ -293,7 +293,7 @@ categorized AS ( r.current_recruitment_id AS recruitment_id, CASE WHEN r.vu_current_info->>'recruitmentCommercialInfo' = 'true' THEN 'CONVICT' - ELSE 'ALL' + ELSE 'NOTCONVICT' END AS convicts, MAX(CASE WHEN cat->>'naimKatTS' like '%A%' THEN 1 ELSE 0 END) AS has_A, MAX(CASE WHEN cat->>'naimKatTS' like '%B%' THEN 1 ELSE 0 END) AS has_B, @@ -312,6 +312,31 @@ categorized AS ( and coalesce(r.current_recruitment_id,rh.current_recruitment_id) ::uuid IN (SELECT recruitment_id FROM ids) AND r.gender IN ('MALE', 'FEMALE') -- Исключаем NULL GROUP BY r.id, r.gender + + UNION ALL + + SELECT + r.id, + r.gender, + r.current_recruitment_id AS recruitment_id, + 'ALL' AS convicts, + MAX(CASE WHEN cat->>'naimKatTS' like '%A%' THEN 1 ELSE 0 END) AS has_A, + MAX(CASE WHEN cat->>'naimKatTS' like '%B%' THEN 1 ELSE 0 END) AS has_B, + MAX(CASE WHEN cat->>'naimKatTS' like '%C%' THEN 1 ELSE 0 END) AS has_C, + MAX(CASE WHEN cat->>'naimKatTS' like '%D%' THEN 1 ELSE 0 END) AS has_D, + MAX(CASE WHEN cat->>'naimKatTS' like '%E%' THEN 1 ELSE 0 END) AS has_E, + MAX(CASE WHEN cat->>'naimKatTS' like '%M%' THEN 1 ELSE 0 END) AS has_M, -- мопеды + MAX(CASE WHEN cat->>'naimKatTS' like '%T%' THEN 1 ELSE 0 END) AS has_T -- трамваи и троллейбусы + FROM public.recruits AS r + JOIN public.recruits_info ri ON ri.recruit_id = r.id + JOIN public.recruits_history rh on rh.recruit_id=r.id + LEFT JOIN jsonb_array_elements(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->'svedKat') AS cat ON true + WHERE + r.id in (SELECT recruit_id FROM registered) and + rh.id in (SELECT recruit_history_id FROM registered) + and coalesce(r.current_recruitment_id,rh.current_recruitment_id) ::uuid IN (SELECT recruitment_id FROM ids) + AND r.gender IN ('MALE', 'FEMALE') -- Исключаем NULL + GROUP BY r.id, r.gender ), aggregated AS ( SELECT