From a8f074aa5ecdbb7e80da78b87db46f9ee5327cb3 Mon Sep 17 00:00:00 2001 From: Ruslan Date: Wed, 5 Mar 2025 10:44:21 +0300 Subject: [PATCH] +updates --- .../job_recruitments_all.hwf | 2 +- .../mil_com/parameters/add_schema.hpl | 592 ++++++++++++++++-- .../mil_com/total_registered.age(m_c).hpl | 491 +++++++-------- .../total_registered.busyness(m_c).hpl | 2 +- .../total_registered.child_minor(m_c).hpl | 2 +- .../total_registered.driver_license(m_c).hpl | 2 +- .../total_registered.education_level(m_c).hpl | 384 ++++++------ .../total_registered.marital_status(m_c).hpl | 2 +- 8 files changed, 991 insertions(+), 486 deletions(-) diff --git a/v1_apache-hop dash mapping/job_recruitments_all.hwf b/v1_apache-hop dash mapping/job_recruitments_all.hwf index 8b9c1bf..4301077 100644 --- a/v1_apache-hop dash mapping/job_recruitments_all.hwf +++ b/v1_apache-hop dash mapping/job_recruitments_all.hwf @@ -268,7 +268,7 @@ job_recruitments_region.hwf job_ratings.hwf - Y + N Y N diff --git a/v1_apache-hop dash mapping/mil_com/parameters/add_schema.hpl b/v1_apache-hop dash mapping/mil_com/parameters/add_schema.hpl index 29ebfd0..6d8dd54 100644 --- a/v1_apache-hop dash mapping/mil_com/parameters/add_schema.hpl +++ b/v1_apache-hop dash mapping/mil_com/parameters/add_schema.hpl @@ -23,57 +23,57 @@ Table input Insert / update (main_dashboard.total_registered) - Y + N Table input Insert / update (main_dashboard.waiting_registration) - Y + N Table input Insert / update (total_registered.reg_mil_cat) - Y + N Table input Insert / update (total_registered.removed_registry) - Y + N Table input Insert / update (total_registered.subpoenas) - Y + N Table input Insert / update (total_registered.driver_license) - Y + N Table input Insert / update (total_registered.child_minor) - Y + N Table input Insert / update (total_registered.age) - Y + N Table input Insert / update (total_registered.marital_status) - Y + N Table input Insert / update (total_registered.education_level) - Y + N Table input Insert / update (recruitment_campaign.appeals) - Y + N Table input @@ -88,16 +88,71 @@ Table input main_dashboard.recruitment_campaign Insert / update (main_dashboard.recruitment_campaign) - Y + N Table input recruitment_campaign.subpoenas Insert / update (recruitment_campaign.subpoenas) - Y + N Table input Insert / update (total_registered.busyness) + N + + + Table input + Update + Y + + + Table input + Update 2 + Y + + + Table input + Update 3 + Y + + + Table input + Update 4 + Y + + + Table input + Update 5 + Y + + + Table input + Update 6 + Y + + + Table input + Update (total_registered.subpoenas) + Y + + + Table input + Update (total_registered.removed_registry) + Y + + + Table input + Update (total_registered.reg_mil_cat) + Y + + + Table input + Update (main_dashboard.waiting_registration) + Y + + + Table input + Update (main_dashboard.total_registered) Y @@ -114,8 +169,8 @@ - 1200 - 400 + 176 + 464 @@ -163,8 +218,8 @@ N - 1440 - 400 + 416 + 464 @@ -321,8 +376,8 @@ N - 1200 - 528 + 176 + 592 @@ -370,8 +425,8 @@ N - 1200 - 608 + 176 + 672 @@ -419,8 +474,8 @@ N - 1200 - 1488 + 0 + 2016 @@ -617,8 +672,8 @@ N - 1200 - 1088 + 0 + 1616 @@ -666,8 +721,8 @@ N - 1200 - 1248 + 0 + 1776 @@ -715,8 +770,8 @@ N - 1200 - 1008 + 0 + 1536 @@ -764,8 +819,8 @@ N - 1200 - 928 + 0 + 1456 @@ -813,8 +868,8 @@ N - 1200 - 1328 + 0 + 1856 @@ -862,8 +917,8 @@ N - 1200 - 1168 + 0 + 1696 @@ -911,8 +966,8 @@ N - 1200 - 688 + 176 + 752 @@ -960,8 +1015,8 @@ N - 1200 - 768 + 176 + 832 @@ -1009,8 +1064,8 @@ N - 1200 - 848 + 176 + 912 @@ -1162,6 +1217,461 @@ WHERE schema in ('Department', 'Organization', 'Region') 352 + + Update + Update + + Y + + 1 + + none + + + 100 + ervu-dashboard + Y + + + = + recruitment_id + recruitment_id + + + = + recording_date + recording_date + + total_registered + driver_license
+ + schema + schema + +
+ N + Y + + + 1200 + 928 + +
+ + Update 2 + Update + + Y + + 1 + + none + + + 100 + ervu-dashboard + Y + + + = + recruitment_id + recruitment_id + + + = + recording_date + recording_date + + total_registered + child_minor
+ + schema + schema + +
+ N + Y + + + 1200 + 1008 + +
+ + Update 3 + Update + + Y + + 1 + + none + + + 100 + ervu-dashboard + Y + + + = + recruitment_id + recruitment_id + + + = + recording_date + recording_date + + total_registered + age
+ + schema + schema + +
+ N + Y + + + 1200 + 1088 + +
+ + Update 4 + Update + + Y + + 1 + + none + + + 100 + ervu-dashboard + Y + + + = + recruitment_id + recruitment_id + + + = + recording_date + recording_date + + total_registered + marital_status
+ + schema + schema + +
+ N + Y + + + 1200 + 1184 + +
+ + Update 5 + Update + + Y + + 1 + + none + + + 100 + ervu-dashboard + Y + + + = + recruitment_id + recruitment_id + + + = + recording_date + recording_date + + total_registered + busyness
+ + schema + schema + +
+ N + Y + + + 1232 + 1264 + +
+ + Update 6 + Update + + Y + + 1 + + none + + + 100 + ervu-dashboard + Y + + + = + recruitment_id + recruitment_id + + + = + recording_date + recording_date + + total_registered + education_level
+ + schema + schema + +
+ N + Y + + + 1232 + 1344 + +
+ + Update (main_dashboard.total_registered) + Update + + Y + + 1 + + none + + + 100 + ervu-dashboard + Y + + + + = + recruitment_id + recruitment_id + + + + = + recording_date + recording_date + + + main_dashboard + total_registered
+ + schema + schema + +
+ N + Y + + + 1200 + 480 + +
+ + Update (main_dashboard.waiting_registration) + Update + + Y + + 1 + + none + + + 100 + ervu-dashboard + Y + + + + = + recruitment_id + recruitment_id + + + + = + recording_date + recording_date + + + main_dashboard + waiting_registration
+ + schema + schema + +
+ N + Y + + + 1200 + 560 + +
+ + Update (total_registered.reg_mil_cat) + Update + + Y + + 1 + + none + + + 100 + ervu-dashboard + Y + + + + = + recruitment_id + recruitment_id + + + + = + recording_date + recording_date + + + total_registered + reg_mil_cat
+ + schema + schema + +
+ N + Y + + + 1200 + 640 + +
+ + Update (total_registered.removed_registry) + Update + + Y + + 1 + + none + + + 100 + ervu-dashboard + Y + + + + = + recruitment_id + recruitment_id + + + + = + recording_date + recording_date + + + total_registered + removed_registry
+ + schema + schema + +
+ N + Y + + + 1200 + 720 + +
+ + Update (total_registered.subpoenas) + Update + + Y + + 1 + + none + + + 100 + ervu-dashboard + Y + + + + = + recruitment_id + recruitment_id + + + + = + recording_date + recording_date + + + total_registered + subpoenas
+ + schema + schema + +
+ N + Y + + + 1200 + 800 + +
diff --git a/v1_apache-hop dash mapping/mil_com/total_registered.age(m_c).hpl b/v1_apache-hop dash mapping/mil_com/total_registered.age(m_c).hpl index d1af26d..5e40285 100644 --- a/v1_apache-hop dash mapping/mil_com/total_registered.age(m_c).hpl +++ b/v1_apache-hop dash mapping/mil_com/total_registered.age(m_c).hpl @@ -59,7 +59,7 @@ Table input (person_registry) регион/мужчины 2 Insert / update (total_registered.age) 2 2 - Y + N @@ -95,6 +95,39 @@ 800 + + Get variables 3 2 2 2 + GetVariable + + Y + + 1 + + none + + + + + -1 + REC_ID + -1 + none + String + + + -1 + SCM + -1 + none + String + + + + + 1536 + 1008 + + Insert / update (total_registered.age) 2 InsertUpdate @@ -113,31 +146,26 @@ = recruitment_id recruitment_id - = recording_date recording_date - = registered registered - = "all_M_W" gender - = convicts convicts - total_registered age
@@ -254,248 +282,6 @@ 720
- - Select values 3 2 2 - SelectValues - - Y - - 1 - - none - - - - N - - REC_ID - REC_ID - String - -2 - -2 - - false - - - false - - - - - - - - SCM - SCM - String - -2 - -2 - - false - - - false - - - - - - - - - - 1680 - 800 - - - - Table input (person_registry) регион/мужчины - TableInput - - Y - - 1 - - none - - - ervu_person_registry - N - 0 - WITH -ids AS ( - -- Преобразуем строковый массив в таблицу UUID - SELECT unnest(string_to_array(trim(both '{}' from '${ARR_MC}'), ','))::uuid AS recruitment_id -), -recruit_data AS ( - SELECT - r.target_recruitment_id, - r.gender, - r.vu_current_info->>'isMilitaryRegistered' AS registered, - r.id AS recruit_id, - r.birth_date - FROM public.recruits r - LEFT JOIN public.recruits_info ri ON ri.recruit_id = r.id - WHERE r.vu_current_info->>'isMilitaryRegistered' IN ('true', 'false') - AND r.gender IN ('MALE', 'FEMALE') - AND r.current_recruitment_id IS NOT NULL - AND r.target_recruitment_id::uuid IN (SELECT recruitment_id FROM ids) -), -total_count AS ( - SELECT - rd.target_recruitment_id as recruitment_id, - rd.gender, - rd.registered, - COUNT(rd.recruit_id) AS total - FROM recruit_data rd - GROUP BY rd.target_recruitment_id, rd.gender, rd.registered -), -total_count_all AS ( - SELECT - r.target_recruitment_id AS recruitment_id, - r.vu_current_info->>'isMilitaryRegistered' AS registered, - COUNT(r.id) AS total - FROM public.recruits r - LEFT JOIN public.recruits_info ri ON ri.recruit_id = r.id - WHERE r.vu_current_info->>'isMilitaryRegistered' IN ('true', 'false') - AND r.current_recruitment_id IS NOT NULL - AND r.target_recruitment_id::uuid IN (SELECT recruitment_id FROM ids) - GROUP BY r.target_recruitment_id, r.vu_current_info->>'isMilitaryRegistered' -), -age_counts AS ( - SELECT - rd.target_recruitment_id as recruitment_id, - rd.gender, - rd.registered, - COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) = 17) AS "17_year_count", - COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 18 AND 26) AS "18-26_year_count", - COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 27 AND 30) AS "27-30_year_count", - COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 31 AND 35) AS "31-35_year_count", - COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 36 AND 40) AS "36-40_year_count", - COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 41 AND 45) AS "41-45_year_count", - COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 46 AND 50) AS "46-50_year_count", - COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) >= 51) AS "51+_year_count" - FROM recruit_data rd - GROUP BY rd.target_recruitment_id, rd.gender, rd.registered -), -age_counts_all AS ( - SELECT - r.target_recruitment_id AS recruitment_id, - r.vu_current_info->>'isMilitaryRegistered' AS registered, - COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) = 17) AS "17_year_count", - COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 18 AND 26) AS "18-26_year_count", - COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 27 AND 30) AS "27-30_year_count", - COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 31 AND 35) AS "31-35_year_count", - COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 36 AND 40) AS "36-40_year_count", - COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 41 AND 45) AS "41-45_year_count", - COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 46 AND 50) AS "46-50_year_count", - COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) >= 51) AS "51+_year_count" - FROM public.recruits r - LEFT JOIN public.recruits_info ri ON ri.recruit_id = r.id - WHERE r.vu_current_info->>'isMilitaryRegistered' IN ('true', 'false') - AND r.current_recruitment_id IS NOT NULL - AND r.target_recruitment_id::uuid IN (SELECT recruitment_id FROM ids) - GROUP BY r.target_recruitment_id, r.vu_current_info->>'isMilitaryRegistered' -) -SELECT - current_date AS recording_date, - COALESCE(ac."17_year_count", 0) AS "17_year_count", - COALESCE(ROUND((COALESCE(ac."17_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "17_year_percent", - COALESCE(ac."18-26_year_count", 0) AS "18-26_year_count", - COALESCE(ROUND((COALESCE(ac."18-26_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "18-26_year_percent", - COALESCE(ac."27-30_year_count", 0) AS "27-30_year_count", - COALESCE(ROUND((COALESCE(ac."27-30_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "27-30_year_percent", - COALESCE(ac."31-35_year_count", 0) AS "31-35_year_count", - COALESCE(ROUND((COALESCE(ac."31-35_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "31-35_year_percent", - COALESCE(ac."36-40_year_count", 0) AS "36-40_year_count", - COALESCE(ROUND((COALESCE(ac."36-40_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "36-40_year_percent", - COALESCE(ac."41-45_year_count", 0) AS "41-45_year_count", - COALESCE(ROUND((COALESCE(ac."41-45_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "41-45_year_percent", - COALESCE(ac."46-50_year_count", 0) AS "46-50_year_count", - COALESCE(ROUND((COALESCE(ac."46-50_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "46-50_year_percent", - COALESCE(ac."51+_year_count", 0) AS "51+_year_count", - COALESCE(ROUND((COALESCE(ac."51+_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "51+_year_percent", - COALESCE(tc.total, 0) AS total_count, - tc.recruitment_id, - (CASE - WHEN tc.gender = 'MALE' THEN 'M' - ELSE 'W' - END)::text AS gender, - 'ALL' AS convicts, - tc.registered::text -FROM total_count tc -LEFT JOIN age_counts ac - ON ac.recruitment_id = tc.recruitment_id - AND ac.gender = tc.gender - AND ac.registered = tc.registered -UNION ALL -SELECT - current_date AS recording_date, - COALESCE(aca."17_year_count", 0) AS "17_year_count", - COALESCE(ROUND((COALESCE(aca."17_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "17_year_percent", - COALESCE(aca."18-26_year_count", 0) AS "18-26_year_count", - COALESCE(ROUND((COALESCE(aca."18-26_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "18-26_year_percent", - COALESCE(aca."27-30_year_count", 0) AS "27-30_year_count", - COALESCE(ROUND((COALESCE(aca."27-30_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "27-30_year_percent", - COALESCE(aca."31-35_year_count", 0) AS "31-35_year_count", - COALESCE(ROUND((COALESCE(aca."31-35_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "31-35_year_percent", - COALESCE(aca."36-40_year_count", 0) AS "36-40_year_count", - COALESCE(ROUND((COALESCE(aca."36-40_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "36-40_year_percent", - COALESCE(aca."41-45_year_count", 0) AS "41-45_year_count", - COALESCE(ROUND((COALESCE(aca."41-45_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "41-45_year_percent", - COALESCE(aca."46-50_year_count", 0) AS "46-50_year_count", - COALESCE(ROUND((COALESCE(aca."46-50_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "46-50_year_percent", - COALESCE(aca."51+_year_count", 0) AS "51+_year_count", - COALESCE(ROUND((COALESCE(aca."51+_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "51+_year_percent", - COALESCE(tca.total, 0) AS total_count, - tca.recruitment_id, - 'ALL' AS gender, - 'ALL' AS convicts, - tca.registered::text -FROM total_count_all tca -LEFT JOIN age_counts_all aca - ON aca.recruitment_id = tca.recruitment_id - AND aca.registered = tca.registered - Y - - - 1296 - 720 - - - - Get variables 3 2 2 2 - GetVariable - - Y - - 1 - - none - - - - - -1 - REC_ID - -1 - none - String - - - -1 - SCM - -1 - none - String - - - - - 1536 - 1008 - - Insert / update (total_registered.age) 2 2 InsertUpdate @@ -650,6 +436,60 @@ LEFT JOIN age_counts_all aca 928 + + Select values 3 2 2 + SelectValues + + Y + + 1 + + none + + + + N + + REC_ID + REC_ID + String + -2 + -2 + + false + + + false + + + + + + + + SCM + SCM + String + -2 + -2 + + false + + + false + + + + + + + + + + 1680 + 800 + + Select values 3 2 2 2 SelectValues @@ -704,6 +544,161 @@ LEFT JOIN age_counts_all aca 1008 + + Table input (person_registry) регион/мужчины + TableInput + + Y + + 1 + + none + + + ervu_person_registry + N + 0 + WITH +ids AS ( + -- Преобразуем строковый массив в таблицу UUID + SELECT unnest(string_to_array(trim(both '{}' from '${ARR_MC}'), ','))::uuid AS recruitment_id +), +recruit_data AS ( + SELECT + r.target_recruitment_id, + r.gender, + r.vu_current_info->>'isMilitaryRegistered' AS registered, + r.id AS recruit_id, + r.birth_date + FROM public.recruits r + LEFT JOIN public.recruits_info ri ON ri.recruit_id = r.id + WHERE r.vu_current_info->>'isMilitaryRegistered' IN ('true', 'false') + AND r.gender IN ('MALE', 'FEMALE') + AND r.current_recruitment_id IS NOT NULL + AND r.target_recruitment_id::uuid IN (SELECT recruitment_id FROM ids) +), +total_count AS ( + SELECT + rd.target_recruitment_id as recruitment_id, + rd.gender, + rd.registered, + COUNT(rd.recruit_id) AS total + FROM recruit_data rd + GROUP BY rd.target_recruitment_id, rd.gender, rd.registered +), +total_count_all AS ( + SELECT + r.target_recruitment_id AS recruitment_id, + r.vu_current_info->>'isMilitaryRegistered' AS registered, + COUNT(r.id) AS total + FROM public.recruits r + LEFT JOIN public.recruits_info ri ON ri.recruit_id = r.id + WHERE r.vu_current_info->>'isMilitaryRegistered' IN ('true', 'false') + AND r.current_recruitment_id IS NOT NULL + AND r.target_recruitment_id::uuid IN (SELECT recruitment_id FROM ids) + GROUP BY r.target_recruitment_id, r.vu_current_info->>'isMilitaryRegistered' +), +age_counts AS ( + SELECT + rd.target_recruitment_id as recruitment_id, + rd.gender, + rd.registered, + COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) = 17) AS "17_year_count", + COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 18 AND 26) AS "18-26_year_count", + COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 27 AND 30) AS "27-30_year_count", + COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 31 AND 35) AS "31-35_year_count", + COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 36 AND 40) AS "36-40_year_count", + COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 41 AND 45) AS "41-45_year_count", + COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) BETWEEN 46 AND 50) AS "46-50_year_count", + COUNT(rd.recruit_id) FILTER (WHERE EXTRACT(YEAR FROM AGE(rd.birth_date)) >= 51) AS "51+_year_count" + FROM recruit_data rd + GROUP BY rd.target_recruitment_id, rd.gender, rd.registered +), +age_counts_all AS ( + SELECT + r.target_recruitment_id AS recruitment_id, + r.vu_current_info->>'isMilitaryRegistered' AS registered, + COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) = 17) AS "17_year_count", + COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 18 AND 26) AS "18-26_year_count", + COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 27 AND 30) AS "27-30_year_count", + COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 31 AND 35) AS "31-35_year_count", + COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 36 AND 40) AS "36-40_year_count", + COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 41 AND 45) AS "41-45_year_count", + COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) BETWEEN 46 AND 50) AS "46-50_year_count", + COUNT(r.id) FILTER (WHERE EXTRACT(YEAR FROM AGE(r.birth_date)) >= 51) AS "51+_year_count" + FROM public.recruits r + LEFT JOIN public.recruits_info ri ON ri.recruit_id = r.id + WHERE r.vu_current_info->>'isMilitaryRegistered' IN ('true', 'false') + AND r.current_recruitment_id IS NOT NULL + AND r.target_recruitment_id::uuid IN (SELECT recruitment_id FROM ids) + GROUP BY r.target_recruitment_id, r.vu_current_info->>'isMilitaryRegistered' +) +SELECT + current_date AS recording_date, + COALESCE(ac."17_year_count", 0) AS "17_year_count", + COALESCE(ROUND((COALESCE(ac."17_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "17_year_percent", + COALESCE(ac."18-26_year_count", 0) AS "18-26_year_count", + COALESCE(ROUND((COALESCE(ac."18-26_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "18-26_year_percent", + COALESCE(ac."27-30_year_count", 0) AS "27-30_year_count", + COALESCE(ROUND((COALESCE(ac."27-30_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "27-30_year_percent", + COALESCE(ac."31-35_year_count", 0) AS "31-35_year_count", + COALESCE(ROUND((COALESCE(ac."31-35_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "31-35_year_percent", + COALESCE(ac."36-40_year_count", 0) AS "36-40_year_count", + COALESCE(ROUND((COALESCE(ac."36-40_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "36-40_year_percent", + COALESCE(ac."41-45_year_count", 0) AS "41-45_year_count", + COALESCE(ROUND((COALESCE(ac."41-45_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "41-45_year_percent", + COALESCE(ac."46-50_year_count", 0) AS "46-50_year_count", + COALESCE(ROUND((COALESCE(ac."46-50_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "46-50_year_percent", + COALESCE(ac."51+_year_count", 0) AS "51+_year_count", + COALESCE(ROUND((COALESCE(ac."51+_year_count", 0) * 100.0) / NULLIF(tc.total, 0), 2), 0) AS "51+_year_percent", + COALESCE(tc.total, 0) AS total_count, + tc.recruitment_id, + (CASE + WHEN tc.gender = 'MALE' THEN 'M' + ELSE 'W' + END)::text AS gender, + 'ALL' AS convicts, + tc.registered::text +FROM total_count tc +LEFT JOIN age_counts ac + ON ac.recruitment_id = tc.recruitment_id + AND ac.gender = tc.gender + AND ac.registered = tc.registered +UNION ALL +SELECT + current_date AS recording_date, + COALESCE(aca."17_year_count", 0) AS "17_year_count", + COALESCE(ROUND((COALESCE(aca."17_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "17_year_percent", + COALESCE(aca."18-26_year_count", 0) AS "18-26_year_count", + COALESCE(ROUND((COALESCE(aca."18-26_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "18-26_year_percent", + COALESCE(aca."27-30_year_count", 0) AS "27-30_year_count", + COALESCE(ROUND((COALESCE(aca."27-30_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "27-30_year_percent", + COALESCE(aca."31-35_year_count", 0) AS "31-35_year_count", + COALESCE(ROUND((COALESCE(aca."31-35_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "31-35_year_percent", + COALESCE(aca."36-40_year_count", 0) AS "36-40_year_count", + COALESCE(ROUND((COALESCE(aca."36-40_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "36-40_year_percent", + COALESCE(aca."41-45_year_count", 0) AS "41-45_year_count", + COALESCE(ROUND((COALESCE(aca."41-45_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "41-45_year_percent", + COALESCE(aca."46-50_year_count", 0) AS "46-50_year_count", + COALESCE(ROUND((COALESCE(aca."46-50_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "46-50_year_percent", + COALESCE(aca."51+_year_count", 0) AS "51+_year_count", + COALESCE(ROUND((COALESCE(aca."51+_year_count", 0) * 100.0) / NULLIF(tca.total, 0), 2), 0) AS "51+_year_percent", + COALESCE(tca.total, 0) AS total_count, + tca.recruitment_id, + 'ALL' AS gender, + 'ALL' AS convicts, + tca.registered::text +FROM total_count_all tca +LEFT JOIN age_counts_all aca + ON aca.recruitment_id = tca.recruitment_id + AND aca.registered = tca.registered + Y + + + 1296 + 720 + + Table input (person_registry) регион/мужчины 2 TableInput diff --git a/v1_apache-hop dash mapping/mil_com/total_registered.busyness(m_c).hpl b/v1_apache-hop dash mapping/mil_com/total_registered.busyness(m_c).hpl index 78387a9..7b1f8ec 100644 --- a/v1_apache-hop dash mapping/mil_com/total_registered.busyness(m_c).hpl +++ b/v1_apache-hop dash mapping/mil_com/total_registered.busyness(m_c).hpl @@ -59,7 +59,7 @@ Table input (person_registry) РФ/мужчины 2 Insert / update (total_registered.busyness) 2 2 - Y + N diff --git a/v1_apache-hop dash mapping/mil_com/total_registered.child_minor(m_c).hpl b/v1_apache-hop dash mapping/mil_com/total_registered.child_minor(m_c).hpl index 4ee6c9c..9f80eff 100644 --- a/v1_apache-hop dash mapping/mil_com/total_registered.child_minor(m_c).hpl +++ b/v1_apache-hop dash mapping/mil_com/total_registered.child_minor(m_c).hpl @@ -59,7 +59,7 @@ Table input (person_registry)регион/все 2 Insert / update (total_registered.child_minor) 3 2 - Y + N 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 eb6bdc3..2dc635b 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 @@ -59,7 +59,7 @@ Table input (driver_license) регионы/все 2 Insert / update (total_registered.driver_license) 2 2 - Y + N diff --git a/v1_apache-hop dash mapping/mil_com/total_registered.education_level(m_c).hpl b/v1_apache-hop dash mapping/mil_com/total_registered.education_level(m_c).hpl index 2f71eb4..ad246ff 100644 --- a/v1_apache-hop dash mapping/mil_com/total_registered.education_level(m_c).hpl +++ b/v1_apache-hop dash mapping/mil_com/total_registered.education_level(m_c).hpl @@ -59,7 +59,7 @@ Table input (person_registry) РФ/мужчины 2 Insert / update (total_registered.education_level) 2 2 - Y + N @@ -95,6 +95,39 @@ 624 + + Get variables 3 2 2 2 + GetVariable + + Y + + 1 + + none + + + + + -1 + REC_ID + -1 + none + String + + + -1 + SCM + -1 + none + String + + + + + 1328 + 880 + + Insert / update (total_registered.education_level) 2 InsertUpdate @@ -199,6 +232,110 @@ 496 + + Insert / update (total_registered.education_level) 2 2 + InsertUpdate + + Y + + 1 + + none + + + 100 + ervu-dashboard + + + = + recruitment_id + recruitment_id + + + = + recording_date + recording_date + + + = + "all_M_W" + gender + + + = + convicts + convicts + + total_registered + education_level
+ + higher + higher + Y + + + average + average_prof + Y + + + "all_M_W" + gender + N + + + only_general + only_general + Y + + + no_data + count_nodata + Y + + + higher_percent + higher_percentage + Y + + + average_percent + average_prof_percentage + Y + + + only_general_percent + only_general_percentage + Y + + + no_data_percent + count_nodata_percentage + Y + + + recruitment_id + recruitment_id + N + + + education_level + total + Y + + + convicts + convicts + N + +
+ Y + + + 1728 + 752 + +
Select values 3 2 2 SelectValues @@ -253,6 +390,60 @@ 624 + + Select values 3 2 2 2 + SelectValues + + Y + + 1 + + none + + + + N + + REC_ID + REC_ID + String + -2 + -2 + + false + + + false + + + + + + + + SCM + SCM + String + -2 + -2 + + false + + + false + + + + + + + + + + 1472 + 880 + + Table input (person_registry) РФ/мужчины TableInput @@ -413,197 +604,6 @@ FROM final_counts_all fca 496 - - Get variables 3 2 2 2 - GetVariable - - Y - - 1 - - none - - - - - -1 - REC_ID - -1 - none - String - - - -1 - SCM - -1 - none - String - - - - - 1328 - 880 - - - - Insert / update (total_registered.education_level) 2 2 - InsertUpdate - - Y - - 1 - - none - - - 100 - ervu-dashboard - - - = - recruitment_id - recruitment_id - - - = - recording_date - recording_date - - - = - "all_M_W" - gender - - - = - convicts - convicts - - total_registered - education_level
- - higher - higher - Y - - - average - average_prof - Y - - - "all_M_W" - gender - N - - - only_general - only_general - Y - - - no_data - count_nodata - Y - - - higher_percent - higher_percentage - Y - - - average_percent - average_prof_percentage - Y - - - only_general_percent - only_general_percentage - Y - - - no_data_percent - count_nodata_percentage - Y - - - recruitment_id - recruitment_id - N - - - education_level - total - Y - - - convicts - convicts - N - -
- Y - - - 1728 - 752 - -
- - Select values 3 2 2 2 - SelectValues - - Y - - 1 - - none - - - - N - - REC_ID - REC_ID - String - -2 - -2 - - false - - - false - - - - - - - - SCM - SCM - String - -2 - -2 - - false - - - false - - - - - - - - - - 1472 - 880 - - Table input (person_registry) РФ/мужчины 2 TableInput diff --git a/v1_apache-hop dash mapping/mil_com/total_registered.marital_status(m_c).hpl b/v1_apache-hop dash mapping/mil_com/total_registered.marital_status(m_c).hpl index 1ddaeb5..c41052e 100644 --- a/v1_apache-hop dash mapping/mil_com/total_registered.marital_status(m_c).hpl +++ b/v1_apache-hop dash mapping/mil_com/total_registered.marital_status(m_c).hpl @@ -59,7 +59,7 @@ Table input (person_registry) регионы/мужчины 2 Insert / update (total_registered.marital_status) 2 2 - Y + N