fix deferments_once.hpl

fix punishment_once.hpl
+ recruit_ervu_status_once.hpl
+ recruitment_code_once
This commit is contained in:
Булат Хайруллин 2025-04-27 21:50:50 +03:00
parent 910aaed346
commit cef67c1ace
6 changed files with 533 additions and 42 deletions

View file

@ -41,8 +41,8 @@
<sqlfromfile>N</sqlfromfile>
<useVariableSubstitution>N</useVariableSubstitution>
<parallel>N</parallel>
<xloc>640</xloc>
<yloc>1008</yloc>
<xloc>656</xloc>
<yloc>768</yloc>
<attributes_hac/>
</action>
<action>
@ -57,11 +57,14 @@
<create_parent_folder>N</create_parent_folder>
<exec_per_row>Y</exec_per_row>
<filename>${PROJECT_HOME}/jobs_once_a_day/punishment_once.hpl</filename>
<logext/>
<logfile/>
<loglevel>Basic</loglevel>
<parameters>
<parameter>
<name>RCRT_C</name>
<stream_name>RECRUITMENT_CITIZEN</stream_name>
<value/>
</parameter>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
@ -71,8 +74,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>1008</xloc>
<yloc>1008</yloc>
<xloc>1024</xloc>
<yloc>768</yloc>
<attributes_hac/>
</action>
<action>
@ -81,8 +84,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1408</xloc>
<yloc>1008</yloc>
<xloc>1424</xloc>
<yloc>768</yloc>
<attributes_hac/>
</action>
<action>
@ -213,8 +216,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>Y</parallel>
<xloc>400</xloc>
<yloc>960</yloc>
<xloc>416</xloc>
<yloc>720</yloc>
<attributes_hac/>
</action>
<action>
@ -230,8 +233,8 @@ delete from ervu_dashboard.citizen_deferment;
<sqlfromfile>N</sqlfromfile>
<useVariableSubstitution>N</useVariableSubstitution>
<parallel>N</parallel>
<xloc>640</xloc>
<yloc>944</yloc>
<xloc>656</xloc>
<yloc>704</yloc>
<attributes_hac/>
</action>
<action>
@ -260,8 +263,8 @@ delete from ervu_dashboard.citizen_deferment;
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>1184</xloc>
<yloc>944</yloc>
<xloc>1200</xloc>
<yloc>704</yloc>
<attributes_hac/>
</action>
<action>
@ -270,8 +273,8 @@ delete from ervu_dashboard.citizen_deferment;
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1408</xloc>
<yloc>944</yloc>
<xloc>1424</xloc>
<yloc>704</yloc>
<attributes_hac/>
</action>
<action>
@ -300,8 +303,8 @@ delete from ervu_dashboard.citizen_deferment;
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>896</xloc>
<yloc>944</yloc>
<xloc>912</xloc>
<yloc>704</yloc>
<attributes_hac/>
</action>
<action>
@ -575,6 +578,125 @@ delete from ervu_dashboard.citizen_deferment;
<yloc>1296</yloc>
<attributes_hac/>
</action>
<action>
<name>id_ern_once.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>Y</exec_per_row>
<filename>${PROJECT_HOME}\jobs_once_a_day\id_ern_once.hpl</filename>
<logext/>
<logfile/>
<loglevel>Basic</loglevel>
<parameters>
<parameter>
<name>RCRT_C</name>
<stream_name>RECRUITMENT_CITIZEN</stream_name>
<value/>
</parameter>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<params_from_previous>Y</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>656</xloc>
<yloc>832</yloc>
<attributes_hac/>
</action>
<action>
<name>recruitment_code_once.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}\jobs_once_a_day\recruitment_code_once.hpl</filename>
<logext/>
<logfile/>
<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>N</parallel>
<xloc>640</xloc>
<yloc>992</yloc>
<attributes_hac/>
</action>
<action>
<name>Success_id_ern</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>848</xloc>
<yloc>832</yloc>
<attributes_hac/>
</action>
<action>
<name>Success_recruitment_code</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>848</xloc>
<yloc>992</yloc>
<attributes_hac/>
</action>
<action>
<name>recruit_ervu_status_once.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}/jobs_once_a_day/recruit_ervu_status_once.hpl</filename>
<logext/>
<logfile/>
<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>N</parallel>
<xloc>656</xloc>
<yloc>912</yloc>
<attributes_hac/>
</action>
<action>
<name>success_recruit_ervu_sratus</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>848</xloc>
<yloc>912</yloc>
<attributes_hac/>
</action>
</actions>
<hops>
<hop>
@ -759,6 +881,48 @@ delete from ervu_dashboard.citizen_deferment;
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>Start</from>
<to>recruitment_code_once.hpl</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>id_ern_once.hpl</from>
<to>Success_id_ern</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>recruitment_code_once.hpl</from>
<to>Success_recruitment_code</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>recruitment_rows.hpl</from>
<to>id_ern_once.hpl</to>
<enabled>N</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
<to>recruit_ervu_status_once.hpl</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>recruit_ervu_status_once.hpl</from>
<to>success_recruit_ervu_sratus</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
</hops>
<notepads>
</notepads>

