some fixes

This commit is contained in:
Fusionshh 2025-10-19 11:55:05 +03:00
parent 4c83e7e828
commit d4a5149563
7 changed files with 94 additions and 429 deletions

View file

@ -9,16 +9,6 @@
<pipeline_type>Normal</pipeline_type>
<pipeline_status>0</pipeline_status>
<parameters>
<parameter>
<name>IDM_ID</name>
<default_value>2966d239-5241-4acb-9b4f-707ba75f44d5</default_value>
<description/>
</parameter>
<parameter>
<name>JOB_NAME</name>
<default_value>employer_job</default_value>
<description/>
</parameter>
</parameters>
<capture_transform_performance>N</capture_transform_performance>
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>

View file

@ -239,6 +239,35 @@ and recruitment_id = '${IDM_ID}';
<yloc>144</yloc>
</GUI>
</transform>
<transform>
<name>Create job execution record</name>
<type>ExecSql</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>INSERT INTO etl.job_execution (id, job_name, status, execution_datetime, error_description, recruitment_id)
VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
</sql>
<attributes/>
<GUI>
<xloc>272</xloc>
<yloc>320</yloc>
</GUI>
</transform>
<transform>
<name>Detect empty stream</name>
<type>DetectEmptyStream</type>
@ -427,6 +456,7 @@ and recruitment_id = '${IDM_ID}';
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit/>
<sql>WITH filteredData AS (SELECT ri.recruit_id,
ri.info -> 'svedFL' -> 'svedTrud' -> 'trudDeyat' as trud_arr
FROM ervu_dashboard.recruits_info ri
@ -445,12 +475,13 @@ SELECT fd.recruit_id,
to_date(uhod_elem ->> 'dataKonUhodReb', 'YYYY-MM-DD') AS parental_leave_end_date
FROM filteredData fd
CROSS JOIN LATERAL jsonb_array_elements(trud_arr) AS trud_elem
LEFT JOIN LATERAL jsonb_array_elements(CASE
WHEN jsonb_typeof(trud_elem -> 'svedUhodReb') = 'array'
THEN trud_elem -> 'svedUhodReb'
ELSE '[]'::jsonb
END) AS uhod_elem
ON true;</sql>
LEFT JOIN LATERAL jsonb_array_elements(
CASE
WHEN jsonb_typeof(trud_elem -> 'svedUhodReb') = 'array'
THEN trud_elem -> 'svedUhodReb'
ELSE '[]'::jsonb
END) AS uhod_elem
ON true;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
@ -489,14 +520,11 @@ FROM filteredData fd
<only_when_have_rows>N</only_when_have_rows>
<partitioning_daily>N</partitioning_daily>
<partitioning_enabled>N</partitioning_enabled>
<partitioning_field/>
<partitioning_monthly>Y</partitioning_monthly>
<return_field/>
<return_keys>N</return_keys>
<schema>ervu_dashboard</schema>
<specify_fields>Y</specify_fields>
<table>employee_parental_leave</table>
<tablename_field/>
<tablename_in_field>N</tablename_in_field>
<tablename_in_table>Y</tablename_in_table>
<truncate>N</truncate>
@ -573,35 +601,6 @@ FROM filteredData fd
<yloc>320</yloc>
</GUI>
</transform>
<transform>
<name>Create job execution record</name>
<type>ExecSql</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>INSERT INTO etl.job_execution (id, job_name, status, execution_datetime, error_description, recruitment_id)
VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
</sql>
<attributes/>
<GUI>
<xloc>272</xloc>
<yloc>320</yloc>
</GUI>
</transform>
<transform_error_handling>
<error>
<source_transform>employee_parental_leave_output</source_transform>

View file

@ -445,8 +445,13 @@ SELECT fd.recruit_id,
to_date(uhod_elem ->> 'dataKonUhodReb', 'YYYY-MM-DD') AS parental_leave_end_date
FROM filteredData fd
CROSS JOIN LATERAL jsonb_array_elements(trud_arr) AS trud_elem
LEFT JOIN LATERAL jsonb_array_elements(COALESCE(trud_elem -> 'svedUhodReb', '[]'::jsonb)) AS uhod_elem
ON true
LEFT JOIN LATERAL jsonb_array_elements(
CASE
WHEN jsonb_typeof(trud_elem -> 'svedUhodReb') = 'array'
THEN trud_elem -> 'svedUhodReb'
ELSE '[]'::jsonb
END) AS uhod_elem
ON true
where to_date(trud_elem ->> 'dataSved', 'YYYY-MM-DD') > '${MAX_SOURCE_UPDATE_DATE}';
</sql>
<variables_active>Y</variables_active>

View file

@ -449,6 +449,7 @@ and recruitment_id = '${IDM_ID}';</sql>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit/>
<sql>WITH filteredData AS (SELECT ri.recruit_id,
ri.info -> 'svedFL' -> 'svedTrud' -> 'trudDeyat' as trud_arr
FROM ervu_dashboard.recruits_info ri
@ -467,9 +468,13 @@ SELECT fd.recruit_id,
to_date(uhod_elem ->> 'dataKonUhodReb', 'YYYY-MM-DD') AS parental_leave_end_date
FROM filteredData fd
CROSS JOIN LATERAL jsonb_array_elements(trud_arr) AS trud_elem
LEFT JOIN LATERAL jsonb_array_elements(COALESCE(trud_elem -> 'svedUhodReb', '[]'::jsonb)) AS uhod_elem
ON true;
</sql>
LEFT JOIN LATERAL jsonb_array_elements(
CASE
WHEN jsonb_typeof(trud_elem -> 'svedUhodReb') = 'array'
THEN trud_elem -> 'svedUhodReb'
ELSE '[]'::jsonb
END) AS uhod_elem
ON true;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>

View file

@ -226,6 +226,26 @@
<yloc>880</yloc>
<attributes_hac/>
</action>
<action>
<name>Success_recruits_info_from_json</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>2720</xloc>
<yloc>768</yloc>
<attributes_hac/>
</action>
<action>
<name>Success_subpoena_decisions</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>2720</xloc>
<yloc>880</yloc>
<attributes_hac/>
</action>
</actions>
<hops>
<hop>
@ -284,6 +304,20 @@
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>job_info_recruits_from_json.hwf</from>
<to>Success_recruits_info_from_json</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>job_parallel_subpoena_decision_archive_person.hwf</from>
<to>Success_subpoena_decisions</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
</hops>
<notepads>
</notepads>

View file

@ -41,7 +41,7 @@
<attributes_hac/>
</action>
<action>
<name>education_deputy_jobs_flow.hwf</name>
<name>education_deputy_flows.hwf</name>
<description/>
<type>WORKFLOW</type>
<attributes/>
@ -49,19 +49,15 @@
<add_time>N</add_time>
<create_parent_folder>N</create_parent_folder>
<exec_per_row>N</exec_per_row>
<filename>${PROJECT_HOME}/info_recruits/supportive_jobs/education_deputy_jobs_flow.hwf</filename>
<logext/>
<logfile/>
<filename>${PROJECT_HOME}/info_recruits/supportive_jobs/education_deputy_flows.hwf</filename>
<loglevel>Nothing</loglevel>
<parameters>
<parameter>
<name>M_R_CR_DATE</name>
<stream_name/>
<value>${M_R_CR_DATE}</value>
</parameter>
<parameter>
<name>M_R_UP_DATE</name>
<stream_name/>
<value>${M_R_UP_DATE}</value>
</parameter>
<pass_all_parameters>Y</pass_all_parameters>
@ -170,18 +166,14 @@
<create_parent_folder>N</create_parent_folder>
<exec_per_row>N</exec_per_row>
<filename>${PROJECT_HOME}/info_recruits/supportive_jobs/job4_info_from_json.hwf</filename>
<logext/>
<logfile/>
<loglevel>Nothing</loglevel>
<parameters>
<parameter>
<name>M_R_UP_DATE</name>
<stream_name/>
<value>${M_R_UP_DATE}</value>
</parameter>
<parameter>
<name>M_R_CR_DATE</name>
<stream_name/>
<value>${M_R_CR_DATE}</value>
</parameter>
<pass_all_parameters>Y</pass_all_parameters>
@ -207,7 +199,7 @@
<attributes_hac/>
</action>
<action>
<name>health_sport_jobs_flow.hwf</name>
<name>health_sport_flows.hwf</name>
<description/>
<type>WORKFLOW</type>
<attributes/>
@ -215,19 +207,15 @@
<add_time>N</add_time>
<create_parent_folder>N</create_parent_folder>
<exec_per_row>N</exec_per_row>
<filename>${PROJECT_HOME}/info_recruits/supportive_jobs/health_sport_jobs_flow.hwf</filename>
<logext/>
<logfile/>
<filename>${PROJECT_HOME}/info_recruits/supportive_jobs/health_sport_flows.hwf</filename>
<loglevel>Nothing</loglevel>
<parameters>
<parameter>
<name>M_R_CR_DATE</name>
<stream_name/>
<value>${M_R_CR_DATE}</value>
</parameter>
<parameter>
<name>M_R_UP_DATE</name>
<stream_name/>
<value>${M_R_UP_DATE}</value>
</parameter>
<pass_all_parameters>Y</pass_all_parameters>
@ -262,18 +250,14 @@
<create_parent_folder>N</create_parent_folder>
<exec_per_row>N</exec_per_row>
<filename>${PROJECT_HOME}/info_recruits/supportive_jobs/work_info_jobs_flow.hwf</filename>
<logext/>
<logfile/>
<loglevel>Nothing</loglevel>
<parameters>
<parameter>
<name>M_R_CR_DATE</name>
<stream_name/>
<value>${M_R_CR_DATE}</value>
</parameter>
<parameter>
<name>M_R_UP_DATE</name>
<stream_name/>
<value>${M_R_UP_DATE}</value>
</parameter>
<pass_all_parameters>Y</pass_all_parameters>
@ -302,7 +286,7 @@
<hops>
<hop>
<from>Start</from>
<to>education_deputy_jobs_flow.hwf</to>
<to>education_deputy_flows.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
@ -336,7 +320,7 @@
<unconditional>N</unconditional>
</hop>
<hop>
<from>education_deputy_jobs_flow.hwf</from>
<from>education_deputy_flows.hwf</from>
<to>Success education_deputy_jobs_flow</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
@ -357,7 +341,7 @@
<unconditional>N</unconditional>
</hop>
<hop>
<from>health_sport_jobs_flow.hwf</from>
<from>health_sport_flows.hwf</from>
<to>Success health_sport_jobs_flow</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
@ -372,7 +356,7 @@
</hop>
<hop>
<from>Start</from>
<to>health_sport_jobs_flow.hwf</to>
<to>health_sport_flows.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>

View file

@ -1,352 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<workflow>
<name>education_deputy_jobs_flow</name>
<name_sync_with_filename>Y</name_sync_with_filename>
<description/>
<extended_description/>
<workflow_version/>
<created_user>-</created_user>
<created_date>2025/09/22 10:38:02.546</created_date>
<modified_user>-</modified_user>
<modified_date>2025/09/22 10:38:02.546</modified_date>
<parameters>
</parameters>
<actions>
<action>
<name>Start</name>
<description/>
<type>SPECIAL</type>
<attributes/>
<DayOfMonth>1</DayOfMonth>
<hour>12</hour>
<intervalMinutes>60</intervalMinutes>
<intervalSeconds>0</intervalSeconds>
<minutes>0</minutes>
<repeat>N</repeat>
<schedulerType>0</schedulerType>
<weekDay>1</weekDay>
<parallel>N</parallel>
<xloc>304</xloc>
<yloc>1120</yloc>
<attributes_hac/>
</action>
<action>
<name>job_child.hwf</name>
<description/>
<type>WORKFLOW</type>
<attributes/>
<add_date>N</add_date>
<add_time>N</add_time>
<create_parent_folder>N</create_parent_folder>
<exec_per_row>N</exec_per_row>
<filename>${PROJECT_HOME}/info_recruits/citizen_tables/child/job_child.hwf</filename>
<loglevel>Nothing</loglevel>
<parameters>
<parameter>
<name>M_R_CR_DATE</name>
<value>${M_R_CR_DATE}</value>
</parameter>
<parameter>
<name>M_R_UP_DATE</name>
<value>${M_R_UP_DATE}</value>
</parameter>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<params_from_previous>N</params_from_previous>
<run_configuration>local</run_configuration>
<set_append_logfile>N</set_append_logfile>
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>864</xloc>
<yloc>1040</yloc>
<attributes_hac/>
</action>
<action>
<name>job_guardianship.hwf</name>
<description/>
<type>WORKFLOW</type>
<attributes/>
<add_date>N</add_date>
<add_time>N</add_time>
<create_parent_folder>N</create_parent_folder>
<exec_per_row>N</exec_per_row>
<filename>${PROJECT_HOME}/info_recruits/citizen_tables/citizen_guardianship/job_guardianship.hwf</filename>
<loglevel>Nothing</loglevel>
<parameters>
<parameter>
<name>M_R_CR_DATE</name>
<value>${M_R_CR_DATE}</value>
</parameter>
<parameter>
<name>M_R_UP_DATE</name>
<value>${M_R_UP_DATE}</value>
</parameter>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<params_from_previous>N</params_from_previous>
<run_configuration>local</run_configuration>
<set_append_logfile>N</set_append_logfile>
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>864</xloc>
<yloc>1120</yloc>
<attributes_hac/>
</action>
<action>
<name>Success job_citizen_information_search.hwf</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1136</xloc>
<yloc>1184</yloc>
<attributes_hac/>
</action>
<action>
<name>border_crossing_job.hwf</name>
<description/>
<type>WORKFLOW</type>
<attributes/>
<add_date>N</add_date>
<add_time>N</add_time>
<create_parent_folder>N</create_parent_folder>
<exec_per_row>N</exec_per_row>
<filename>${PROJECT_HOME}/info_recruits/citizen_tables/border_crossing/border_crossing_job.hwf</filename>
<loglevel>Nothing</loglevel>
<parameters>
<parameter>
<name>M_R_CR_DATE</name>
<value>${M_R_CR_DATE}</value>
</parameter>
<parameter>
<name>M_R_UP_DATE</name>
<value>${M_R_UP_DATE}</value>
</parameter>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<params_from_previous>N</params_from_previous>
<run_configuration>local</run_configuration>
<set_append_logfile>N</set_append_logfile>
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>864</xloc>
<yloc>976</yloc>
<attributes_hac/>
</action>
<action>
<name>job_citizen_information_search.hwf</name>
<description/>
<type>WORKFLOW</type>
<attributes/>
<add_date>N</add_date>
<add_time>N</add_time>
<create_parent_folder>N</create_parent_folder>
<exec_per_row>N</exec_per_row>
<filename>${PROJECT_HOME}/info_recruits/citizen_tables/citizen_information_search/job_citizen_information_search.hwf</filename>
<loglevel>Nothing</loglevel>
<parameters>
<parameter>
<name>M_R_CR_DATE</name>
<value>${M_R_CR_DATE}</value>
</parameter>
<parameter>
<name>M_R_UP_DATE</name>
<value>${M_R_UP_DATE}</value>
</parameter>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<params_from_previous>N</params_from_previous>
<run_configuration>local</run_configuration>
<set_append_logfile>N</set_append_logfile>
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>864</xloc>
<yloc>1184</yloc>
<attributes_hac/>
</action>
<action>
<name>Success job_guardianship.hwf</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1136</xloc>
<yloc>1120</yloc>
<attributes_hac/>
</action>
<action>
<name>Success job_child.hwf</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1136</xloc>
<yloc>1040</yloc>
<attributes_hac/>
</action>
<action>
<name>Success border_crossing_job.hwf</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1136</xloc>
<yloc>976</yloc>
<attributes_hac/>
</action>
<action>
<name>job_spouse.hwf</name>
<description/>
<type>WORKFLOW</type>
<attributes/>
<add_date>N</add_date>
<add_time>N</add_time>
<create_parent_folder>N</create_parent_folder>
<exec_per_row>N</exec_per_row>
<filename>${PROJECT_HOME}/info_recruits/citizen_tables/citizen_spouse/job_spouse.hwf</filename>
<loglevel>Nothing</loglevel>
<parameters>
<parameter>
<name>M_R_UP_DATE</name>
<value>${M_R_UP_DATE}</value>
</parameter>
<parameter>
<name>M_R_CR_DATE</name>
<value>${M_R_CR_DATE}</value>
</parameter>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<params_from_previous>N</params_from_previous>
<run_configuration>local</run_configuration>
<set_append_logfile>N</set_append_logfile>
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>864</xloc>
<yloc>1248</yloc>
<attributes_hac/>
</action>
<action>
<name>Success job_spouse.hwf</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1136</xloc>
<yloc>1248</yloc>
<attributes_hac/>
</action>
<action>
<name>row_last_recruit_update_date.hpl</name>
<description/>
<type>PIPELINE</type>
<attributes/>
<add_date>N</add_date>
<add_time>N</add_time>
<clear_files>N</clear_files>
<clear_rows>N</clear_rows>
<create_parent_folder>N</create_parent_folder>
<exec_per_row>N</exec_per_row>
<filename>${PROJECT_HOME}/info_recruits/raw_data/recruits_info/row_last_recruit_update_date.hpl</filename>
<loglevel>Basic</loglevel>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<params_from_previous>N</params_from_previous>
<run_configuration>local</run_configuration>
<set_append_logfile>N</set_append_logfile>
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>Y</parallel>
<xloc>544</xloc>
<yloc>1120</yloc>
<attributes_hac/>
</action>
</actions>
<hops>
<hop>
<from>job_citizen_information_search.hwf</from>
<to>Success job_citizen_information_search.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>job_guardianship.hwf</from>
<to>Success job_guardianship.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>job_child.hwf</from>
<to>Success job_child.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>border_crossing_job.hwf</from>
<to>Success border_crossing_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>job_spouse.hwf</from>
<to>Success job_spouse.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
<to>row_last_recruit_update_date.hpl</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>row_last_recruit_update_date.hpl</from>
<to>border_crossing_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>row_last_recruit_update_date.hpl</from>
<to>job_child.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>row_last_recruit_update_date.hpl</from>
<to>job_guardianship.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>row_last_recruit_update_date.hpl</from>
<to>job_citizen_information_search.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>row_last_recruit_update_date.hpl</from>
<to>job_spouse.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
</hops>
<notepads>
</notepads>
<attributes/>
</workflow>