From 7574dd2604d50ed13be85d3f6f52c0cbe9cb8133 Mon Sep 17 00:00:00 2001 From: "r.gaztdinov" Date: Fri, 5 Sep 2025 16:34:19 +0300 Subject: [PATCH] +citizenship_foreign, border_crossing --- .../parallel/border_crossing_flow.hpl | 7 +- .../parallel/border_crossing_flow_delta.hpl | 5 +- .../parallel/border_crossing_flow_repeat.hpl | 111 ++-- .../check_if_need_to_repeat_job.hpl | 2 +- .../parallel/citizenship_flow_delta.hpl | 8 +- .../parallel/citizenship_flow_repeat.hpl | 8 +- .../check_if_need_to_repeat_job.hpl | 86 +++ ...heck_if_citizenship_foreign_job_exists.hpl | 113 ++++ .../citizenship_foreign_job.hwf | 362 +++++++++++ .../parallel/citizenship_foreign_flow.hpl | 550 +++++++++++++++++ .../citizenship_foreign_flow_delta.hpl | 558 +++++++++++++++++ .../citizenship_foreign_flow_repeat.hpl | 575 ++++++++++++++++++ .../recruitment_five_flow_delta.hpl | 360 +++++++++++ .../recruitment_five_flow_on_error.hpl | 360 +++++++++++ .../recruitments_five_flow.hpl | 373 ++++++++++++ .../jobs_once/citizen_foreign_once.hpl | 6 - .../jobs_once/job_info_recruits_once.hwf | 3 - 17 files changed, 3410 insertions(+), 77 deletions(-) create mode 100644 mappings/info_recruits/citizen_tables/citizenship_foreign/check_if_need_to_repeat_job.hpl create mode 100644 mappings/info_recruits/citizen_tables/citizenship_foreign/checkpoints/check_if_citizenship_foreign_job_exists.hpl create mode 100644 mappings/info_recruits/citizen_tables/citizenship_foreign/citizenship_foreign_job.hwf create mode 100644 mappings/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow.hpl create mode 100644 mappings/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_delta.hpl create mode 100644 mappings/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_repeat.hpl create mode 100644 mappings/info_recruits/citizen_tables/citizenship_foreign/recruitment_five_flow_delta.hpl create mode 100644 mappings/info_recruits/citizen_tables/citizenship_foreign/recruitment_five_flow_on_error.hpl create mode 100644 mappings/info_recruits/citizen_tables/citizenship_foreign/recruitments_five_flow.hpl diff --git a/mappings/info_recruits/citizen_tables/border_crossing/parallel/border_crossing_flow.hpl b/mappings/info_recruits/citizen_tables/border_crossing/parallel/border_crossing_flow.hpl index be02496..fd811a6 100644 --- a/mappings/info_recruits/citizen_tables/border_crossing/parallel/border_crossing_flow.hpl +++ b/mappings/info_recruits/citizen_tables/border_crossing/parallel/border_crossing_flow.hpl @@ -320,6 +320,7 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}'); ervu-dashboard N + SELECT recruit_id, (string_agg(elem->>'dataVyezd', ', '))::date as date_crossing, @@ -329,8 +330,8 @@ FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' -- Проверка на пустую строку AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND '${M_R_CR_DATE}'::timestamp >= ri.created_at, -LATERAL jsonb_array_elements(info->'extend'->'svedPeresechGran') as elem -WHERE jsonb_typeof(info->'extend'->'svedPeresechGran') = 'array' +LATERAL jsonb_array_elements(info->'svedFL'->'extend'->'svedPeresechGran') as elem +WHERE jsonb_typeof(info->'svedFL'->'extend'->'svedPeresechGran') = 'array' AND (elem->>'dataVyezd' IS NOT NULL OR elem->>'dataVozvrashh' IS NOT NULL) GROUP BY recruit_id; Y @@ -400,13 +401,11 @@ GROUP BY recruit_id; 100 ervu-dashboard Y - = recruit_id recruit_id - ervu_dashboard citizen
diff --git a/mappings/info_recruits/citizen_tables/border_crossing/parallel/border_crossing_flow_delta.hpl b/mappings/info_recruits/citizen_tables/border_crossing/parallel/border_crossing_flow_delta.hpl index 5c50844..b3924d1 100644 --- a/mappings/info_recruits/citizen_tables/border_crossing/parallel/border_crossing_flow_delta.hpl +++ b/mappings/info_recruits/citizen_tables/border_crossing/parallel/border_crossing_flow_delta.hpl @@ -367,6 +367,7 @@ and recruitment_id = '${IDM_ID}'; ervu-dashboard N + SELECT recruit_id, (string_agg(elem->>'dataVyezd', ', '))::date as date_crossing, @@ -376,8 +377,8 @@ FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' -- Проверка на пустую строку AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND ri.updated_at >= '${M_R_UP_DATE}'::timestamp, -LATERAL jsonb_array_elements(info->'extend'->'svedPeresechGran') as elem -WHERE jsonb_typeof(info->'extend'->'svedPeresechGran') = 'array' +LATERAL jsonb_array_elements(info->'svedFL'->'extend'->'svedPeresechGran') as elem +WHERE jsonb_typeof(info->'svedFL'->'extend'->'svedPeresechGran') = 'array' AND (elem->>'dataVyezd' IS NOT NULL OR elem->>'dataVozvrashh' IS NOT NULL) GROUP BY recruit_id; Y diff --git a/mappings/info_recruits/citizen_tables/border_crossing/parallel/border_crossing_flow_repeat.hpl b/mappings/info_recruits/citizen_tables/border_crossing/parallel/border_crossing_flow_repeat.hpl index 2c67d23..fc86c6a 100644 --- a/mappings/info_recruits/citizen_tables/border_crossing/parallel/border_crossing_flow_repeat.hpl +++ b/mappings/info_recruits/citizen_tables/border_crossing/parallel/border_crossing_flow_repeat.hpl @@ -272,6 +272,59 @@ DO UPDATE SET 176 + + Group by + GroupBy + + Y + + 1 + + none + + + N + N + ${java.io.tmpdir} + + + border_crossed_raw + is_border_crossed + MAX + + + N + + + recruit_id + + + N + grp + + + 672 + 64 + + + + Identify last row in a stream + DetectLastRow + + Y + + 1 + + none + + + last_row + + + 864 + 64 + + Insert / update InsertUpdate @@ -329,6 +382,7 @@ DO UPDATE SET ervu-dashboard N + SELECT recruit_id, (string_agg(elem->>'dataVyezd', ', '))::date as date_crossing, @@ -338,8 +392,8 @@ FROM ervu_dashboard.recruits_info ri JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' -- Проверка на пустую строку AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' AND '${M_R_CR_DATE}'::timestamp >= ri.created_at, -LATERAL jsonb_array_elements(info->'extend'->'svedPeresechGran') as elem -WHERE jsonb_typeof(info->'extend'->'svedPeresechGran') = 'array' +LATERAL jsonb_array_elements(info->'svedFL'->'extend'->'svedPeresechGran') as elem +WHERE jsonb_typeof(info->'svedFL'->'extend'->'svedPeresechGran') = 'array' AND (elem->>'dataVyezd' IS NOT NULL OR elem->>'dataVozvrashh' IS NOT NULL) GROUP BY recruit_id; Y @@ -349,59 +403,6 @@ GROUP BY recruit_id; 208 - - Group by - GroupBy - - Y - - 1 - - none - - - N - N - ${java.io.tmpdir} - - - border_crossed_raw - is_border_crossed - MAX - - - N - - - recruit_id - - - N - grp - - - 672 - 64 - - - - Identify last row in a stream - DetectLastRow - - Y - - 1 - - none - - - last_row - - - 864 - 64 - - Update Update diff --git a/mappings/info_recruits/citizen_tables/citizenship/check_if_need_to_repeat_job.hpl b/mappings/info_recruits/citizen_tables/citizenship/check_if_need_to_repeat_job.hpl index b63f652..ffb17d1 100644 --- a/mappings/info_recruits/citizen_tables/citizenship/check_if_need_to_repeat_job.hpl +++ b/mappings/info_recruits/citizen_tables/citizenship/check_if_need_to_repeat_job.hpl @@ -69,7 +69,7 @@ FROM ervu_dashboard.recruitment r LEFT JOIN etl.job_execution je ON r.idm_id = je.recruitment_id - and job_name = 'citizenship_job' + and job_name = 'citizenship_foreign_job' where je.status is null or je.status in ('ERROR', 'PROCESSING') limit 1 ) as need_to_repeat_job; diff --git a/mappings/info_recruits/citizen_tables/citizenship/parallel/citizenship_flow_delta.hpl b/mappings/info_recruits/citizen_tables/citizenship/parallel/citizenship_flow_delta.hpl index f9fc6f0..912d027 100644 --- a/mappings/info_recruits/citizen_tables/citizenship/parallel/citizenship_flow_delta.hpl +++ b/mappings/info_recruits/citizen_tables/citizenship/parallel/citizenship_flow_delta.hpl @@ -326,18 +326,21 @@ and recruitment_id = '${IDM_ID}'; = - id - id + recruit_id + recruit_id + = acquiring_number acquiring_number + = renunciation_number renunciation_number + ervu_dashboard citizenship
@@ -407,7 +410,6 @@ and recruitment_id = '${IDM_ID}'; ervu-dashboard N - select ri.recruit_id, ri.info->'svedFL'->'svedGrazhdanRF'->'grazhdanRF'->>'osnPriob' acquiring_basis, -- основание приобретения гражданства РФ + diff --git a/mappings/info_recruits/citizen_tables/citizenship/parallel/citizenship_flow_repeat.hpl b/mappings/info_recruits/citizen_tables/citizenship/parallel/citizenship_flow_repeat.hpl index bb51c92..6c596a1 100644 --- a/mappings/info_recruits/citizen_tables/citizenship/parallel/citizenship_flow_repeat.hpl +++ b/mappings/info_recruits/citizen_tables/citizenship/parallel/citizenship_flow_repeat.hpl @@ -341,18 +341,21 @@ DO UPDATE SET = - id - id + recruit_id + recruit_id + = acquiring_number acquiring_number + = renunciation_number renunciation_number + ervu_dashboard citizenship
@@ -422,7 +425,6 @@ DO UPDATE SET ervu-dashboard N - select ri.recruit_id, ri.info->'svedFL'->'svedGrazhdanRF'->'grazhdanRF'->>'osnPriob' acquiring_basis, -- основание приобретения гражданства РФ + diff --git a/mappings/info_recruits/citizen_tables/citizenship_foreign/check_if_need_to_repeat_job.hpl b/mappings/info_recruits/citizen_tables/citizenship_foreign/check_if_need_to_repeat_job.hpl new file mode 100644 index 0000000..b63f652 --- /dev/null +++ b/mappings/info_recruits/citizen_tables/citizenship_foreign/check_if_need_to_repeat_job.hpl @@ -0,0 +1,86 @@ + + + + check_if_need_to_repeat_job + Y + + + + Normal + + + N + 1000 + 100 + - + 2025/08/08 12:27:51.630 + - + 2025/08/08 12:27:51.630 + + + + + + Table input + Set variables + Y + + + + Set variables + SetVariable + + Y + + 1 + + none + + + + + need_to_repeat_job + NEED_TO_REPEAT_JOB + ROOT_WORKFLOW + + + Y + + + 624 + 288 + + + + Table input + TableInput + + Y + + 1 + + none + + + ervu-dashboard + N + 0 + SELECT EXISTS (SELECT 1 +FROM ervu_dashboard.recruitment r + LEFT JOIN etl.job_execution je + ON r.idm_id = je.recruitment_id + and job_name = 'citizenship_job' +where je.status is null or je.status in ('ERROR', 'PROCESSING') +limit 1 +) as need_to_repeat_job; + N + + + 336 + 288 + + + + + + diff --git a/mappings/info_recruits/citizen_tables/citizenship_foreign/checkpoints/check_if_citizenship_foreign_job_exists.hpl b/mappings/info_recruits/citizen_tables/citizenship_foreign/checkpoints/check_if_citizenship_foreign_job_exists.hpl new file mode 100644 index 0000000..f200a6b --- /dev/null +++ b/mappings/info_recruits/citizen_tables/citizenship_foreign/checkpoints/check_if_citizenship_foreign_job_exists.hpl @@ -0,0 +1,113 @@ + + + + check_if_citizenship_foreign_job_exists + Y + + + + Normal + + + N + 1000 + 100 + - + 2025/08/05 13:28:46.661 + - + 2025/08/05 13:28:46.661 + + + + + + Set variables + Write to log + N + + + Table input + Set variables + Y + + + + Set variables + SetVariable + + Y + + 1 + + none + + + + + job_executed_flag + JOB_EXECUTED_FLAG + PARENT_WORKFLOW + + + Y + + + 672 + 336 + + + + Table input + TableInput + + Y + + 1 + + none + + + ervu-dashboard + N + 0 + SELECT EXISTS ( + SELECT 1 + FROM etl.job_execution + WHERE job_name = 'citizenship_foreign_job' + limit 1 + ) AS job_executed_flag; + N + + + 384 + 336 + + + + Write to log + WriteToLog + + Y + + 1 + + none + + + Y + + + N + 0 + Basic + ${STATUS} + + + 944 + 224 + + + + + + diff --git a/mappings/info_recruits/citizen_tables/citizenship_foreign/citizenship_foreign_job.hwf b/mappings/info_recruits/citizen_tables/citizenship_foreign/citizenship_foreign_job.hwf new file mode 100644 index 0000000..9067187 --- /dev/null +++ b/mappings/info_recruits/citizen_tables/citizenship_foreign/citizenship_foreign_job.hwf @@ -0,0 +1,362 @@ + + + citizenship_foreign_job + Y + + + + 0 + - + 2025/08/05 12:45:28.561 + - + 2025/08/05 12:45:28.561 + + + COMMENT + + + + + LIMIT_FW + ; + + + + M_R_CR_DATE + 3001-01-01 00:00:00 + + + + M_R_UP_DATE + 0001-01-01 00:00:00 + + + + + + Start + + SPECIAL + + 1 + 12 + 60 + 0 + 0 + N + 0 + 1 + N + 224 + 304 + + + + check_if_citizenship_foreign_job_exists.hpl + + PIPELINE + + N + N + N + N + N + N + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/checkpoints/check_if_citizenship_foreign_job_exists.hpl + Basic + + Y + + N + local + N + N + Y + N + 416 + 304 + + + + citizenship_foreign_job_exists_check + + SIMPLE_EVAL + + boolean + false + equal + equal + N + variable + JOB_EXECUTED_FLAG + N + 688 + 304 + + + + recruitments_five_flow.hpl + + PIPELINE + + N + N + N + N + N + N + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/recruitments_five_flow.hpl + Basic + + Y + + N + local + N + N + Y + Y + 928 + 304 + + + + recruitment_five_flow_on_error.hpl + + PIPELINE + + N + N + N + N + N + N + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/recruitment_five_flow_on_error.hpl + + + Basic + + Y + + N + local + N + N + Y + N + 928 + 608 + + + + check_if_need_to_repeat_job.hpl + + PIPELINE + + N + N + N + N + N + N + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship/check_if_need_to_repeat_job.hpl + Basic + + Y + + N + local + N + N + Y + N + 688 + 464 + + + + Simple evaluation + + SIMPLE_EVAL + + boolean + true + equal + equal + N + variable + NEED_TO_REPEAT_JOB + N + 688 + 608 + + + + recruitment_five_flow_delta.hpl + + PIPELINE + + N + N + N + N + N + N + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/recruitment_five_flow_delta.hpl + + + Basic + + Y + + N + local + N + N + Y + N + 688 + 800 + + + + + + Start + check_if_citizenship_foreign_job_exists.hpl + Y + Y + Y + + + check_if_citizenship_foreign_job_exists.hpl + citizenship_foreign_job_exists_check + Y + Y + N + + + citizenship_foreign_job_exists_check + recruitments_five_flow.hpl + Y + Y + N + + + citizenship_foreign_job_exists_check + check_if_need_to_repeat_job.hpl + Y + N + N + + + check_if_need_to_repeat_job.hpl + Simple evaluation + Y + Y + N + + + Simple evaluation + recruitment_five_flow_on_error.hpl + Y + Y + N + + + Simple evaluation + recruitment_five_flow_delta.hpl + Y + N + N + + + + + 251 + 232 + 201 + 90 + 58 + 14 + N + 90 + 58 + 14 + N + -1 + 26 + 800 + 256 + Первичка + 65 + + + 251 + 232 + 201 + 90 + 58 + 14 + N + 90 + 58 + 14 + N + -1 + 26 + 800 + 560 + Повторка + 64 + + + 251 + 232 + 201 + 90 + 58 + 14 + N + 90 + 58 + 14 + N + -1 + 26 + 608 + 720 + Дельта + 49 + + + 251 + 232 + 201 + 90 + 58 + 14 + N + 90 + 58 + 14 + N + Segoe UI + 9 + 150 + 1200 + 80 + citizenship_foreign_job + +M_R_UP_DATE + +M_R_CR_DATE + +0001-01-01 00:00:00 + +3001-01-01 00:00:00 + 132 + + + + diff --git a/mappings/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow.hpl b/mappings/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow.hpl new file mode 100644 index 0000000..9dd792d --- /dev/null +++ b/mappings/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow.hpl @@ -0,0 +1,550 @@ + + + + citizenship_foreign_flow + Y + + + + Normal + + + N + 1000 + 100 + - + 2025/08/05 14:31:22.799 + - + 2025/08/05 14:31:22.799 + + + + + + Create job execution record + Table input + Y + + + Filter rows + Change job status on success + Y + + + Detect empty stream + Change job status on success + Y + + + Change job status on error + Abort + Y + + + Table output + Change job status on error + Y + + + Group by + Identify last row in a stream + Y + + + Identify last row in a stream + User defined Java expression + Y + + + User defined Java expression + Update + Y + + + Table input + Table output + Y + + + Table output + Group by + Y + + + Update + Change job status on error + Y + + + Update + Detect empty stream + Y + + + Update + Filter rows + Y + + + + Abort + Abort + + Y + + 1 + + none + + + ABORT_WITH_ERROR + Y + 0 + + + 1328 + 496 + + + + Change job status on error + ExecSql + + Y + + 1 + + none + + + + + error_description + + + ervu-dashboard + Y + N + Y + Y + N + UPDATE etl.job_execution +SET status = 'ERROR', + error_description = ? +WHERE job_name = '${JOB_NAME}' +and recruitment_id = '${IDM_ID}'; + + + + + 1328 + 320 + + + + Change job status on success + ExecSql + + Y + + 1 + + none + + + + + ervu-dashboard + Y + N + Y + N + N + UPDATE etl.job_execution +SET status = 'SUCCESS' +WHERE job_name = '${JOB_NAME}' +and recruitment_id = '${IDM_ID}'; + + + + + 1856 + 176 + + + + Create job execution record + ExecSql + + Y + + 1 + + none + + + + + ervu-dashboard + N + N + Y + N + N + INSERT INTO etl.job_execution (id, job_name, status, execution_datetime, error_description, recruitment_id) +VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}'); + + + + + 288 + 320 + + + + Detect empty stream + DetectEmptyStream + + Y + + 1 + + none + + + + + 1536 + 176 + + + + Filter rows + FilterRows + + Y + + 1 + + none + + + + + + + = + last_row + N + - + + N + -1 + constant + -1 + Y + Boolean + + + + Change job status on success + + + 1536 + 304 + + + + Group by + GroupBy + + Y + + 1 + + none + + + N + N + ${java.io.tmpdir} + + + has_foreign_residence_raw + is_foreign_residence + MAX + + + has_foreign_citizenship_raw + is_foreign_citizenship + MAX + + + N + + + recruit_id + + + N + grp + + + 688 + 176 + + + + Identify last row in a stream + DetectLastRow + + Y + + 1 + + none + + + last_row + + + 880 + 176 + + + + Table input + TableInput + + Y + + 1 + + none + + + ervu-dashboard + N + WITH base AS ( + SELECT + ri.recruit_id, + ri.info + FROM ervu_dashboard.recruits_info ri + JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' -- Проверка на пустую строку + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' + AND '${M_R_CR_DATE}'::timestamp >= ri.created_at + WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedIG') = 'array' + OR jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedPP') = 'array' +), +citizen AS ( + SELECT + ri.recruit_id, + jsonb_array_elements(ri.info->'svedFL'->'svedIGPP'->'svedIG') AS data, + 'citizenship' AS type + FROM base ri + WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedIG') = 'array' + + UNION ALL + + SELECT + ri.recruit_id, + jsonb_array_elements(ri.info->'svedFL'->'svedIGPP'->'svedPP') AS data, + 'residense' AS type + FROM base ri WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedPP') = 'array' +) +SELECT + recruit_id, + CASE + WHEN type='residense' THEN data->>'osnovPriobrPP' + END::text AS residense_right_basis, + CASE + WHEN type='residense' THEN to_date(NULLIF(data->>'dataPriobrPP',''), 'YYYY-MM-DD') + END::date AS residense_right_date, + data->'oksm'->>'naimOKSM' AS country_name, + CASE + WHEN type='citizenship' THEN data->>'osnovPriobrIG' + END::text AS citizenship_basis, + CASE + WHEN type='citizenship' THEN to_date(NULLIF(data->>'dataPriobrIG',''), 'YYYY-MM-DD') + END::date AS citizenship_date, + type, + CASE + WHEN type = 'residense' THEN 1 + ELSE 0 + END AS is_foreign_residence, + CASE + WHEN type = 'citizenship' THEN 1 + ELSE 0 + END AS is_foreign_citizenship +FROM citizen + Y + + + 496 + 320 + + + + Table output + TableOutput + + Y + + 1 + + none + + + 1000 + ervu-dashboard + + + recruit_id + recruit_id + + + residense_right_basis + residense_right_basis + + + residense_right_date + residense_right_date + + + country_name + country_name + + + citizenship_basis + citizenship_basis + + + citizenship_date + citizenship_date + + + type + type + + + N + N + N + N + Y + N + ervu_dashboard + Y + citizenship_foreign
+ N + Y + N + Y + + + 688 + 320 + +
+ + Update + Update + + N + + 1 + + none + + + 100 + ervu-dashboard + Y + + + + = + recruit_id + recruit_id + + + ervu_dashboard + citizen
+ + has_foreign_residence + has_foreign_residence + + + has_foreign_citizenship + has_foreign_citizenship + +
+ N + Y + + + 1328 + 176 + +
+ + User defined Java expression + Janino + + Y + + 1 + + none + + + + has_foreign_citizenship + has_foreign_citizenship_raw == 1 + Boolean + -1 + -1 + + + + has_foreign_residence + has_foreign_residence_raw == 1 + None + -1 + -1 + + + + + 1104 + 176 + + + + + Table output + Change job status on error + Y + + error_description + + error_code + + + + + + Update + Change job status on error + Y + + + + + + + + + + +
diff --git a/mappings/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_delta.hpl b/mappings/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_delta.hpl new file mode 100644 index 0000000..e97e596 --- /dev/null +++ b/mappings/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_delta.hpl @@ -0,0 +1,558 @@ + + + + citizenship_foreign_flow_delta + Y + + + + Normal + + + N + 1000 + 100 + - + 2025/08/11 13:22:56.048 + - + 2025/08/11 13:22:56.048 + + + + + + Create job execution record + Table input + Y + + + Detect empty stream + Change job status on success + Y + + + Filter rows + Change job status on success + Y + + + Change job status on error + Abort + Y + + + Group by + Identify last row in a stream + Y + + + Identify last row in a stream + User defined Java expression + Y + + + User defined Java expression + Update + Y + + + Table input + Insert / update + Y + + + Insert / update + Group by + Y + + + Update + Detect empty stream + Y + + + Update + Filter rows + Y + + + Update + Change job status on error + Y + + + Insert / update + Change job status on error + Y + + + + Abort + Abort + + Y + + 1 + + none + + + ABORT_WITH_ERROR + Y + 0 + + + 1392 + 528 + + + + Change job status on error + ExecSql + + Y + + 1 + + none + + + + + error_description + + + ervu-dashboard + Y + N + Y + Y + N + UPDATE etl.job_execution +SET status = 'DELTA_ERROR', + error_description = ? +WHERE job_name = '${JOB_NAME}' +and recruitment_id = '${IDM_ID}'; + + + + + 1392 + 352 + + + + Change job status on success + ExecSql + + Y + + 1 + + none + + + + + ervu-dashboard + Y + N + Y + N + N + UPDATE etl.job_execution +SET status = 'DELTA_SUCCESS' +WHERE job_name = '${JOB_NAME}' +and recruitment_id = '${IDM_ID}'; + + + + + 1872 + 208 + + + + Create job execution record + ExecSql + + Y + + 1 + + none + + + + + ervu-dashboard + N + N + Y + N + N + UPDATE etl.job_execution +SET + status = 'DELTA_PROCESSING', + execution_datetime = DEFAULT, + error_description = NULL +where job_name = '${JOB_NAME}' +and recruitment_id = '${IDM_ID}'; + + + 352 + 352 + + + + Detect empty stream + DetectEmptyStream + + Y + + 1 + + none + + + + + 1632 + 208 + + + + Filter rows + FilterRows + + Y + + 1 + + none + + + + + + + = + last_row + N + - + + N + -1 + constant + -1 + Y + Boolean + + + + Change job status on success + + + 1632 + 320 + + + + Group by + GroupBy + + Y + + 1 + + none + + + N + N + ${java.io.tmpdir} + + + has_foreign_residence_raw + is_foreign_residence + MAX + + + has_foreign_citizenship_raw + is_foreign_citizenship + MAX + + + N + + + recruit_id + + + N + grp + + + 752 + 208 + + + + Identify last row in a stream + DetectLastRow + + Y + + 1 + + none + + + last_row + + + 944 + 208 + + + + Insert / update + InsertUpdate + + Y + + 1 + + none + + + 100 + ervu-dashboard + + + = + recruit_id + recruit_id + + + = + type + type + + ervu_dashboard + citizenship_foreign
+ + recruit_id + recruit_id + N + + + residense_right_basis + residense_right_basis + Y + + + residense_right_date + residense_right_date + Y + + + country_name + country_name + Y + + + citizenship_basis + citizenship_basis + Y + + + citizenship_date + citizenship_date + Y + + + type + type + Y + +
+ N + + + 752 + 352 + +
+ + Table input + TableInput + + Y + + 1 + + none + + + ervu-dashboard + N + WITH base AS ( + SELECT + ri.recruit_id, + ri.info + FROM ervu_dashboard.recruits_info ri + JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${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'->'svedIGPP'->'svedIG') = 'array' + OR jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedPP') = 'array' +), +citizen AS ( + SELECT + ri.recruit_id, + jsonb_array_elements(ri.info->'svedFL'->'svedIGPP'->'svedIG') AS data, + 'citizenship' AS type + FROM base ri + WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedIG') = 'array' + + UNION ALL + + SELECT + ri.recruit_id, + jsonb_array_elements(ri.info->'svedFL'->'svedIGPP'->'svedPP') AS data, + 'residense' AS type + FROM base ri WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedPP') = 'array' +) +SELECT + recruit_id, + CASE + WHEN type='residense' THEN data->>'osnovPriobrPP' + END::text AS residense_right_basis, + CASE + WHEN type='residense' THEN to_date(NULLIF(data->>'dataPriobrPP',''), 'YYYY-MM-DD') + END::date AS residense_right_date, + data->'oksm'->>'naimOKSM' AS country_name, + CASE + WHEN type='citizenship' THEN data->>'osnovPriobrIG' + END::text AS citizenship_basis, + CASE + WHEN type='citizenship' THEN to_date(NULLIF(data->>'dataPriobrIG',''), 'YYYY-MM-DD') + END::date AS citizenship_date, + type, + CASE + WHEN type = 'residense' THEN 1 + ELSE 0 + END AS is_foreign_residence, + CASE + WHEN type = 'citizenship' THEN 1 + ELSE 0 + END AS is_foreign_citizenship +FROM citizen + Y + + + 560 + 352 + + + + Update + Update + + N + + 1 + + none + + + 100 + ervu-dashboard + Y + + + = + recruit_id + recruit_id + + ervu_dashboard + citizen
+ + has_foreign_residence + has_foreign_residence + + + has_foreign_citizenship + has_foreign_citizenship + +
+ N + Y + + + 1392 + 208 + +
+ + User defined Java expression + Janino + + Y + + 1 + + none + + + + has_foreign_citizenship + has_foreign_citizenship_raw == 1 + Boolean + -1 + -1 + + + + has_foreign_residence + has_foreign_residence_raw == 1 + None + -1 + -1 + + + + + 1168 + 208 + + + + + Insert / update + Change job status on error + Y + + + + + + + + + + Update + Change job status on error + Y + + + + + + + + + + +
diff --git a/mappings/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_repeat.hpl b/mappings/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_repeat.hpl new file mode 100644 index 0000000..1b370e2 --- /dev/null +++ b/mappings/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_repeat.hpl @@ -0,0 +1,575 @@ + + + + citizenship_foreign_flow_repeat + Y + + + + Normal + + + N + 1000 + 100 + - + 2025/08/08 13:25:52.319 + - + 2025/08/08 13:25:52.319 + + + + + + Create job execution record + Table input + Y + + + Filter rows + Change job status on success + Y + + + Detect empty stream + Change job status on success + Y + + + Change job status on error + Abort + Y + + + Insert / update + Change job status on error + Y + + + Table input + Insert / update + Y + + + Group by + Identify last row in a stream + Y + + + Identify last row in a stream + User defined Java expression + Y + + + User defined Java expression + Update + Y + + + Insert / update + Group by + Y + + + Update + Detect empty stream + Y + + + Update + Filter rows + Y + + + Update + Change job status on error + Y + + + + Abort + Abort + + Y + + 1 + + none + + + ABORT_WITH_ERROR + Y + 0 + + + 1312 + 400 + + + + Change job status on error + ExecSql + + Y + + 1 + + none + + + + + error_description + + + ervu-dashboard + Y + N + Y + Y + N + UPDATE etl.job_execution +SET status = 'ERROR', + error_description = ? +WHERE job_name = '${JOB_NAME}' +and recruitment_id = '${IDM_ID}'; + + + + + 1312 + 208 + + + + Change job status on success + ExecSql + + Y + + 1 + + none + + + + + ervu-dashboard + Y + N + Y + N + N + UPDATE etl.job_execution +SET status = 'SUCCESS' +WHERE job_name = '${JOB_NAME}' +and recruitment_id = '${IDM_ID}'; + + + + + 1776 + 64 + + + + Create job execution record + ExecSql + + Y + + 1 + + none + + + + + ervu-dashboard + N + N + Y + N + N + INSERT INTO etl.job_execution ( + id, + job_name, + status, + execution_datetime, + error_description, + recruitment_id +) +VALUES ( + DEFAULT, + '${JOB_NAME}', + 'PROCESSING', + DEFAULT, + NULL, + '${IDM_ID}' +) +ON CONFLICT (job_name, recruitment_id) +DO UPDATE SET + status = 'PROCESSING', + execution_datetime = DEFAULT, + error_description = NULL + + + + 272 + 208 + + + + Detect empty stream + DetectEmptyStream + + Y + + 1 + + none + + + + + 1568 + 64 + + + + Filter rows + FilterRows + + Y + + 1 + + none + + + + + + + = + last_row + N + - + + N + -1 + constant + -1 + Y + Boolean + + + + Change job status on success + + + 1568 + 176 + + + + Group by + GroupBy + + Y + + 1 + + none + + + N + N + ${java.io.tmpdir} + + + has_foreign_residence_raw + is_foreign_residence + MAX + + + has_foreign_citizenship_raw + is_foreign_citizenship + MAX + + + N + + + recruit_id + + + N + grp + + + 672 + 64 + + + + Identify last row in a stream + DetectLastRow + + Y + + 1 + + none + + + last_row + + + 864 + 64 + + + + Insert / update + InsertUpdate + + Y + + 1 + + none + + + 100 + ervu-dashboard + + + = + recruit_id + recruit_id + + + = + type + type + + ervu_dashboard + citizenship_foreign
+ + recruit_id + recruit_id + N + + + residense_right_basis + residense_right_basis + Y + + + residense_right_date + residense_right_date + Y + + + country_name + country_name + Y + + + citizenship_basis + citizenship_basis + Y + + + citizenship_date + citizenship_date + Y + + + type + type + Y + +
+ N + + + 672 + 208 + +
+ + Table input + TableInput + + Y + + 1 + + none + + + ervu-dashboard + N + WITH base AS ( + SELECT + ri.recruit_id, + ri.info + FROM ervu_dashboard.recruits_info ri + JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id AND '${IDM_ID}' != '' -- Проверка на пустую строку + AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}' + AND '${M_R_CR_DATE}'::timestamp >= ri.created_at + WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedIG') = 'array' + OR jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedPP') = 'array' +), +citizen AS ( + SELECT + ri.recruit_id, + jsonb_array_elements(ri.info->'svedFL'->'svedIGPP'->'svedIG') AS data, + 'citizenship' AS type + FROM base ri + WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedIG') = 'array' + + UNION ALL + + SELECT + ri.recruit_id, + jsonb_array_elements(ri.info->'svedFL'->'svedIGPP'->'svedPP') AS data, + 'residense' AS type + FROM base ri WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedPP') = 'array' +) +SELECT + recruit_id, + CASE + WHEN type='residense' THEN data->>'osnovPriobrPP' + END::text AS residense_right_basis, + CASE + WHEN type='residense' THEN to_date(NULLIF(data->>'dataPriobrPP',''), 'YYYY-MM-DD') + END::date AS residense_right_date, + data->'oksm'->>'naimOKSM' AS country_name, + CASE + WHEN type='citizenship' THEN data->>'osnovPriobrIG' + END::text AS citizenship_basis, + CASE + WHEN type='citizenship' THEN to_date(NULLIF(data->>'dataPriobrIG',''), 'YYYY-MM-DD') + END::date AS citizenship_date, + type, + CASE + WHEN type = 'residense' THEN 1 + ELSE 0 + END AS is_foreign_residence, + CASE + WHEN type = 'citizenship' THEN 1 + ELSE 0 + END AS is_foreign_citizenship +FROM citizen + Y + + + 480 + 208 + + + + Update + Update + + N + + 1 + + none + + + 100 + ervu-dashboard + Y + + + + = + recruit_id + recruit_id + + + ervu_dashboard + citizen
+ + has_foreign_residence + has_foreign_residence + + + has_foreign_citizenship + has_foreign_citizenship + +
+ N + Y + + + 1312 + 64 + +
+ + User defined Java expression + Janino + + Y + + 1 + + none + + + + has_foreign_citizenship + has_foreign_citizenship_raw == 1 + Boolean + -1 + -1 + + + + has_foreign_residence + has_foreign_residence_raw == 1 + None + -1 + -1 + + + + + 1088 + 64 + + + + + Insert / update + Change job status on error + Y + + + + + + + + + + Update + Change job status on error + Y + + + + + + + + + + +
diff --git a/mappings/info_recruits/citizen_tables/citizenship_foreign/recruitment_five_flow_delta.hpl b/mappings/info_recruits/citizen_tables/citizenship_foreign/recruitment_five_flow_delta.hpl new file mode 100644 index 0000000..864793c --- /dev/null +++ b/mappings/info_recruits/citizen_tables/citizenship_foreign/recruitment_five_flow_delta.hpl @@ -0,0 +1,360 @@ + + + + recruitment_five_flow_delta + Y + + + + Normal + + + N + 1000 + 100 + - + 2025/08/11 13:16:11.204 + - + 2025/08/11 13:16:11.204 + + + + + + Table input + citizenship_foreign_flow_delta.hpl + Y + + + Table input + citizenship_foreign_flow_delta.hpl 2 + Y + + + Table input + citizenship_foreign_flow_delta.hpl 3 + Y + + + Table input + citizenship_foreign_flow_delta.hpl 4 + Y + + + Table input + citizenship_foreign_flow_delta.hpl 5 + Y + + + + Table input + TableInput + + Y + + 1 + + none + + + ervu-dashboard + N + 0 + SELECT + r.idm_id as recruitment_id +FROM ervu_dashboard.recruitment r + LEFT JOIN etl.job_execution je + ON r.idm_id = je.recruitment_id + and job_name = 'citizenship_foreign_job' +where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING'); + N + + + 352 + 288 + + + + citizenship_foreign_flow_delta.hpl + PipelineExecutor + + Y + + 1 + + none + + + local + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_delta.hpl + N + + 1 + + + + + IDM_ID + recruitment_id + + + + JOB_NAME + + citizenship_foreign_job + + Y + + + ExecutionTime + ExecutionResult + ExecutionNrErrors + ExecutionLinesRead + ExecutionLinesWritten + ExecutionLinesInput + ExecutionLinesOutput + ExecutionLinesRejected + ExecutionLinesUpdated + ExecutionLinesDeleted + ExecutionFilesRetrieved + ExecutionExitStatus + ExecutionLogText + ExecutionLogChannelId + + + FileName + + + + 640 + 128 + + + + citizenship_foreign_flow_delta.hpl 2 + PipelineExecutor + + Y + + 1 + + none + + + local + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_delta.hpl + N + + 1 + + + + + IDM_ID + recruitment_id + + + + JOB_NAME + + citizenship_foreign_job + + Y + + + ExecutionTime + ExecutionResult + ExecutionNrErrors + ExecutionLinesRead + ExecutionLinesWritten + ExecutionLinesInput + ExecutionLinesOutput + ExecutionLinesRejected + ExecutionLinesUpdated + ExecutionLinesDeleted + ExecutionFilesRetrieved + ExecutionExitStatus + ExecutionLogText + ExecutionLogChannelId + + + FileName + + + + 656 + 208 + + + + citizenship_foreign_flow_delta.hpl 3 + PipelineExecutor + + Y + + 1 + + none + + + local + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_delta.hpl + N + + 1 + + + + + IDM_ID + recruitment_id + + + + JOB_NAME + + citizenship_foreign_job + + Y + + + ExecutionTime + ExecutionResult + ExecutionNrErrors + ExecutionLinesRead + ExecutionLinesWritten + ExecutionLinesInput + ExecutionLinesOutput + ExecutionLinesRejected + ExecutionLinesUpdated + ExecutionLinesDeleted + ExecutionFilesRetrieved + ExecutionExitStatus + ExecutionLogText + ExecutionLogChannelId + + + FileName + + + + 656 + 288 + + + + citizenship_foreign_flow_delta.hpl 4 + PipelineExecutor + + Y + + 1 + + none + + + local + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_delta.hpl + N + + 1 + + + + + IDM_ID + recruitment_id + + + + JOB_NAME + + citizenship_foreign_job + + Y + + + ExecutionTime + ExecutionResult + ExecutionNrErrors + ExecutionLinesRead + ExecutionLinesWritten + ExecutionLinesInput + ExecutionLinesOutput + ExecutionLinesRejected + ExecutionLinesUpdated + ExecutionLinesDeleted + ExecutionFilesRetrieved + ExecutionExitStatus + ExecutionLogText + ExecutionLogChannelId + + + FileName + + + + 656 + 368 + + + + citizenship_foreign_flow_delta.hpl 5 + PipelineExecutor + + Y + + 1 + + none + + + local + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_delta.hpl + N + + 1 + + + + + IDM_ID + recruitment_id + + + + JOB_NAME + + citizenship_foreign_job + + Y + + + ExecutionTime + ExecutionResult + ExecutionNrErrors + ExecutionLinesRead + ExecutionLinesWritten + ExecutionLinesInput + ExecutionLinesOutput + ExecutionLinesRejected + ExecutionLinesUpdated + ExecutionLinesDeleted + ExecutionFilesRetrieved + ExecutionExitStatus + ExecutionLogText + ExecutionLogChannelId + + + FileName + + + + 656 + 448 + + + + + + diff --git a/mappings/info_recruits/citizen_tables/citizenship_foreign/recruitment_five_flow_on_error.hpl b/mappings/info_recruits/citizen_tables/citizenship_foreign/recruitment_five_flow_on_error.hpl new file mode 100644 index 0000000..0e91909 --- /dev/null +++ b/mappings/info_recruits/citizen_tables/citizenship_foreign/recruitment_five_flow_on_error.hpl @@ -0,0 +1,360 @@ + + + + recruitment_five_flow_on_error + Y + + + + Normal + + + N + 1000 + 100 + - + 2025/08/05 12:54:50.126 + - + 2025/08/05 12:54:50.126 + + + + + + Table input + citizenship_foreign_flow_repeat.hpl + Y + + + Table input + citizenship_foreign_flow_repeat.hpl 2 + Y + + + Table input + citizenship_foreign_flow_repeat.hpl 3 + Y + + + Table input + citizenship_foreign_flow_repeat.hpl 4 + Y + + + Table input + citizenship_foreign_flow_repeat.hpl 5 + Y + + + + Table input + TableInput + + Y + + 1 + + none + + + ervu-dashboard + N + 0 + SELECT + r.idm_id as recruitment_id +FROM ervu_dashboard.recruitment r + LEFT JOIN etl.job_execution je + ON r.idm_id = je.recruitment_id + and job_name = 'citizenship_foreign_job' +where je.status is null or je.status in('ERROR', 'PROCESSING'); + N + + + 272 + 368 + + + + citizenship_foreign_flow_repeat.hpl + PipelineExecutor + + Y + + 1 + + none + + + local + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_repeat.hpl + N + + 1 + + + + + IDM_ID + recruitment_id + + + + JOB_NAME + + citizenship_foreign_job + + Y + + + ExecutionTime + ExecutionResult + ExecutionNrErrors + ExecutionLinesRead + ExecutionLinesWritten + ExecutionLinesInput + ExecutionLinesOutput + ExecutionLinesRejected + ExecutionLinesUpdated + ExecutionLinesDeleted + ExecutionFilesRetrieved + ExecutionExitStatus + ExecutionLogText + ExecutionLogChannelId + + + FileName + + + + 544 + 208 + + + + citizenship_foreign_flow_repeat.hpl 2 + PipelineExecutor + + Y + + 1 + + none + + + local + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_repeat.hpl + N + + 1 + + + + + IDM_ID + recruitment_id + + + + JOB_NAME + + citizenship_foreign_job + + Y + + + ExecutionTime + ExecutionResult + ExecutionNrErrors + ExecutionLinesRead + ExecutionLinesWritten + ExecutionLinesInput + ExecutionLinesOutput + ExecutionLinesRejected + ExecutionLinesUpdated + ExecutionLinesDeleted + ExecutionFilesRetrieved + ExecutionExitStatus + ExecutionLogText + ExecutionLogChannelId + + + FileName + + + + 544 + 304 + + + + citizenship_foreign_flow_repeat.hpl 3 + PipelineExecutor + + Y + + 1 + + none + + + local + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_repeat.hpl + N + + 1 + + + + + IDM_ID + recruitment_id + + + + JOB_NAME + + citizenship_foreign_job + + Y + + + ExecutionTime + ExecutionResult + ExecutionNrErrors + ExecutionLinesRead + ExecutionLinesWritten + ExecutionLinesInput + ExecutionLinesOutput + ExecutionLinesRejected + ExecutionLinesUpdated + ExecutionLinesDeleted + ExecutionFilesRetrieved + ExecutionExitStatus + ExecutionLogText + ExecutionLogChannelId + + + FileName + + + + 560 + 384 + + + + citizenship_foreign_flow_repeat.hpl 4 + PipelineExecutor + + Y + + 1 + + none + + + local + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_repeat.hpl + N + + 1 + + + + + IDM_ID + recruitment_id + + + + JOB_NAME + + citizenship_foreign_job + + Y + + + ExecutionTime + ExecutionResult + ExecutionNrErrors + ExecutionLinesRead + ExecutionLinesWritten + ExecutionLinesInput + ExecutionLinesOutput + ExecutionLinesRejected + ExecutionLinesUpdated + ExecutionLinesDeleted + ExecutionFilesRetrieved + ExecutionExitStatus + ExecutionLogText + ExecutionLogChannelId + + + FileName + + + + 560 + 480 + + + + citizenship_foreign_flow_repeat.hpl 5 + PipelineExecutor + + Y + + 1 + + none + + + local + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow_repeat.hpl + N + + 1 + + + + + IDM_ID + recruitment_id + + + + JOB_NAME + + citizenship_foreign_job + + Y + + + ExecutionTime + ExecutionResult + ExecutionNrErrors + ExecutionLinesRead + ExecutionLinesWritten + ExecutionLinesInput + ExecutionLinesOutput + ExecutionLinesRejected + ExecutionLinesUpdated + ExecutionLinesDeleted + ExecutionFilesRetrieved + ExecutionExitStatus + ExecutionLogText + ExecutionLogChannelId + + + FileName + + + + 560 + 560 + + + + + + diff --git a/mappings/info_recruits/citizen_tables/citizenship_foreign/recruitments_five_flow.hpl b/mappings/info_recruits/citizen_tables/citizenship_foreign/recruitments_five_flow.hpl new file mode 100644 index 0000000..888fdb4 --- /dev/null +++ b/mappings/info_recruits/citizen_tables/citizenship_foreign/recruitments_five_flow.hpl @@ -0,0 +1,373 @@ + + + + recruitments_five_flow + Y + + + + Normal + + + N + 1000 + 100 + - + 2025/04/18 09:48:01.970 + - + 2025/04/18 09:48:01.970 + + + + + + Get all recruitments ordered by created_date + citizenship_foreign_flow.hpl + Y + + + Get all recruitments ordered by created_date + citizenship_foreign_flow.hpl 2 + Y + + + Get all recruitments ordered by created_date + citizenship_foreign_flow.hpl 3 + Y + + + Get all recruitments ordered by created_date + citizenship_foreign_flow.hpl 4 + Y + + + Get all recruitments ordered by created_date + citizenship_foreign_flow.hpl 5 + Y + + + + Get all recruitments ordered by created_date + TableInput + + Y + + 1 + + none + + + ervu-dashboard + N + 0 + SELECT +idm_id AS recruitment +FROM ervu_dashboard.recruitment +${COMMENT}/* +where idm_id in ('110686b2-4a01-4976-885b-d26a2980f53a', +'cff66da8-2be0-4839-bd8e-332b1a150031', +'34c8685e-f08a-4877-afb1-a0589800a21c', +'0e10678c-f272-41c3-94dd-c15830321f9a', +'9703f108-761a-467a-aad3-89617e5539ed', +'55eae374-9bb5-4295-9e3a-5fbcdaba870d', +'dad6c101-34be-45c3-8173-57190cb69dfb', +'fc10523f-af31-4f6b-b0e2-00799758f634', +'61807cc2-9913-4060-8802-0672877c28c8', +'eba7fd7d-e3da-49a7-8e65-8fc85e47190e', +'f59afe6d-c166-4196-a489-6d17f02fc05e', +'22c64b79-f8e4-41e7-a2f3-1aa9df424fd9', +'0fe2bdf0-afbb-402d-93da-67e511799afa', +'6139de3b-2378-496f-9fca-7df7dab90832', +'50ba73dd-1726-48f1-8b7c-7a77ff965299') +${COMMENT}*/ + Y + + + 432 + 304 + + + + citizenship_foreign_flow.hpl + PipelineExecutor + + Y + + 1 + + none + + + local + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow.hpl + N + + 1 + + + + + IDM_ID + recruitment + + + + JOB_NAME + + citizenship_foreign_job + + Y + + + ExecutionTime + ExecutionResult + ExecutionNrErrors + ExecutionLinesRead + ExecutionLinesWritten + ExecutionLinesInput + ExecutionLinesOutput + ExecutionLinesRejected + ExecutionLinesUpdated + ExecutionLinesDeleted + ExecutionFilesRetrieved + ExecutionExitStatus + ExecutionLogText + ExecutionLogChannelId + + + FileName + + + + 736 + 144 + + + + citizenship_foreign_flow.hpl 2 + PipelineExecutor + + Y + + 1 + + none + + + local + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow.hpl + N + + 1 + + + + + IDM_ID + recruitment + + + + JOB_NAME + + citizenship_foreign_job + + Y + + + ExecutionTime + ExecutionResult + ExecutionNrErrors + ExecutionLinesRead + ExecutionLinesWritten + ExecutionLinesInput + ExecutionLinesOutput + ExecutionLinesRejected + ExecutionLinesUpdated + ExecutionLinesDeleted + ExecutionFilesRetrieved + ExecutionExitStatus + ExecutionLogText + ExecutionLogChannelId + + + FileName + + + + 752 + 240 + + + + citizenship_foreign_flow.hpl 3 + PipelineExecutor + + Y + + 1 + + none + + + local + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow.hpl + N + + 1 + + + + + IDM_ID + recruitment + + + + JOB_NAME + + citizenship_foreign_job + + Y + + + ExecutionTime + ExecutionResult + ExecutionNrErrors + ExecutionLinesRead + ExecutionLinesWritten + ExecutionLinesInput + ExecutionLinesOutput + ExecutionLinesRejected + ExecutionLinesUpdated + ExecutionLinesDeleted + ExecutionFilesRetrieved + ExecutionExitStatus + ExecutionLogText + ExecutionLogChannelId + + + FileName + + + + 752 + 320 + + + + citizenship_foreign_flow.hpl 4 + PipelineExecutor + + Y + + 1 + + none + + + local + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow.hpl + N + + 1 + + + + + IDM_ID + recruitment + + + + JOB_NAME + + citizenship_foreign_job + + Y + + + ExecutionTime + ExecutionResult + ExecutionNrErrors + ExecutionLinesRead + ExecutionLinesWritten + ExecutionLinesInput + ExecutionLinesOutput + ExecutionLinesRejected + ExecutionLinesUpdated + ExecutionLinesDeleted + ExecutionFilesRetrieved + ExecutionExitStatus + ExecutionLogText + ExecutionLogChannelId + + + FileName + + + + 768 + 400 + + + + citizenship_foreign_flow.hpl 5 + PipelineExecutor + + Y + + 1 + + none + + + local + ${PROJECT_HOME}/info_recruits/citizen_tables/citizenship_foreign/parallel/citizenship_foreign_flow.hpl + N + + 1 + + + + + IDM_ID + recruitment + + + + JOB_NAME + + citizenship_foreign_job + + Y + + + ExecutionTime + ExecutionResult + ExecutionNrErrors + ExecutionLinesRead + ExecutionLinesWritten + ExecutionLinesInput + ExecutionLinesOutput + ExecutionLinesRejected + ExecutionLinesUpdated + ExecutionLinesDeleted + ExecutionFilesRetrieved + ExecutionExitStatus + ExecutionLogText + ExecutionLogChannelId + + + FileName + + + + 752 + 480 + + + + + + diff --git a/mappings_old/jobs_once/citizen_foreign_once.hpl b/mappings_old/jobs_once/citizen_foreign_once.hpl index 4007ee2..c59c820 100644 --- a/mappings_old/jobs_once/citizen_foreign_once.hpl +++ b/mappings_old/jobs_once/citizen_foreign_once.hpl @@ -118,14 +118,11 @@ join citizen on r.id = citizen.recruit_id;
N N N - Y - N ervu_dashboard N citizenship_foreign
- N Y N @@ -155,14 +152,11 @@ join citizen on r.id = citizen.recruit_id;
N N N - Y - N ervu_dashboard N citizenship_foreign
- N Y N diff --git a/mappings_old/jobs_once/job_info_recruits_once.hwf b/mappings_old/jobs_once/job_info_recruits_once.hwf index 5a0a51d..c2dfa6a 100644 --- a/mappings_old/jobs_once/job_info_recruits_once.hwf +++ b/mappings_old/jobs_once/job_info_recruits_once.hwf @@ -1493,14 +1493,11 @@ N N ${PROJECT_HOME}/jobs_once/supportive_jobs/recruitment_rows.hpl - - Basic RCRT_C RECRUITMENT_CITIZEN - Y