View file

@ -46,6 +46,23 @@
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Dummy (do nothing)</name>
<type>Dummy</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<attributes/>
<GUI>
<xloc>768</xloc>
<yloc>480</yloc>
</GUI>
</transform>
<transform>
<name>Update</name>
<type>Update</type>
@ -147,7 +164,7 @@
from decision_deferment_dto ddd
join public.recruits r
ON r.id = ddd.recruit_id
AND (r.target_recruitment_id= '${RCRT_C}' or r.current_recruitment_id = '${RCRT_C}')
AND '${RCRT_C}' IN (r.target_recruitment_id, r.current_recruitment_id)
where hidden is false;</sql>
<variables_active>Y</variables_active>
<attributes/>
@ -243,7 +260,7 @@ from recruits_deferment rd
on erfd.id = rd.ervu_reason_for_deferment_id
join public.recruits r
ON r.id = rd.recruit_id
AND (r.target_recruitment_id= '${RCRT_C}' or r.current_recruitment_id = '${RCRT_C}')
AND '${RCRT_C}' IN (r.target_recruitment_id, r.current_recruitment_id)
where rd.hidden is false;</sql>
<variables_active>Y</variables_active>
<attributes/>
@ -306,23 +323,6 @@ where rd.hidden is false;</sql>
<yloc>208</yloc>
</GUI>
</transform>
<transform>
<name>Dummy (do nothing)</name>
<type>Dummy</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<attributes/>
<GUI>
<xloc>768</xloc>
<yloc>480</yloc>
</GUI>
</transform>
<transform_error_handling>
<error>
<source_transform>deferment_output</source_transform>

View file

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<pipeline>
<info>
<name>id_ern_once</name>
<name_sync_with_filename>Y</name_sync_with_filename>
<description/>
<extended_description/>
<pipeline_version/>
<pipeline_type>Normal</pipeline_type>
<parameters>
</parameters>
<capture_transform_performance>N</capture_transform_performance>
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
<created_user>-</created_user>
<created_date>2025/04/26 13:25:08.953</created_date>
<modified_user>-</modified_user>
<modified_date>2025/04/26 13:25:08.953</modified_date>
</info>
<notepads>
</notepads>
<order>
<hop>
<from>Table input</from>
<to>Update</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_person_registry</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>select id, system_id_ern as id_ern
from recruits as r
where '${RCRT_C}' IN (r.target_recruitment_id, r.current_recruitment_id);</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
<xloc>352</xloc>
<yloc>240</yloc>
</GUI>
</transform>
<transform>
<name>Update</name>
<type>Update</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<commit>1000</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>id</name>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>
<value>
<name>id_ern</name>
<rename>id_ern</rename>
</value>
</lookup>
<skip_lookup>N</skip_lookup>
<use_batch>Y</use_batch>
<attributes/>
<GUI>
<xloc>528</xloc>
<yloc>240</yloc>
</GUI>
</transform>
<transform_error_handling>
</transform_error_handling>
<attributes/>
</pipeline>

View file

@ -43,7 +43,9 @@
<sql>WITH ugol AS (SELECT ri.recruit_id,
jsonb_array_elements(ri.info -> 'svedFL' -> 'svedNakaz' -> 'nakaz') AS nakaz
FROM public.recruits_info ri
WHERE ri.info -> 'svedFL' -> 'svedNakaz' ->> 'nakaz' != 'null')
JOIN public.recruits r ON r.id = ri.recruit_id
WHERE ri.info -> 'svedFL' -> 'svedNakaz' ->> 'nakaz' != 'null'
AND '${RCRT_C}' IN (r.target_recruitment_id, r.current_recruitment_id))
SELECT recruit_id,
nakaz ->> 'naimSud' AS authority_name,
nakaz ->> 'srokNakaz' AS sentence,
@ -54,13 +56,10 @@ SELECT recruit_id,
TO_DATE(nakaz ->> 'dataNachSrok', 'YYYY-MM-DD') AS start_date,
TO_DATE(nakaz ->> 'dataOsvob', 'YYYY-MM-DD') AS release_date,
TO_DATE(nakaz ->> 'dataOsuzhd', 'YYYY-MM-DD') AS sentense_date,
string_agg(statiuk_elem::text, ', ') AS law_point,
nakaz ->> 'osnOsvob' release_reason
string_agg(statiuk_elem, ', ') AS law_point,
nakaz ->> 'osnOsvob' AS release_reason
FROM ugol
LEFT JOIN LATERAL jsonb_path_query(nakaz, '$.statiUK[*]') AS statiuk_elem ON true
join public.recruits r ON r.id = ugol.recruit_id AND
(r.target_recruitment_id = '${RCRT_C}' or
r.current_recruitment_id = '${RCRT_C}')
LEFT JOIN LATERAL jsonb_array_elements_text(nakaz -> 'statiUK') AS statiuk_elem ON true
GROUP BY recruit_id, nakaz;</sql>
<variables_active>Y</variables_active>
<attributes/>

