Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
Fusionshh 2025-09-30 16:55:56 +03:00
commit 1ee22f36ef
28 changed files with 1225 additions and 410 deletions

View file

@ -178,6 +178,7 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
</partitioning>
<connection>ervu_person_registry</connection>
<execute_each_row>N</execute_each_row>
<limit/>
<sql>/*
with
adresses as ( -- по одному ли адресу тут должно быть??
@ -257,7 +258,7 @@ SELECT
system_id_ern AS id_ern, -- id единого регистра населения
ra.id_pack,
r.registered_reason,-- причина постановки на воинский учет
r.(vu_current_info->'personalDataProcessingAgreeConfirmed')::bool AS has_agree_confirmed, -- получено согласте на обработку персональных данных
(r.vu_current_info->'personalDataProcessingAgreeConfirmed')::bool AS has_agree_confirmed, -- получено согласте на обработку персональных данных
r.vu_document_received,-- факт выдачи документа воинского учета
r.vu_document_receive_date, -- дата выдачи документа воинского учета
r.vu_unset_date, -- дата снятия с учета
@ -425,14 +426,11 @@ ${LIMIT_FW}</sql>
<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>citizen</table>
<tablename_field/>
<tablename_in_field>N</tablename_in_field>
<tablename_in_table>Y</tablename_in_table>
<truncate>N</truncate>

View file

@ -273,7 +273,6 @@ and recruitment_id = '${IDM_ID}';</sql>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>
@ -443,6 +442,7 @@ and recruitment_id = '${IDM_ID}';</sql>
</partitioning>
<connection>ervu_person_registry</connection>
<execute_each_row>N</execute_each_row>
<limit/>
<sql>/*
with
adresses as ( -- по одному ли адресу тут должно быть??
@ -522,7 +522,7 @@ SELECT
system_id_ern AS id_ern, -- id единого регистра населения
ra.id_pack,
r.registered_reason,-- причина постановки на воинский учет
r.(vu_current_info->'personalDataProcessingAgreeConfirmed')::bool AS has_agree_confirmed, -- получено согласте на обработку персональных данных
(r.vu_current_info->'personalDataProcessingAgreeConfirmed')::bool AS has_agree_confirmed, -- получено согласте на обработку персональных данных
r.vu_document_received,-- факт выдачи документа воинского учета
r.vu_document_receive_date, -- дата выдачи документа воинского учета
r.vu_unset_date, -- дата снятия с учета

View file

@ -287,7 +287,6 @@ DO UPDATE SET
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>
@ -457,6 +456,7 @@ DO UPDATE SET
</partitioning>
<connection>ervu_person_registry</connection>
<execute_each_row>N</execute_each_row>
<limit/>
<sql>/*
with
adresses as ( -- по одному ли адресу тут должно быть??
@ -536,7 +536,7 @@ SELECT
system_id_ern AS id_ern, -- id единого регистра населения
ra.id_pack,
r.registered_reason,-- причина постановки на воинский учет
r.(vu_current_info->'personalDataProcessingAgreeConfirmed')::bool AS has_agree_confirmed, -- получено согласте на обработку персональных данных
(r.vu_current_info->'personalDataProcessingAgreeConfirmed')::bool AS has_agree_confirmed, -- получено согласте на обработку персональных данных
r.vu_document_received,-- факт выдачи документа воинского учета
r.vu_document_receive_date, -- дата выдачи документа воинского учета
r.vu_unset_date, -- дата снятия с учета

View file

@ -343,6 +343,7 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit/>
<sql>SELECT
ri.recruit_id AS recruit_id,
(ch->>'id')::uuid AS guardianship_external_id,
@ -360,7 +361,7 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
NULLIF(ch->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(ch->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
ch->>'snils' AS snils
REGEXP_REPLACE(ch->>'snils', '[-\s]', '', 'g') AS snils
FROM ervu_dashboard.recruits_info ri
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
@ -460,19 +461,16 @@ WHERE
<commit>10000</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<key>
<condition>&lt;></condition>
<field>is_guardian</field>
<name>is_guardian</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>

View file

@ -427,6 +427,7 @@ and recruitment_id = '${IDM_ID}';</sql>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit/>
<sql>SELECT
ri.recruit_id AS recruit_id,
(ch->>'id')::uuid AS guardianship_external_id,
@ -444,7 +445,7 @@ and recruitment_id = '${IDM_ID}';</sql>
NULLIF(ch->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(ch->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
ch->>'snils' AS snils
REGEXP_REPLACE(ch->>'snils', '[-\s]', '', 'g') AS snils
FROM ervu_dashboard.recruits_info ri
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
@ -475,19 +476,16 @@ WHERE
<commit>10000</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<key>
<condition>&lt;></condition>
<field>is_guardian</field>
<name>is_guardian</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>

View file

@ -443,6 +443,7 @@ DO UPDATE SET
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit/>
<sql>SELECT
ri.recruit_id AS recruit_id,
(ch->>'id')::uuid AS guardianship_external_id,
@ -460,7 +461,7 @@ DO UPDATE SET
NULLIF(ch->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(ch->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
ch->>'snils' AS snils
REGEXP_REPLACE(ch->>'snils', '[-\s]', '', 'g') AS snils
FROM ervu_dashboard.recruits_info ri
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
@ -490,19 +491,16 @@ WHERE
<commit>10000</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<key>
<condition>&lt;></condition>
<field>is_guardian</field>
<name>is_guardian</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>

View file

@ -25,6 +25,11 @@
<to>citizenship_flow_delta.hpl</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>get_max_source_update_date</from>
<to>Table input</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input</from>
<to>citizenship_flow_delta.hpl 2</to>
@ -45,11 +50,6 @@
<to>citizenship_flow_delta.hpl 5</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>get_max_source_update_date</from>
<to>Table input</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Table input</name>
@ -112,55 +112,9 @@ FROM ervu_dashboard.recruitment r
<field>idm_id</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
</parameters>
<execution_result_target_transform/>
<execution_time_field>ExecutionTime</execution_time_field>
<execution_result_field>ExecutionResult</execution_result_field>
<execution_errors_field>ExecutionNrErrors</execution_errors_field>
<execution_lines_read_field>ExecutionLinesRead</execution_lines_read_field>
<execution_lines_written_field>ExecutionLinesWritten</execution_lines_written_field>
<execution_lines_input_field>ExecutionLinesInput</execution_lines_input_field>
<execution_lines_output_field>ExecutionLinesOutput</execution_lines_output_field>
<execution_lines_rejected_field>ExecutionLinesRejected</execution_lines_rejected_field>
<execution_lines_updated_field>ExecutionLinesUpdated</execution_lines_updated_field>
<execution_lines_deleted_field>ExecutionLinesDeleted</execution_lines_deleted_field>
<execution_files_retrieved_field>ExecutionFilesRetrieved</execution_files_retrieved_field>
<execution_exit_status_field>ExecutionExitStatus</execution_exit_status_field>
<execution_log_text_field>ExecutionLogText</execution_log_text_field>
<execution_log_channelid_field>ExecutionLogChannelId</execution_log_channelid_field>
<result_rows_target_transform/>
<result_files_target_transform/>
<result_files_file_name_field>FileName</result_files_file_name_field>
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>640</xloc>
<yloc>128</yloc>
</GUI>
</transform>
<transform>
<name>citizenship_flow_delta.hpl 2</name>
<type>PipelineExecutor</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<run_configuration>local</run_configuration>
<filename>${PROJECT_HOME}/info_recruits/citizen_tables/citizenship/parallel/citizenship_flow_delta.hpl</filename>
<filenameInField>N</filenameInField>
<filenameField/>
<group_size>1</group_size>
<group_field/>
<group_time/>
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>idm_id</field>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -187,6 +141,85 @@ FROM ervu_dashboard.recruitment r
<attributes/>
<GUI>
<xloc>656</xloc>
<yloc>128</yloc>
</GUI>
</transform>
<transform>
<name>get_max_source_update_date</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT max(source_update_date) AS max_source_update_date
FROM ervu_dashboard.citizenship;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>144</xloc>
<yloc>288</yloc>
</GUI>
</transform>
<transform>
<name>citizenship_flow_delta.hpl 2</name>
<type>PipelineExecutor</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<run_configuration>local</run_configuration>
<filename>${PROJECT_HOME}/info_recruits/citizen_tables/citizenship/parallel/citizenship_flow_delta.hpl</filename>
<filenameInField>N</filenameInField>
<filenameField/>
<group_size>1</group_size>
<group_field/>
<group_time/>
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
</parameters>
<execution_result_target_transform/>
<execution_time_field>ExecutionTime</execution_time_field>
<execution_result_field>ExecutionResult</execution_result_field>
<execution_errors_field>ExecutionNrErrors</execution_errors_field>
<execution_lines_read_field>ExecutionLinesRead</execution_lines_read_field>
<execution_lines_written_field>ExecutionLinesWritten</execution_lines_written_field>
<execution_lines_input_field>ExecutionLinesInput</execution_lines_input_field>
<execution_lines_output_field>ExecutionLinesOutput</execution_lines_output_field>
<execution_lines_rejected_field>ExecutionLinesRejected</execution_lines_rejected_field>
<execution_lines_updated_field>ExecutionLinesUpdated</execution_lines_updated_field>
<execution_lines_deleted_field>ExecutionLinesDeleted</execution_lines_deleted_field>
<execution_files_retrieved_field>ExecutionFilesRetrieved</execution_files_retrieved_field>
<execution_exit_status_field>ExecutionExitStatus</execution_exit_status_field>
<execution_log_text_field>ExecutionLogText</execution_log_text_field>
<execution_log_channelid_field>ExecutionLogChannelId</execution_log_channelid_field>
<result_rows_target_transform/>
<result_files_target_transform/>
<result_files_file_name_field>FileName</result_files_file_name_field>
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>672</xloc>
<yloc>208</yloc>
</GUI>
</transform>
@ -214,6 +247,11 @@ FROM ervu_dashboard.recruitment r
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
</parameters>
<execution_result_target_transform/>
@ -237,7 +275,7 @@ FROM ervu_dashboard.recruitment r
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>656</xloc>
<xloc>688</xloc>
<yloc>288</yloc>
</GUI>
</transform>
@ -265,6 +303,11 @@ FROM ervu_dashboard.recruitment r
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
</parameters>
<execution_result_target_transform/>
@ -288,7 +331,7 @@ FROM ervu_dashboard.recruitment r
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>656</xloc>
<xloc>688</xloc>
<yloc>368</yloc>
</GUI>
</transform>
@ -316,6 +359,11 @@ FROM ervu_dashboard.recruitment r
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
</parameters>
<execution_result_target_transform/>
@ -339,33 +387,10 @@ FROM ervu_dashboard.recruitment r
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>656</xloc>
<xloc>688</xloc>
<yloc>448</yloc>
</GUI>
</transform>
<transform>
<name>get_max_source_update_date</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT max(source_update_date) AS max_source_update_date
FROM ervu_dashboard.citizenship;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>144</xloc>
<yloc>288</yloc>
</GUI>
</transform>
<transform_error_handling>
</transform_error_handling>
<attributes/>

View file

@ -25,6 +25,11 @@
<to>citizenship_foreign_flow_delta.hpl</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>get_max_source_update_date</from>
<to>Table input</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input</from>
<to>citizenship_foreign_flow_delta.hpl 2</to>
@ -45,11 +50,6 @@
<to>citizenship_foreign_flow_delta.hpl 5</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>get_max_source_update_date</from>
<to>Table input</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Table input</name>
@ -112,6 +112,11 @@ FROM ervu_dashboard.recruitment r
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
</parameters>
<execution_result_target_transform/>
@ -139,6 +144,29 @@ FROM ervu_dashboard.recruitment r
<yloc>128</yloc>
</GUI>
</transform>
<transform>
<name>get_max_source_update_date</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT max(source_update_date) AS max_source_update_date
FROM ervu_dashboard.citizenship_foreign;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>160</xloc>
<yloc>288</yloc>
</GUI>
</transform>
<transform>
<name>citizenship_foreign_flow_delta.hpl 2</name>
<type>PipelineExecutor</type>
@ -163,6 +191,11 @@ FROM ervu_dashboard.recruitment r
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
</parameters>
<execution_result_target_transform/>
@ -186,8 +219,8 @@ FROM ervu_dashboard.recruitment r
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>656</xloc>
<yloc>208</yloc>
<xloc>640</xloc>
<yloc>224</yloc>
</GUI>
</transform>
<transform>
@ -214,6 +247,11 @@ FROM ervu_dashboard.recruitment r
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
</parameters>
<execution_result_target_transform/>
@ -237,8 +275,8 @@ FROM ervu_dashboard.recruitment r
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>656</xloc>
<yloc>288</yloc>
<xloc>640</xloc>
<yloc>304</yloc>
</GUI>
</transform>
<transform>
@ -265,6 +303,11 @@ FROM ervu_dashboard.recruitment r
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
</parameters>
<execution_result_target_transform/>
@ -288,8 +331,8 @@ FROM ervu_dashboard.recruitment r
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>656</xloc>
<yloc>368</yloc>
<xloc>640</xloc>
<yloc>400</yloc>
</GUI>
</transform>
<transform>
@ -316,6 +359,11 @@ FROM ervu_dashboard.recruitment r
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
</parameters>
<execution_result_target_transform/>
@ -339,31 +387,8 @@ FROM ervu_dashboard.recruitment r
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>656</xloc>
<yloc>448</yloc>
</GUI>
</transform>
<transform>
<name>get_max_source_update_date</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT max(source_update_date) AS max_source_update_date
FROM ervu_dashboard.citizenship_foreign;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>160</xloc>
<yloc>288</yloc>
<xloc>640</xloc>
<yloc>480</yloc>
</GUI>
</transform>
<transform_error_handling>

View file

@ -383,7 +383,7 @@ FROM ervu_dashboard.recruitment r
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT max(source_update_date) AS max_source_update_date
FROM deputy;</sql>
FROM ervu_dashboard.deputy;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>

View file

@ -20,6 +20,11 @@
<notepads>
</notepads>
<order>
<hop>
<from>get_max_source_update_date</from>
<to>Table input</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input</from>
<to>drivers_licence_flow_delta.hpl</to>
@ -46,34 +51,6 @@
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Table input</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>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 = 'drivers_licence_job'
where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING');</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>352</xloc>
<yloc>288</yloc>
</GUI>
</transform>
<transform>
<name>drivers_licence_flow_delta.hpl</name>
<type>PipelineExecutor</type>
@ -95,7 +72,12 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -125,6 +107,66 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<yloc>128</yloc>
</GUI>
</transform>
<transform>
<name>Table input</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH mud AS (
SELECT
recruitment_id,
MAX(execution_datetime) AS max_upd_date
FROM etl.job_execution
WHERE job_name = '${JOB_NAME}'
AND status IN ('SUCCESS','DELTA_ERROR','DELTA_SUCCESS','DELTA_PROCESSING')
GROUP BY recruitment_id
)
SELECT
r.idm_id
FROM ervu_dashboard.recruitment r
JOIN mud ON mud.recruitment_id = r.idm_id
JOIN recruits_info ri
ON COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = r.idm_id
AND ri.updated_at > mud.max_upd_date;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
<xloc>368</xloc>
<yloc>288</yloc>
</GUI>
</transform>
<transform>
<name>get_max_source_update_date</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT max(source_update_date) AS max_source_update_date
FROM ervu_dashboard.drivers_licence;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>160</xloc>
<yloc>288</yloc>
</GUI>
</transform>
<transform>
<name>drivers_licence_flow_delta.hpl 2</name>
<type>PipelineExecutor</type>
@ -146,7 +188,12 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -172,7 +219,7 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>640</xloc>
<xloc>656</xloc>
<yloc>208</yloc>
</GUI>
</transform>
@ -197,7 +244,12 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -223,7 +275,7 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>640</xloc>
<xloc>672</xloc>
<yloc>288</yloc>
</GUI>
</transform>
@ -248,7 +300,12 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -274,7 +331,7 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>640</xloc>
<xloc>672</xloc>
<yloc>368</yloc>
</GUI>
</transform>
@ -299,7 +356,12 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -325,8 +387,8 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>640</xloc>
<yloc>464</yloc>
<xloc>656</xloc>
<yloc>448</yloc>
</GUI>
</transform>
<transform_error_handling>

View file

@ -45,49 +45,7 @@
<to>drivers_licence_flow_repeat.hpl 5</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>get_max_source_update_date</from>
<to>Table input</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Table input</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH mud AS (
SELECT
recruitment_id,
MAX(execution_datetime) AS max_upd_date
FROM etl.job_execution
WHERE job_name = '${JOB_NAME}'
AND status IN ('SUCCESS','DELTA_ERROR','DELTA_SUCCESS','DELTA_PROCESSING')
GROUP BY recruitment_id
)
SELECT
r.idm_id
FROM ervu_dashboard.recruitment r
JOIN mud ON mud.recruitment_id = r.idm_id
JOIN recruits_info ri
ON COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = r.idm_id
AND ri.updated_at > mud.max_upd_date;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
<xloc>272</xloc>
<yloc>368</yloc>
</GUI>
</transform>
<transform>
<name>drivers_licence_flow_repeat.hpl</name>
<type>PipelineExecutor</type>
@ -109,7 +67,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>idm_id</field>
<field>recruitment_id</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -135,10 +93,38 @@ FROM ervu_dashboard.recruitment r
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>544</xloc>
<xloc>560</xloc>
<yloc>208</yloc>
</GUI>
</transform>
<transform>
<name>Table input</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>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 = 'drivers_licence_job'
where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING');</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>224</xloc>
<yloc>368</yloc>
</GUI>
</transform>
<transform>
<name>drivers_licence_flow_repeat.hpl 2</name>
<type>PipelineExecutor</type>
@ -160,7 +146,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>idm_id</field>
<field>recruitment_id</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -186,8 +172,8 @@ FROM ervu_dashboard.recruitment r
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>560</xloc>
<yloc>288</yloc>
<xloc>576</xloc>
<yloc>304</yloc>
</GUI>
</transform>
<transform>
@ -211,7 +197,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>idm_id</field>
<field>recruitment_id</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -237,8 +223,8 @@ FROM ervu_dashboard.recruitment r
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>560</xloc>
<yloc>368</yloc>
<xloc>592</xloc>
<yloc>384</yloc>
</GUI>
</transform>
<transform>
@ -262,7 +248,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>idm_id</field>
<field>recruitment_id</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -288,8 +274,8 @@ FROM ervu_dashboard.recruitment r
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>560</xloc>
<yloc>448</yloc>
<xloc>576</xloc>
<yloc>464</yloc>
</GUI>
</transform>
<transform>
@ -313,7 +299,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>idm_id</field>
<field>recruitment_id</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -340,30 +326,7 @@ FROM ervu_dashboard.recruitment r
<attributes/>
<GUI>
<xloc>560</xloc>
<yloc>528</yloc>
</GUI>
</transform>
<transform>
<name>get_max_source_update_date</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT max(source_update_date) AS max_source_update_date
FROM ervu_dashboard.drivers_licence;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>64</xloc>
<yloc>368</yloc>
<yloc>544</yloc>
</GUI>
</transform>
<transform_error_handling>

View file

@ -385,7 +385,7 @@ FROM ervu_dashboard.recruitment r
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>select max(source_update_date)
from education_institution_learning;</sql>
from ervu_dashboard.education_institution_learning;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>

View file

@ -384,7 +384,7 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>select max(source_update_date)
from foreign_diploma;</sql>
from ervu_dashboard.foreign_diploma;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>

View file

@ -104,7 +104,7 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>select max(source_update_date)
from russian_diploma;</sql>
from ervu_dashboard.russian_diploma;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>

View file

@ -146,29 +146,6 @@ FROM ervu_dashboard.recruitment r
<yloc>336</yloc>
</GUI>
</transform>
<transform>
<name>get_max_source_update_date</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT max(source_update_date) AS max_source_update_date
FROM election_candidate;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>528</xloc>
<yloc>496</yloc>
</GUI>
</transform>
<transform>
<name>election_candidate_delta.hpl 2</name>
<type>PipelineExecutor</type>
@ -393,6 +370,29 @@ FROM election_candidate;</sql>
<yloc>656</yloc>
</GUI>
</transform>
<transform>
<name>get_max_source_update_date</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT max(source_update_date) AS max_source_update_date
FROM ervu_dashboard.election_candidate;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>528</xloc>
<yloc>496</yloc>
</GUI>
</transform>
<transform_error_handling>
</transform_error_handling>
<attributes/>

View file

@ -146,29 +146,6 @@ FROM ervu_dashboard.recruitment r
<yloc>336</yloc>
</GUI>
</transform>
<transform>
<name>get_max_source_update_date</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>select max(source_update_date)
from disability;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>528</xloc>
<yloc>496</yloc>
</GUI>
</transform>
<transform>
<name>disability_flow_delta.hpl 2</name>
<type>PipelineExecutor</type>
@ -393,6 +370,29 @@ from disability;</sql>
<yloc>656</yloc>
</GUI>
</transform>
<transform>
<name>get_max_source_update_date</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>select max(source_update_date)
from ervu_dashboard.disability;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>528</xloc>
<yloc>496</yloc>
</GUI>
</transform>
<transform_error_handling>
</transform_error_handling>
<attributes/>

View file

@ -104,7 +104,7 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>select max(source_update_date)
from health_state;</sql>
from ervu_dashboard.health_state;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>

View file

@ -105,7 +105,7 @@ FROM ervu_dashboard.recruitment r
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>select max(source_update_date)
from incapacity;</sql>
from ervu_dashboard.incapacity;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>

View file

@ -105,7 +105,7 @@ FROM ervu_dashboard.recruitment r
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>select max(source_update_date)
from vich_registered;</sql>
from ervu_dashboard.vich_registered;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>

View file

@ -25,6 +25,11 @@
<to>property_flow_delta.hpl</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>get_max_source_update_date</from>
<to>Table input</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input</from>
<to>property_flow_delta.hpl 2</to>
@ -45,11 +50,6 @@
<to>property_flow_delta.hpl 5</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>get_max_source_update_date</from>
<to>Table input</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Table input</name>
@ -88,6 +88,29 @@ FROM ervu_dashboard.recruitment r
<yloc>288</yloc>
</GUI>
</transform>
<transform>
<name>get_max_source_update_date</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT max(source_update_date) AS max_source_update_date
FROM ervu_dashboard.property;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>144</xloc>
<yloc>288</yloc>
</GUI>
</transform>
<transform>
<name>property_flow_delta.hpl</name>
<type>PipelineExecutor</type>
@ -109,7 +132,12 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -160,7 +188,12 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -186,7 +219,7 @@ FROM ervu_dashboard.recruitment r
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>640</xloc>
<xloc>656</xloc>
<yloc>208</yloc>
</GUI>
</transform>
@ -211,7 +244,12 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -237,7 +275,7 @@ FROM ervu_dashboard.recruitment r
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>640</xloc>
<xloc>672</xloc>
<yloc>288</yloc>
</GUI>
</transform>
@ -262,7 +300,12 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -288,8 +331,8 @@ FROM ervu_dashboard.recruitment r
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>640</xloc>
<yloc>368</yloc>
<xloc>672</xloc>
<yloc>384</yloc>
</GUI>
</transform>
<transform>
@ -313,7 +356,12 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -340,30 +388,7 @@ FROM ervu_dashboard.recruitment r
<attributes/>
<GUI>
<xloc>640</xloc>
<yloc>448</yloc>
</GUI>
</transform>
<transform>
<name>get_max_source_update_date</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT max(source_update_date) AS max_source_update_date
FROM ervu_dashboard.property;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>144</xloc>
<yloc>288</yloc>
<yloc>480</yloc>
</GUI>
</transform>
<transform_error_handling>

View file

@ -278,13 +278,10 @@ and recruitment_id = '${IDM_ID}';</sql>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<key>
<condition>IS NOT NULL</condition>
<field>inn</field>
<name/>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>inn</table>
@ -334,13 +331,10 @@ and recruitment_id = '${IDM_ID}';</sql>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<key>
<condition>IS NOT NULL</condition>
<field>snils</field>
<name/>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>snils</table>
@ -388,58 +382,84 @@ and recruitment_id = '${IDM_ID}';</sql>
<limit/>
<sql>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
AND ri.updated_at >= '${M_R_UP_DATE}'::timestamp
SELECT
ri.recruit_id,
ri.info,
to_date(ri.info->'svedFL'->'svedBS'->'snils'->'aktSNILS'->>'dataSved', 'YYYY-MM-DD') AS akt_snils_date,
REGEXP_REPLACE(ri.info->'svedFL'->'svedBS'->'snils'->'aktSNILS'->>'snils', '[^0-9]', '', 'g') AS akt_snils_number,
to_date(ri.info->'svedFL'->'svedBS'->'snils'->'predSNILS'->>'dataSved', 'YYYY-MM-DD') AS pred_snils_date,
REGEXP_REPLACE(ri.info->'svedFL'->'svedBS'->'snils'->'predSNILS'->>'snils', '[^0-9]', '', 'g') AS pred_snils_number,
to_date(ri.info->'svedFL'->'svedBS'->'inn'->'aktINN'->>'dataSved', 'YYYY-MM-DD') AS akt_inn_date,
REGEXP_REPLACE(ri.info->'svedFL'->'svedBS'->'inn'->'aktINN'->>'inn', '[^0-9]', '', 'g') AS akt_inn_number,
to_date(ri.info->'svedFL'->'svedBS'->'inn'->'predINN'->>'dataSved', 'YYYY-MM-DD') AS pred_inn_date,
REGEXP_REPLACE(ri.info->'svedFL'->'svedBS'->'inn'->'predINN'->>'inn', '[^0-9]', '', 'g') AS pred_inn_number
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}'
WHERE
(to_date(ri.info->'svedFL'->'svedBS'->'snils'->'aktSNILS'->>'dataSved', 'YYYY-MM-DD') > '${MAX_SOURCE_UPDATE_DATE}'::date
AND LENGTH(REGEXP_REPLACE(ri.info->'svedFL'->'svedBS'->'snils'->'aktSNILS'->>'snils', '[^0-9]', '', 'g')) = 11)
OR
(to_date(ri.info->'svedFL'->'svedBS'->'snils'->'predSNILS'->>'dataSved', 'YYYY-MM-DD') > '${MAX_SOURCE_UPDATE_DATE}'::date
AND LENGTH(REGEXP_REPLACE(ri.info->'svedFL'->'svedBS'->'snils'->'predSNILS'->>'snils', '[^0-9]', '', 'g')) = 11)
OR
(to_date(ri.info->'svedFL'->'svedBS'->'inn'->'aktINN'->>'dataSved', 'YYYY-MM-DD') > '${MAX_SOURCE_UPDATE_DATE}'::date
AND LENGTH(REGEXP_REPLACE(ri.info->'svedFL'->'svedBS'->'inn'->'aktINN'->>'inn', '[^0-9]', '', 'g')) = 12)
OR
(to_date(ri.info->'svedFL'->'svedBS'->'inn'->'predINN'->>'dataSved', 'YYYY-MM-DD') > '${MAX_SOURCE_UPDATE_DATE}'::date
AND LENGTH(REGEXP_REPLACE(ri.info->'svedFL'->'svedBS'->'inn'->'predINN'->>'inn', '[^0-9]', '', 'g')) = 12)
)
-- SNILS aktSNILS (актуальные)
SELECT
recruit_id,
to_date(info->'svedFL'->'svedBS'->'snils'->'aktSNILS'->>'dataSved', 'YYYY-MM-DD') AS source_update_date,
akt_snils_date AS source_update_date,
null as inn,
REGEXP_REPLACE(info->'svedFL'->'svedBS'->'snils'->'aktSNILS'->>'snils', '[^0-9]', '', 'g') AS snils,
akt_snils_number AS snils,
true AS actual
FROM base
WHERE LENGTH(REGEXP_REPLACE(info->'svedFL'->'svedBS'->'snils'->'aktSNILS'->>'snils', '[^0-9]', '', 'g')) = 11
WHERE akt_snils_date IS NOT NULL
AND LENGTH(akt_snils_number) = 11
UNION ALL
-- SNILS predSNILS (предыдущие)
SELECT
recruit_id,
to_date(info->'svedFL'->'svedBS'->'snils'->'predSNILS'->>'dataSved', 'YYYY-MM-DD') AS source_update_date,
pred_snils_date AS source_update_date,
null as inn,
REGEXP_REPLACE(info->'svedFL'->'svedBS'->'snils'->'predSNILS'->>'snils', '[^0-9]', '', 'g') AS snils,
pred_snils_number AS snils,
false AS actual
FROM base
WHERE LENGTH(REGEXP_REPLACE(info->'svedFL'->'svedBS'->'snils'->'predSNILS'->>'snils', '[^0-9]', '', 'g')) = 11
WHERE pred_snils_date IS NOT NULL
AND LENGTH(pred_snils_number) = 11
UNION ALL
-- INN aktINN (актуальные)
SELECT
recruit_id,
to_date(info->'svedFL'->'svedBS'->'inn'->'aktINN'->>'dataSved', 'YYYY-MM-DD') AS source_update_date,
REGEXP_REPLACE(info->'svedFL'->'svedBS'->'inn'->'aktINN'->>'inn', '[^0-9]', '', 'g') AS inn,
recruit_id,
akt_inn_date AS source_update_date,
akt_inn_number AS inn,
null as snils,
true as actual
FROM base
WHERE LENGTH(REGEXP_REPLACE(info->'svedFL'->'svedBS'->'inn'->'aktINN'->>'inn', '[^0-9]', '', 'g')) = 12
WHERE akt_inn_date IS NOT NULL
AND LENGTH(akt_inn_number) = 12
UNION ALL
-- INN predINN (предыдущие)
SELECT
recruit_id,
to_date(info->'svedFL'->'svedBS'->'inn'->'predINN'->>'dataSved', 'YYYY-MM-DD') AS source_update_date,
REGEXP_REPLACE(info->'svedFL'->'svedBS'->'inn'->'predINN'->>'inn', '[^0-9]', '', 'g') AS inn,
recruit_id,
pred_inn_date AS source_update_date,
pred_inn_number AS inn,
null as snils,
false as actual
FROM base
WHERE LENGTH(REGEXP_REPLACE(info->'svedFL'->'svedBS'->'inn'->'predINN'->>'inn', '[^0-9]', '', 'g')) = 12
${LIMIT_FW}</sql>
WHERE pred_inn_date IS NOT NULL
AND LENGTH(pred_inn_number) = 12</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>

View file

@ -25,6 +25,11 @@
<to>snils_inn_flow_delta.hpl</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>get_max_source_update_date</from>
<to>Table input</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input</from>
<to>snils_inn_flow_delta.hpl 2</to>
@ -60,20 +65,54 @@
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT
r.idm_id as recruitment_id
<sql>WITH mud AS (
SELECT
recruitment_id,
MAX(execution_datetime) AS max_upd_date
FROM etl.job_execution
WHERE job_name = '${JOB_NAME}'
AND status IN ('SUCCESS','DELTA_ERROR','DELTA_SUCCESS','DELTA_PROCESSING')
GROUP BY recruitment_id
)
SELECT
r.idm_id
FROM ervu_dashboard.recruitment r
LEFT JOIN etl.job_execution je
ON r.idm_id = je.recruitment_id
and job_name = 'snils_inn_job'
where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING');</sql>
<variables_active>N</variables_active>
JOIN mud ON mud.recruitment_id = r.idm_id
JOIN recruits_info ri
ON COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = r.idm_id
AND ri.updated_at > mud.max_upd_date;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
<xloc>352</xloc>
<yloc>288</yloc>
</GUI>
</transform>
<transform>
<name>get_max_source_update_date</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT GREATEST(
(SELECT MAX(source_update_date) FROM ervu_dashboard.inn),
(SELECT MAX(source_update_date) FROM ervu_dashboard.snils)
) AS max_source_update_date;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>128</xloc>
<yloc>288</yloc>
</GUI>
</transform>
<transform>
<name>snils_inn_flow_delta.hpl</name>
<type>PipelineExecutor</type>
@ -95,7 +134,12 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -121,7 +165,7 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>576</xloc>
<xloc>592</xloc>
<yloc>128</yloc>
</GUI>
</transform>
@ -146,7 +190,12 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -172,7 +221,7 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>576</xloc>
<xloc>592</xloc>
<yloc>208</yloc>
</GUI>
</transform>
@ -197,7 +246,12 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -223,7 +277,7 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>576</xloc>
<xloc>592</xloc>
<yloc>288</yloc>
</GUI>
</transform>
@ -248,7 +302,12 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -274,7 +333,7 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>576</xloc>
<xloc>592</xloc>
<yloc>368</yloc>
</GUI>
</transform>
@ -299,7 +358,12 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
<variable>MAX_SOURCE_UPDATE_DATE</variable>
<field>max_source_update_date</field>
<input/>
</variable_mapping>
<inherit_all_vars>Y</inherit_all_vars>
@ -325,7 +389,7 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
<executors_output_transform/>
<attributes/>
<GUI>
<xloc>576</xloc>
<xloc>592</xloc>
<yloc>448</yloc>
</GUI>
</transform>

View file

@ -105,9 +105,9 @@ FROM ervu_dashboard.recruitment r
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH max_sport_elem_upd_date AS (
SELECT max(source_update_date) AS dt FROM sports_rank
SELECT max(source_update_date) AS dt FROM ervu_dashboard.sports_rank
UNION ALL
SELECT max(source_update_date) FROM sports_title
SELECT max(source_update_date) FROM ervu_dashboard.sports_title
)
SELECT max(dt) AS max_source_update_date
FROM max_sport_elem_upd_date;</sql>

View file

@ -410,7 +410,7 @@ FROM ervu_dashboard.recruitment r
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>select max(source_update_date)
from employer;</sql>
from ervu_dashboard.employer;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>

View file

@ -66,7 +66,7 @@
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>select max(source_update_date)
from individual_entrepreneur;</sql>
from ervu_dashboard.individual_entrepreneur;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
@ -134,7 +134,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
@ -195,7 +195,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
@ -256,7 +256,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
@ -317,7 +317,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
@ -378,7 +378,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>

View file

@ -66,7 +66,7 @@
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>select max(source_update_date)
from self_employed;</sql>
from ervu_dashboard.self_employed;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
@ -134,7 +134,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
@ -195,7 +195,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
@ -256,7 +256,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
@ -317,7 +317,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
@ -378,7 +378,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>

View file

@ -105,7 +105,7 @@ FROM ervu_dashboard.recruitment r
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>select max(source_update_date)
FROM citizen_work_activity;</sql>
FROM ervu_dashboard.citizen_work_activity;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
@ -134,7 +134,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
@ -195,7 +195,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
@ -256,7 +256,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
@ -317,7 +317,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>
@ -378,7 +378,7 @@ FROM ervu_dashboard.recruitment r
<parameters>
<variable_mapping>
<variable>IDM_ID</variable>
<field>recruitment_id</field>
<field>idm_id</field>
<input/>
</variable_mapping>
<variable_mapping>

View file

@ -0,0 +1,639 @@
<?xml version="1.0" encoding="UTF-8"?>
<workflow>
<name>job4_info_from_json</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:39:11.024</created_date>
<modified_user>-</modified_user>
<modified_date>2025/09/22 10:39:11.024</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>Y</parallel>
<xloc>880</xloc>
<yloc>912</yloc>
<attributes_hac/>
</action>
<action>
<name>deputy_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/deputy/deputy_job.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>
</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>1232</xloc>
<yloc>624</yloc>
<attributes_hac/>
</action>
<action>
<name>Success deputy_job.hwf</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1600</xloc>
<yloc>624</yloc>
<attributes_hac/>
</action>
<action>
<name>russian_diploma_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/education/russian_diploma/russian_diploma_job.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>
</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>1232</xloc>
<yloc>688</yloc>
<attributes_hac/>
</action>
<action>
<name>Success russian_diploma_job.hwf</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1600</xloc>
<yloc>688</yloc>
<attributes_hac/>
</action>
<action>
<name>foreign_diploma_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/education/foreign_diploma/foreign_diploma_job.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>
</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>1232</xloc>
<yloc>752</yloc>
<attributes_hac/>
</action>
<action>
<name>educational_institution_learning_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/education/educational_institution_learning/educational_institution_learning_job.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>
</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>1232</xloc>
<yloc>816</yloc>
<attributes_hac/>
</action>
<action>
<name>election_candidate_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/election_candidate/election_candidate_job.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>
</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>1232</xloc>
<yloc>880</yloc>
<attributes_hac/>
</action>
<action>
<name>vich_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/medicine/vich/vich_job.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>
</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>1232</xloc>
<yloc>944</yloc>
<attributes_hac/>
</action>
<action>
<name>incapacity_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/medicine/incapacity/incapacity_job.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>
</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>1232</xloc>
<yloc>1008</yloc>
<attributes_hac/>
</action>
<action>
<name>health_state_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/medicine/health_state/health_state_job.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>
</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>1232</xloc>
<yloc>1072</yloc>
<attributes_hac/>
</action>
<action>
<name>disability_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/medicine/disability/disability_job.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>
</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>1232</xloc>
<yloc>1136</yloc>
<attributes_hac/>
</action>
<action>
<name>sport_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/sport/sport_job.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>
</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>1232</xloc>
<yloc>1200</yloc>
<attributes_hac/>
</action>
<action>
<name>Success foreign_diploma_job.hwf</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1600</xloc>
<yloc>752</yloc>
<attributes_hac/>
</action>
<action>
<name>Success educational_institution_learning_job.hwf</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1600</xloc>
<yloc>816</yloc>
<attributes_hac/>
</action>
<action>
<name>Success election_candidate_job.hwf</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1600</xloc>
<yloc>880</yloc>
<attributes_hac/>
</action>
<action>
<name>Success vich_job.hwf</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1600</xloc>
<yloc>944</yloc>
<attributes_hac/>
</action>
<action>
<name>Success incapacity_job.hwf</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1600</xloc>
<yloc>1008</yloc>
<attributes_hac/>
</action>
<action>
<name>Success health_state_job.hwf</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1600</xloc>
<yloc>1072</yloc>
<attributes_hac/>
</action>
<action>
<name>Success disability_job.hwf</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1600</xloc>
<yloc>1136</yloc>
<attributes_hac/>
</action>
<action>
<name>Success sport_job.hwf</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1600</xloc>
<yloc>1200</yloc>
<attributes_hac/>
</action>
</actions>
<hops>
<hop>
<from>Start</from>
<to>deputy_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>deputy_job.hwf</from>
<to>Success deputy_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>russian_diploma_job.hwf</from>
<to>Success russian_diploma_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
<to>russian_diploma_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>Start</from>
<to>foreign_diploma_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>Start</from>
<to>educational_institution_learning_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>Start</from>
<to>election_candidate_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>Start</from>
<to>vich_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>Start</from>
<to>incapacity_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>Start</from>
<to>health_state_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>Start</from>
<to>disability_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>Start</from>
<to>sport_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>foreign_diploma_job.hwf</from>
<to>Success foreign_diploma_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>educational_institution_learning_job.hwf</from>
<to>Success educational_institution_learning_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>election_candidate_job.hwf</from>
<to>Success election_candidate_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>vich_job.hwf</from>
<to>Success vich_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>incapacity_job.hwf</from>
<to>Success incapacity_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>health_state_job.hwf</from>
<to>Success health_state_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>disability_job.hwf</from>
<to>Success disability_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>sport_job.hwf</from>
<to>Success sport_job.hwf</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
</hops>
<notepads>
</notepads>
<attributes/>
</workflow>