diff --git a/mappings/info_recruits/citizen_tables/child/parallel/child_flow.hpl b/mappings/info_recruits/citizen_tables/child/parallel/child_flow.hpl index 058c647..b83ef0c 100644 --- a/mappings/info_recruits/citizen_tables/child/parallel/child_flow.hpl +++ b/mappings/info_recruits/citizen_tables/child/parallel/child_flow.hpl @@ -333,6 +333,7 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}'); ervu-dashboard N + SELECT ri.recruit_id AS recruit_id, (ch->>'id')::uuid AS child_external_id, @@ -378,7 +379,7 @@ CROSS JOIN LATERAL ( ) AS dates WHERE '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array'; Y diff --git a/mappings/info_recruits/citizen_tables/child/parallel/child_flow_delta.hpl b/mappings/info_recruits/citizen_tables/child/parallel/child_flow_delta.hpl index 5348e19..f4d95f8 100644 --- a/mappings/info_recruits/citizen_tables/child/parallel/child_flow_delta.hpl +++ b/mappings/info_recruits/citizen_tables/child/parallel/child_flow_delta.hpl @@ -449,6 +449,7 @@ and recruitment_id = '${IDM_ID}'; ervu-dashboard N + SELECT ri.recruit_id AS recruit_id, (ch->>'id')::uuid AS child_external_id, @@ -494,7 +495,7 @@ CROSS JOIN LATERAL ( ) AS dates WHERE '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND ri.updated_at >= '${M_R_UP_DATE}'::timestamp, AND jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array'; Y diff --git a/mappings/info_recruits/citizen_tables/child/parallel/child_flow_repeat.hpl b/mappings/info_recruits/citizen_tables/child/parallel/child_flow_repeat.hpl index 2bd1039..048056a 100644 --- a/mappings/info_recruits/citizen_tables/child/parallel/child_flow_repeat.hpl +++ b/mappings/info_recruits/citizen_tables/child/parallel/child_flow_repeat.hpl @@ -465,6 +465,7 @@ DO UPDATE SET ervu-dashboard N + SELECT ri.recruit_id AS recruit_id, (ch->>'id')::uuid AS child_external_id, @@ -510,7 +511,7 @@ CROSS JOIN LATERAL ( ) AS dates WHERE '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array'; Y diff --git a/mappings/info_recruits/citizen_tables/citizen_address/parallel/citizen_address_flow.hpl b/mappings/info_recruits/citizen_tables/citizen_address/parallel/citizen_address_flow.hpl index 7a11073..6e63a5a 100644 --- a/mappings/info_recruits/citizen_tables/citizen_address/parallel/citizen_address_flow.hpl +++ b/mappings/info_recruits/citizen_tables/citizen_address/parallel/citizen_address_flow.hpl @@ -268,6 +268,7 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}'); ervu-dashboard N + SELECT ri.recruit_id::uuid, MAX(CASE WHEN addr->>'type' = 'actualAddress' THEN addr->>'reg' END) AS residence_address, @@ -290,7 +291,7 @@ FROM ervu_dashboard.recruits_info ri CROSS JOIN LATERAL jsonb_array_elements(ri.addresses) AS addr WHERE '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' GROUP BY ri.recruit_id; Y diff --git a/mappings/info_recruits/citizen_tables/citizen_address/parallel/citizen_address_flow_delta.hpl b/mappings/info_recruits/citizen_tables/citizen_address/parallel/citizen_address_flow_delta.hpl index daceb10..a0e39b9 100644 --- a/mappings/info_recruits/citizen_tables/citizen_address/parallel/citizen_address_flow_delta.hpl +++ b/mappings/info_recruits/citizen_tables/citizen_address/parallel/citizen_address_flow_delta.hpl @@ -355,6 +355,7 @@ and recruitment_id = '${IDM_ID}'; ervu-dashboard N + SELECT ri.recruit_id::uuid, MAX(CASE WHEN addr->>'type' = 'actualAddress' THEN addr->>'reg' END) AS residence_address, @@ -377,7 +378,7 @@ FROM ervu_dashboard.recruits_info ri CROSS JOIN LATERAL jsonb_array_elements(ri.addresses) AS addr WHERE '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND ri.updated_at >= '${M_R_UP_DATE}'::timestamp GROUP BY ri.recruit_id; Y diff --git a/mappings/info_recruits/citizen_tables/citizen_address/parallel/citizen_address_flow_repeat.hpl b/mappings/info_recruits/citizen_tables/citizen_address/parallel/citizen_address_flow_repeat.hpl index 665afe3..2fe203d 100644 --- a/mappings/info_recruits/citizen_tables/citizen_address/parallel/citizen_address_flow_repeat.hpl +++ b/mappings/info_recruits/citizen_tables/citizen_address/parallel/citizen_address_flow_repeat.hpl @@ -369,6 +369,7 @@ DO UPDATE SET ervu-dashboard N + SELECT ri.recruit_id::uuid, MAX(CASE WHEN addr->>'type' = 'actualAddress' THEN addr->>'reg' END) AS residence_address, @@ -391,7 +392,7 @@ FROM ervu_dashboard.recruits_info ri CROSS JOIN LATERAL jsonb_array_elements(ri.addresses) AS addr WHERE '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' GROUP BY ri.recruit_id; Y diff --git a/mappings/info_recruits/citizen_tables/citizen_guardianship/parallel/citizen_guardianship_flow.hpl b/mappings/info_recruits/citizen_tables/citizen_guardianship/parallel/citizen_guardianship_flow.hpl index 40ad7cd..c94b6f4 100644 --- a/mappings/info_recruits/citizen_tables/citizen_guardianship/parallel/citizen_guardianship_flow.hpl +++ b/mappings/info_recruits/citizen_tables/citizen_guardianship/parallel/citizen_guardianship_flow.hpl @@ -317,6 +317,7 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}'); ervu-dashboard N + SELECT ri.recruit_id AS recruit_id, (ch->>'id')::uuid AS guardianship_external_id, @@ -341,7 +342,7 @@ JOIN ervu_dashboard.citizen c ON c.recruit_id = ri.recruit_id CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') AS ch WHERE '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array'; Y diff --git a/mappings/info_recruits/citizen_tables/citizen_guardianship/parallel/citizen_guardianship_flow_delta.hpl b/mappings/info_recruits/citizen_tables/citizen_guardianship/parallel/citizen_guardianship_flow_delta.hpl index dc435bc..2a83f44 100644 --- a/mappings/info_recruits/citizen_tables/citizen_guardianship/parallel/citizen_guardianship_flow_delta.hpl +++ b/mappings/info_recruits/citizen_tables/citizen_guardianship/parallel/citizen_guardianship_flow_delta.hpl @@ -401,6 +401,7 @@ and recruitment_id = '${IDM_ID}'; ervu-dashboard N + SELECT ri.recruit_id AS recruit_id, (ch->>'id')::uuid AS guardianship_external_id, @@ -425,7 +426,7 @@ JOIN ervu_dashboard.citizen c ON c.recruit_id = ri.recruit_id CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') AS ch WHERE '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array' AND ri.updated_at >= '${M_R_UP_DATE}'::timestamp; Y diff --git a/mappings/info_recruits/citizen_tables/citizen_guardianship/parallel/citizen_guardianship_flow_repeat.hpl b/mappings/info_recruits/citizen_tables/citizen_guardianship/parallel/citizen_guardianship_flow_repeat.hpl index 3d25f03..cb62861 100644 --- a/mappings/info_recruits/citizen_tables/citizen_guardianship/parallel/citizen_guardianship_flow_repeat.hpl +++ b/mappings/info_recruits/citizen_tables/citizen_guardianship/parallel/citizen_guardianship_flow_repeat.hpl @@ -417,6 +417,7 @@ DO UPDATE SET ervu-dashboard N + SELECT ri.recruit_id AS recruit_id, (ch->>'id')::uuid AS guardianship_external_id, @@ -441,7 +442,7 @@ JOIN ervu_dashboard.citizen c ON c.recruit_id = ri.recruit_id CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') AS ch WHERE '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array'; Y diff --git a/mappings/info_recruits/citizen_tables/citizen_information_search/parallel/citizen_information_search_flow.hpl b/mappings/info_recruits/citizen_tables/citizen_information_search/parallel/citizen_information_search_flow.hpl index 142ffd5..bb0c1b3 100644 --- a/mappings/info_recruits/citizen_tables/citizen_information_search/parallel/citizen_information_search_flow.hpl +++ b/mappings/info_recruits/citizen_tables/citizen_information_search/parallel/citizen_information_search_flow.hpl @@ -278,6 +278,7 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}'); ervu-dashboard N + SELECT ri.recruit_id, @@ -291,7 +292,7 @@ SELECT FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id WHERE'${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND jsonb_typeof(ri.info->'svedFL'->'extend'->'rozysk') = 'object' Y diff --git a/mappings/info_recruits/citizen_tables/citizen_information_search/parallel/citizen_information_search_flow_delta.hpl b/mappings/info_recruits/citizen_tables/citizen_information_search/parallel/citizen_information_search_flow_delta.hpl index 0c9f107..d4f588b 100644 --- a/mappings/info_recruits/citizen_tables/citizen_information_search/parallel/citizen_information_search_flow_delta.hpl +++ b/mappings/info_recruits/citizen_tables/citizen_information_search/parallel/citizen_information_search_flow_delta.hpl @@ -345,6 +345,7 @@ and recruitment_id = '${IDM_ID}'; ervu-dashboard N + SELECT ri.recruit_id, @@ -358,7 +359,7 @@ SELECT FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id WHERE'${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND ri.updated_at >= '${M_R_UP_DATE}'::timestamp AND jsonb_typeof(ri.info->'svedFL'->'extend'->'rozysk') = 'object' diff --git a/mappings/info_recruits/citizen_tables/citizen_information_search/parallel/citizen_information_search_flow_repeat.hpl b/mappings/info_recruits/citizen_tables/citizen_information_search/parallel/citizen_information_search_flow_repeat.hpl index b3c67b1..a27861e 100644 --- a/mappings/info_recruits/citizen_tables/citizen_information_search/parallel/citizen_information_search_flow_repeat.hpl +++ b/mappings/info_recruits/citizen_tables/citizen_information_search/parallel/citizen_information_search_flow_repeat.hpl @@ -359,6 +359,7 @@ DO UPDATE SET ervu-dashboard N + SELECT ri.recruit_id, @@ -372,7 +373,7 @@ SELECT FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id WHERE'${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND jsonb_typeof(ri.info->'svedFL'->'extend'->'rozysk') = 'object' Y diff --git a/mappings/info_recruits/citizen_tables/citizen_spouse/parallel/citizen_spouse_flow.hpl b/mappings/info_recruits/citizen_tables/citizen_spouse/parallel/citizen_spouse_flow.hpl index 940fed6..73c9197 100644 --- a/mappings/info_recruits/citizen_tables/citizen_spouse/parallel/citizen_spouse_flow.hpl +++ b/mappings/info_recruits/citizen_tables/citizen_spouse/parallel/citizen_spouse_flow.hpl @@ -317,6 +317,7 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}'); ervu-dashboard N + SELECT ri.recruit_id AS recruit_id, (supr->>'id')::uuid AS spouse_external_id, @@ -354,7 +355,7 @@ CROSS JOIN LATERAL ( ) AS supr(supr) WHERE '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')); + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}'; Y diff --git a/mappings/info_recruits/citizen_tables/citizen_spouse/parallel/citizen_spouse_flow_delta.hpl b/mappings/info_recruits/citizen_tables/citizen_spouse/parallel/citizen_spouse_flow_delta.hpl index de73175..04adda6 100644 --- a/mappings/info_recruits/citizen_tables/citizen_spouse/parallel/citizen_spouse_flow_delta.hpl +++ b/mappings/info_recruits/citizen_tables/citizen_spouse/parallel/citizen_spouse_flow_delta.hpl @@ -470,6 +470,7 @@ and recruitment_id = '${IDM_ID}'; ervu-dashboard N + SELECT ri.recruit_id AS recruit_id, (supr->>'id')::uuid AS spouse_external_id, @@ -507,7 +508,7 @@ CROSS JOIN LATERAL ( ) AS supr(supr) WHERE '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND ri.update_date >= '${M_R_UP_DATE}'::timestamp; Y diff --git a/mappings/info_recruits/citizen_tables/citizen_spouse/parallel/citizen_spouse_flow_repeat.hpl b/mappings/info_recruits/citizen_tables/citizen_spouse/parallel/citizen_spouse_flow_repeat.hpl index b8e2649..c6bcf47 100644 --- a/mappings/info_recruits/citizen_tables/citizen_spouse/parallel/citizen_spouse_flow_repeat.hpl +++ b/mappings/info_recruits/citizen_tables/citizen_spouse/parallel/citizen_spouse_flow_repeat.hpl @@ -514,6 +514,7 @@ DO UPDATE SET ervu-dashboard N + SELECT ri.recruit_id AS recruit_id, (supr->>'id')::uuid AS spouse_external_id, @@ -551,7 +552,7 @@ CROSS JOIN LATERAL ( ) AS supr(supr) WHERE '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')); + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}'; Y diff --git a/mappings/info_recruits/citizen_tables/drivers_licence/parallel/drivers_licence_flow.hpl b/mappings/info_recruits/citizen_tables/drivers_licence/parallel/drivers_licence_flow.hpl index 3f324f1..e129ed8 100644 --- a/mappings/info_recruits/citizen_tables/drivers_licence/parallel/drivers_licence_flow.hpl +++ b/mappings/info_recruits/citizen_tables/drivers_licence/parallel/drivers_licence_flow.hpl @@ -290,7 +290,7 @@ base AS ( ri.info FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' -- Проверка на пустую строку - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' WHERE jsonb_typeof(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->'svedKat') = 'array' OR ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM' IS NOT NULL OR ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'predUTM' IS NOT NULL @@ -431,14 +431,11 @@ FROM all_data N N N - Y - N ervu_dashboard Y drivers_licence
- N Y N diff --git a/mappings/info_recruits/citizen_tables/drivers_licence/parallel/drivers_licence_flow_delta.hpl b/mappings/info_recruits/citizen_tables/drivers_licence/parallel/drivers_licence_flow_delta.hpl index b1191c2..1fbfea9 100644 --- a/mappings/info_recruits/citizen_tables/drivers_licence/parallel/drivers_licence_flow_delta.hpl +++ b/mappings/info_recruits/citizen_tables/drivers_licence/parallel/drivers_licence_flow_delta.hpl @@ -254,6 +254,24 @@ and recruitment_id = '${IDM_ID}'; 352
+ + Identify last row in a stream 2 + DetectLastRow + + N + + 1 + + none + + + last_row + + + 1056 + 352 + + Insert / update InsertUpdate @@ -356,6 +374,7 @@ and recruitment_id = '${IDM_ID}'; ervu-dashboard N + WITH base AS ( SELECT @@ -375,7 +394,7 @@ base AS ( END as pred_update_date FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' -- Проверка на пустую строку - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' --AND ri.updated_at >= '${M_R_UP_DATE}'::timestamp WHERE jsonb_typeof(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->'svedKat') = 'array' OR ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM' IS NOT NULL @@ -530,24 +549,6 @@ FROM all_data 352
- - Identify last row in a stream 2 - DetectLastRow - - N - - 1 - - none - - - last_row - - - 1056 - 352 - - Insert / update diff --git a/mappings/info_recruits/citizen_tables/drivers_licence/parallel/drivers_licence_flow_repeat.hpl b/mappings/info_recruits/citizen_tables/drivers_licence/parallel/drivers_licence_flow_repeat.hpl index df746b0..0425350 100644 --- a/mappings/info_recruits/citizen_tables/drivers_licence/parallel/drivers_licence_flow_repeat.hpl +++ b/mappings/info_recruits/citizen_tables/drivers_licence/parallel/drivers_licence_flow_repeat.hpl @@ -270,6 +270,24 @@ DO UPDATE SET 208 + + Identify last row in a stream 2 + DetectLastRow + + N + + 1 + + none + + + last_row + + + 1056 + 208 + + Insert / update InsertUpdate @@ -372,6 +390,7 @@ DO UPDATE SET ervu-dashboard N + WITH base AS ( SELECT @@ -379,7 +398,7 @@ base AS ( ri.info FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' -- Проверка на пустую строку - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' WHERE jsonb_typeof(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->'svedKat') = 'array' OR ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM' IS NOT NULL OR ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'predUTM' IS NOT NULL @@ -530,24 +549,6 @@ FROM all_data 208 - - Identify last row in a stream 2 - DetectLastRow - - N - - 1 - - none - - - last_row - - - 1056 - 208 - - Insert / update diff --git a/mappings/info_recruits/citizen_tables/passport/parallel/passport_flow.hpl b/mappings/info_recruits/citizen_tables/passport/parallel/passport_flow.hpl index e99e848..518830e 100644 --- a/mappings/info_recruits/citizen_tables/passport/parallel/passport_flow.hpl +++ b/mappings/info_recruits/citizen_tables/passport/parallel/passport_flow.hpl @@ -136,11 +136,8 @@ and recruitment_id = '${IDM_ID}'; ervu-dashboard - Y - N - Y N N @@ -152,7 +149,6 @@ and recruitment_id = '${IDM_ID}' and status = 'PROCESSING'; - 1264 @@ -272,6 +268,7 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}'); ervu-dashboard N + SELECT ri.recruit_id, NULLIF(p.passport_data->>'nomDok', '') AS passport_number, @@ -287,7 +284,7 @@ FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' JOIN LATERAL ( SELECT passport_data FROM UNNEST(ARRAY[ diff --git a/mappings/info_recruits/citizen_tables/passport/parallel/passport_flow_delta.hpl b/mappings/info_recruits/citizen_tables/passport/parallel/passport_flow_delta.hpl index b07ce7b..77eff60 100644 --- a/mappings/info_recruits/citizen_tables/passport/parallel/passport_flow_delta.hpl +++ b/mappings/info_recruits/citizen_tables/passport/parallel/passport_flow_delta.hpl @@ -340,6 +340,7 @@ and recruitment_id = '${IDM_ID}'; ervu-dashboard N + SELECT ri.recruit_id, NULLIF(p.passport_data->>'nomDok', '') AS passport_number, @@ -355,7 +356,7 @@ FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND '${M_R_CR_DATE}'::timestamp >= r.recruit_create_date AND r.update_date >= '${M_R_UP_DATE}'::timestamp JOIN LATERAL ( diff --git a/mappings/info_recruits/citizen_tables/passport/parallel/passport_flow_repeat.hpl b/mappings/info_recruits/citizen_tables/passport/parallel/passport_flow_repeat.hpl index 94504a9..8631add 100644 --- a/mappings/info_recruits/citizen_tables/passport/parallel/passport_flow_repeat.hpl +++ b/mappings/info_recruits/citizen_tables/passport/parallel/passport_flow_repeat.hpl @@ -370,7 +370,7 @@ FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' JOIN LATERAL ( SELECT passport_data FROM UNNEST(ARRAY[ diff --git a/mappings/info_recruits/citizen_tables/prosecution/parallel/prosecution_flow.hpl b/mappings/info_recruits/citizen_tables/prosecution/parallel/prosecution_flow.hpl index fc569e2..bc4ab1e 100644 --- a/mappings/info_recruits/citizen_tables/prosecution/parallel/prosecution_flow.hpl +++ b/mappings/info_recruits/citizen_tables/prosecution/parallel/prosecution_flow.hpl @@ -270,6 +270,40 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}'); 32 + + Sort rows + SortRows + + Y + + 1 + + none + + + ${java.io.tmpdir} + out + 1000000 + + N + + Y + + + recruit_id + Y + N + N + 0 + N + + + + + 832 + 224 + + Table input TableInput @@ -292,7 +326,7 @@ ugolov_presl AS ( FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' -- Проверка на пустую строку - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' WHERE jsonb_typeof(ri.info->'svedFL'->'svedUgolovPresl'->'faktyUgolovPresl') = 'array' ) SELECT @@ -494,40 +528,6 @@ GROUP BY r.recruit_id, up; 32 - - Sort rows - SortRows - - Y - - 1 - - none - - - ${java.io.tmpdir} - out - 1000000 - - N - - Y - - - recruit_id - Y - N - N - 0 - N - - - - - 832 - 224 - - Table output diff --git a/mappings/info_recruits/citizen_tables/prosecution/parallel/prosecution_flow_delta.hpl b/mappings/info_recruits/citizen_tables/prosecution/parallel/prosecution_flow_delta.hpl index 89fe31e..a5e2e1f 100644 --- a/mappings/info_recruits/citizen_tables/prosecution/parallel/prosecution_flow_delta.hpl +++ b/mappings/info_recruits/citizen_tables/prosecution/parallel/prosecution_flow_delta.hpl @@ -469,7 +469,7 @@ ugolov_presl AS ( FROM ervu_dashboard.recruits_info ri join ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' -- Проверка на пустую строку - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND ri.updated_at >= '${M_R_UP_DATE}'::timestamp WHERE jsonb_typeof(ri.info->'svedFL'->'svedUgolovPresl'->'faktyUgolovPresl') = 'array' ) diff --git a/mappings/info_recruits/citizen_tables/prosecution/parallel/prosecution_flow_repeat.hpl b/mappings/info_recruits/citizen_tables/prosecution/parallel/prosecution_flow_repeat.hpl index b038a37..7ac6a12 100644 --- a/mappings/info_recruits/citizen_tables/prosecution/parallel/prosecution_flow_repeat.hpl +++ b/mappings/info_recruits/citizen_tables/prosecution/parallel/prosecution_flow_repeat.hpl @@ -473,6 +473,7 @@ DO UPDATE SET ervu-dashboard N + WITH ugolov_presl AS ( SELECT @@ -481,7 +482,7 @@ ugolov_presl AS ( FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' -- Проверка на пустую строку - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' WHERE jsonb_typeof(ri.info->'svedFL'->'svedUgolovPresl'->'faktyUgolovPresl') = 'array' ) SELECT diff --git a/mappings/info_recruits/citizen_tables/punishment/parallel/punishment_flow.hpl b/mappings/info_recruits/citizen_tables/punishment/parallel/punishment_flow.hpl index 43bd0ec..fcb969c 100644 --- a/mappings/info_recruits/citizen_tables/punishment/parallel/punishment_flow.hpl +++ b/mappings/info_recruits/citizen_tables/punishment/parallel/punishment_flow.hpl @@ -324,11 +324,11 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}'); FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' WHERE ri.info -> 'svedFL' -> 'svedNakaz' ->> 'nakaz' != 'null' ) SELECT recruit_id, - (punishment_info ->> 'id')::uuid AS punishment_external_id, + (punishment_info ->> 'id')::uuid AS punishment_external_id, -- Блок "Сведения о вынесенном приговоре" punishment_info ->> 'vidNakaz' AS punishment_type, -- Вид наказания punishment_info ->> 'kodVidNakaz' AS punishment_code, -- Код вида наказания @@ -347,7 +347,7 @@ SELECT recruit_id, punishment_info ->> 'naimOrg' AS facility_name, -- Название учреждения punishment_info ->> 'adresOrg' AS facility_address, -- Адрес учреждения punishment_info ->> 'nomerUD' AS criminal_case_number, -- Номер уголовного дела - TO_DATE(punishment_info ->> 'dataNachSrok', 'YYYY-MM-DD') AS start_date, -- Дата начала срока + TO_DATE(punishment_info ->> 'dataNachSrok', 'YYYY-MM-DD') AS start_date, -- Дата начала срока TO_DATE(punishment_info ->> 'dataOkonchSrok', 'YYYY-MM-DD') AS planned_date, -- Планируемая дата освобождения CASE WHEN punishment_info ->> 'kodPerekvalif' = '1' THEN 'Изменений статьи не было' diff --git a/mappings/info_recruits/citizen_tables/punishment/parallel/punishment_flow_delta.hpl b/mappings/info_recruits/citizen_tables/punishment/parallel/punishment_flow_delta.hpl index a6736e2..40a91fc 100644 --- a/mappings/info_recruits/citizen_tables/punishment/parallel/punishment_flow_delta.hpl +++ b/mappings/info_recruits/citizen_tables/punishment/parallel/punishment_flow_delta.hpl @@ -475,7 +475,7 @@ and recruitment_id = '${IDM_ID}'; FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND ri.updated_at >= '${M_R_UP_DATE}'::timestamp WHERE ri.info -> 'svedFL' -> 'svedNakaz' ->> 'nakaz' != 'null' ) diff --git a/mappings/info_recruits/citizen_tables/punishment/parallel/punishment_flow_repeat.hpl b/mappings/info_recruits/citizen_tables/punishment/parallel/punishment_flow_repeat.hpl index 5a2ad11..3cc4020 100644 --- a/mappings/info_recruits/citizen_tables/punishment/parallel/punishment_flow_repeat.hpl +++ b/mappings/info_recruits/citizen_tables/punishment/parallel/punishment_flow_repeat.hpl @@ -463,13 +463,14 @@ DO UPDATE SET ervu-dashboard N + WITH punishment_data AS ( SELECT ri.recruit_id, jsonb_array_elements(ri.info -> 'svedFL' -> 'svedNakaz' -> 'nakaz') AS punishment_info FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' - AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}')) + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' WHERE ri.info -> 'svedFL' -> 'svedNakaz' ->> 'nakaz' != 'null' ) SELECT recruit_id,