View file

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="UTF-8"?>
<pipeline>
<info>
<name>recruit_ervu_status_once</name>
<name_sync_with_filename>Y</name_sync_with_filename>
<description/>
<extended_description/>
<pipeline_version/>
<pipeline_type>Normal</pipeline_type>
<parameters>
</parameters>
<capture_transform_performance>N</capture_transform_performance>
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
<created_user>-</created_user>
<created_date>2025/04/26 14:56:32.115</created_date>
<modified_user>-</modified_user>
<modified_date>2025/04/26 14:56:32.115</modified_date>
</info>
<notepads>
</notepads>
<order>
<hop>
<from>Table input</from>
<to>Insert / update</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update</from>
<to>Dummy (do nothing)</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_person_registry</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>select
code,
value,
description,
not hidden as actual
from recruit_ervu_status;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>304</xloc>
<yloc>256</yloc>
</GUI>
</transform>
<transform>
<name>Insert / update</name>
<type>InsertUpdate</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<commit>1000</commit>
<connection>ervu-dashboard</connection>
<lookup>
<key>
<condition>=</condition>
<field>code</field>
<name>code</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>recruit_ervu_status</table>
<value>
<name>code</name>
<rename>code</rename>
<update>N</update>
</value>
<value>
<name>value</name>
<rename>value</rename>
<update>Y</update>
</value>
<value>
<name>description</name>
<rename>description</rename>
<update>Y</update>
</value>
<value>
<name>actual</name>
<rename>actual</rename>
<update>Y</update>
</value>
</lookup>
<update_bypassed>N</update_bypassed>
<attributes/>
<GUI>
<xloc>512</xloc>
<yloc>256</yloc>
</GUI>
</transform>
<transform>
<name>Dummy (do nothing)</name>
<type>Dummy</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<attributes/>
<GUI>
<xloc>736</xloc>
<yloc>256</yloc>
</GUI>
</transform>
<transform_error_handling>
<error>
<source_transform>Insert / update</source_transform>
<target_transform>Dummy (do nothing)</target_transform>
<is_enabled>Y</is_enabled>
<nr_valuename/>
<descriptions_valuename/>
<fields_valuename/>
<codes_valuename/>
<max_errors/>
<max_pct_errors/>
<min_pct_rows/>
</error>
</transform_error_handling>
<attributes/>
</pipeline>

View file

@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<pipeline>
<info>
<name>recruitment_code_once</name>
<name_sync_with_filename>Y</name_sync_with_filename>
<description/>
<extended_description/>
<pipeline_version/>
<pipeline_type>Normal</pipeline_type>
<parameters>
</parameters>
<capture_transform_performance>N</capture_transform_performance>
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
<created_user>-</created_user>
<created_date>2025/04/26 16:42:00.557</created_date>
<modified_user>-</modified_user>
<modified_date>2025/04/26 16:42:00.557</modified_date>
</info>
<notepads>
</notepads>
<order>
<hop>
<from>Table input</from>
<to>Update</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_person_registry</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>select
id,
code
from recruitment;</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>336</xloc>
<yloc>256</yloc>
</GUI>
</transform>
<transform>
<name>Update</name>
<type>Update</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<commit>1000</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>idm_id</field>
<name>id</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>recruitment</table>
<value>
<name>code</name>
<rename>code</rename>
</value>
</lookup>
<skip_lookup>N</skip_lookup>
<use_batch>Y</use_batch>
<attributes/>
<GUI>
<xloc>464</xloc>
<yloc>256</yloc>
</GUI>
</transform>
<transform_error_handling>
</transform_error_handling>
<attributes/>
</pipeline>