lots of fixes
This commit is contained in:
parent
66840c2c28
commit
537a111284
55 changed files with 4722 additions and 5135 deletions
|
|
@ -1,5 +0,0 @@
|
|||
ARG RUNTIME_IMAGE=repo.micord.ru/tools/etl-base:0.0.1-sha1e61336f
|
||||
|
||||
FROM $RUNTIME_IMAGE
|
||||
|
||||
COPY mappings /opt/etl/config/projects/mappings
|
||||
41
db.env
41
db.env
|
|
@ -1,41 +0,0 @@
|
|||
DB_DASHBOARD_HOST=10.10.31.119
|
||||
DB_DASHBOARD_PORT=5432
|
||||
DB_DASHBOARD_NAME=ervu-dashboard-recr
|
||||
DB_DASHBOARD_USERNAME=ervu-dashboard
|
||||
DB_DASHBOARD_PASSWORD=ervu-dashboard
|
||||
|
||||
DB_APPEAL_HOST=10.10.31.118
|
||||
DB_APPEAL_PORT=5432
|
||||
DB_APPEAL_NAME=appeal-document-service
|
||||
DB_APPEAL_USERNAME=ervu
|
||||
DB_APPEAL_PASSWORD=ervu
|
||||
|
||||
DB_DECISION_HOST=10.10.31.118
|
||||
DB_DECISION_PORT=5432
|
||||
DB_DECISION_NAME=ervu-decision-document-service
|
||||
DB_DECISION_USERNAME=ervu
|
||||
DB_DECISION_PASSWORD=ervu
|
||||
|
||||
DB_PERSON_HOST=10.10.31.118
|
||||
DB_PERSON_PORT=5432
|
||||
DB_PERSON_NAME=ervu-person-registry
|
||||
DB_PERSON_USERNAME=ervu
|
||||
DB_PERSON_PASSWORD=ervu
|
||||
|
||||
DB_SUBPOENA_HOST=10.10.31.118
|
||||
DB_SUBPOENA_PORT=5432
|
||||
DB_SUBPOENA_NAME=ervu-subpoena-registry
|
||||
DB_SUBPOENA_USERNAME=ervu
|
||||
DB_SUBPOENA_PASSWORD=ervu
|
||||
|
||||
DB_JOURNAL_HOST=10.10.31.118
|
||||
DB_JOURNAL_PORT=5432
|
||||
DB_JOURNAL_NAME=journal_dev
|
||||
DB_JOURNAL_USERNAME=ervu
|
||||
DB_JOURNAL_PASSWORD=ervu
|
||||
|
||||
DB_METRICS_HOST=10.10.31.119
|
||||
DB_METRICS_PORT=5432
|
||||
DB_METRICS_NAME=ervu-dashboard-copy
|
||||
DB_METRICS_USERNAME=ervu_business_metrics
|
||||
DB_METRICS_PASSWORD=ervu_business_metrics
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# https://gist.github.com/athlan/b6f09977e2f5cf20840ef61ca3cda932
|
||||
printenv | sed 's/^\(.*\)$/export \1/g' > /root/.env.sh
|
||||
chmod +x /root/.env.sh
|
||||
|
||||
export TZ=Europe/Moscow
|
||||
|
||||
#. /etc/profile
|
||||
#. ~/.bash_profile
|
||||
#. ~/.bashrc
|
||||
cd /opt/pentaho-di/mappings_old
|
||||
|
||||
for F in $(find . -type f); do
|
||||
sed -i "s/1111/$DB_DASHBOARD_PORT/g" $F
|
||||
sed -i "s/dashboard-dbhost/$DB_DASHBOARD_HOST/g" $F
|
||||
sed -i "s/dashboard-dbname/$DB_DASHBOARD_NAME/g" $F
|
||||
sed -i "s/dashboard-dbuser/$DB_DASHBOARD_USERNAME/g" $F
|
||||
sed -i "s/Encrypted 2daf9dca008c89396af54aa72ce93bcc9/$DB_DASHBOARD_PASSWORD/g" $F
|
||||
|
||||
sed -i "s/2222/$DB_APPEAL_PORT/g" $F
|
||||
sed -i "s/appeal-dbhost/$DB_APPEAL_HOST/g" $F
|
||||
sed -i "s/appeal-dbname/$DB_APPEAL_NAME/g" $F
|
||||
sed -i "s/appeal-dbuser/$DB_APPEAL_USERNAME/g" $F
|
||||
sed -i "s/Encrypted 2be98afa91ad79785a754aa72ce93bcc9/$DB_APPEAL_PASSWORD/g" $F
|
||||
|
||||
sed -i "s/3333/$DB_DECISION_PORT/g" $F
|
||||
sed -i "s/decision-dbhost/$DB_DECISION_HOST/g" $F
|
||||
sed -i "s/decision-dbname/$DB_DECISION_NAME/g" $F
|
||||
sed -i "s/decision-dbuser/$DB_DECISION_USERNAME/g" $F
|
||||
sed -i "s/Encrypted 2befccaab03d49b8ba554aa72ce93bcc9/$DB_DECISION_PASSWORD/g" $F
|
||||
|
||||
sed -i "s/4444/$DB_PERSON_PORT/g" $F
|
||||
sed -i "s/person-dbhost/$DB_PERSON_HOST/g" $F
|
||||
sed -i "s/person-dbname/$DB_PERSON_NAME/g" $F
|
||||
sed -i "s/person-dbuser/$DB_PERSON_USERNAME/g" $F
|
||||
sed -i "s/Encrypted 2be98afb80fd5818ba554aa72ce93bcc9/$DB_PERSON_PASSWORD/g" $F
|
||||
|
||||
sed -i "s/5555/$DB_SUBPOENA_PORT/g" $F
|
||||
sed -i "s/subpoena-dbhost/$DB_SUBPOENA_HOST/g" $F
|
||||
sed -i "s/subpoena-dbname/$DB_SUBPOENA_NAME/g" $F
|
||||
sed -i "s/subpoena-dbuser/$DB_SUBPOENA_USERNAME/g" $F
|
||||
sed -i "s/Encrypted 2beebdaaa1ac8978aaa54aa72ce93bcc9/$DB_SUBPOENA_PASSWORD/g" $F
|
||||
|
||||
sed -i "s/6666/$DB_JOURNAL_PORT/g" $F
|
||||
sed -i "s/journal-dbhost/$DB_JOURNAL_HOST/g" $F
|
||||
sed -i "s/journal-dbname/$DB_JOURNAL_NAME/g" $F
|
||||
sed -i "s/journal-dbuser/$DB_JOURNAL_USERNAME/g" $F
|
||||
sed -i "s/Encrypted 2be98afc86aa7f2e4cb79ce10db80b9cf/$DB_JOURNAL_PASSWORD/g" $F
|
||||
|
||||
sed -i "s/7777/$DB_METRICS_PORT/g" $F
|
||||
sed -i "s/metrics-dbhost/$DB_METRICS_HOST/g" $F
|
||||
sed -i "s/metrics-dbname/$DB_METRICS_NAME/g" $F
|
||||
sed -i "s/metrics-dbuser/$DB_METRICS_USERNAME/g" $F
|
||||
sed -i "s/Encrypted 657276755ddceddca104c281979414ab64cc9bacc9/$DB_METRICS_PASSWORD/g" $F
|
||||
done;
|
||||
|
||||
#Запускаем job один раз при старте контейнера
|
||||
echo "---- Run info_recruits/job_info_recruits.kjb ----"
|
||||
bash -c ". /root/.env.sh; /opt/pentaho-di/data-integration/kitchen.sh /file:////opt/pentaho-di/mappings_old/info_recruits/job_info_recruits.kjb > /proc/1/fd/1 2>&1"
|
||||
|
||||
if [ $RUNONCE == true ]; then
|
||||
echo "---- Run job_general.kjb ----"
|
||||
bash -c ". /root/.env.sh; /opt/pentaho-di/data-integration/kitchen.sh /file:////opt/pentaho-di/mappings_old/job_general.kjb > /proc/1/fd/1 2>&1"
|
||||
echo "---- Run job_metr.kjb ----"
|
||||
bash -c ". /root/.env.sh; /opt/pentaho-di/data-integration/kitchen.sh /file:////opt/pentaho-di/mappings_old/metrics/job_metr.kjb > /proc/1/fd/1 2>&1"
|
||||
exit $?
|
||||
else
|
||||
cat /root/crontab | crontab -
|
||||
cron -f
|
||||
fi
|
||||
|
||||
|
|
@ -1,142 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<workflow>
|
||||
<name>job_last_update_date_appeal_document</name>
|
||||
<name_sync_with_filename>Y</name_sync_with_filename>
|
||||
<description/>
|
||||
<extended_description/>
|
||||
<workflow_version/>
|
||||
<created_user>-</created_user>
|
||||
<created_date>2025/06/02 14:48:05.666</created_date>
|
||||
<modified_user>-</modified_user>
|
||||
<modified_date>2025/06/02 14:48:05.666</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>592</xloc>
|
||||
<yloc>352</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>recruit_update_date_ervu_dashboard.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/recruit_update_date_ervu_dashboard.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>N</parallel>
|
||||
<xloc>784</xloc>
|
||||
<yloc>352</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>N</parallel>
|
||||
<xloc>1056</xloc>
|
||||
<yloc>352</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>Success</name>
|
||||
<description/>
|
||||
<type>SUCCESS</type>
|
||||
<attributes/>
|
||||
<parallel>N</parallel>
|
||||
<xloc>1232</xloc>
|
||||
<yloc>352</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
</actions>
|
||||
<hops>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>recruit_update_date_ervu_dashboard.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>recruit_update_date_ervu_dashboard.hpl</from>
|
||||
<to>row_last_recruit_update_date.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>row_last_recruit_update_date.hpl</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
</hops>
|
||||
<notepads>
|
||||
<notepad>
|
||||
<backgroundcolorblue>251</backgroundcolorblue>
|
||||
<backgroundcolorgreen>232</backgroundcolorgreen>
|
||||
<backgroundcolorred>201</backgroundcolorred>
|
||||
<bordercolorblue>90</bordercolorblue>
|
||||
<bordercolorgreen>58</bordercolorgreen>
|
||||
<bordercolorred>14</bordercolorred>
|
||||
<fontbold>N</fontbold>
|
||||
<fontcolorblue>90</fontcolorblue>
|
||||
<fontcolorgreen>58</fontcolorgreen>
|
||||
<fontcolorred>14</fontcolorred>
|
||||
<fontitalic>N</fontitalic>
|
||||
<fontname>Segoe UI</fontname>
|
||||
<fontsize>9</fontsize>
|
||||
<height>26</height>
|
||||
<xloc>581</xloc>
|
||||
<yloc>546</yloc>
|
||||
<note>А где испольуезтся джоба? </note>
|
||||
<width>162</width>
|
||||
</notepad>
|
||||
</notepads>
|
||||
<attributes/>
|
||||
</workflow>
|
||||
|
|
@ -18,86 +18,76 @@
|
|||
<modified_date>2025/08/05 14:31:22.799</modified_date>
|
||||
</info>
|
||||
<notepads>
|
||||
<notepad>
|
||||
<backgroundcolorblue>251</backgroundcolorblue>
|
||||
<backgroundcolorgreen>232</backgroundcolorgreen>
|
||||
<backgroundcolorred>201</backgroundcolorred>
|
||||
<bordercolorblue>90</bordercolorblue>
|
||||
<bordercolorgreen>58</bordercolorgreen>
|
||||
<bordercolorred>14</bordercolorred>
|
||||
<fontbold>N</fontbold>
|
||||
<fontcolorblue>90</fontcolorblue>
|
||||
<fontcolorgreen>58</fontcolorgreen>
|
||||
<fontcolorred>14</fontcolorred>
|
||||
<fontitalic>N</fontitalic>
|
||||
<fontname>Segoe UI</fontname>
|
||||
<fontsize>9</fontsize>
|
||||
<height>26</height>
|
||||
<xloc>352</xloc>
|
||||
<yloc>480</yloc>
|
||||
<note>в таблице нет апдейт даты</note>
|
||||
<width>154</width>
|
||||
</notepad>
|
||||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Create job execution record</from>
|
||||
<to>Table input</to>
|
||||
<from>сreate_job_execution_record_CAV</from>
|
||||
<to>table_input_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Filter rows</from>
|
||||
<to>Change job status on success</to>
|
||||
<from>filter_last_row_CAV</from>
|
||||
<to>change_job_status_on_success_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Detect empty stream</from>
|
||||
<to>Change job status on success</to>
|
||||
<from>detect_empty_stream_CAV</from>
|
||||
<to>change_job_status_on_success_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Change job status on error</from>
|
||||
<to>Abort</to>
|
||||
<from>change_job_status_on_error_CAV</from>
|
||||
<to>abort_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error</to>
|
||||
<from>update_CAV</from>
|
||||
<to>change_job_status_on_error_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table output</from>
|
||||
<to>Change job status on error</to>
|
||||
<from>table_output_CAV</from>
|
||||
<to>change_job_status_on_error_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>sort_by_recruit_id</from>
|
||||
<to>Update</to>
|
||||
<from>table_output_CAV</from>
|
||||
<to>filter_last_row_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table output</from>
|
||||
<to>Filter rows</to>
|
||||
<from>table_input_CAV</from>
|
||||
<to>identify_last_row_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Detect empty stream</to>
|
||||
<from>identify_last_row_CAV</from>
|
||||
<to>detect_empty_stream_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Table output</to>
|
||||
<from>identify_last_row_CAV</from>
|
||||
<to>table_output_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>sort_by_recruit_id</to>
|
||||
<from>identify_last_row_CAV</from>
|
||||
<to>filter_true_appeal_violations</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>filter_true_appeal_violations</from>
|
||||
<to>sort_rows_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>sort_rows_CAV</from>
|
||||
<to>update_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Abort</name>
|
||||
<name>abort_CAV</name>
|
||||
<type>Abort</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -112,12 +102,12 @@
|
|||
<row_threshold>0</row_threshold>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1264</xloc>
|
||||
<xloc>1488</xloc>
|
||||
<yloc>832</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on error</name>
|
||||
<name>change_job_status_on_error_CAV</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -148,12 +138,12 @@ and recruitment_id = '${IDM_ID}';
|
|||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1088</xloc>
|
||||
<xloc>1296</xloc>
|
||||
<yloc>832</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on success</name>
|
||||
<name>change_job_status_on_success_CAV</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -180,41 +170,12 @@ and recruitment_id = '${IDM_ID}';
|
|||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1088</xloc>
|
||||
<xloc>1296</xloc>
|
||||
<yloc>480</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>432</xloc>
|
||||
<yloc>656</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Detect empty stream</name>
|
||||
<name>detect_empty_stream_CAV</name>
|
||||
<type>DetectEmptyStream</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -226,12 +187,12 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
|
|||
</partitioning>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>640</xloc>
|
||||
<xloc>736</xloc>
|
||||
<yloc>480</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Filter rows</name>
|
||||
<name>filter_last_row_CAV</name>
|
||||
<type>FilterRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -259,16 +220,52 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
|
|||
</value>
|
||||
</condition>
|
||||
</compare>
|
||||
<send_true_to>Change job status on success</send_true_to>
|
||||
<send_true_to>change_job_status_on_success_CAV</send_true_to>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1088</xloc>
|
||||
<xloc>1296</xloc>
|
||||
<yloc>656</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Table input</name>
|
||||
<type>TableInput</type>
|
||||
<name>filter_true_appeal_violations</name>
|
||||
<type>FilterRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<compare>
|
||||
<condition>
|
||||
<conditions>
|
||||
</conditions>
|
||||
<function>=</function>
|
||||
<leftvalue>has_appealing_violations_fz53</leftvalue>
|
||||
<negated>N</negated>
|
||||
<operator>-</operator>
|
||||
<value>
|
||||
<isnull>N</isnull>
|
||||
<length>-1</length>
|
||||
<name>constant</name>
|
||||
<precision>-1</precision>
|
||||
<text>Y</text>
|
||||
<type>Boolean</type>
|
||||
</value>
|
||||
</condition>
|
||||
</compare>
|
||||
<send_true_to>sort_rows_CAV</send_true_to>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>736</xloc>
|
||||
<yloc>832</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>identify_last_row_CAV</name>
|
||||
<type>DetectLastRow</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
|
|
@ -277,43 +274,86 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
|
|||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<connection>postgres.decision-document-service</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit/>
|
||||
<sql>with filtered_data as ( SELECT
|
||||
ad.recruit_id,
|
||||
ad.create_date, -- дата создания обжалования
|
||||
ad.appeal_number AS number_appealed, -- номер обжалуемого решения
|
||||
ad.appeal_date AS date_appealed, -- дата обжалуемого решения
|
||||
ad.result_number AS case_number, -- номер принятого решения
|
||||
ad.result_date AS decision_date, -- дата принятия решения
|
||||
CASE
|
||||
WHEN ad.result = '1' THEN 'Удовлетворена'
|
||||
WHEN ad.result = '2' THEN 'Частично удовлетворена'
|
||||
WHEN ad.result = '3' THEN 'Отказано в удовлетворении'
|
||||
END AS result_appeal, -- код рассмотрения
|
||||
ad.commission_name AS name_commission, -- наименование комиссии, принявшей решение
|
||||
ad.reason_for_add_entry AS grounds, -- основание для внесения записи
|
||||
ad.hidden,
|
||||
NOT ad.hidden AS has_appealing_violations_fz53,
|
||||
ctid
|
||||
FROM public.appeal_document_dto ad
|
||||
JOIN public.recruit r ON r.id = ad.recruit_id AND '${IDM_ID}' != '' -- Проверка на пустую строку
|
||||
AND (r.current_recruitment = '${IDM_ID}' or (r.current_recruitment is null and r.target_recruitment = '${IDM_ID}')))
|
||||
select
|
||||
fd.*,
|
||||
fd.ctid = (select max(ctid) from filtered_data) as last_row
|
||||
from filtered_data fd;
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<resultfieldname>last_row</resultfieldname>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>640</xloc>
|
||||
<xloc>736</xloc>
|
||||
<yloc>656</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Table output</name>
|
||||
<name>sort_rows_CAV</name>
|
||||
<type>SortRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>out</prefix>
|
||||
<sort_size>1000000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>912</xloc>
|
||||
<yloc>832</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>table_input_CAV</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<connection>appeal_test</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<sql>SELECT ad.recruit_id,
|
||||
ad.updated_at, -- дата создания обжалования
|
||||
ad.appeal_number AS appeal_number, -- номер обжалуемого решения
|
||||
ad.appeal_date AS appeal_date, -- дата обжалуемого решения
|
||||
ad.extra_info ->> 'resultNumber' AS decision_number, -- номер принятого решения
|
||||
to_date(ad.extra_info ->> 'resultDate', 'YYYY-MM-DD') AS decision_date, -- дата принятия решения
|
||||
CASE ad.extra_info ->> 'result'
|
||||
WHEN '1' THEN 'Удовлетворена'
|
||||
WHEN '2' THEN 'Частично удовлетворена'
|
||||
WHEN '3' THEN 'Отказано в удовлетворении'
|
||||
END AS decision_result, -- код рассмотрения
|
||||
ad.extra_info ->> 'commissionName' AS commision_name, -- наименование комиссии, принявшей решение
|
||||
ad.extra_info ->> 'reasonForAddEntry' AS reason, -- основание для внесения записи
|
||||
ad.hidden,
|
||||
NOT ad.hidden AS has_appealing_violations_fz53
|
||||
FROM public.appeal_document ad
|
||||
--where ad.vk_id = '${IDM_ID}'</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>560</xloc>
|
||||
<yloc>656</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>table_output_CAV</name>
|
||||
<type>TableOutput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -324,43 +364,43 @@ select
|
|||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>10000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<connection>ervu_dashboard_test</connection>
|
||||
<fields>
|
||||
<field>
|
||||
<column_name>recruit_id</column_name>
|
||||
<stream_name>recruit_id</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>create_date</column_name>
|
||||
<stream_name>create_date</stream_name>
|
||||
<column_name>updated_at</column_name>
|
||||
<stream_name>updated_at</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>number_appealed</column_name>
|
||||
<stream_name>number_appealed</stream_name>
|
||||
<column_name>appeal_number</column_name>
|
||||
<stream_name>appeal_number</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>date_appealed</column_name>
|
||||
<stream_name>date_appealed</stream_name>
|
||||
<column_name>appeal_date</column_name>
|
||||
<stream_name>appeal_date</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>case_number</column_name>
|
||||
<stream_name>case_number</stream_name>
|
||||
<column_name>decision_number</column_name>
|
||||
<stream_name>decision_number</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>decision_date</column_name>
|
||||
<stream_name>decision_date</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>result_appeal</column_name>
|
||||
<stream_name>result_appeal</stream_name>
|
||||
<column_name>decision_result</column_name>
|
||||
<stream_name>decision_result</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>name_commission</column_name>
|
||||
<stream_name>name_commission</stream_name>
|
||||
<column_name>commision_name</column_name>
|
||||
<stream_name>commision_name</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>grounds</column_name>
|
||||
<stream_name>grounds</stream_name>
|
||||
<column_name>reason</column_name>
|
||||
<stream_name>reason</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>hidden</column_name>
|
||||
|
|
@ -371,23 +411,26 @@ select
|
|||
<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_appealing_violations_fz53</table>
|
||||
<tablename_field/>
|
||||
<tablename_in_field>N</tablename_in_field>
|
||||
<tablename_in_table>Y</tablename_in_table>
|
||||
<truncate>N</truncate>
|
||||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>848</xloc>
|
||||
<xloc>1056</xloc>
|
||||
<yloc>656</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Update</name>
|
||||
<name>update_CAV</name>
|
||||
<type>Update</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
|
|
@ -417,13 +460,13 @@ select
|
|||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>848</xloc>
|
||||
<xloc>1056</xloc>
|
||||
<yloc>832</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>sort_by_recruit_id</name>
|
||||
<type>SortRows</type>
|
||||
<name>сreate_job_execution_record_CAV</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
|
|
@ -432,33 +475,28 @@ select
|
|||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>srt</prefix>
|
||||
<sort_size>100000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<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>640</xloc>
|
||||
<yloc>832</yloc>
|
||||
<xloc>352</xloc>
|
||||
<yloc>656</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
<error>
|
||||
<source_transform>Table output</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<source_transform>table_output_CAV</source_transform>
|
||||
<target_transform>change_job_status_on_error_CAV</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
@ -469,8 +507,8 @@ select
|
|||
<min_pct_rows/>
|
||||
</error>
|
||||
<error>
|
||||
<source_transform>Update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<source_transform>update_CAV</source_transform>
|
||||
<target_transform>change_job_status_on_error_CAV</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
|
|||
|
|
@ -21,68 +21,73 @@
|
|||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Create job execution record</from>
|
||||
<to>Table input</to>
|
||||
<from>update_job_execution_record_CAV</from>
|
||||
<to>table_input_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Detect empty stream</from>
|
||||
<to>Change job status on success</to>
|
||||
<from>detect_empty_stream_CAV</from>
|
||||
<to>change_job_status_on_success_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Filter rows</from>
|
||||
<to>Change job status on success</to>
|
||||
<from>filter_last_row_CAV</from>
|
||||
<to>change_job_status_on_success_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Change job status on error</from>
|
||||
<to>Abort</to>
|
||||
<from>change_job_status_on_error_CAV</from>
|
||||
<to>abort_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Insert / update</from>
|
||||
<to>Change job status on error</to>
|
||||
<from>upsert_CAV</from>
|
||||
<to>change_job_status_on_error_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error</to>
|
||||
<from>update_CAV</from>
|
||||
<to>change_job_status_on_error_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>sort_by_recruit_id</from>
|
||||
<to>Update</to>
|
||||
<from>table_input_CAV</from>
|
||||
<to>identify_last_row_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Identify last row in a stream</to>
|
||||
<from>identify_last_row_CAV</from>
|
||||
<to>upsert_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>Insert / update</to>
|
||||
<from>identify_last_row_CAV</from>
|
||||
<to>detect_empty_stream_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>sort_by_recruit_id</to>
|
||||
<from>upsert_CAV</from>
|
||||
<to>filter_last_row_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>Detect empty stream</to>
|
||||
<from>filter_true_appeal_violations</from>
|
||||
<to>sort_rows_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Insert / update</from>
|
||||
<to>Filter rows</to>
|
||||
<from>identify_last_row_CAV</from>
|
||||
<to>filter_true_appeal_violations</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>sort_rows_CAV</from>
|
||||
<to>update_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Abort</name>
|
||||
<name>abort_CAV</name>
|
||||
<type>Abort</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -98,11 +103,11 @@
|
|||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1472</xloc>
|
||||
<yloc>400</yloc>
|
||||
<yloc>384</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on error</name>
|
||||
<name>change_job_status_on_error_CAV</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -133,12 +138,12 @@ and recruitment_id = '${IDM_ID}';
|
|||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1200</xloc>
|
||||
<yloc>400</yloc>
|
||||
<xloc>1312</xloc>
|
||||
<yloc>384</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on success</name>
|
||||
<name>change_job_status_on_success_CAV</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -170,7 +175,224 @@ and recruitment_id = '${IDM_ID}';
|
|||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Create job execution record</name>
|
||||
<name>detect_empty_stream_CAV</name>
|
||||
<type>DetectEmptyStream</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>736</xloc>
|
||||
<yloc>80</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>filter_last_row_CAV</name>
|
||||
<type>FilterRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<compare>
|
||||
<condition>
|
||||
<conditions>
|
||||
</conditions>
|
||||
<function>=</function>
|
||||
<leftvalue>last_row</leftvalue>
|
||||
<negated>N</negated>
|
||||
<operator>-</operator>
|
||||
<value>
|
||||
<isnull>N</isnull>
|
||||
<length>-1</length>
|
||||
<name>constant</name>
|
||||
<precision>-1</precision>
|
||||
<text>Y</text>
|
||||
<type>Boolean</type>
|
||||
</value>
|
||||
</condition>
|
||||
</compare>
|
||||
<send_true_to>change_job_status_on_success_CAV</send_true_to>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1472</xloc>
|
||||
<yloc>224</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>filter_true_appeal_violations</name>
|
||||
<type>FilterRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<compare>
|
||||
<condition>
|
||||
<conditions>
|
||||
</conditions>
|
||||
<function>=</function>
|
||||
<leftvalue>has_appealing_violations_fz53</leftvalue>
|
||||
<negated>N</negated>
|
||||
<operator>-</operator>
|
||||
<value>
|
||||
<isnull>N</isnull>
|
||||
<length>-1</length>
|
||||
<name>constant</name>
|
||||
<precision>-1</precision>
|
||||
<text>Y</text>
|
||||
<type>Boolean</type>
|
||||
</value>
|
||||
</condition>
|
||||
</compare>
|
||||
<send_true_to>sort_rows_CAV</send_true_to>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>736</xloc>
|
||||
<yloc>384</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>identify_last_row_CAV</name>
|
||||
<type>DetectLastRow</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<resultfieldname>last_row</resultfieldname>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>736</xloc>
|
||||
<yloc>224</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>sort_rows_CAV</name>
|
||||
<type>SortRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>out</prefix>
|
||||
<sort_size>1000000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>928</xloc>
|
||||
<yloc>384</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>table_input_CAV</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<connection>appeal_test</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<sql>SELECT ad.recruit_id,
|
||||
ad.updated_at, -- дата создания обжалования
|
||||
ad.appeal_number AS appeal_number, -- номер обжалуемого решения
|
||||
ad.appeal_date AS appeal_date, -- дата обжалуемого решения
|
||||
ad.extra_info ->> 'resultNumber' AS decision_number, -- номер принятого решения
|
||||
to_date(ad.extra_info ->> 'resultDate', 'YYYY-MM-DD') AS decision_date, -- дата принятия решения
|
||||
CASE ad.extra_info ->> 'result'
|
||||
WHEN '1' THEN 'Удовлетворена'
|
||||
WHEN '2' THEN 'Частично удовлетворена'
|
||||
WHEN '3' THEN 'Отказано в удовлетворении'
|
||||
END AS decision_result, -- код рассмотрения
|
||||
ad.extra_info ->> 'commissionName' AS commission_name, -- наименование комиссии, принявшей решение
|
||||
ad.extra_info ->> 'reasonForAddEntry' AS reason, -- основание для внесения записи
|
||||
ad.hidden,
|
||||
NOT ad.hidden AS has_appealing_violations_fz53
|
||||
FROM public.appeal_document ad
|
||||
where ad.vk_id = '${IDM_ID}'
|
||||
and case when '${MAX_UPDATE_DATE}' <> ''
|
||||
then to_date(ri.info -> 'svedFL' -> 'svedDeputat' -> 'deputat' ->> 'dataSved', 'YYYY-MM-DD') >
|
||||
to_date('${MAX_UPDATE_DATE}', 'YYYY-MM-DD')
|
||||
else true end;</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>544</xloc>
|
||||
<yloc>224</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>update_CAV</name>
|
||||
<type>Update</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>10000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<error_ignored>Y</error_ignored>
|
||||
<lookup>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizen</table>
|
||||
<value>
|
||||
<name>has_appealing_violations_fz53</name>
|
||||
<rename>has_appealing_violations_fz53</rename>
|
||||
</value>
|
||||
</lookup>
|
||||
<skip_lookup>N</skip_lookup>
|
||||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1088</xloc>
|
||||
<yloc>384</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>update_job_execution_record_CAV</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -202,78 +424,7 @@ and recruitment_id = '${IDM_ID}';</sql>
|
|||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Detect empty stream</name>
|
||||
<type>DetectEmptyStream</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>736</xloc>
|
||||
<yloc>80</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Filter rows</name>
|
||||
<type>FilterRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<compare>
|
||||
<condition>
|
||||
<conditions>
|
||||
</conditions>
|
||||
<function>=</function>
|
||||
<leftvalue>last_row</leftvalue>
|
||||
<negated>N</negated>
|
||||
<operator>-</operator>
|
||||
<value>
|
||||
<isnull>N</isnull>
|
||||
<length>-1</length>
|
||||
<name>constant</name>
|
||||
<precision>-1</precision>
|
||||
<text>Y</text>
|
||||
<type>Boolean</type>
|
||||
</value>
|
||||
</condition>
|
||||
</compare>
|
||||
<send_true_to>Change job status on success</send_true_to>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1472</xloc>
|
||||
<yloc>224</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Identify last row in a stream</name>
|
||||
<type>DetectLastRow</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<resultfieldname>last_row</resultfieldname>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>736</xloc>
|
||||
<yloc>224</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Insert / update</name>
|
||||
<name>upsert_CAV</name>
|
||||
<type>InsertUpdate</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -284,7 +435,7 @@ and recruitment_id = '${IDM_ID}';</sql>
|
|||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>10000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<connection>ervu_dashboard_test</connection>
|
||||
<lookup>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
|
|
@ -293,8 +444,8 @@ and recruitment_id = '${IDM_ID}';</sql>
|
|||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>create_date</field>
|
||||
<name>create_date</name>
|
||||
<field>appeal_number</field>
|
||||
<name>appeal_number</name>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizen_appealing_violations_fz53</table>
|
||||
|
|
@ -304,23 +455,23 @@ and recruitment_id = '${IDM_ID}';</sql>
|
|||
<update>N</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>create_date</name>
|
||||
<rename>create_date</rename>
|
||||
<name>updated_at</name>
|
||||
<rename>updated_at</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>appeal_number</name>
|
||||
<rename>appeal_number</rename>
|
||||
<update>N</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>number_appealed</name>
|
||||
<rename>number_appealed</rename>
|
||||
<name>appeal_date</name>
|
||||
<rename>appeal_date</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>date_appealed</name>
|
||||
<rename>date_appealed</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>case_number</name>
|
||||
<rename>case_number</rename>
|
||||
<name>decision_number</name>
|
||||
<rename>decision_number</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
|
|
@ -329,18 +480,18 @@ and recruitment_id = '${IDM_ID}';</sql>
|
|||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>result_appeal</name>
|
||||
<rename>result_appeal</rename>
|
||||
<name>decision_result</name>
|
||||
<rename>decision_result</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>name_commission</name>
|
||||
<rename>name_commission</rename>
|
||||
<name>commission_name</name>
|
||||
<rename>commission_name</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>grounds</name>
|
||||
<rename>grounds</rename>
|
||||
<name>reason</name>
|
||||
<rename>reason</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
|
|
@ -352,127 +503,14 @@ and recruitment_id = '${IDM_ID}';</sql>
|
|||
<update_bypassed>N</update_bypassed>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>928</xloc>
|
||||
<xloc>1088</xloc>
|
||||
<yloc>224</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>postgres.decision-document-service</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<sql>SELECT
|
||||
ad.recruit_id,
|
||||
ad.create_date, -- дата создания обжалования
|
||||
ad.appeal_number AS number_appealed, -- номер обжалуемого решения
|
||||
ad.appeal_date AS date_appealed, -- дата обжалуемого решения
|
||||
ad.result_number AS case_number, -- номер принятого решения
|
||||
ad.result_date AS decision_date, -- дата принятия решения
|
||||
CASE
|
||||
WHEN ad.result = '1' THEN 'Удовлетворена'
|
||||
WHEN ad.result = '2' THEN 'Частично удовлетворена'
|
||||
WHEN ad.result = '3' THEN 'Отказано в удовлетворении'
|
||||
ELSE NULL
|
||||
END AS result_appeal, -- код рассмотрения
|
||||
ad.commission_name AS name_commission, -- наименование комиссии, принявшей решение
|
||||
ad.reason_for_add_entry AS grounds, -- основание для внесения записи
|
||||
ad.hidden,
|
||||
NOT ad.hidden AS has_appealing_violations_fz53
|
||||
FROM public.appeal_document_dto ad
|
||||
JOIN public.recruit r ON r.id = ad.recruit_id AND '${IDM_ID}' != '' -- Проверка на пустую строку
|
||||
AND (r.current_recruitment = '${IDM_ID}' or (r.current_recruitment is null and r.target_recruitment = '${IDM_ID}'))
|
||||
AND ad.create_date >= '${MAX_CREATE_DATE}'::timestamp
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>544</xloc>
|
||||
<yloc>224</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Update</name>
|
||||
<type>Update</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<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>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizen</table>
|
||||
<value>
|
||||
<name>has_appealing_violations_fz53</name>
|
||||
<rename>has_appealing_violations_fz53</rename>
|
||||
</value>
|
||||
</lookup>
|
||||
<skip_lookup>N</skip_lookup>
|
||||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>928</xloc>
|
||||
<yloc>400</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>sort_by_recruit_id</name>
|
||||
<type>SortRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>srt</prefix>
|
||||
<sort_size>100000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>736</xloc>
|
||||
<yloc>400</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
<error>
|
||||
<source_transform>Insert / update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<source_transform>update_CAV</source_transform>
|
||||
<target_transform>change_job_status_on_error_CAV</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
@ -483,8 +521,8 @@ JOIN public.recruit r ON r.id = ad.recruit_id AND '${IDM_ID}' != '' -- Пров
|
|||
<min_pct_rows/>
|
||||
</error>
|
||||
<error>
|
||||
<source_transform>Update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<source_transform>upsert_CAV</source_transform>
|
||||
<target_transform>change_job_status_on_error_CAV</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
|
|||
|
|
@ -21,63 +21,73 @@
|
|||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Create job execution record</from>
|
||||
<to>Table input</to>
|
||||
<from>upsert_job_execution_record_CAV</from>
|
||||
<to>table_input_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Filter rows</from>
|
||||
<to>Change job status on success</to>
|
||||
<from>filter_last_row_CAV</from>
|
||||
<to>change_job_status_on_success_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Detect empty stream</from>
|
||||
<to>Change job status on success</to>
|
||||
<from>detect_empty_stream_CAV</from>
|
||||
<to>change_job_status_on_success_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Change job status on error</from>
|
||||
<to>Abort</to>
|
||||
<from>change_job_status_on_error_CAV</from>
|
||||
<to>abort_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Insert / update</from>
|
||||
<to>Change job status on error</to>
|
||||
<from>upsert_CAV</from>
|
||||
<to>change_job_status_on_error_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error</to>
|
||||
<from>update_CAV</from>
|
||||
<to>change_job_status_on_error_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>sort_by_recruit_id</from>
|
||||
<to>Update</to>
|
||||
<from>upsert_CAV</from>
|
||||
<to>filter_last_row_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Insert / update</from>
|
||||
<to>Filter rows</to>
|
||||
<from>table_input_CAV</from>
|
||||
<to>identify_last_row_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Detect empty stream</to>
|
||||
<from>filter_true_appeal_violations</from>
|
||||
<to>sort_rows_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Insert / update</to>
|
||||
<from>identify_last_row_CAV</from>
|
||||
<to>filter_true_appeal_violations</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>sort_by_recruit_id</to>
|
||||
<from>identify_last_row_CAV</from>
|
||||
<to>detect_empty_stream_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>identify_last_row_CAV</from>
|
||||
<to>upsert_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>sort_rows_CAV</from>
|
||||
<to>update_CAV</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Abort</name>
|
||||
<name>abort_CAV</name>
|
||||
<type>Abort</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -92,12 +102,12 @@
|
|||
<row_threshold>0</row_threshold>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1120</xloc>
|
||||
<yloc>368</yloc>
|
||||
<xloc>1440</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on error</name>
|
||||
<name>change_job_status_on_error_CAV</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -128,12 +138,12 @@ and recruitment_id = '${IDM_ID}';
|
|||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>944</xloc>
|
||||
<yloc>368</yloc>
|
||||
<xloc>1248</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on success</name>
|
||||
<name>change_job_status_on_success_CAV</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -160,59 +170,12 @@ and recruitment_id = '${IDM_ID}';
|
|||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>944</xloc>
|
||||
<xloc>1248</xloc>
|
||||
<yloc>64</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}'
|
||||
)
|
||||
ON CONFLICT (job_name, recruitment_id)
|
||||
DO UPDATE SET
|
||||
status = 'PROCESSING',
|
||||
execution_datetime = DEFAULT,
|
||||
error_description = NULL
|
||||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>272</xloc>
|
||||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Detect empty stream</name>
|
||||
<name>detect_empty_stream_CAV</name>
|
||||
<type>DetectEmptyStream</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -224,12 +187,12 @@ DO UPDATE SET
|
|||
</partitioning>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>480</xloc>
|
||||
<xloc>688</xloc>
|
||||
<yloc>64</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Filter rows</name>
|
||||
<name>filter_last_row_CAV</name>
|
||||
<type>FilterRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -257,16 +220,16 @@ DO UPDATE SET
|
|||
</value>
|
||||
</condition>
|
||||
</compare>
|
||||
<send_true_to>Change job status on success</send_true_to>
|
||||
<send_true_to>change_job_status_on_success_CAV</send_true_to>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>944</xloc>
|
||||
<xloc>1248</xloc>
|
||||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Insert / update</name>
|
||||
<type>InsertUpdate</type>
|
||||
<name>filter_true_appeal_violations</name>
|
||||
<type>FilterRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
|
|
@ -275,82 +238,34 @@ DO UPDATE SET
|
|||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>10000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<lookup>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>create_date</field>
|
||||
<name>create_date</name>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizen_appealing_violations_fz53</table>
|
||||
<compare>
|
||||
<condition>
|
||||
<conditions>
|
||||
</conditions>
|
||||
<function>=</function>
|
||||
<leftvalue>has_appealing_violations_fz53</leftvalue>
|
||||
<negated>N</negated>
|
||||
<operator>-</operator>
|
||||
<value>
|
||||
<name>recruit_id</name>
|
||||
<rename>recruit_id</rename>
|
||||
<update>N</update>
|
||||
<isnull>N</isnull>
|
||||
<length>-1</length>
|
||||
<name>constant</name>
|
||||
<precision>-1</precision>
|
||||
<text>Y</text>
|
||||
<type>Boolean</type>
|
||||
</value>
|
||||
<value>
|
||||
<name>create_date</name>
|
||||
<rename>create_date</rename>
|
||||
<update>N</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>number_appealed</name>
|
||||
<rename>number_appealed</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>date_appealed</name>
|
||||
<rename>date_appealed</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>case_number</name>
|
||||
<rename>case_number</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>decision_date</name>
|
||||
<rename>decision_date</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>result_appeal</name>
|
||||
<rename>result_appeal</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>name_commission</name>
|
||||
<rename>name_commission</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>grounds</name>
|
||||
<rename>grounds</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>hidden</name>
|
||||
<rename>hidden</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
</lookup>
|
||||
<update_bypassed>Y</update_bypassed>
|
||||
</condition>
|
||||
</compare>
|
||||
<send_true_to>sort_rows_CAV</send_true_to>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>704</xloc>
|
||||
<yloc>208</yloc>
|
||||
<xloc>688</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Table input</name>
|
||||
<type>TableInput</type>
|
||||
<name>identify_last_row_CAV</name>
|
||||
<type>DetectLastRow</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
|
|
@ -359,34 +274,77 @@ DO UPDATE SET
|
|||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<connection>postgres.decision-document-service</connection>
|
||||
<resultfieldname>last_row</resultfieldname>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>688</xloc>
|
||||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>sort_rows_CAV</name>
|
||||
<type>SortRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>out</prefix>
|
||||
<sort_size>1000000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>880</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>table_input_CAV</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<connection>appeal_test</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit/>
|
||||
<sql>with filtered_data as ( SELECT
|
||||
ad.recruit_id,
|
||||
ad.create_date, -- дата создания обжалования
|
||||
ad.appeal_number AS number_appealed, -- номер обжалуемого решения
|
||||
ad.appeal_date AS date_appealed, -- дата обжалуемого решения
|
||||
ad.result_number AS case_number, -- номер принятого решения
|
||||
ad.result_date AS decision_date, -- дата принятия решения
|
||||
CASE
|
||||
WHEN ad.result = '1' THEN 'Удовлетворена'
|
||||
WHEN ad.result = '2' THEN 'Частично удовлетворена'
|
||||
WHEN ad.result = '3' THEN 'Отказано в удовлетворении'
|
||||
END AS result_appeal, -- код рассмотрения
|
||||
ad.commission_name AS name_commission, -- наименование комиссии, принявшей решение
|
||||
ad.reason_for_add_entry AS grounds, -- основание для внесения записи
|
||||
<sql>SELECT ad.recruit_id,
|
||||
ad.updated_at, -- дата создания обжалования
|
||||
ad.appeal_number AS appeal_number, -- номер обжалуемого решения
|
||||
ad.appeal_date AS appeal_date, -- дата обжалуемого решения
|
||||
ad.extra_info ->> 'resultNumber' AS decision_number, -- номер принятого решения
|
||||
to_date(ad.extra_info ->> 'resultDate', 'YYYY-MM-DD') AS decision_date, -- дата принятия решения
|
||||
CASE ad.extra_info ->> 'result'
|
||||
WHEN '1' THEN 'Удовлетворена'
|
||||
WHEN '2' THEN 'Частично удовлетворена'
|
||||
WHEN '3' THEN 'Отказано в удовлетворении'
|
||||
END AS decision_result, -- код рассмотрения
|
||||
ad.extra_info ->> 'commissionName' AS commission_name, -- наименование комиссии, принявшей решение
|
||||
ad.extra_info ->> 'reasonForAddEntry' AS reason, -- основание для внесения записи
|
||||
ad.hidden,
|
||||
NOT ad.hidden AS has_appealing_violations_fz53,
|
||||
ctid
|
||||
FROM public.appeal_document_dto ad
|
||||
JOIN public.recruit r ON r.id = ad.recruit_id AND '${IDM_ID}' != '' -- Проверка на пустую строку
|
||||
AND (r.current_recruitment = '${IDM_ID}' or (r.current_recruitment is null and r.target_recruitment = '${IDM_ID}')))
|
||||
select
|
||||
fd.*,
|
||||
fd.ctid = (select max(ctid) from filtered_data) as last_row
|
||||
from filtered_data fd
|
||||
</sql>
|
||||
NOT ad.hidden AS has_appealing_violations_fz53
|
||||
FROM public.appeal_document ad
|
||||
--where ad.vk_id = '${IDM_ID}'</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -395,7 +353,7 @@ select
|
|||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Update</name>
|
||||
<name>update_CAV</name>
|
||||
<type>Update</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
|
|
@ -430,13 +388,13 @@ select
|
|||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>704</xloc>
|
||||
<yloc>368</yloc>
|
||||
<xloc>1056</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>sort_by_recruit_id</name>
|
||||
<type>SortRows</type>
|
||||
<name>upsert_CAV</name>
|
||||
<type>InsertUpdate</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
|
|
@ -445,33 +403,134 @@ select
|
|||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>srt</prefix>
|
||||
<sort_size>100000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<commit>10000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<lookup>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>appeal_number</field>
|
||||
<name>appeal_number</name>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizen_appealing_violations_fz53</table>
|
||||
<value>
|
||||
<name>recruit_id</name>
|
||||
<rename>recruit_id</rename>
|
||||
<update>N</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>updated_at</name>
|
||||
<rename>updated_at</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>appeal_number</name>
|
||||
<rename>appeal_number</rename>
|
||||
<update>N</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>appeal_date</name>
|
||||
<rename>appeal_date</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>decision_number</name>
|
||||
<rename>decision_number</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>decision_date</name>
|
||||
<rename>decision_date</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>decision_result</name>
|
||||
<rename>decision_result</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>commission_name</name>
|
||||
<rename>commission_name</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>reason</name>
|
||||
<rename>reason</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>hidden</name>
|
||||
<rename>hidden</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
</lookup>
|
||||
<update_bypassed>Y</update_bypassed>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>480</xloc>
|
||||
<yloc>368</yloc>
|
||||
<xloc>1056</xloc>
|
||||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>upsert_job_execution_record_CAV</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>
|
||||
<delete_field/>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<insert_field/>
|
||||
<quoteString>N</quoteString>
|
||||
<read_field/>
|
||||
<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}'
|
||||
)
|
||||
ON CONFLICT (job_name, recruitment_id)
|
||||
DO UPDATE SET
|
||||
status = 'PROCESSING',
|
||||
execution_datetime = DEFAULT,
|
||||
error_description = NULL
|
||||
</sql>
|
||||
<update_field/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>272</xloc>
|
||||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
<error>
|
||||
<source_transform>Insert / update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<source_transform>update_CAV</source_transform>
|
||||
<target_transform>change_job_status_on_error_CAV</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
@ -482,8 +541,8 @@ select
|
|||
<min_pct_rows/>
|
||||
</error>
|
||||
<error>
|
||||
<source_transform>Update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<source_transform>upsert_CAV</source_transform>
|
||||
<target_transform>change_job_status_on_error_CAV</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
|
|||
|
|
@ -18,62 +18,417 @@
|
|||
<modified_date>2025/08/11 13:16:11.204</modified_date>
|
||||
</info>
|
||||
<notepads>
|
||||
<notepad>
|
||||
<backgroundcolorblue>251</backgroundcolorblue>
|
||||
<backgroundcolorgreen>232</backgroundcolorgreen>
|
||||
<backgroundcolorred>201</backgroundcolorred>
|
||||
<bordercolorblue>90</bordercolorblue>
|
||||
<bordercolorgreen>58</bordercolorgreen>
|
||||
<bordercolorred>14</bordercolorred>
|
||||
<fontbold>N</fontbold>
|
||||
<fontcolorblue>90</fontcolorblue>
|
||||
<fontcolorgreen>58</fontcolorgreen>
|
||||
<fontcolorred>14</fontcolorred>
|
||||
<fontitalic>N</fontitalic>
|
||||
<fontname>Segoe UI</fontname>
|
||||
<fontsize>9</fontsize>
|
||||
<height>42</height>
|
||||
<xloc>48</xloc>
|
||||
<yloc>112</yloc>
|
||||
<note>тащить только те военкоматы по которым появились новые записи в бд dds?
|
||||
не факт что мы можешь считать обновление recruits_info как обновление данных в dds?</note>
|
||||
<width>500</width>
|
||||
</notepad>
|
||||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>citizen_appealing_violations_fz53_flow_delta.hpl</to>
|
||||
<from>Append streams</from>
|
||||
<to>Sort rows</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>get_max_source_update_date</from>
|
||||
<to>Table input</to>
|
||||
<from>failed_appeal_document_idm_ids_on_delta</from>
|
||||
<to>Append streams</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>citizen_appealing_violations_fz53_flow_delta.hpl 2</to>
|
||||
<from>updated_idm_ids_from_appeal_document</from>
|
||||
<to>Append streams</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>citizen_appealing_violations_fz53_flow_delta.hpl 3</to>
|
||||
<from>get_max_source_update_date_CAV</from>
|
||||
<to>updated_idm_ids_from_appeal_document</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>citizen_appealing_violations_fz53_flow_delta.hpl 4</to>
|
||||
<from>get_max_source_update_date_CAV</from>
|
||||
<to>failed_appeal_document_idm_ids_on_delta</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>citizen_appealing_violations_fz53_flow_delta.hpl 5</to>
|
||||
<from>Sort rows</from>
|
||||
<to>CAV_flow_delta.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Sort rows</from>
|
||||
<to>CAV_flow_delta.hpl 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Sort rows</from>
|
||||
<to>CAV_flow_delta.hpl 3</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Sort rows</from>
|
||||
<to>CAV_flow_delta.hpl 4</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Sort rows</from>
|
||||
<to>CAV_flow_delta.hpl 5</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Table input</name>
|
||||
<name>CAV_flow_delta.hpl</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/citizen_appealing_violations_fz53/parallel/citizen_appealing_violations_fz53_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_UPDATE_DATE</variable>
|
||||
<field>max_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>928</xloc>
|
||||
<yloc>128</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>CAV_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/citizen_appealing_violations_fz53/parallel/citizen_appealing_violations_fz53_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_UPDATE_DATE</variable>
|
||||
<field>max_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>928</xloc>
|
||||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>CAV_flow_delta.hpl 3</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/citizen_appealing_violations_fz53/parallel/citizen_appealing_violations_fz53_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_UPDATE_DATE</variable>
|
||||
<field>max_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>928</xloc>
|
||||
<yloc>288</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>CAV_flow_delta.hpl 4</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/citizen_appealing_violations_fz53/parallel/citizen_appealing_violations_fz53_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_UPDATE_DATE</variable>
|
||||
<field>max_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>928</xloc>
|
||||
<yloc>368</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>CAV_flow_delta.hpl 5</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/citizen_appealing_violations_fz53/parallel/citizen_appealing_violations_fz53_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_UPDATE_DATE</variable>
|
||||
<field>max_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>928</xloc>
|
||||
<yloc>448</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>get_max_source_update_date_CAV</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>N</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(updated_at) AS max_update_date
|
||||
FROM ervu_dashboard.citizen_appealing_violations_fz53;</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>80</xloc>
|
||||
<yloc>288</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Append streams</name>
|
||||
<type>Append</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<head_name>failed_appeal_document_idm_ids_on_delta</head_name>
|
||||
<tail_name>updated_idm_ids_from_appeal_document</tail_name>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>512</xloc>
|
||||
<yloc>288</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Sort rows</name>
|
||||
<type>SortRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>out</prefix>
|
||||
<sort_size>100000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruitment_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>688</xloc>
|
||||
<yloc>288</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>failed_appeal_document_idm_ids_on_delta</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -86,316 +441,23 @@
|
|||
<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_SUCCESS')
|
||||
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
|
||||
|
||||
union
|
||||
|
||||
select r2.idm_id
|
||||
from ervu_dashboard.recruitment r2
|
||||
<lookup>get_max_source_update_date_CAV</lookup>
|
||||
<sql>select r.idm_id as recruitment_id,
|
||||
? as max_update_date
|
||||
from ervu_dashboard.recruitment r
|
||||
join etl.job_execution je
|
||||
on r2.idm_id = je.recruitment_id
|
||||
on r.idm_id = je.recruitment_id
|
||||
where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
||||
and je.job_name = '${JOB_NAME}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>352</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>citizen_appealing_violations_fz53_flow_delta.hpl</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/citizen_appealing_violations_fz53/parallel/citizen_appealing_violations_fz53_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_CREATE_DATE</variable>
|
||||
<field>max_create_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>592</xloc>
|
||||
<yloc>144</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>citizen_appealing_violations_fz53_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/citizen_appealing_violations_fz53/parallel/citizen_appealing_violations_fz53_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_CREATE_DATE</variable>
|
||||
<field>max_create_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>592</xloc>
|
||||
<yloc>224</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>citizen_appealing_violations_fz53_flow_delta.hpl 3</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/citizen_appealing_violations_fz53/parallel/citizen_appealing_violations_fz53_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_CREATE_DATE</variable>
|
||||
<field>max_create_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>592</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>citizen_appealing_violations_fz53_flow_delta.hpl 4</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/citizen_appealing_violations_fz53/parallel/citizen_appealing_violations_fz53_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_CREATE_DATE</variable>
|
||||
<field>max_create_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>592</xloc>
|
||||
<xloc>304</xloc>
|
||||
<yloc>384</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>citizen_appealing_violations_fz53_flow_delta.hpl 5</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/citizen_appealing_violations_fz53/parallel/citizen_appealing_violations_fz53_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_CREATE_DATE</variable>
|
||||
<field>max_create_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>592</xloc>
|
||||
<yloc>464</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>get_max_source_update_date</name>
|
||||
<name>updated_idm_ids_from_appeal_document</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -405,16 +467,21 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<connection>ervu_person_registry</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>SELECT max(create_date) AS max_create_date
|
||||
FROM ervu_dashboard.citizen_appealing_violations_fz53;</sql>
|
||||
<lookup>get_max_source_update_date_CAV</lookup>
|
||||
<sql>WITH max_update_date(val) AS (SELECT CAST(? AS timestamp))
|
||||
SELECT DISTINCT vk_id AS recruitment_id,
|
||||
mud.val as max_update_date
|
||||
FROM appeal_document ad
|
||||
JOIN max_update_date mud ON TRUE
|
||||
WHERE (mud.val IS NULL OR ad.updated_at > mud.val);</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>192</xloc>
|
||||
<yloc>304</yloc>
|
||||
<xloc>304</xloc>
|
||||
<yloc>192</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
|
|
|
|||
|
|
@ -21,39 +21,59 @@
|
|||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Append streams</from>
|
||||
<to>Sort rows</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>failed_deferment_liberation_permission_idm_ids_on_delta</from>
|
||||
<to>Append streams</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>max_update_date_from_deferment_liberation</from>
|
||||
<to>failed_deferment_liberation_permission_idm_ids_on_delta</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>max_update_date_from_deferment_liberation</from>
|
||||
<to>updated_idm_ids_fromrecruits_deferment</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>updated_idm_ids_fromrecruits_deferment</from>
|
||||
<to>Append streams</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Sort rows</from>
|
||||
<to>citizen_criminal_liability_fz53_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>
|
||||
<from>Sort rows</from>
|
||||
<to>citizen_criminal_liability_fz53_flow_delta.hpl 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>citizen_criminal_liability_fz53_flow_delta.hpl 3</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>citizen_criminal_liability_fz53_flow_delta.hpl 4</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>citizen_criminal_liability_fz53_flow_delta.hpl 5</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Table input</name>
|
||||
<type>TableInput</type>
|
||||
<name>Append streams</name>
|
||||
<type>Append</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
|
|
@ -62,35 +82,46 @@
|
|||
<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_SUCCESS')
|
||||
GROUP BY recruitment_id)
|
||||
SELECT r.idm_id
|
||||
FROM ervu_dashboard.recruitment r
|
||||
JOIN mud ON mud.recruitment_id = r.idm_id
|
||||
JOIN ervu_dashboard.recruits_info ri
|
||||
ON COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = r.idm_id
|
||||
AND ri.updated_at > mud.max_upd_date
|
||||
|
||||
union
|
||||
|
||||
select r2.idm_id
|
||||
from ervu_dashboard.recruitment r2
|
||||
join etl.job_execution je
|
||||
on r2.idm_id = je.recruitment_id
|
||||
where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
||||
and je.job_name = '${JOB_NAME}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<head_name>failed_deferment_liberation_permission_idm_ids_on_delta</head_name>
|
||||
<tail_name>updated_idm_ids_fromrecruits_deferment</tail_name>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>336</xloc>
|
||||
<yloc>288</yloc>
|
||||
<xloc>768</xloc>
|
||||
<yloc>272</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Sort rows</name>
|
||||
<type>SortRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>out</prefix>
|
||||
<sort_size>100000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruitment_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>944</xloc>
|
||||
<yloc>272</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -145,33 +176,10 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>624</xloc>
|
||||
<xloc>1264</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(updated_at) AS max_update_date
|
||||
FROM ervu_dashboard.citizen_criminal_liability_fz53;</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>176</xloc>
|
||||
<yloc>288</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>citizen_criminal_liability_fz53_flow_delta.hpl 2</name>
|
||||
<type>PipelineExecutor</type>
|
||||
|
|
@ -224,7 +232,7 @@ FROM ervu_dashboard.citizen_criminal_liability_fz53;</sql>
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>624</xloc>
|
||||
<xloc>1264</xloc>
|
||||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
|
|
@ -280,7 +288,7 @@ FROM ervu_dashboard.citizen_criminal_liability_fz53;</sql>
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>624</xloc>
|
||||
<xloc>1264</xloc>
|
||||
<yloc>288</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
|
|
@ -336,7 +344,7 @@ FROM ervu_dashboard.citizen_criminal_liability_fz53;</sql>
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>624</xloc>
|
||||
<xloc>1264</xloc>
|
||||
<yloc>368</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
|
|
@ -392,10 +400,91 @@ FROM ervu_dashboard.citizen_criminal_liability_fz53;</sql>
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>624</xloc>
|
||||
<xloc>1264</xloc>
|
||||
<yloc>448</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>failed_deferment_liberation_permission_idm_ids_on_delta</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>
|
||||
<lookup>max_update_date_from_deferment_liberation</lookup>
|
||||
<sql>select r.idm_id as recruitment_id,
|
||||
? as max_update_date
|
||||
from ervu_dashboard.recruitment r
|
||||
join etl.job_execution je
|
||||
on r.idm_id = je.recruitment_id
|
||||
where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
||||
and je.job_name = '${JOB_NAME}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>560</xloc>
|
||||
<yloc>368</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>max_update_date_from_deferment_liberation</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>N</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(updated_at) as max_update_date
|
||||
from citizen_criminal_liability_fz53;</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>368</xloc>
|
||||
<yloc>272</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>updated_idm_ids_fromrecruits_deferment</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>
|
||||
<lookup>max_update_date_from_deferment_liberation</lookup>
|
||||
<sql>WITH max_update_date(val) AS (SELECT CAST(? AS timestamp))
|
||||
SELECT DISTINCT COALESCE(r.current_recruitment, r.target_recruitment) AS recruitment_id,
|
||||
mud.val as max_update_date
|
||||
FROM recruit r
|
||||
JOIN infringement i ON i.recruit_id = r.id
|
||||
JOIN max_update_date mud ON TRUE
|
||||
WHERE (mud.val IS NULL OR i.updated_at > mud.val);</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>560</xloc>
|
||||
<yloc>176</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
</transform_error_handling>
|
||||
<attributes/>
|
||||
|
|
|
|||
|
|
@ -82,12 +82,48 @@
|
|||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<head_name>failed_deferment_liberation_permission_idm_ids_on_delta</head_name>
|
||||
<tail_name>updated_idm_ids_fromrecruits_deferment</tail_name>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>864</xloc>
|
||||
<yloc>288</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Sort rows</name>
|
||||
<type>SortRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>out</prefix>
|
||||
<sort_size>100000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruitment_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1040</xloc>
|
||||
<yloc>288</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>citizen_liability_fz53_flow_delta.hpl</name>
|
||||
<type>PipelineExecutor</type>
|
||||
|
|
@ -144,121 +180,6 @@
|
|||
<yloc>128</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>failed_deferment_liberation_permission_idm_ids_on_delta</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>
|
||||
<lookup>max_update_date_from_deferment_liberation</lookup>
|
||||
<sql>select r.idm_id as recruitment_id,
|
||||
? as max_update_date
|
||||
from ervu_dashboard.recruitment r
|
||||
join etl.job_execution je
|
||||
on r.idm_id = je.recruitment_id
|
||||
where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
||||
and je.job_name = '${JOB_NAME}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>656</xloc>
|
||||
<yloc>384</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>max_update_date_from_deferment_liberation</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>N</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(updated_at) as max_update_date
|
||||
from citizen_liability_fz53;</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>464</xloc>
|
||||
<yloc>288</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>updated_idm_ids_fromrecruits_deferment</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>
|
||||
<lookup>max_update_date_from_deferment_liberation</lookup>
|
||||
<sql>WITH max_update_date(val) AS (SELECT CAST(? AS timestamp))
|
||||
SELECT DISTINCT COALESCE(r.current_recruitment, r.target_recruitment) AS recruitment_id,
|
||||
? as max_update_date
|
||||
FROM recruit r
|
||||
JOIN infringement i ON i.recruit_id = r.id
|
||||
JOIN max_update_date mud ON TRUE
|
||||
WHERE (mud.val IS NULL OR i.updated_at > mud.val);</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>656</xloc>
|
||||
<yloc>192</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Sort rows</name>
|
||||
<type>SortRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>out</prefix>
|
||||
<sort_size>100000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruitment_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1040</xloc>
|
||||
<yloc>288</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>citizen_liability_fz53_flow_delta.hpl 2</name>
|
||||
<type>PipelineExecutor</type>
|
||||
|
|
@ -483,6 +404,87 @@ WHERE (mud.val IS NULL OR i.updated_at > mud.val);</sql>
|
|||
<yloc>448</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>failed_deferment_liberation_permission_idm_ids_on_delta</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>
|
||||
<lookup>max_update_date_from_deferment_liberation</lookup>
|
||||
<sql>select r.idm_id as recruitment_id,
|
||||
? as max_update_date
|
||||
from ervu_dashboard.recruitment r
|
||||
join etl.job_execution je
|
||||
on r.idm_id = je.recruitment_id
|
||||
where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
||||
and je.job_name = '${JOB_NAME}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>656</xloc>
|
||||
<yloc>384</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>max_update_date_from_deferment_liberation</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>N</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(updated_at) as max_update_date
|
||||
from citizen_liability_fz53;</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>464</xloc>
|
||||
<yloc>288</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>updated_idm_ids_fromrecruits_deferment</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>
|
||||
<lookup>max_update_date_from_deferment_liberation</lookup>
|
||||
<sql>WITH max_update_date(val) AS (SELECT CAST(? AS timestamp))
|
||||
SELECT DISTINCT COALESCE(r.current_recruitment, r.target_recruitment) AS recruitment_id,
|
||||
mud.val as max_update_date
|
||||
FROM recruit r
|
||||
JOIN infringement i ON i.recruit_id = r.id
|
||||
JOIN max_update_date mud ON TRUE
|
||||
WHERE (mud.val IS NULL OR i.updated_at > mud.val);</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>656</xloc>
|
||||
<yloc>192</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
</transform_error_handling>
|
||||
<attributes/>
|
||||
|
|
|
|||
|
|
@ -1,159 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<pipeline>
|
||||
<info>
|
||||
<name>row_last_infringement_update_date</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/06/02 14:51:59.611</created_date>
|
||||
<modified_user>-</modified_user>
|
||||
<modified_date>2025/06/02 14:51:59.611</modified_date>
|
||||
</info>
|
||||
<notepads>
|
||||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Copy rows to result</from>
|
||||
<to>Set variables</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Copy rows to result</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Copy rows to result</from>
|
||||
<to>Write to log</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Set variables</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Set variables</from>
|
||||
<to>Write to log</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Copy rows to result</name>
|
||||
<type>RowsToResult</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>944</xloc>
|
||||
<yloc>192</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Set variables</name>
|
||||
<type>SetVariable</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<fields>
|
||||
<field>
|
||||
<field_name>max_infringement_update_date</field_name>
|
||||
<variable_name>M_INFR_UP_DATE</variable_name>
|
||||
<variable_type>GP_WORKFLOW</variable_type>
|
||||
</field>
|
||||
</fields>
|
||||
<use_formatting>Y</use_formatting>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1232</xloc>
|
||||
<yloc>320</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
|
||||
base as (
|
||||
select max(updated_at) AS max_infringement_update_date
|
||||
from ervu_dashboard.citizen_criminal_liability_fz53
|
||||
|
||||
union all
|
||||
|
||||
select max(updated_at) AS max_infringement_update_date
|
||||
from ervu_dashboard.citizen_liability_fz53
|
||||
),
|
||||
b AS (
|
||||
select max(max_infringement_update_date) AS max_infringement_update_date
|
||||
from base
|
||||
)
|
||||
select
|
||||
CASE
|
||||
WHEN max_infringement_update_date is null THEN '0001-01-01 00:00:00'::timestamp
|
||||
ELSE max_infringement_update_date
|
||||
END AS max_infringement_update_date
|
||||
from b</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>688</xloc>
|
||||
<yloc>320</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Write to log</name>
|
||||
<type>WriteToLog</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<displayHeader>Y</displayHeader>
|
||||
<fields>
|
||||
</fields>
|
||||
<limitRows>N</limitRows>
|
||||
<limitRowsNumber>0</limitRowsNumber>
|
||||
<loglevel>Basic</loglevel>
|
||||
<logmessage>${M_INFR_UP_DATE}</logmessage>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1376</xloc>
|
||||
<yloc>192</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
</transform_error_handling>
|
||||
<attributes/>
|
||||
</pipeline>
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
</parameters>
|
||||
<actions>
|
||||
<action>
|
||||
<name>Start</name>
|
||||
<name>start_job_CF</name>
|
||||
<description/>
|
||||
<type>SPECIAL</type>
|
||||
<attributes/>
|
||||
|
|
@ -228,7 +228,6 @@
|
|||
</field>
|
||||
</fields>
|
||||
<file_variable_type>CURRENT_WORKFLOW</file_variable_type>
|
||||
<filename/>
|
||||
<replacevars>N</replacevars>
|
||||
<parallel>N</parallel>
|
||||
<xloc>240</xloc>
|
||||
|
|
@ -266,7 +265,7 @@
|
|||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<from>start_job_CF</from>
|
||||
<to>init_job_name</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
|
|
|
|||
|
|
@ -21,68 +21,78 @@
|
|||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Create job execution record</from>
|
||||
<to>Table input</to>
|
||||
<from>create_job_execution_record_CF</from>
|
||||
<to>table_input_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Filter rows</from>
|
||||
<to>Change job status on success</to>
|
||||
<from>filter_last_row_CF</from>
|
||||
<to>change_job_status_on_success_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Detect empty stream</from>
|
||||
<to>Change job status on success</to>
|
||||
<from>detect_empty_stream_CF</from>
|
||||
<to>change_job_status_on_success_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Change job status on error</from>
|
||||
<to>Abort</to>
|
||||
<from>change_job_status_on_error_CF</from>
|
||||
<to>abort_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table output</from>
|
||||
<to>Change job status on error</to>
|
||||
<from>table_output_CF</from>
|
||||
<to>change_job_status_on_error_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error</to>
|
||||
<from>table_input_CF</from>
|
||||
<to>identify_last_row_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Identify last row in a stream</to>
|
||||
<from>identify_last_row_CF</from>
|
||||
<to>table_output_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>Table output</to>
|
||||
<from>identify_last_row_CF</from>
|
||||
<to>detect_empty_stream_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>Detect empty stream</to>
|
||||
<from>table_output_CF</from>
|
||||
<to>filter_last_row_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>sort_by_recruit_id</to>
|
||||
<from>filter_true_citizenship</from>
|
||||
<to>update_citizen_has_foreign_citizenship</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>sort_by_recruit_id</from>
|
||||
<to>Update</to>
|
||||
<from>filter_true_citizenship</from>
|
||||
<to>update_citizen_has_foreign_residence</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table output</from>
|
||||
<to>Filter rows</to>
|
||||
<from>update_citizen_has_foreign_citizenship</from>
|
||||
<to>change_job_status_on_error_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>update_citizen_has_foreign_residence</from>
|
||||
<to>change_job_status_on_error_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>identify_last_row_CF</from>
|
||||
<to>filter_true_citizenship</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Abort</name>
|
||||
<name>abort_CF</name>
|
||||
<type>Abort</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -94,15 +104,16 @@
|
|||
</partitioning>
|
||||
<abort_option>ABORT_WITH_ERROR</abort_option>
|
||||
<always_log_rows>Y</always_log_rows>
|
||||
<message/>
|
||||
<row_threshold>0</row_threshold>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1344</xloc>
|
||||
<yloc>480</yloc>
|
||||
<xloc>1456</xloc>
|
||||
<yloc>496</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on error</name>
|
||||
<name>change_job_status_on_error_CF</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -133,12 +144,12 @@ and recruitment_id = '${IDM_ID}';
|
|||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1104</xloc>
|
||||
<yloc>480</yloc>
|
||||
<xloc>1200</xloc>
|
||||
<yloc>496</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on success</name>
|
||||
<name>change_job_status_on_success_CF</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -165,12 +176,12 @@ and recruitment_id = '${IDM_ID}';
|
|||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1328</xloc>
|
||||
<xloc>1456</xloc>
|
||||
<yloc>176</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Create job execution record</name>
|
||||
<name>create_job_execution_record_CF</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -199,7 +210,7 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
|
|||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Detect empty stream</name>
|
||||
<name>detect_empty_stream_CF</name>
|
||||
<type>DetectEmptyStream</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -216,7 +227,7 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
|
|||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Filter rows</name>
|
||||
<name>filter_last_row_CF</name>
|
||||
<type>FilterRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -244,15 +255,52 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
|
|||
</value>
|
||||
</condition>
|
||||
</compare>
|
||||
<send_true_to>Change job status on success</send_true_to>
|
||||
<send_true_to>change_job_status_on_success_CF</send_true_to>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1328</xloc>
|
||||
<xloc>1456</xloc>
|
||||
<yloc>320</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Identify last row in a stream</name>
|
||||
<name>filter_true_citizenship</name>
|
||||
<type>FilterRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<compare>
|
||||
<condition>
|
||||
<conditions>
|
||||
</conditions>
|
||||
<function>=</function>
|
||||
<leftvalue>has_foreign_citizenship</leftvalue>
|
||||
<negated>N</negated>
|
||||
<operator>-</operator>
|
||||
<value>
|
||||
<isnull>N</isnull>
|
||||
<length>-1</length>
|
||||
<name>constant</name>
|
||||
<precision>-1</precision>
|
||||
<text>Y</text>
|
||||
<type>Boolean</type>
|
||||
</value>
|
||||
</condition>
|
||||
</compare>
|
||||
<send_false_to>update_citizen_has_foreign_residence</send_false_to>
|
||||
<send_true_to>update_citizen_has_foreign_citizenship</send_true_to>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>688</xloc>
|
||||
<yloc>496</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>identify_last_row_CF</name>
|
||||
<type>DetectLastRow</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
|
|
@ -270,7 +318,7 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
|
|||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Table input</name>
|
||||
<name>table_input_CF</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -282,58 +330,36 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
|
|||
</partitioning>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<sql>WITH base AS (
|
||||
<sql>WITH filtered_data 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 (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}'))
|
||||
WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedIG') = 'array'
|
||||
OR jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedPP') = 'array'
|
||||
),
|
||||
citizen AS (
|
||||
SELECT
|
||||
ri.recruit_id,
|
||||
jsonb_array_elements(ri.info->'svedFL'->'svedIGPP'->'svedIG') AS data,
|
||||
jsonb_array_elements(ri.info -> 'svedFL' -> 'svedIGPP' -> 'svedIG') AS data,
|
||||
'citizenship' AS type
|
||||
FROM base ri
|
||||
WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedIG') = 'array'
|
||||
FROM ervu_dashboard.recruits_info ri
|
||||
WHERE jsonb_typeof(ri.info -> 'svedFL' -> 'svedIGPP' -> 'svedIG') = 'array'
|
||||
AND coalesce(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
ri.recruit_id,
|
||||
jsonb_array_elements(ri.info->'svedFL'->'svedIGPP'->'svedPP') AS data,
|
||||
'residense' AS type
|
||||
FROM base ri WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedPP') = 'array'
|
||||
jsonb_array_elements(ri.info -> 'svedFL' -> 'svedIGPP' -> 'svedPP') AS data,
|
||||
'residence' AS type
|
||||
FROM ervu_dashboard.recruits_info ri
|
||||
WHERE jsonb_typeof(ri.info -> 'svedFL' -> 'svedIGPP' -> 'svedPP') = 'array'
|
||||
AND coalesce(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}'
|
||||
)
|
||||
SELECT
|
||||
recruit_id,
|
||||
to_date(data->>'dataSved', 'YYYY-MM-DD') AS source_update_date, -- дата обновления сведений
|
||||
CASE
|
||||
WHEN type='residense' THEN data->>'osnovPriobrPP'
|
||||
END::text AS residense_right_basis,
|
||||
CASE
|
||||
WHEN type='residense' THEN to_date(NULLIF(data->>'dataPriobrPP',''), 'YYYY-MM-DD')
|
||||
END::date AS residense_right_date,
|
||||
data->'oksm'->>'naimOKSM' AS country_name,
|
||||
CASE
|
||||
WHEN type='citizenship' THEN data->>'osnovPriobrIG'
|
||||
END::text AS citizenship_basis,
|
||||
CASE
|
||||
WHEN type='citizenship' THEN to_date(NULLIF(data->>'dataPriobrIG',''), 'YYYY-MM-DD')
|
||||
END::date AS citizenship_date,
|
||||
coalesce(to_date(NULLIF(data ->> 'dataSved', ''), 'YYYY-MM-DD'), current_date) AS source_update_date, -- дата обновления сведений
|
||||
data ->> CASE WHEN type = 'residence' THEN 'osnovPriobrPP' ELSE 'osnovPriobrIG' END AS basis,
|
||||
to_date(data ->> CASE WHEN type = 'residence' THEN 'dataPriobrPP' ELSE 'dataPriobrIG' END, 'YYYY-MM-DD') AS acquisition_date,
|
||||
data -> 'oksm' ->> 'kodOKSM' AS oksm_code,
|
||||
type,
|
||||
CASE
|
||||
WHEN type = 'residense' THEN true
|
||||
ELSE false
|
||||
END AS has_foreign_residence,
|
||||
CASE
|
||||
WHEN type = 'citizenship' THEN true
|
||||
ELSE false
|
||||
END AS has_foreign_citizenship
|
||||
FROM citizen</sql>
|
||||
(type = 'residence') AS has_foreign_residence,
|
||||
(type = 'citizenship') AS has_foreign_citizenship
|
||||
FROM filtered_data;
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -342,7 +368,7 @@ FROM citizen</sql>
|
|||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Table output</name>
|
||||
<name>table_output_CF</name>
|
||||
<type>TableOutput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -360,32 +386,28 @@ FROM citizen</sql>
|
|||
<stream_name>recruit_id</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>residense_right_basis</column_name>
|
||||
<stream_name>residense_right_basis</stream_name>
|
||||
<column_name>source_update_date</column_name>
|
||||
<stream_name>source_update_date</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>residense_right_date</column_name>
|
||||
<stream_name>residense_right_date</stream_name>
|
||||
<column_name>basis</column_name>
|
||||
<stream_name>basis</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>country_name</column_name>
|
||||
<stream_name>country_name</stream_name>
|
||||
<column_name>acquisition_date</column_name>
|
||||
<stream_name>acquisition_date</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>citizenship_basis</column_name>
|
||||
<stream_name>citizenship_basis</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>citizenship_date</column_name>
|
||||
<stream_name>citizenship_date</stream_name>
|
||||
<column_name>oksm_code</column_name>
|
||||
<stream_name>oksm_code</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>type</column_name>
|
||||
<stream_name>type</stream_name>
|
||||
</field>
|
||||
<field>
|
||||
<column_name>source_update_date</column_name>
|
||||
<stream_name>source_update_date</stream_name>
|
||||
<column_name>source_id</column_name>
|
||||
<stream_name>source_id</stream_name>
|
||||
</field>
|
||||
</fields>
|
||||
<ignore_errors>N</ignore_errors>
|
||||
|
|
@ -408,7 +430,7 @@ FROM citizen</sql>
|
|||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Update</name>
|
||||
<name>update_citizen_has_foreign_citizenship</name>
|
||||
<type>Update</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
|
|
@ -421,18 +443,16 @@ FROM citizen</sql>
|
|||
<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>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizen</table>
|
||||
<value>
|
||||
<name>has_foreign_residence</name>
|
||||
<rename>has_foreign_residence</rename>
|
||||
</value>
|
||||
<value>
|
||||
<name>has_foreign_citizenship</name>
|
||||
<rename>has_foreign_citizenship</rename>
|
||||
|
|
@ -443,47 +463,50 @@ FROM citizen</sql>
|
|||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>896</xloc>
|
||||
<yloc>480</yloc>
|
||||
<yloc>496</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>sort_by_recruit_id</name>
|
||||
<type>SortRows</type>
|
||||
<name>update_citizen_has_foreign_residence</name>
|
||||
<type>Update</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>srt</prefix>
|
||||
<sort_size>100000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<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>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<name2/>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizen</table>
|
||||
<value>
|
||||
<name>has_foreign_residence</name>
|
||||
<rename>has_foreign_residence</rename>
|
||||
</value>
|
||||
</lookup>
|
||||
<skip_lookup>N</skip_lookup>
|
||||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>688</xloc>
|
||||
<yloc>480</yloc>
|
||||
<xloc>896</xloc>
|
||||
<yloc>640</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
<error>
|
||||
<source_transform>Table output</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<source_transform>table_output_CF</source_transform>
|
||||
<target_transform>change_job_status_on_error_CF</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
@ -494,8 +517,20 @@ FROM citizen</sql>
|
|||
<min_pct_rows/>
|
||||
</error>
|
||||
<error>
|
||||
<source_transform>Update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<source_transform>update_citizen_has_foreign_citizenship</source_transform>
|
||||
<target_transform>change_job_status_on_error_CF</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
<fields_valuename/>
|
||||
<codes_valuename/>
|
||||
<max_errors/>
|
||||
<max_pct_errors/>
|
||||
<min_pct_rows/>
|
||||
</error>
|
||||
<error>
|
||||
<source_transform>update_citizen_has_foreign_residence</source_transform>
|
||||
<target_transform>change_job_status_on_error_CF</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
|
|||
|
|
@ -21,68 +21,78 @@
|
|||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Create job execution record</from>
|
||||
<to>Table input</to>
|
||||
<from>update_job_execution_record_CF</from>
|
||||
<to>table_input_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Detect empty stream</from>
|
||||
<to>Change job status on success</to>
|
||||
<from>detect_empty_stream_CF</from>
|
||||
<to>change_job_status_on_success_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Filter rows</from>
|
||||
<to>Change job status on success</to>
|
||||
<from>filter_last_row_CF</from>
|
||||
<to>change_job_status_on_success_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Change job status on error</from>
|
||||
<to>Abort</to>
|
||||
<from>change_job_status_on_error_CF</from>
|
||||
<to>abort_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error</to>
|
||||
<from>upsert_CF</from>
|
||||
<to>change_job_status_on_error_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Insert / update</from>
|
||||
<to>Change job status on error</to>
|
||||
<from>table_input_CF</from>
|
||||
<to>identify_last_row_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Identify last row in a stream</to>
|
||||
<from>identify_last_row_CF</from>
|
||||
<to>upsert_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>Insert / update</to>
|
||||
<from>identify_last_row_CF</from>
|
||||
<to>detect_empty_stream_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>sort_by_recruit_id</to>
|
||||
<from>upsert_CF</from>
|
||||
<to>filter_last_row_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>Detect empty stream</to>
|
||||
<from>filter_true_citizenship</from>
|
||||
<to>update_citizen_has_foreign_citizenship</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>sort_by_recruit_id</from>
|
||||
<to>Update</to>
|
||||
<from>filter_true_citizenship</from>
|
||||
<to>update_citizen_has_foreign_residence</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Insert / update</from>
|
||||
<to>Filter rows</to>
|
||||
<from>identify_last_row_CF</from>
|
||||
<to>filter_true_citizenship</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>update_citizen_has_foreign_residence</from>
|
||||
<to>change_job_status_on_error_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>update_citizen_has_foreign_citizenship</from>
|
||||
<to>change_job_status_on_error_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Abort</name>
|
||||
<name>abort_CF</name>
|
||||
<type>Abort</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -94,15 +104,16 @@
|
|||
</partitioning>
|
||||
<abort_option>ABORT_WITH_ERROR</abort_option>
|
||||
<always_log_rows>Y</always_log_rows>
|
||||
<message/>
|
||||
<row_threshold>0</row_threshold>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1392</xloc>
|
||||
<yloc>528</yloc>
|
||||
<xloc>1408</xloc>
|
||||
<yloc>512</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on error</name>
|
||||
<name>change_job_status_on_error_CF</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -118,8 +129,11 @@
|
|||
</argument>
|
||||
</arguments>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<delete_field/>
|
||||
<execute_each_row>Y</execute_each_row>
|
||||
<insert_field/>
|
||||
<quoteString>N</quoteString>
|
||||
<read_field/>
|
||||
<replace_variables>Y</replace_variables>
|
||||
<set_params>Y</set_params>
|
||||
<single_statement>N</single_statement>
|
||||
|
|
@ -131,14 +145,15 @@ WHERE job_name = '${JOB_NAME}'
|
|||
and recruitment_id = '${IDM_ID}';
|
||||
|
||||
</sql>
|
||||
<update_field/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1168</xloc>
|
||||
<yloc>528</yloc>
|
||||
<xloc>1248</xloc>
|
||||
<yloc>512</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on success</name>
|
||||
<name>change_job_status_on_success_CF</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -151,8 +166,11 @@ and recruitment_id = '${IDM_ID}';
|
|||
<arguments>
|
||||
</arguments>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<delete_field/>
|
||||
<execute_each_row>Y</execute_each_row>
|
||||
<insert_field/>
|
||||
<quoteString>N</quoteString>
|
||||
<read_field/>
|
||||
<replace_variables>Y</replace_variables>
|
||||
<set_params>N</set_params>
|
||||
<single_statement>N</single_statement>
|
||||
|
|
@ -163,6 +181,7 @@ WHERE job_name = '${JOB_NAME}'
|
|||
and recruitment_id = '${IDM_ID}';
|
||||
|
||||
</sql>
|
||||
<update_field/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1408</xloc>
|
||||
|
|
@ -170,7 +189,319 @@ and recruitment_id = '${IDM_ID}';
|
|||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Create job execution record</name>
|
||||
<name>detect_empty_stream_CF</name>
|
||||
<type>DetectEmptyStream</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>784</xloc>
|
||||
<yloc>192</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>filter_last_row_CF</name>
|
||||
<type>FilterRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<compare>
|
||||
<condition>
|
||||
<conditions>
|
||||
</conditions>
|
||||
<function>=</function>
|
||||
<leftvalue>last_row</leftvalue>
|
||||
<negated>N</negated>
|
||||
<operator>-</operator>
|
||||
<value>
|
||||
<isnull>N</isnull>
|
||||
<length>-1</length>
|
||||
<name>constant</name>
|
||||
<precision>-1</precision>
|
||||
<text>Y</text>
|
||||
<type>Boolean</type>
|
||||
</value>
|
||||
</condition>
|
||||
</compare>
|
||||
<send_true_to>change_job_status_on_success_CF</send_true_to>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1408</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>upsert_CF</name>
|
||||
<type>InsertUpdate</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>10000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<lookup>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>source_id</field>
|
||||
<name>source_id</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizenship_foreign</table>
|
||||
<value>
|
||||
<name>recruit_id</name>
|
||||
<rename>recruit_id</rename>
|
||||
<update>N</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>source_update_date</name>
|
||||
<rename>source_update_date</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>basis</name>
|
||||
<rename>basis</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>acquisition_date</name>
|
||||
<rename>acquisition_date</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>oksm_code</name>
|
||||
<rename>oksm_code</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>type</name>
|
||||
<rename>type</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>source_id</name>
|
||||
<rename>source_id</rename>
|
||||
<update>N</update>
|
||||
</value>
|
||||
</lookup>
|
||||
<update_bypassed>N</update_bypassed>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>976</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>filter_true_citizenship</name>
|
||||
<type>FilterRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<compare>
|
||||
<condition>
|
||||
<conditions>
|
||||
</conditions>
|
||||
<function>=</function>
|
||||
<leftvalue>has_foreign_citizenship</leftvalue>
|
||||
<negated>N</negated>
|
||||
<operator>-</operator>
|
||||
<value>
|
||||
<isnull>N</isnull>
|
||||
<length>-1</length>
|
||||
<name>constant</name>
|
||||
<precision>-1</precision>
|
||||
<text>Y</text>
|
||||
<type>Boolean</type>
|
||||
</value>
|
||||
</condition>
|
||||
</compare>
|
||||
<send_false_to>update_citizen_has_foreign_residence</send_false_to>
|
||||
<send_true_to>update_citizen_has_foreign_citizenship</send_true_to>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>784</xloc>
|
||||
<yloc>576</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>identify_last_row_CF</name>
|
||||
<type>DetectLastRow</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<resultfieldname>last_row</resultfieldname>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>784</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>table_input_CF</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<sql>WITH filtered_data AS (
|
||||
SELECT
|
||||
ri.recruit_id,
|
||||
jsonb_array_elements(ri.info -> 'svedFL' -> 'svedIGPP' -> 'svedIG') AS data,
|
||||
'citizenship' AS type
|
||||
FROM ervu_dashboard.recruits_info ri
|
||||
WHERE jsonb_typeof(ri.info -> 'svedFL' -> 'svedIGPP' -> 'svedIG') = 'array'
|
||||
AND coalesce(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}'
|
||||
and case when '${MAX_SOURCE_UPDATE_DATE}' <> ''
|
||||
then to_date(ri.info -> 'svedFL' -> 'svedDeputat' -> 'deputat' ->> 'dataSved', 'YYYY-MM-DD') >
|
||||
to_date('${MAX_SOURCE_UPDATE_DATE}', 'YYYY-MM-DD')
|
||||
else true end
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
ri.recruit_id,
|
||||
jsonb_array_elements(ri.info -> 'svedFL' -> 'svedIGPP' -> 'svedPP') AS data,
|
||||
'residence' AS type
|
||||
FROM ervu_dashboard.recruits_info ri
|
||||
WHERE jsonb_typeof(ri.info -> 'svedFL' -> 'svedIGPP' -> 'svedPP') = 'array'
|
||||
AND coalesce(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}'
|
||||
and case when '${MAX_SOURCE_UPDATE_DATE}' <> ''
|
||||
then to_date(ri.info -> 'svedFL' -> 'svedDeputat' -> 'deputat' ->> 'dataSved', 'YYYY-MM-DD') >
|
||||
to_date('${MAX_SOURCE_UPDATE_DATE}', 'YYYY-MM-DD')
|
||||
else true end
|
||||
)
|
||||
SELECT
|
||||
recruit_id,
|
||||
coalesce(to_date(NULLIF(data ->> 'dataSved', ''), 'YYYY-MM-DD'), current_date) AS source_update_date, -- дата обновления сведений
|
||||
data ->> CASE WHEN type = 'residence' THEN 'osnovPriobrPP' ELSE 'osnovPriobrIG' END AS basis,
|
||||
to_date(data ->> CASE WHEN type = 'residence' THEN 'dataPriobrPP' ELSE 'dataPriobrIG' END, 'YYYY-MM-DD') AS acquisition_date,
|
||||
data -> 'oksm' ->> 'kodOKSM' AS oksm_code,
|
||||
type,
|
||||
(type = 'residence') AS has_foreign_residence,
|
||||
(type = 'citizenship') AS has_foreign_citizenship
|
||||
FROM filtered_data;
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>560</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>update_citizen_has_foreign_citizenship</name>
|
||||
<type>Update</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>10000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<error_ignored>Y</error_ignored>
|
||||
<lookup>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
</key>
|
||||
<key>
|
||||
<condition><></condition>
|
||||
<field>has_foreign_citizenship</field>
|
||||
<name>has_foreign_citizenship</name>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizen</table>
|
||||
<value>
|
||||
<name>has_foreign_citizenship</name>
|
||||
<rename>has_foreign_citizenship</rename>
|
||||
</value>
|
||||
</lookup>
|
||||
<skip_lookup>N</skip_lookup>
|
||||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>976</xloc>
|
||||
<yloc>512</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>update_citizen_has_foreign_residence</name>
|
||||
<type>Update</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>10000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<error_ignored>Y</error_ignored>
|
||||
<lookup>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizen</table>
|
||||
<value>
|
||||
<name>has_foreign_residence</name>
|
||||
<rename>has_foreign_residence</rename>
|
||||
</value>
|
||||
</lookup>
|
||||
<skip_lookup>N</skip_lookup>
|
||||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>976</xloc>
|
||||
<yloc>656</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>update_job_execution_record_CF</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -201,308 +532,10 @@ and recruitment_id = '${IDM_ID}';</sql>
|
|||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Detect empty stream</name>
|
||||
<type>DetectEmptyStream</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>784</xloc>
|
||||
<yloc>192</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Filter rows</name>
|
||||
<type>FilterRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<compare>
|
||||
<condition>
|
||||
<conditions>
|
||||
</conditions>
|
||||
<function>=</function>
|
||||
<leftvalue>last_row</leftvalue>
|
||||
<negated>N</negated>
|
||||
<operator>-</operator>
|
||||
<value>
|
||||
<isnull>N</isnull>
|
||||
<length>-1</length>
|
||||
<name>constant</name>
|
||||
<precision>-1</precision>
|
||||
<text>Y</text>
|
||||
<type>Boolean</type>
|
||||
</value>
|
||||
</condition>
|
||||
</compare>
|
||||
<send_true_to>Change job status on success</send_true_to>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1408</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Identify last row in a stream</name>
|
||||
<type>DetectLastRow</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<resultfieldname>last_row</resultfieldname>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>784</xloc>
|
||||
<yloc>352</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>10000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<lookup>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>type</field>
|
||||
<name>type</name>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizenship_foreign</table>
|
||||
<value>
|
||||
<name>recruit_id</name>
|
||||
<rename>recruit_id</rename>
|
||||
<update>N</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>residense_right_basis</name>
|
||||
<rename>residense_right_basis</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>residense_right_date</name>
|
||||
<rename>residense_right_date</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>country_name</name>
|
||||
<rename>country_name</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>citizenship_basis</name>
|
||||
<rename>citizenship_basis</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>citizenship_date</name>
|
||||
<rename>citizenship_date</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>type</name>
|
||||
<rename>type</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>source_update_date</name>
|
||||
<rename>source_update_date</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
</lookup>
|
||||
<update_bypassed>N</update_bypassed>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>976</xloc>
|
||||
<yloc>352</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>
|
||||
<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
|
||||
WHERE '${IDM_ID}' != ''
|
||||
AND (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}'))
|
||||
AND (
|
||||
jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedIG') = 'array'
|
||||
OR jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedPP') = 'array'
|
||||
)
|
||||
),
|
||||
filtered_data AS (
|
||||
SELECT
|
||||
recruit_id,
|
||||
elem AS data,
|
||||
'citizenship' AS type
|
||||
FROM base ri,
|
||||
LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedIGPP'->'svedIG') AS elem
|
||||
WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedIG') = 'array'
|
||||
AND to_date(elem->>'dataSved', 'YYYY-MM-DD') > '${MAX_SOURCE_UPDATE_DATE}'::date
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
recruit_id,
|
||||
elem AS data,
|
||||
'residense' AS type
|
||||
FROM base ri,
|
||||
LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedIGPP'->'svedPP') AS elem
|
||||
WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedPP') = 'array'
|
||||
AND to_date(elem->>'dataSved', 'YYYY-MM-DD') > '${MAX_SOURCE_UPDATE_DATE}'::date
|
||||
)
|
||||
SELECT
|
||||
recruit_id,
|
||||
to_date(data->>'dataSved', 'YYYY-MM-DD') AS source_update_date, -- дата обновления сведений
|
||||
CASE
|
||||
WHEN type='residense' THEN data->>'osnovPriobrPP'
|
||||
END::text AS residense_right_basis,
|
||||
CASE
|
||||
WHEN type='residense' THEN to_date(NULLIF(data->>'dataPriobrPP',''), 'YYYY-MM-DD')
|
||||
END::date AS residense_right_date,
|
||||
data->'oksm'->>'naimOKSM' AS country_name,
|
||||
CASE
|
||||
WHEN type='citizenship' THEN data->>'osnovPriobrIG'
|
||||
END::text AS citizenship_basis,
|
||||
CASE
|
||||
WHEN type='citizenship' THEN to_date(NULLIF(data->>'dataPriobrIG',''), 'YYYY-MM-DD')
|
||||
END::date AS citizenship_date,
|
||||
type,
|
||||
CASE
|
||||
WHEN type = 'residense' THEN true
|
||||
ELSE false
|
||||
END AS has_foreign_residence,
|
||||
CASE
|
||||
WHEN type = 'citizenship' THEN true
|
||||
ELSE false
|
||||
END AS has_foreign_citizenship
|
||||
FROM citizen</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>560</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Update</name>
|
||||
<type>Update</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>10000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<error_ignored>Y</error_ignored>
|
||||
<lookup>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizen</table>
|
||||
<value>
|
||||
<name>has_foreign_residence</name>
|
||||
<rename>has_foreign_residence</rename>
|
||||
</value>
|
||||
<value>
|
||||
<name>has_foreign_citizenship</name>
|
||||
<rename>has_foreign_citizenship</rename>
|
||||
</value>
|
||||
</lookup>
|
||||
<skip_lookup>N</skip_lookup>
|
||||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>992</xloc>
|
||||
<yloc>528</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>sort_by_recruit_id</name>
|
||||
<type>SortRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>srt</prefix>
|
||||
<sort_size>100000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>784</xloc>
|
||||
<yloc>528</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
<error>
|
||||
<source_transform>Insert / update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<source_transform>upsert_CF</source_transform>
|
||||
<target_transform>change_job_status_on_error_CF</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
@ -513,8 +546,20 @@ FROM citizen</sql>
|
|||
<min_pct_rows/>
|
||||
</error>
|
||||
<error>
|
||||
<source_transform>Update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<source_transform>update_citizen_has_foreign_citizenship</source_transform>
|
||||
<target_transform>change_job_status_on_error_CF</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
<fields_valuename/>
|
||||
<codes_valuename/>
|
||||
<max_errors/>
|
||||
<max_pct_errors/>
|
||||
<min_pct_rows/>
|
||||
</error>
|
||||
<error>
|
||||
<source_transform>update_citizen_has_foreign_residence</source_transform>
|
||||
<target_transform>change_job_status_on_error_CF</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
|
|||
|
|
@ -21,68 +21,96 @@
|
|||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Create job execution record</from>
|
||||
<to>Table input</to>
|
||||
<from>upsert_job_execution_record_CF</from>
|
||||
<to>table_input_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Filter rows</from>
|
||||
<to>Change job status on success</to>
|
||||
<from>filter_last_row_CF</from>
|
||||
<to>change_job_status_on_success_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Detect empty stream</from>
|
||||
<to>Change job status on success</to>
|
||||
<from>detect_empty_stream_CF</from>
|
||||
<to>change_job_status_on_success_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Change job status on error</from>
|
||||
<to>Abort</to>
|
||||
<from>change_job_status_on_error_CF</from>
|
||||
<to>abort_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Insert / update</from>
|
||||
<to>Change job status on error</to>
|
||||
<from>upsert_CF</from>
|
||||
<to>change_job_status_on_error_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>table_input_CF</from>
|
||||
<to>Identify last row in a stream</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>Insert / update</to>
|
||||
<to>upsert_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>Detect empty stream</to>
|
||||
<to>detect_empty_stream_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>upsert_CF</from>
|
||||
<to>filter_last_row_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>filter_true_citizenship</from>
|
||||
<to>update_citizen_has_foreign_citizenship</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>filter_true_citizenship</from>
|
||||
<to>update_citizen_has_foreign_residence</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>sort_by_recruit_id</to>
|
||||
<to>filter_true_citizenship</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>sort_by_recruit_id</from>
|
||||
<to>Update</to>
|
||||
<from>update_citizen_has_foreign_citizenship</from>
|
||||
<to>change_job_status_on_error_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Insert / update</from>
|
||||
<to>Filter rows</to>
|
||||
<from>update_citizen_has_foreign_residence</from>
|
||||
<to>change_job_status_on_error_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Abort</name>
|
||||
<name>Identify last row in a stream</name>
|
||||
<type>DetectLastRow</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<resultfieldname>last_row</resultfieldname>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>704</xloc>
|
||||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>abort_CF</name>
|
||||
<type>Abort</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -97,12 +125,12 @@
|
|||
<row_threshold>0</row_threshold>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1312</xloc>
|
||||
<yloc>400</yloc>
|
||||
<xloc>1408</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on error</name>
|
||||
<name>change_job_status_on_error_CF</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -133,12 +161,12 @@ and recruitment_id = '${IDM_ID}';
|
|||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1120</xloc>
|
||||
<yloc>400</yloc>
|
||||
<xloc>1216</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on success</name>
|
||||
<name>change_job_status_on_success_CF</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -165,12 +193,291 @@ and recruitment_id = '${IDM_ID}';
|
|||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1360</xloc>
|
||||
<xloc>1408</xloc>
|
||||
<yloc>64</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Create job execution record</name>
|
||||
<name>detect_empty_stream_CF</name>
|
||||
<type>DetectEmptyStream</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>704</xloc>
|
||||
<yloc>64</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>filter_last_row_CF</name>
|
||||
<type>FilterRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<compare>
|
||||
<condition>
|
||||
<conditions>
|
||||
</conditions>
|
||||
<function>=</function>
|
||||
<leftvalue>last_row</leftvalue>
|
||||
<negated>N</negated>
|
||||
<operator>-</operator>
|
||||
<value>
|
||||
<isnull>N</isnull>
|
||||
<length>-1</length>
|
||||
<name>constant</name>
|
||||
<precision>-1</precision>
|
||||
<text>Y</text>
|
||||
<type>Boolean</type>
|
||||
</value>
|
||||
</condition>
|
||||
</compare>
|
||||
<send_true_to>change_job_status_on_success_CF</send_true_to>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1408</xloc>
|
||||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>filter_true_citizenship</name>
|
||||
<type>FilterRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<compare>
|
||||
<condition>
|
||||
<conditions>
|
||||
</conditions>
|
||||
<function>=</function>
|
||||
<leftvalue>has_foreign_citizenship</leftvalue>
|
||||
<negated>N</negated>
|
||||
<operator>-</operator>
|
||||
<value>
|
||||
<isnull>N</isnull>
|
||||
<length>-1</length>
|
||||
<name>constant</name>
|
||||
<precision>-1</precision>
|
||||
<text>Y</text>
|
||||
<type>Boolean</type>
|
||||
</value>
|
||||
</condition>
|
||||
</compare>
|
||||
<send_false_to>update_citizen_has_foreign_residence</send_false_to>
|
||||
<send_true_to>update_citizen_has_foreign_citizenship</send_true_to>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>704</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>table_input_CF</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<sql>WITH filtered_data AS (
|
||||
SELECT
|
||||
ri.recruit_id,
|
||||
jsonb_array_elements(ri.info -> 'svedFL' -> 'svedIGPP' -> 'svedIG') AS data,
|
||||
'citizenship' AS type
|
||||
FROM ervu_dashboard.recruits_info ri
|
||||
WHERE jsonb_typeof(ri.info -> 'svedFL' -> 'svedIGPP' -> 'svedIG') = 'array'
|
||||
AND coalesce(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
ri.recruit_id,
|
||||
jsonb_array_elements(ri.info -> 'svedFL' -> 'svedIGPP' -> 'svedPP') AS data,
|
||||
'residence' AS type
|
||||
FROM ervu_dashboard.recruits_info ri
|
||||
WHERE jsonb_typeof(ri.info -> 'svedFL' -> 'svedIGPP' -> 'svedPP') = 'array'
|
||||
AND coalesce(ri.current_recruitment_id, ri.target_recruitment_id) = '${IDM_ID}'
|
||||
)
|
||||
SELECT
|
||||
recruit_id,
|
||||
coalesce(to_date(NULLIF(data ->> 'dataSved', ''), 'YYYY-MM-DD'), current_date) AS source_update_date, -- дата обновления сведений
|
||||
data ->> CASE WHEN type = 'residence' THEN 'osnovPriobrPP' ELSE 'osnovPriobrIG' END AS basis,
|
||||
to_date(data ->> CASE WHEN type = 'residence' THEN 'dataPriobrPP' ELSE 'dataPriobrIG' END, 'YYYY-MM-DD') AS acquisition_date,
|
||||
data -> 'oksm' ->> 'kodOKSM' AS oksm_code,
|
||||
type,
|
||||
(type = 'residence') AS has_foreign_residence,
|
||||
(type = 'citizenship') AS has_foreign_citizenship
|
||||
FROM filtered_data;
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>480</xloc>
|
||||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>update_citizen_has_foreign_citizenship</name>
|
||||
<type>Update</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>10000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<error_ignored>Y</error_ignored>
|
||||
<lookup>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizen</table>
|
||||
<value>
|
||||
<name>has_foreign_citizenship</name>
|
||||
<rename>has_foreign_citizenship</rename>
|
||||
</value>
|
||||
</lookup>
|
||||
<skip_lookup>N</skip_lookup>
|
||||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>944</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>update_citizen_has_foreign_residence</name>
|
||||
<type>Update</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>10000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<error_ignored>Y</error_ignored>
|
||||
<lookup>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizen</table>
|
||||
<value>
|
||||
<name>has_foreign_residence</name>
|
||||
<rename>has_foreign_residence</rename>
|
||||
</value>
|
||||
</lookup>
|
||||
<skip_lookup>N</skip_lookup>
|
||||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>944</xloc>
|
||||
<yloc>512</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>upsert_CF</name>
|
||||
<type>InsertUpdate</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>10000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<lookup>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>source_id</field>
|
||||
<name>source_id</name>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizenship_foreign</table>
|
||||
<value>
|
||||
<name>recruit_id</name>
|
||||
<rename>recruit_id</rename>
|
||||
<update>N</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>source_update_date</name>
|
||||
<rename>source_update_date</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>basis</name>
|
||||
<rename>basis</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>acquisition_date</name>
|
||||
<rename>acquisition_date</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>oksm_code</name>
|
||||
<rename>oksm_code</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>type</name>
|
||||
<rename>type</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>source_id</name>
|
||||
<rename>source_id</rename>
|
||||
<update>N</update>
|
||||
</value>
|
||||
</lookup>
|
||||
<update_bypassed>Y</update_bypassed>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>944</xloc>
|
||||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>upsert_job_execution_record_CF</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -216,302 +523,10 @@ DO UPDATE SET
|
|||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Detect empty stream</name>
|
||||
<type>DetectEmptyStream</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>704</xloc>
|
||||
<yloc>64</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Filter rows</name>
|
||||
<type>FilterRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<compare>
|
||||
<condition>
|
||||
<conditions>
|
||||
</conditions>
|
||||
<function>=</function>
|
||||
<leftvalue>last_row</leftvalue>
|
||||
<negated>N</negated>
|
||||
<operator>-</operator>
|
||||
<value>
|
||||
<isnull>N</isnull>
|
||||
<length>-1</length>
|
||||
<name>constant</name>
|
||||
<precision>-1</precision>
|
||||
<text>Y</text>
|
||||
<type>Boolean</type>
|
||||
</value>
|
||||
</condition>
|
||||
</compare>
|
||||
<send_true_to>Change job status on success</send_true_to>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1360</xloc>
|
||||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Identify last row in a stream</name>
|
||||
<type>DetectLastRow</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<resultfieldname>last_row</resultfieldname>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>704</xloc>
|
||||
<yloc>208</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>10000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<lookup>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>type</field>
|
||||
<name>type</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizenship_foreign</table>
|
||||
<value>
|
||||
<name>recruit_id</name>
|
||||
<rename>recruit_id</rename>
|
||||
<update>N</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>residense_right_basis</name>
|
||||
<rename>residense_right_basis</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>residense_right_date</name>
|
||||
<rename>residense_right_date</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>country_name</name>
|
||||
<rename>country_name</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>citizenship_basis</name>
|
||||
<rename>citizenship_basis</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>citizenship_date</name>
|
||||
<rename>citizenship_date</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>type</name>
|
||||
<rename>type</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>source_update_date</name>
|
||||
<rename>source_update_date</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
</lookup>
|
||||
<update_bypassed>Y</update_bypassed>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>912</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>
|
||||
<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 (ri.current_recruitment_id = '${IDM_ID}' or (ri.current_recruitment_id is null and ri.target_recruitment_id = '${IDM_ID}'))
|
||||
WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedIG') = 'array'
|
||||
OR jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedPP') = 'array'
|
||||
),
|
||||
citizen AS (
|
||||
SELECT
|
||||
ri.recruit_id,
|
||||
jsonb_array_elements(ri.info->'svedFL'->'svedIGPP'->'svedIG') AS data,
|
||||
'citizenship' AS type
|
||||
FROM base ri
|
||||
WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedIG') = 'array'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
ri.recruit_id,
|
||||
jsonb_array_elements(ri.info->'svedFL'->'svedIGPP'->'svedPP') AS data,
|
||||
'residense' AS type
|
||||
FROM base ri WHERE jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedPP') = 'array'
|
||||
)
|
||||
SELECT
|
||||
recruit_id,
|
||||
to_date(data->>'dataSved', 'YYYY-MM-DD') AS source_update_date, -- дата обновления сведений
|
||||
CASE
|
||||
WHEN type='residense' THEN data->>'osnovPriobrPP'
|
||||
END::text AS residense_right_basis,
|
||||
CASE
|
||||
WHEN type='residense' THEN to_date(NULLIF(data->>'dataPriobrPP',''), 'YYYY-MM-DD')
|
||||
END::date AS residense_right_date,
|
||||
data->'oksm'->>'naimOKSM' AS country_name,
|
||||
CASE
|
||||
WHEN type='citizenship' THEN data->>'osnovPriobrIG'
|
||||
END::text AS citizenship_basis,
|
||||
CASE
|
||||
WHEN type='citizenship' THEN to_date(NULLIF(data->>'dataPriobrIG',''), 'YYYY-MM-DD')
|
||||
END::date AS citizenship_date,
|
||||
type,
|
||||
CASE
|
||||
WHEN type = 'residense' THEN true
|
||||
ELSE false
|
||||
END AS has_foreign_residence,
|
||||
CASE
|
||||
WHEN type = 'citizenship' THEN true
|
||||
ELSE false
|
||||
END AS has_foreign_citizenship
|
||||
FROM citizen</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>480</xloc>
|
||||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Update</name>
|
||||
<type>Update</type>
|
||||
<description/>
|
||||
<distribute>N</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>10000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<error_ignored>Y</error_ignored>
|
||||
<lookup>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizen</table>
|
||||
<value>
|
||||
<name>has_foreign_residence</name>
|
||||
<rename>has_foreign_residence</rename>
|
||||
</value>
|
||||
<value>
|
||||
<name>has_foreign_citizenship</name>
|
||||
<rename>has_foreign_citizenship</rename>
|
||||
</value>
|
||||
</lookup>
|
||||
<skip_lookup>N</skip_lookup>
|
||||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>912</xloc>
|
||||
<yloc>400</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>sort_by_recruit_id</name>
|
||||
<type>SortRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>srt</prefix>
|
||||
<sort_size>100000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>704</xloc>
|
||||
<yloc>400</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
<error>
|
||||
<source_transform>Insert / update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<source_transform>update_citizen_has_foreign_citizenship</source_transform>
|
||||
<target_transform>change_job_status_on_error_CF</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
@ -522,8 +537,20 @@ FROM citizen</sql>
|
|||
<min_pct_rows/>
|
||||
</error>
|
||||
<error>
|
||||
<source_transform>Update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<source_transform>update_citizen_has_foreign_residence</source_transform>
|
||||
<target_transform>change_job_status_on_error_CF</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
<fields_valuename/>
|
||||
<codes_valuename/>
|
||||
<max_errors/>
|
||||
<max_pct_errors/>
|
||||
<min_pct_rows/>
|
||||
</error>
|
||||
<error>
|
||||
<source_transform>upsert_CF</source_transform>
|
||||
<target_transform>change_job_status_on_error_CF</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
|
|||
|
|
@ -21,38 +21,38 @@
|
|||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>get_update_recrutiments_CF</from>
|
||||
<to>citizenship_foreign_flow_delta.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>get_max_source_update_date</from>
|
||||
<to>Table input</to>
|
||||
<from>get_max_source_update_date_CF</from>
|
||||
<to>get_update_recrutiments_CF</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>get_update_recrutiments_CF</from>
|
||||
<to>citizenship_foreign_flow_delta.hpl 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>get_update_recrutiments_CF</from>
|
||||
<to>citizenship_foreign_flow_delta.hpl 3</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>get_update_recrutiments_CF</from>
|
||||
<to>citizenship_foreign_flow_delta.hpl 4</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>get_update_recrutiments_CF</from>
|
||||
<to>citizenship_foreign_flow_delta.hpl 5</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Table input</name>
|
||||
<name>get_update_recrutiments_CF</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -89,7 +89,7 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>352</xloc>
|
||||
<xloc>384</xloc>
|
||||
<yloc>288</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
|
|
@ -374,7 +374,7 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>get_max_source_update_date</name>
|
||||
<name>get_max_source_update_date_CF</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
|
|||
|
|
@ -21,33 +21,33 @@
|
|||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>get_missed_error_recruitments_CF</from>
|
||||
<to>citizenship_foreign_flow_repeat.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>get_missed_error_recruitments_CF</from>
|
||||
<to>citizenship_foreign_flow_repeat.hpl 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>get_missed_error_recruitments_CF</from>
|
||||
<to>citizenship_foreign_flow_repeat.hpl 3</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>get_missed_error_recruitments_CF</from>
|
||||
<to>citizenship_foreign_flow_repeat.hpl 4</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>get_missed_error_recruitments_CF</from>
|
||||
<to>citizenship_foreign_flow_repeat.hpl 5</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Table input</name>
|
||||
<name>get_missed_error_recruitments_CF</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -223,7 +223,7 @@ where je.status is null or je.status in('ERROR', 'PROCESSING');</sql>
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>560</xloc>
|
||||
<xloc>544</xloc>
|
||||
<yloc>384</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
|
|
@ -274,7 +274,7 @@ where je.status is null or je.status in('ERROR', 'PROCESSING');</sql>
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>560</xloc>
|
||||
<xloc>544</xloc>
|
||||
<yloc>480</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
|
|
@ -325,7 +325,7 @@ where je.status is null or je.status in('ERROR', 'PROCESSING');</sql>
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>560</xloc>
|
||||
<xloc>544</xloc>
|
||||
<yloc>560</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
|
|
|
|||
|
|
@ -21,33 +21,33 @@
|
|||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Get all recruitments ordered by created_date</from>
|
||||
<from>get_all_recruitments_CF</from>
|
||||
<to>citizenship_foreign_flow.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Get all recruitments ordered by created_date</from>
|
||||
<from>get_all_recruitments_CF</from>
|
||||
<to>citizenship_foreign_flow.hpl 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Get all recruitments ordered by created_date</from>
|
||||
<from>get_all_recruitments_CF</from>
|
||||
<to>citizenship_foreign_flow.hpl 3</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Get all recruitments ordered by created_date</from>
|
||||
<from>get_all_recruitments_CF</from>
|
||||
<to>citizenship_foreign_flow.hpl 4</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Get all recruitments ordered by created_date</from>
|
||||
<from>get_all_recruitments_CF</from>
|
||||
<to>citizenship_foreign_flow.hpl 5</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Get all recruitments ordered by created_date</name>
|
||||
<name>get_all_recruitments_CF</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -169,8 +169,8 @@ FROM ervu_dashboard.recruitment
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>752</xloc>
|
||||
<yloc>240</yloc>
|
||||
<xloc>736</xloc>
|
||||
<yloc>224</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -220,8 +220,8 @@ FROM ervu_dashboard.recruitment
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>752</xloc>
|
||||
<yloc>320</yloc>
|
||||
<xloc>736</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -271,8 +271,8 @@ FROM ervu_dashboard.recruitment
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>768</xloc>
|
||||
<yloc>400</yloc>
|
||||
<xloc>736</xloc>
|
||||
<yloc>384</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -322,8 +322,8 @@ FROM ervu_dashboard.recruitment
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>752</xloc>
|
||||
<yloc>480</yloc>
|
||||
<xloc>736</xloc>
|
||||
<yloc>464</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
|
|
|
|||
|
|
@ -1,98 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<pipeline>
|
||||
<info>
|
||||
<name>deferment_decision_update_date_ervu_dashboard</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/06/02 14:50:31.833</created_date>
|
||||
<modified_user>-</modified_user>
|
||||
<modified_date>2025/06/02 14:50:31.833</modified_date>
|
||||
</info>
|
||||
<notepads>
|
||||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Table output</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>SELECT
|
||||
created_at AS system_create_date,
|
||||
CASE
|
||||
WHEN updated_at is null THEN '0001-01-01 00:00:00'
|
||||
ELSE updated_at
|
||||
END as system_update_date,
|
||||
current_timestamp AS record_created,
|
||||
'deferment_decision_table' AS workflow
|
||||
FROM ervu_dashboard.deferment_liberation
|
||||
WHERE updated_at = (SELECT MAX(updated_at) FROM ervu_dashboard.deferment_liberation)
|
||||
limit 1</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>896</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Table output</name>
|
||||
<type>TableOutput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>1000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<fields>
|
||||
</fields>
|
||||
<ignore_errors>N</ignore_errors>
|
||||
<only_when_have_rows>N</only_when_have_rows>
|
||||
<partitioning_daily>N</partitioning_daily>
|
||||
<partitioning_enabled>N</partitioning_enabled>
|
||||
<partitioning_monthly>Y</partitioning_monthly>
|
||||
<return_keys>N</return_keys>
|
||||
<schema>public</schema>
|
||||
<specify_fields>N</specify_fields>
|
||||
<table>recruit_create</table>
|
||||
<tablename_in_field>N</tablename_in_field>
|
||||
<tablename_in_table>Y</tablename_in_table>
|
||||
<truncate>N</truncate>
|
||||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1216</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
</transform_error_handling>
|
||||
<attributes/>
|
||||
</pipeline>
|
||||
|
|
@ -1,126 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<workflow>
|
||||
<name>job_last_update_date_deferment_decision</name>
|
||||
<name_sync_with_filename>Y</name_sync_with_filename>
|
||||
<description/>
|
||||
<extended_description/>
|
||||
<workflow_version/>
|
||||
<created_user>-</created_user>
|
||||
<created_date>2025/06/02 14:48:05.666</created_date>
|
||||
<modified_user>-</modified_user>
|
||||
<modified_date>2025/06/02 14:48:05.666</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>592</xloc>
|
||||
<yloc>352</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>deferment_decision_update_date_ervu_dashboard.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/citizen_tables/deferment_liberation/deferment_decision_update_date_ervu_dashboard.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>848</xloc>
|
||||
<yloc>352</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>row_last_deferment_decision_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/citizen_tables/deferment_liberation/row_last_deferment_decision_update_date.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>1248</xloc>
|
||||
<yloc>352</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>Success</name>
|
||||
<description/>
|
||||
<type>SUCCESS</type>
|
||||
<attributes/>
|
||||
<parallel>N</parallel>
|
||||
<xloc>1568</xloc>
|
||||
<yloc>352</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
</actions>
|
||||
<hops>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>deferment_decision_update_date_ervu_dashboard.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>deferment_decision_update_date_ervu_dashboard.hpl</from>
|
||||
<to>row_last_deferment_decision_update_date.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>row_last_deferment_decision_update_date.hpl</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
</hops>
|
||||
<notepads>
|
||||
</notepads>
|
||||
<attributes/>
|
||||
</workflow>
|
||||
|
|
@ -45,11 +45,6 @@
|
|||
<to>Change job status on error</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Identify last row in a stream</to>
|
||||
|
|
@ -70,14 +65,34 @@
|
|||
<to>Detect empty stream</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table output</from>
|
||||
<to>Filter rows</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>sort_by_recruit_id</from>
|
||||
<to>Group by</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Change job status on error 2</from>
|
||||
<to>Abort 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Group by</from>
|
||||
<to>User defined Java expression</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>User defined Java expression</from>
|
||||
<to>Update</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table output</from>
|
||||
<to>Filter rows</to>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
|
|
@ -98,7 +113,7 @@
|
|||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1408</xloc>
|
||||
<yloc>464</yloc>
|
||||
<yloc>400</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -134,7 +149,7 @@ and recruitment_id = '${IDM_ID}';
|
|||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1200</xloc>
|
||||
<yloc>464</yloc>
|
||||
<yloc>400</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -282,67 +297,32 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
|
|||
</partitioning>
|
||||
<connection>postgres.decision-document-service</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<sql>WITH
|
||||
part_recruits AS (
|
||||
SELECT
|
||||
id
|
||||
FROM public.recruit
|
||||
WHERE '${IDM_ID}' != '' -- Проверка на пустую строку
|
||||
AND (current_recruitment = '${IDM_ID}' or (current_recruitment is null and target_recruitment = '${IDM_ID}'))
|
||||
),
|
||||
p_deferment_decision AS (
|
||||
SELECT
|
||||
d.id,
|
||||
d.recruit_id,
|
||||
d.base_deferment,
|
||||
d.created_at,
|
||||
d.updated_at,
|
||||
d.postponement_date,
|
||||
d.hidden,
|
||||
d.fact_provision,
|
||||
ddt.code AS type_code
|
||||
FROM public.deferment_decision d
|
||||
JOIN public.deferment_decision_type ddt ON d.type_id = ddt.id
|
||||
)
|
||||
SELECT
|
||||
d.id AS deferment_id,
|
||||
d.recruit_id,
|
||||
d.base_deferment, --Основание на отсрочку от призыва/Основание на освобождение от призыва
|
||||
d.created_at,--Дата начала действия отсрочки от призыва/Дата начала действия отвобождения от призыва
|
||||
d.updated_at,
|
||||
d.postponement_date, --Дата окончания действия отсрочки от призыва/Дата окончания действия освобождения от призыва
|
||||
d.hidden,
|
||||
'deferment' AS type,
|
||||
'fact' AS permission_fact, -- ключ принадлежности к решению по отсрочке/освобождению
|
||||
CASE
|
||||
WHEN d.fact_provision = '1' THEN true
|
||||
ELSE false
|
||||
END AS has_deferment,--Факт предоставления отсрочки от призыва/Факт предоставления освобождения от призыва (1 - предоставлено, 2 - не предоставлено)
|
||||
false AS has_liberation
|
||||
FROM p_deferment_decision d
|
||||
JOIN part_recruits r ON r.id = d.recruit_id
|
||||
WHERE d.type_code = '1' -- отсрочка
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
d.id AS deferment_id,
|
||||
d.recruit_id,
|
||||
d.base_deferment, --Основание на отсрочку от призыва/Основание на освобождение от призыва
|
||||
d.created_at,--Дата начала действия отсрочки от призыва/Дата начала действия отвобождения от призыва
|
||||
d.updated_at,
|
||||
d.postponement_date, --Дата окончания действия отсрочки от призыва/Дата окончания действия освобождения от призыва
|
||||
d.hidden,
|
||||
'liberation' AS type,
|
||||
'fact' AS permission_fact, -- ключ принадлежности к решению по отсрочке/освобождению
|
||||
false AS has_deferment,
|
||||
CASE
|
||||
WHEN d.fact_provision = '1' THEN true
|
||||
ELSE false
|
||||
END AS has_liberation-- Факт предоставления отсрочки от призыва/Факт предоставления освобождения от призыва (1 - предоставлено, 2 - не предоставлено)
|
||||
FROM p_deferment_decision d
|
||||
JOIN part_recruits r ON r.id = d.recruit_id
|
||||
WHERE d.type_code = '2' -- освобождение</sql>
|
||||
<limit/>
|
||||
<sql>SELECT
|
||||
dd.id AS deferment_id,
|
||||
dd.recruit_id,
|
||||
dd.base_deferment,
|
||||
dd.created_at,
|
||||
dd.updated_at,
|
||||
dd.postponement_date,
|
||||
dd.hidden,
|
||||
CASE ddt.code
|
||||
WHEN '1' THEN 'deferment'
|
||||
WHEN '2' THEN 'liberation'
|
||||
END AS type,
|
||||
-- 'fact' AS permission_fact,
|
||||
dd.fact_provision AS has_deferment_raw,
|
||||
-- true только если тип "освобождение" и факт предоставления = 1
|
||||
case when (ddt.code = '2' AND dd.fact_provision = '1') then 1
|
||||
else 0 end AS has_liberation_raw
|
||||
FROM public.deferment_decision dd
|
||||
JOIN public.recruit r
|
||||
ON r.id = dd.recruit_id
|
||||
AND (r.current_recruitment = '${IDM_ID}'
|
||||
OR (r.current_recruitment IS NULL AND r.target_recruitment = '${IDM_ID}'))
|
||||
JOIN public.deferment_decision_type ddt
|
||||
ON dd.type_id = ddt.id
|
||||
WHERE ddt.code IN ('1', '2');</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -455,8 +435,8 @@ WHERE d.type_code = '2' -- освобождение</sql>
|
|||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>880</xloc>
|
||||
<yloc>464</yloc>
|
||||
<xloc>1152</xloc>
|
||||
<yloc>544</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -490,7 +470,139 @@ WHERE d.type_code = '2' -- освобождение</sql>
|
|||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>688</xloc>
|
||||
<yloc>464</yloc>
|
||||
<yloc>544</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Group by</name>
|
||||
<type>GroupBy</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<add_linenr>N</add_linenr>
|
||||
<all_rows>N</all_rows>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<fields>
|
||||
<field>
|
||||
<aggregate>has_deferment_raw</aggregate>
|
||||
<subject/>
|
||||
<type>MAX</type>
|
||||
<valuefield/>
|
||||
</field>
|
||||
<field>
|
||||
<aggregate>has_liberation_raw</aggregate>
|
||||
<subject/>
|
||||
<type>MAX</type>
|
||||
<valuefield/>
|
||||
</field>
|
||||
</fields>
|
||||
<give_back_row>N</give_back_row>
|
||||
<group>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
</field>
|
||||
</group>
|
||||
<ignore_aggregate>N</ignore_aggregate>
|
||||
<linenr_fieldname/>
|
||||
<prefix>grp</prefix>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>816</xloc>
|
||||
<yloc>544</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>User defined Java expression</name>
|
||||
<type>Janino</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<formula>
|
||||
<field_name>has_deferment</field_name>
|
||||
<formula_string>has_deferment_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<formula>
|
||||
<field_name>has_liberation</field_name>
|
||||
<formula_string>has_liberation_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>976</xloc>
|
||||
<yloc>544</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Abort 2</name>
|
||||
<type>Abort</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<abort_option>ABORT_WITH_ERROR</abort_option>
|
||||
<always_log_rows>Y</always_log_rows>
|
||||
<row_threshold>0</row_threshold>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1520</xloc>
|
||||
<yloc>544</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on error 2</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<arguments>
|
||||
<argument>
|
||||
<name>error_description</name>
|
||||
</argument>
|
||||
</arguments>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<execute_each_row>Y</execute_each_row>
|
||||
<quoteString>N</quoteString>
|
||||
<replace_variables>Y</replace_variables>
|
||||
<set_params>Y</set_params>
|
||||
<single_statement>N</single_statement>
|
||||
<sql>UPDATE etl.job_execution
|
||||
SET status = 'ERROR',
|
||||
error_description = ?,
|
||||
execution_end_datetime = current_timestamp
|
||||
WHERE job_name = '${JOB_NAME}'
|
||||
and recruitment_id = '${IDM_ID}';
|
||||
|
||||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1312</xloc>
|
||||
<yloc>544</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
|
|
@ -508,7 +620,7 @@ WHERE d.type_code = '2' -- освобождение</sql>
|
|||
</error>
|
||||
<error>
|
||||
<source_transform>Update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<target_transform>Change job status on error 2</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
|
|||
|
|
@ -45,11 +45,6 @@
|
|||
<to>Change job status on error</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Identify last row in a stream</to>
|
||||
|
|
@ -66,18 +61,38 @@
|
|||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>sort_by_recruit_id</to>
|
||||
<from>Insert / update</from>
|
||||
<to>Filter rows</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>sort_by_recruit_id</from>
|
||||
<from>Change job status on error 2</from>
|
||||
<to>Abort 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Group by</from>
|
||||
<to>User defined Java expression</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>User defined Java expression</from>
|
||||
<to>Update</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Insert / update</from>
|
||||
<to>Filter rows</to>
|
||||
<from>sort_by_recruit_id</from>
|
||||
<to>Group by</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>sort_by_recruit_id</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
|
|
@ -98,7 +113,7 @@
|
|||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1392</xloc>
|
||||
<yloc>512</yloc>
|
||||
<yloc>432</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -134,7 +149,7 @@ and recruitment_id = '${IDM_ID}';
|
|||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1184</xloc>
|
||||
<yloc>512</yloc>
|
||||
<yloc>432</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -354,68 +369,33 @@ and recruitment_id = '${IDM_ID}';</sql>
|
|||
</partitioning>
|
||||
<connection>postgres.decision-document-service</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<sql>WITH
|
||||
part_recruits AS (
|
||||
SELECT
|
||||
id
|
||||
FROM public.recruit
|
||||
WHERE '${IDM_ID}' != '' -- Проверка на пустую строку
|
||||
AND (current_recruitment = '${IDM_ID}' or (current_recruitment is null and target_recruitment = '${IDM_ID}'))
|
||||
),
|
||||
p_deferment_decision AS (
|
||||
SELECT
|
||||
d.id,
|
||||
d.recruit_id,
|
||||
d.base_deferment,
|
||||
d.created_at,
|
||||
d.updated_at,
|
||||
d.postponement_date,
|
||||
d.hidden,
|
||||
d.fact_provision,
|
||||
ddt.code AS type_code
|
||||
FROM public.deferment_decision d
|
||||
JOIN public.deferment_decision_type ddt ON d.type_id = ddt.id
|
||||
WHERE d.updated_at >= '${M_DEFDEC_UP_DATE}'::timestamp
|
||||
)
|
||||
SELECT
|
||||
d.id AS deferment_id,
|
||||
d.recruit_id,
|
||||
d.base_deferment, --Основание на отсрочку от призыва/Основание на освобождение от призыва
|
||||
d.created_at,--Дата начала действия отсрочки от призыва/Дата начала действия отвобождения от призыва
|
||||
d.updated_at,
|
||||
d.postponement_date, --Дата окончания действия отсрочки от призыва/Дата окончания действия освобождения от призыва
|
||||
d.hidden,
|
||||
'deferment' AS type,
|
||||
'fact' AS permission_fact, -- ключ принадлежности к решению по отсрочке/освобождению
|
||||
CASE
|
||||
WHEN d.fact_provision = '1' THEN true
|
||||
ELSE false
|
||||
END AS has_deferment,--Факт предоставления отсрочки от призыва/Факт предоставления освобождения от призыва (1 - предоставлено, 2 - не предоставлено)
|
||||
false AS has_liberation
|
||||
FROM p_deferment_decision d
|
||||
JOIN part_recruits r ON r.id = d.recruit_id
|
||||
WHERE d.type_code = '1' -- отсрочка
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
d.id AS deferment_id,
|
||||
d.recruit_id,
|
||||
d.base_deferment, --Основание на отсрочку от призыва/Основание на освобождение от призыва
|
||||
d.created_at,--Дата начала действия отсрочки от призыва/Дата начала действия отвобождения от призыва
|
||||
d.updated_at,
|
||||
d.postponement_date, --Дата окончания действия отсрочки от призыва/Дата окончания действия освобождения от призыва
|
||||
d.hidden,
|
||||
'liberation' AS type,
|
||||
'fact' AS permission_fact, -- ключ принадлежности к решению по отсрочке/освобождению
|
||||
false AS has_deferment,
|
||||
CASE
|
||||
WHEN d.fact_provision = '1' THEN true
|
||||
ELSE false
|
||||
END AS has_liberation-- Факт предоставления отсрочки от призыва/Факт предоставления освобождения от призыва (1 - предоставлено, 2 - не предоставлено)
|
||||
FROM p_deferment_decision d
|
||||
JOIN part_recruits r ON r.id = d.recruit_id
|
||||
WHERE d.type_code = '2' -- освобождение</sql>
|
||||
<sql>SELECT
|
||||
dd.id AS deferment_id,
|
||||
dd.recruit_id,
|
||||
dd.base_deferment,
|
||||
dd.created_at,
|
||||
dd.updated_at,
|
||||
dd.postponement_date,
|
||||
dd.hidden,
|
||||
CASE ddt.code
|
||||
WHEN '1' THEN 'deferment'
|
||||
WHEN '2' THEN 'liberation'
|
||||
END AS type,
|
||||
'fact' AS permission_fact,
|
||||
(dd.fact_provision = '1') AS has_deferment,
|
||||
-- true только если тип "освобождение" и факт предоставления = 1
|
||||
(ddt.code = '2' AND dd.fact_provision = '1') AS has_liberation
|
||||
FROM public.deferment_decision dd
|
||||
JOIN public.recruit r
|
||||
ON r.id = dd.recruit_id
|
||||
AND (r.current_recruitment = '${IDM_ID}'
|
||||
OR (r.current_recruitment IS NULL AND r.target_recruitment = '${IDM_ID}'))
|
||||
JOIN public.deferment_decision_type ddt
|
||||
ON dd.type_id = ddt.id
|
||||
WHERE ddt.code IN ('1', '2')
|
||||
and case when '${MAX_SOURCE_UPDATE_DATE}' <> ''
|
||||
then dd.updated_at > to_date('${MAX_SOURCE_UPDATE_DATE}', 'YYYY-MM-DD')
|
||||
else true end;</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -423,6 +403,100 @@ WHERE d.type_code = '2' -- освобождение</sql>
|
|||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Abort 2</name>
|
||||
<type>Abort</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<abort_option>ABORT_WITH_ERROR</abort_option>
|
||||
<always_log_rows>Y</always_log_rows>
|
||||
<row_threshold>0</row_threshold>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1584</xloc>
|
||||
<yloc>544</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on error 2</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<arguments>
|
||||
<argument>
|
||||
<name>error_description</name>
|
||||
</argument>
|
||||
</arguments>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<execute_each_row>Y</execute_each_row>
|
||||
<quoteString>N</quoteString>
|
||||
<replace_variables>Y</replace_variables>
|
||||
<set_params>Y</set_params>
|
||||
<single_statement>N</single_statement>
|
||||
<sql>UPDATE etl.job_execution
|
||||
SET status = 'ERROR',
|
||||
error_description = ?,
|
||||
execution_end_datetime = current_timestamp
|
||||
WHERE job_name = '${JOB_NAME}'
|
||||
and recruitment_id = '${IDM_ID}';
|
||||
|
||||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1376</xloc>
|
||||
<yloc>544</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Group by</name>
|
||||
<type>GroupBy</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<add_linenr>N</add_linenr>
|
||||
<all_rows>N</all_rows>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<fields>
|
||||
<field>
|
||||
<aggregate>has_deferment_raw</aggregate>
|
||||
<type>MAX</type>
|
||||
</field>
|
||||
<field>
|
||||
<aggregate>has_liberation_raw</aggregate>
|
||||
<type>MAX</type>
|
||||
</field>
|
||||
</fields>
|
||||
<give_back_row>N</give_back_row>
|
||||
<group>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
</field>
|
||||
</group>
|
||||
<ignore_aggregate>N</ignore_aggregate>
|
||||
<prefix>grp</prefix>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>880</xloc>
|
||||
<yloc>544</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Update</name>
|
||||
<type>Update</type>
|
||||
|
|
@ -458,8 +532,41 @@ WHERE d.type_code = '2' -- освобождение</sql>
|
|||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>928</xloc>
|
||||
<yloc>512</yloc>
|
||||
<xloc>1216</xloc>
|
||||
<yloc>544</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>User defined Java expression</name>
|
||||
<type>Janino</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<formula>
|
||||
<field_name>has_deferment</field_name>
|
||||
<formula_string>has_deferment_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<formula>
|
||||
<field_name>has_liberation</field_name>
|
||||
<formula_string>has_liberation_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1040</xloc>
|
||||
<yloc>544</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -493,7 +600,7 @@ WHERE d.type_code = '2' -- освобождение</sql>
|
|||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>752</xloc>
|
||||
<yloc>512</yloc>
|
||||
<yloc>544</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
|
|
@ -511,7 +618,7 @@ WHERE d.type_code = '2' -- освобождение</sql>
|
|||
</error>
|
||||
<error>
|
||||
<source_transform>Update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<target_transform>Change job status on error 2</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
|
|||
|
|
@ -45,11 +45,6 @@
|
|||
<to>Change job status on error</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Identify last row in a stream</to>
|
||||
|
|
@ -66,18 +61,38 @@
|
|||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>sort_by_recruit_id</to>
|
||||
<from>Insert / update</from>
|
||||
<to>Filter rows</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>sort_by_recruit_id</from>
|
||||
<from>Change job status on error 2</from>
|
||||
<to>Abort 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Group by</from>
|
||||
<to>User defined Java expression</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>User defined Java expression</from>
|
||||
<to>Update</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Insert / update</from>
|
||||
<to>Filter rows</to>
|
||||
<from>sort_by_recruit_id</from>
|
||||
<to>Group by</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>sort_by_recruit_id</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
|
|
@ -97,8 +112,8 @@
|
|||
<row_threshold>0</row_threshold>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1312</xloc>
|
||||
<yloc>400</yloc>
|
||||
<xloc>1264</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -133,8 +148,8 @@ and recruitment_id = '${IDM_ID}';
|
|||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1120</xloc>
|
||||
<yloc>400</yloc>
|
||||
<xloc>1072</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -305,7 +320,6 @@ DO UPDATE SET
|
|||
<condition>=</condition>
|
||||
<field>deferment_id</field>
|
||||
<name>deferment_id</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>deferment_liberation</table>
|
||||
|
|
@ -370,67 +384,30 @@ DO UPDATE SET
|
|||
</partitioning>
|
||||
<connection>postgres.decision-document-service</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<sql>WITH
|
||||
part_recruits AS (
|
||||
SELECT
|
||||
id
|
||||
FROM public.recruit
|
||||
WHERE '${IDM_ID}' != '' -- Проверка на пустую строку
|
||||
AND (current_recruitment = '${IDM_ID}' or (current_recruitment is null and target_recruitment = '${IDM_ID}'))
|
||||
),
|
||||
p_deferment_decision AS (
|
||||
SELECT
|
||||
d.id,
|
||||
d.recruit_id,
|
||||
d.base_deferment,
|
||||
d.created_at,
|
||||
d.updated_at,
|
||||
d.postponement_date,
|
||||
d.hidden,
|
||||
d.fact_provision,
|
||||
ddt.code AS type_code
|
||||
FROM public.deferment_decision d
|
||||
JOIN public.deferment_decision_type ddt ON d.type_id = ddt.id
|
||||
)
|
||||
SELECT
|
||||
d.id AS deferment_id,
|
||||
d.recruit_id,
|
||||
d.base_deferment, --Основание на отсрочку от призыва/Основание на освобождение от призыва
|
||||
d.created_at,--Дата начала действия отсрочки от призыва/Дата начала действия отвобождения от призыва
|
||||
d.updated_at,
|
||||
d.postponement_date, --Дата окончания действия отсрочки от призыва/Дата окончания действия освобождения от призыва
|
||||
d.hidden,
|
||||
'deferment' AS type,
|
||||
'fact' AS permission_fact, -- ключ принадлежности к решению по отсрочке/освобождению
|
||||
CASE
|
||||
WHEN d.fact_provision = '1' THEN true
|
||||
ELSE false
|
||||
END AS has_deferment,--Факт предоставления отсрочки от призыва/Факт предоставления освобождения от призыва (1 - предоставлено, 2 - не предоставлено)
|
||||
false AS has_liberation
|
||||
FROM p_deferment_decision d
|
||||
JOIN part_recruits r ON r.id = d.recruit_id
|
||||
WHERE d.type_code = '1' -- отсрочка
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
d.id AS deferment_id,
|
||||
d.recruit_id,
|
||||
d.base_deferment, --Основание на отсрочку от призыва/Основание на освобождение от призыва
|
||||
d.created_at,--Дата начала действия отсрочки от призыва/Дата начала действия отвобождения от призыва
|
||||
d.updated_at,
|
||||
d.postponement_date, --Дата окончания действия отсрочки от призыва/Дата окончания действия освобождения от призыва
|
||||
d.hidden,
|
||||
'liberation' AS type,
|
||||
'fact' AS permission_fact, -- ключ принадлежности к решению по отсрочке/освобождению
|
||||
false AS has_deferment,
|
||||
CASE
|
||||
WHEN d.fact_provision = '1' THEN true
|
||||
ELSE false
|
||||
END AS has_liberation-- Факт предоставления отсрочки от призыва/Факт предоставления освобождения от призыва (1 - предоставлено, 2 - не предоставлено)
|
||||
FROM p_deferment_decision d
|
||||
JOIN part_recruits r ON r.id = d.recruit_id
|
||||
WHERE d.type_code = '2' -- освобождение</sql>
|
||||
<sql>SELECT
|
||||
dd.id AS deferment_id,
|
||||
dd.recruit_id,
|
||||
dd.base_deferment,
|
||||
dd.created_at,
|
||||
dd.updated_at,
|
||||
dd.postponement_date,
|
||||
dd.hidden,
|
||||
CASE ddt.code
|
||||
WHEN '1' THEN 'deferment'
|
||||
WHEN '2' THEN 'liberation'
|
||||
END AS type,
|
||||
'fact' AS permission_fact,
|
||||
(dd.fact_provision = '1') AS has_deferment,
|
||||
-- true только если тип "освобождение" и факт предоставления = 1
|
||||
(ddt.code = '2' AND dd.fact_provision = '1') AS has_liberation
|
||||
FROM public.deferment_decision dd
|
||||
JOIN public.recruit r
|
||||
ON r.id = dd.recruit_id
|
||||
AND (r.current_recruitment = '${IDM_ID}'
|
||||
OR (r.current_recruitment IS NULL AND r.target_recruitment = '${IDM_ID}'))
|
||||
JOIN public.deferment_decision_type ddt
|
||||
ON dd.type_id = ddt.id
|
||||
WHERE ddt.code IN ('1', '2');</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -438,6 +415,100 @@ WHERE d.type_code = '2' -- освобождение</sql>
|
|||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Abort 2</name>
|
||||
<type>Abort</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<abort_option>ABORT_WITH_ERROR</abort_option>
|
||||
<always_log_rows>Y</always_log_rows>
|
||||
<row_threshold>0</row_threshold>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1488</xloc>
|
||||
<yloc>432</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on error 2</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<arguments>
|
||||
<argument>
|
||||
<name>error_description</name>
|
||||
</argument>
|
||||
</arguments>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<execute_each_row>Y</execute_each_row>
|
||||
<quoteString>N</quoteString>
|
||||
<replace_variables>Y</replace_variables>
|
||||
<set_params>Y</set_params>
|
||||
<single_statement>N</single_statement>
|
||||
<sql>UPDATE etl.job_execution
|
||||
SET status = 'ERROR',
|
||||
error_description = ?,
|
||||
execution_end_datetime = current_timestamp
|
||||
WHERE job_name = '${JOB_NAME}'
|
||||
and recruitment_id = '${IDM_ID}';
|
||||
|
||||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1280</xloc>
|
||||
<yloc>432</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Group by</name>
|
||||
<type>GroupBy</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<add_linenr>N</add_linenr>
|
||||
<all_rows>N</all_rows>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<fields>
|
||||
<field>
|
||||
<aggregate>has_deferment_raw</aggregate>
|
||||
<type>MAX</type>
|
||||
</field>
|
||||
<field>
|
||||
<aggregate>has_liberation_raw</aggregate>
|
||||
<type>MAX</type>
|
||||
</field>
|
||||
</fields>
|
||||
<give_back_row>N</give_back_row>
|
||||
<group>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
</field>
|
||||
</group>
|
||||
<ignore_aggregate>N</ignore_aggregate>
|
||||
<prefix>grp</prefix>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>784</xloc>
|
||||
<yloc>432</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Update</name>
|
||||
<type>Update</type>
|
||||
|
|
@ -473,8 +544,41 @@ WHERE d.type_code = '2' -- освобождение</sql>
|
|||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>832</xloc>
|
||||
<yloc>400</yloc>
|
||||
<xloc>1120</xloc>
|
||||
<yloc>432</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>User defined Java expression</name>
|
||||
<type>Janino</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<formula>
|
||||
<field_name>has_deferment</field_name>
|
||||
<formula_string>has_deferment_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<formula>
|
||||
<field_name>has_liberation</field_name>
|
||||
<formula_string>has_liberation_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>944</xloc>
|
||||
<yloc>432</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -508,7 +612,7 @@ WHERE d.type_code = '2' -- освобождение</sql>
|
|||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>656</xloc>
|
||||
<yloc>400</yloc>
|
||||
<yloc>432</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
|
|
@ -526,7 +630,7 @@ WHERE d.type_code = '2' -- освобождение</sql>
|
|||
</error>
|
||||
<error>
|
||||
<source_transform>Update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<target_transform>Change job status on error 2</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
|
|||
|
|
@ -21,73 +21,56 @@
|
|||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Append streams</from>
|
||||
<to>Sort rows</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>failed_deferment_liberation_permission_idm_ids_on_delta</from>
|
||||
<to>Append streams</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>max_update_date_from_deferment_liberation</from>
|
||||
<to>failed_deferment_liberation_permission_idm_ids_on_delta</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>max_update_date_from_deferment_liberation</from>
|
||||
<to>updated_idm_ids_fromrecruits_deferment</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>updated_idm_ids_fromrecruits_deferment</from>
|
||||
<to>Append streams</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Sort rows</from>
|
||||
<to>deferment_liberation_flow_delta.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>deferment_liberation_flow_delta.hpl 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>deferment_liberation_flow_delta.hpl 3</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>deferment_liberation_flow_delta.hpl 4</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>deferment_liberation_flow_delta.hpl 5</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_SUCCESS')
|
||||
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
|
||||
|
||||
union
|
||||
|
||||
select r2.idm_id
|
||||
from ervu_dashboard.recruitment r2
|
||||
join etl.job_execution je
|
||||
on r2.idm_id = je.recruitment_id
|
||||
where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
||||
and je.job_name = '${JOB_NAME}';;</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>352</xloc>
|
||||
<yloc>288</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>deferment_liberation_flow_delta.hpl</name>
|
||||
<type>PipelineExecutor</type>
|
||||
|
|
@ -135,8 +118,8 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>640</xloc>
|
||||
<yloc>128</yloc>
|
||||
<xloc>1152</xloc>
|
||||
<yloc>224</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -186,8 +169,8 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>656</xloc>
|
||||
<yloc>208</yloc>
|
||||
<xloc>1152</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -237,8 +220,8 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>672</xloc>
|
||||
<yloc>288</yloc>
|
||||
<xloc>1152</xloc>
|
||||
<yloc>384</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -288,8 +271,8 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>672</xloc>
|
||||
<yloc>384</yloc>
|
||||
<xloc>1152</xloc>
|
||||
<yloc>464</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -339,8 +322,142 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>640</xloc>
|
||||
<yloc>464</yloc>
|
||||
<xloc>1152</xloc>
|
||||
<yloc>544</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Append streams</name>
|
||||
<type>Append</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<head_name>updated_idm_ids_fromrecruits_deferment</head_name>
|
||||
<tail_name>failed_deferment_liberation_permission_idm_ids_on_delta</tail_name>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>704</xloc>
|
||||
<yloc>384</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Sort rows</name>
|
||||
<type>SortRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>out</prefix>
|
||||
<sort_size>100000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruitment_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>896</xloc>
|
||||
<yloc>384</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>failed_deferment_liberation_permission_idm_ids_on_delta</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>
|
||||
<lookup>max_update_date_from_deferment_liberation</lookup>
|
||||
<sql>select r.idm_id as recruitment_id,
|
||||
? as max_update_date
|
||||
from ervu_dashboard.recruitment r
|
||||
join etl.job_execution je
|
||||
on r.idm_id = je.recruitment_id
|
||||
where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
||||
and je.job_name = '${JOB_NAME}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>496</xloc>
|
||||
<yloc>480</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>max_update_date_from_deferment_liberation</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>N</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(updated_at) as max_update_date
|
||||
from deferment_liberation;</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>304</xloc>
|
||||
<yloc>384</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>updated_idm_ids_fromrecruits_deferment</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>
|
||||
<lookup>max_update_date_from_deferment_liberation</lookup>
|
||||
<sql>WITH max_update_date(val) AS (SELECT CAST(? AS timestamp))
|
||||
SELECT DISTINCT COALESCE(r.current_recruitment, r.target_recruitment) AS recruitment_id,
|
||||
mud.val as max_update_date
|
||||
FROM public.deferment_decision dd
|
||||
JOIN recruit r ON dd.recruit_id = r.id
|
||||
JOIN max_update_date mud ON TRUE
|
||||
WHERE (mud.val IS NULL OR dd.updated_at > mud.val);</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>496</xloc>
|
||||
<yloc>288</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
|
|
|
|||
|
|
@ -1,168 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<pipeline>
|
||||
<info>
|
||||
<name>row_last_deferment_decision_update_date</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/06/02 14:51:59.611</created_date>
|
||||
<modified_user>-</modified_user>
|
||||
<modified_date>2025/06/02 14:51:59.611</modified_date>
|
||||
</info>
|
||||
<notepads>
|
||||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Copy rows to result</from>
|
||||
<to>Set variables</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Copy rows to result</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Set variables</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Set variables</from>
|
||||
<to>Write to log</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Copy rows to result</name>
|
||||
<type>RowsToResult</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>912</xloc>
|
||||
<yloc>128</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Set variables</name>
|
||||
<type>SetVariable</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<fields>
|
||||
<field>
|
||||
<default_value/>
|
||||
<field_name>MAX_DEFERMENT_DECISION_UPDATE_DATE</field_name>
|
||||
<variable_name>M_DEFDEC_UP_DATE</variable_name>
|
||||
<variable_type>GP_WORKFLOW</variable_type>
|
||||
</field>
|
||||
<field>
|
||||
<default_value/>
|
||||
<field_name>MAX_RECRUITS_DEFERMENT_UPDATE_DATE</field_name>
|
||||
<variable_name>M_RECDEF_UP_DATE</variable_name>
|
||||
<variable_type>GP_WORKFLOW</variable_type>
|
||||
</field>
|
||||
</fields>
|
||||
<use_formatting>Y</use_formatting>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1232</xloc>
|
||||
<yloc>320</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 base as(
|
||||
SELECT
|
||||
(SELECT system_update_date
|
||||
FROM public.recruit_create
|
||||
WHERE workflow = 'deferment_decision_table'
|
||||
AND system_update_date = (SELECT MAX(system_update_date) FROM public.recruit_create)
|
||||
ORDER BY record_created DESC
|
||||
LIMIT 1) AS MAX_DEFERMENT_DECISION_UPDATE_DATE,
|
||||
|
||||
(SELECT system_update_date
|
||||
FROM public.recruit_create
|
||||
WHERE workflow = 'recruits_deferment_table'
|
||||
AND system_update_date = (SELECT MAX(system_update_date) FROM public.recruit_create)
|
||||
ORDER BY record_created DESC
|
||||
LIMIT 1) AS MAX_RECRUITS_DEFERMENT_UPDATE_DATE
|
||||
)
|
||||
select
|
||||
CASE
|
||||
WHEN MAX_DEFERMENT_DECISION_UPDATE_DATE is null THEN '0001-01-01 00:00:00'
|
||||
ELSE MAX_DEFERMENT_DECISION_UPDATE_DATE
|
||||
END AS MAX_DEFERMENT_DECISION_UPDATE_DATE,
|
||||
CASE
|
||||
WHEN MAX_RECRUITS_DEFERMENT_UPDATE_DATE is null THEN '0001-01-01 00:00:00'
|
||||
ELSE MAX_RECRUITS_DEFERMENT_UPDATE_DATE
|
||||
END AS MAX_RECRUITS_DEFERMENT_UPDATE_DATE
|
||||
from base</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>688</xloc>
|
||||
<yloc>320</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Write to log</name>
|
||||
<type>WriteToLog</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<displayHeader>Y</displayHeader>
|
||||
<fields>
|
||||
</fields>
|
||||
<limitRows>N</limitRows>
|
||||
<limitRowsNumber>0</limitRowsNumber>
|
||||
<loglevel>Basic</loglevel>
|
||||
<logmessage>${M_RECDEF_UP_DATE}
|
||||
${M_DEFDEC_UP_DATE}</logmessage>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1440</xloc>
|
||||
<yloc>176</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
</transform_error_handling>
|
||||
<attributes/>
|
||||
</pipeline>
|
||||
|
|
@ -260,18 +260,16 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
|
|||
<connection>ervu_person_registry</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit/>
|
||||
<sql>with filtered_data as (SELECT
|
||||
d.id AS deferment_id,
|
||||
<sql>SELECT d.id AS deferment_id,
|
||||
d.recruit_id,
|
||||
rd.code AS base_deferment, -- коды основания права на отсрочку
|
||||
d.postponement_date, -- Дата окончания действия права на отсрочку
|
||||
d.date_of_information, -- Дата начала действия права на отсрочку
|
||||
d.hidden,
|
||||
false,
|
||||
d.system_create_date AS created_at,
|
||||
d.system_update_date AS updated_at,
|
||||
'permission' AS permission_fact, -- ключ принадлежности к праву на отсрочку
|
||||
NOT d.hidden AS defer_conscription, -- наличие права на отсрочку от призыва
|
||||
CTID
|
||||
true AS defer_conscription -- наличие права на отсрочку от призыва
|
||||
FROM public.recruits r
|
||||
JOIN public.recruits_deferment d
|
||||
ON r.id = d.recruit_id
|
||||
|
|
@ -279,10 +277,8 @@ FROM public.recruits r
|
|||
ON d.ervu_reason_for_deferment_id = rd.id
|
||||
WHERE (r.current_recruitment_id = '${IDM_ID}'
|
||||
OR (r.current_recruitment_id IS NULL AND r.target_recruitment_id = '${IDM_ID}')
|
||||
))
|
||||
select fd.*,
|
||||
fd.ctid = (select max(ctid) from filtered_data) as last_row
|
||||
from filtered_data fd</sql>
|
||||
)
|
||||
and rd.hidden is false;</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -337,32 +337,28 @@ and recruitment_id = '${IDM_ID}';</sql>
|
|||
<connection>ervu_person_registry</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit/>
|
||||
<sql>with filtered_data as (SELECT
|
||||
d.id AS deferment_id,
|
||||
<sql>SELECT d.id AS deferment_id,
|
||||
d.recruit_id,
|
||||
rd.code AS base_deferment, -- коды основания права на отсрочку
|
||||
d.postponement_date, -- Дата окончания действия права на отсрочку
|
||||
d.date_of_information, -- Дата начала действия права на отсрочку
|
||||
d.hidden,
|
||||
false,
|
||||
d.system_create_date AS created_at,
|
||||
d.system_update_date AS updated_at,
|
||||
'permission' AS permission_fact, -- ключ принадлежности к праву на отсрочку
|
||||
NOT d.hidden AS defer_conscription, -- наличие права на отсрочку от призыва
|
||||
CTID
|
||||
FROM public.recruits r
|
||||
true AS defer_conscription -- наличие права на отсрочку от призыва
|
||||
FROM public.recruits r
|
||||
JOIN public.recruits_deferment d
|
||||
ON r.id = d.recruit_id
|
||||
JOIN public.ervu_reason_for_deferment rd
|
||||
ON d.ervu_reason_for_deferment_id = rd.id
|
||||
WHERE (r.current_recruitment_id = '${IDM_ID}'
|
||||
WHERE (r.current_recruitment_id = '${IDM_ID}'
|
||||
OR (r.current_recruitment_id IS NULL AND r.target_recruitment_id = '${IDM_ID}')
|
||||
)
|
||||
and case when '${MAX_SOURCE_UPDATE_DATE}' <> ''
|
||||
and rd.hidden is false
|
||||
and case when '${MAX_SOURCE_UPDATE_DATE}' <> ''
|
||||
then d.system_update_date > to_date('${MAX_SOURCE_UPDATE_DATE}', 'YYYY-MM-DD')
|
||||
else true end )
|
||||
select fd.*,
|
||||
fd.ctid = (select max(ctid) from filtered_data) as last_row
|
||||
from filtered_data fd</sql>
|
||||
else true end;</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -352,18 +352,16 @@ DO UPDATE SET
|
|||
<connection>ervu_person_registry</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit/>
|
||||
<sql>with filtered_data as (SELECT
|
||||
d.id AS deferment_id,
|
||||
<sql>SELECT d.id AS deferment_id,
|
||||
d.recruit_id,
|
||||
rd.code AS base_deferment, -- коды основания права на отсрочку
|
||||
d.postponement_date, -- Дата окончания действия права на отсрочку
|
||||
d.date_of_information, -- Дата начала действия права на отсрочку
|
||||
d.hidden,
|
||||
false,
|
||||
d.system_create_date AS created_at,
|
||||
d.system_update_date AS updated_at,
|
||||
'permission' AS permission_fact, -- ключ принадлежности к праву на отсрочку
|
||||
NOT d.hidden AS defer_conscription, -- наличие права на отсрочку от призыва
|
||||
CTID
|
||||
true AS defer_conscription -- наличие права на отсрочку от призыва
|
||||
FROM public.recruits r
|
||||
JOIN public.recruits_deferment d
|
||||
ON r.id = d.recruit_id
|
||||
|
|
@ -371,10 +369,8 @@ FROM public.recruits r
|
|||
ON d.ervu_reason_for_deferment_id = rd.id
|
||||
WHERE (r.current_recruitment_id = '${IDM_ID}'
|
||||
OR (r.current_recruitment_id IS NULL AND r.target_recruitment_id = '${IDM_ID}')
|
||||
))
|
||||
select fd.*,
|
||||
fd.ctid = (select max(ctid) from filtered_data) as last_row
|
||||
from filtered_data fd</sql>
|
||||
)
|
||||
and rd.hidden is false</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -82,6 +82,8 @@
|
|||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<head_name>updated_idm_ids_fromrecruits_deferment</head_name>
|
||||
<tail_name>failed_deferment_liberation_permission_idm_ids_on_delta</tail_name>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>592</xloc>
|
||||
|
|
@ -471,7 +473,7 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<lookup>max_update_date_from_deferment_liberation</lookup>
|
||||
<sql>WITH max_update_date(val) AS (SELECT CAST(? AS timestamp))
|
||||
SELECT DISTINCT COALESCE(r.current_recruitment_id, r.target_recruitment_id) AS recruitment_id,
|
||||
? as max_update_date
|
||||
mud.val as max_update_date
|
||||
FROM recruits r
|
||||
JOIN recruits_deferment rd ON rd.recruit_id = r.id
|
||||
JOIN max_update_date mud ON TRUE
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ WHERE code = 'educationLevel';</sql>
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>SELECT
|
||||
key,
|
||||
key as code,
|
||||
value ->> 'value' as value,
|
||||
NOT hidden as actual,
|
||||
updated_at as update_date
|
||||
|
|
|
|||
|
|
@ -1,126 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<workflow>
|
||||
<name>job_last_update_date_subpoena</name>
|
||||
<name_sync_with_filename>Y</name_sync_with_filename>
|
||||
<description/>
|
||||
<extended_description/>
|
||||
<workflow_version/>
|
||||
<created_user>-</created_user>
|
||||
<created_date>2025/06/02 14:48:05.666</created_date>
|
||||
<modified_user>-</modified_user>
|
||||
<modified_date>2025/06/02 14:48:05.666</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>400</xloc>
|
||||
<yloc>352</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>subpoena_update_date_ervu_dashboard.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/citizen_tables/subpoena/subpoena_update_date_ervu_dashboard.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>784</xloc>
|
||||
<yloc>352</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>row_last_subpoena_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/citizen_tables/subpoena/row_last_subpoena_update_date.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>1264</xloc>
|
||||
<yloc>352</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>Success</name>
|
||||
<description/>
|
||||
<type>SUCCESS</type>
|
||||
<attributes/>
|
||||
<parallel>N</parallel>
|
||||
<xloc>1600</xloc>
|
||||
<yloc>352</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
</actions>
|
||||
<hops>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>subpoena_update_date_ervu_dashboard.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>subpoena_update_date_ervu_dashboard.hpl</from>
|
||||
<to>row_last_subpoena_update_date.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>row_last_subpoena_update_date.hpl</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
</hops>
|
||||
<notepads>
|
||||
</notepads>
|
||||
<attributes/>
|
||||
</workflow>
|
||||
|
|
@ -45,11 +45,6 @@
|
|||
<to>Change job status on error</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Identify last row in a stream</to>
|
||||
|
|
@ -70,14 +65,34 @@
|
|||
<to>sort_by_recruit_id</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table output</from>
|
||||
<to>Filter rows</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>sort_by_recruit_id</from>
|
||||
<to>Group by</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Group by</from>
|
||||
<to>User defined Java expression</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>User defined Java expression</from>
|
||||
<to>Update</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table output</from>
|
||||
<to>Filter rows</to>
|
||||
<from>Change job status on error 2</from>
|
||||
<to>Abort 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
|
|
@ -97,8 +112,8 @@
|
|||
<row_threshold>0</row_threshold>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1424</xloc>
|
||||
<yloc>512</yloc>
|
||||
<xloc>1408</xloc>
|
||||
<yloc>432</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -133,8 +148,8 @@ and recruitment_id = '${IDM_ID}';
|
|||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1200</xloc>
|
||||
<yloc>512</yloc>
|
||||
<xloc>1184</xloc>
|
||||
<yloc>432</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -251,6 +266,61 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
|
|||
<yloc>320</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Group by</name>
|
||||
<type>GroupBy</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<add_linenr>N</add_linenr>
|
||||
<all_rows>N</all_rows>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<fields>
|
||||
<field>
|
||||
<aggregate>has_sent_summons</aggregate>
|
||||
<subject>has_sent_summons</subject>
|
||||
<type>MAX</type>
|
||||
<valuefield/>
|
||||
</field>
|
||||
<field>
|
||||
<aggregate>has_served_summons</aggregate>
|
||||
<subject>has_served_summons</subject>
|
||||
<type>MAX</type>
|
||||
<valuefield/>
|
||||
</field>
|
||||
<field>
|
||||
<aggregate>appeared_to_recruitment_center</aggregate>
|
||||
<subject>appeared_to_recruitment_center</subject>
|
||||
<type>MAX</type>
|
||||
<valuefield/>
|
||||
</field>
|
||||
<field>
|
||||
<aggregate>not_appeared_by_valid_excuse</aggregate>
|
||||
<subject>not_appeared_by_valid_excuse</subject>
|
||||
<type>MAX</type>
|
||||
<valuefield/>
|
||||
</field>
|
||||
</fields>
|
||||
<give_back_row>N</give_back_row>
|
||||
<group>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
</field>
|
||||
</group>
|
||||
<ignore_aggregate>N</ignore_aggregate>
|
||||
<linenr_fieldname/>
|
||||
<prefix>grp</prefix>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>864</xloc>
|
||||
<yloc>656</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Identify last row in a stream</name>
|
||||
<type>DetectLastRow</type>
|
||||
|
|
@ -285,21 +355,21 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
|
|||
<sql>SELECT
|
||||
s.id, --id повестки
|
||||
CASE
|
||||
WHEN s.send_date is not null THEN true
|
||||
ELSE false
|
||||
END AS has_sent_summons, --факт направления повестки///Признак наличия направленной повестки
|
||||
WHEN (s.system_stages->>'subpoenaDirected')::text = 'true' THEN 1
|
||||
ELSE 0
|
||||
END AS has_sent_summons_raw, --факт направления повестки///Признак наличия направленной повестки
|
||||
CASE
|
||||
WHEN s.system_stages->'subpoenaAwarded' != 'true' THEN true
|
||||
ELSE false
|
||||
END AS has_served_summons, --has_served_summons//Признак наличия врученной повестки
|
||||
WHEN (s.system_stages->>'subpoenaAwarded') = 'true' THEN 1
|
||||
ELSE 0
|
||||
END AS has_served_summons_raw, --has_served_summons//Признак наличия врученной повестки
|
||||
CASE
|
||||
WHEN s.system_stages->'recruitAttendanceConfirm' != 'true' THEN true
|
||||
ELSE false
|
||||
END AS appeared_to_recruitment_center, -- appeared_to_recruitment_center//Признак явки в военный комиссариат
|
||||
WHEN (s.system_stages->>'recruitAttendanceConfirm') = 'true' THEN 1
|
||||
ELSE 0
|
||||
END AS appeared_to_recruitment_center_raw, -- appeared_to_recruitment_center//Признак явки в военный комиссариат
|
||||
CASE
|
||||
WHEN ss.code = '5.1' THEN true
|
||||
ELSE false
|
||||
END AS not_appeared_by_valid_excuse, -- not_appeared_by_valid_excuse//Признак неявки в военкомат по уважительной причине
|
||||
WHEN ss.code = '5.1' THEN 1
|
||||
ELSE 0
|
||||
END AS not_appeared_by_valid_excuse_raw, -- not_appeared_by_valid_excuse//Признак неявки в военкомат по уважительной причине
|
||||
s.recruit_id,
|
||||
s.send_date, --дата направления повестки
|
||||
s.series, --серия повестки
|
||||
|
|
@ -315,18 +385,11 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
|
|||
s.status_id, --статус // ссылка на справочник subpoena_status/// AS subpoena_status
|
||||
s.create_date, --дата создания // для загрузки данных
|
||||
s.status_change_date, --дата обновления // для загрузки данных (timestamp without time zone)
|
||||
sr.type AS subpoena_reason_type
|
||||
-- поля для карточки, раздел "Сведения о направлении повестки военного комиссариата"
|
||||
|
||||
sr.type AS subpoena_reason_type -- поля для карточки, раздел "Сведения о направлении повестки военного комиссариата"
|
||||
FROM public.subpoena s
|
||||
join public.subpoena_status ss on s.status_id = ss.id
|
||||
join public.subpoena_reason sr on sr.id = s.reason_id
|
||||
|
||||
WHERE
|
||||
|
||||
'${IDM_ID}' != '' -- Проверка на пустую строку
|
||||
|
||||
AND s.department_id = '${IDM_ID}'</sql>
|
||||
join public.subpoena_status ss on s.status_id = ss.id
|
||||
join public.subpoena_reason sr on sr.id = s.reason_id
|
||||
WHERE s.department_id = '${IDM_ID}'</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -424,7 +487,7 @@ WHERE
|
|||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>912</xloc>
|
||||
<xloc>1040</xloc>
|
||||
<yloc>320</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
|
|
@ -471,8 +534,8 @@ WHERE
|
|||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>912</xloc>
|
||||
<yloc>512</yloc>
|
||||
<xloc>1232</xloc>
|
||||
<yloc>656</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -492,7 +555,7 @@ WHERE
|
|||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<unique_rows>N</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
|
|
@ -506,7 +569,112 @@ WHERE
|
|||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>704</xloc>
|
||||
<yloc>512</yloc>
|
||||
<yloc>656</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>User defined Java expression</name>
|
||||
<type>Janino</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<formula>
|
||||
<field_name>has_sent_summons</field_name>
|
||||
<formula_string>has_sent_summons_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<formula>
|
||||
<field_name>has_served_summons</field_name>
|
||||
<formula_string>has_served_summons_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<formula>
|
||||
<field_name>appeared_to_recruitment_center</field_name>
|
||||
<formula_string>appeared_to_recruitment_center_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<formula>
|
||||
<field_name>not_appeared_by_valid_excuse</field_name>
|
||||
<formula_string>not_appeared_by_valid_excuse_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1056</xloc>
|
||||
<yloc>656</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Abort 2</name>
|
||||
<type>Abort</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<abort_option>ABORT_WITH_ERROR</abort_option>
|
||||
<always_log_rows>Y</always_log_rows>
|
||||
<row_threshold>0</row_threshold>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1632</xloc>
|
||||
<yloc>656</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on error 2</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<arguments>
|
||||
<argument>
|
||||
<name>error_description</name>
|
||||
</argument>
|
||||
</arguments>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<execute_each_row>Y</execute_each_row>
|
||||
<quoteString>N</quoteString>
|
||||
<replace_variables>Y</replace_variables>
|
||||
<set_params>Y</set_params>
|
||||
<single_statement>N</single_statement>
|
||||
<sql>UPDATE etl.job_execution
|
||||
SET status = 'ERROR',
|
||||
error_description = ?,
|
||||
execution_end_datetime = current_timestamp
|
||||
WHERE job_name = '${JOB_NAME}'
|
||||
and recruitment_id = '${IDM_ID}';
|
||||
|
||||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1408</xloc>
|
||||
<yloc>656</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
|
|
@ -524,7 +692,7 @@ WHERE
|
|||
</error>
|
||||
<error>
|
||||
<source_transform>Update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<target_transform>Change job status on error 2</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
|
|||
|
|
@ -45,11 +45,6 @@
|
|||
<to>Change job status on error</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Identify last row in a stream</to>
|
||||
|
|
@ -66,18 +61,38 @@
|
|||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>sort_by_recruit_id</to>
|
||||
<from>Insert / update</from>
|
||||
<to>Filter rows</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>sort_by_recruit_id</from>
|
||||
<from>Change job status on error 2</from>
|
||||
<to>Abort 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Group by</from>
|
||||
<to>User defined Java expression</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>User defined Java expression</from>
|
||||
<to>Update</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Insert / update</from>
|
||||
<to>Filter rows</to>
|
||||
<from>sort_by_recruit_id</from>
|
||||
<to>Group by</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>sort_by_recruit_id</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
|
|
@ -97,8 +112,8 @@
|
|||
<row_threshold>0</row_threshold>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1488</xloc>
|
||||
<yloc>880</yloc>
|
||||
<xloc>1456</xloc>
|
||||
<yloc>800</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -133,8 +148,8 @@ and recruitment_id = '${IDM_ID}';
|
|||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1312</xloc>
|
||||
<yloc>880</yloc>
|
||||
<xloc>1280</xloc>
|
||||
<yloc>800</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -392,21 +407,21 @@ and recruitment_id = '${IDM_ID}';</sql>
|
|||
<sql>SELECT
|
||||
s.id, --id повестки
|
||||
CASE
|
||||
WHEN s.send_date is not null THEN true
|
||||
ELSE false
|
||||
END AS has_sent_summons, --факт направления повестки///Признак наличия направленной повестки
|
||||
WHEN (s.system_stages->>'subpoenaDirected')::text = 'true' THEN 1
|
||||
ELSE 0
|
||||
END AS has_sent_summons_raw, --факт направления повестки///Признак наличия направленной повестки
|
||||
CASE
|
||||
WHEN s.system_stages->'subpoenaAwarded' != 'true' THEN true
|
||||
ELSE false
|
||||
END AS has_served_summons, --has_served_summons//Признак наличия врученной повестки
|
||||
WHEN (s.system_stages->>'subpoenaAwarded') = 'true' THEN 1
|
||||
ELSE 0
|
||||
END AS has_served_summons_raw, --has_served_summons//Признак наличия врученной повестки
|
||||
CASE
|
||||
WHEN s.system_stages->'recruitAttendanceConfirm' != 'true' THEN true
|
||||
ELSE false
|
||||
END AS appeared_to_recruitment_center, -- appeared_to_recruitment_center//Признак явки в военный комиссариат
|
||||
WHEN (s.system_stages->>'recruitAttendanceConfirm') = 'true' THEN 1
|
||||
ELSE 0
|
||||
END AS appeared_to_recruitment_center_raw, -- appeared_to_recruitment_center//Признак явки в военный комиссариат
|
||||
CASE
|
||||
WHEN ss.code = '5.1' THEN true
|
||||
ELSE false
|
||||
END AS not_appeared_by_valid_excuse, -- not_appeared_by_valid_excuse//Признак неявки в военкомат по уважительной причине
|
||||
WHEN ss.code = '5.1' THEN 1
|
||||
ELSE 0
|
||||
END AS not_appeared_by_valid_excuse_raw, -- not_appeared_by_valid_excuse//Признак неявки в военкомат по уважительной причине
|
||||
s.recruit_id,
|
||||
s.send_date, --дата направления повестки
|
||||
s.series, --серия повестки
|
||||
|
|
@ -422,15 +437,11 @@ and recruitment_id = '${IDM_ID}';</sql>
|
|||
s.status_id, --статус // ссылка на справочник subpoena_status/// AS subpoena_status
|
||||
s.create_date, --дата создания // для загрузки данных
|
||||
s.status_change_date, --дата обновления // для загрузки данных (timestamp without time zone)
|
||||
sr.type AS subpoena_reason_type
|
||||
-- поля для карточки, раздел "Сведения о направлении повестки военного комиссариата"
|
||||
|
||||
sr.type AS subpoena_reason_type -- поля для карточки, раздел "Сведения о направлении повестки военного комиссариата"
|
||||
FROM public.subpoena s
|
||||
join public.subpoena_status ss on s.status_id = ss.id
|
||||
join public.subpoena_reason sr on sr.id = s.reason_id
|
||||
WHERE
|
||||
'${IDM_ID}' != '' -- Проверка на пустую строку
|
||||
AND s.department_id = '${IDM_ID}'
|
||||
join public.subpoena_status ss on s.status_id = ss.id
|
||||
join public.subpoena_reason sr on sr.id = s.reason_id
|
||||
WHERE s.department_id = '${IDM_ID}'
|
||||
AND s.status_change_date >= '${M_S_UP_DATE}'::timestamp</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
|
|
@ -439,6 +450,112 @@ WHERE
|
|||
<yloc>704</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Abort 2</name>
|
||||
<type>Abort</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<abort_option>ABORT_WITH_ERROR</abort_option>
|
||||
<always_log_rows>Y</always_log_rows>
|
||||
<row_threshold>0</row_threshold>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1760</xloc>
|
||||
<yloc>960</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on error 2</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<arguments>
|
||||
<argument>
|
||||
<name>error_description</name>
|
||||
</argument>
|
||||
</arguments>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<execute_each_row>Y</execute_each_row>
|
||||
<quoteString>N</quoteString>
|
||||
<replace_variables>Y</replace_variables>
|
||||
<set_params>Y</set_params>
|
||||
<single_statement>N</single_statement>
|
||||
<sql>UPDATE etl.job_execution
|
||||
SET status = 'ERROR',
|
||||
error_description = ?,
|
||||
execution_end_datetime = current_timestamp
|
||||
WHERE job_name = '${JOB_NAME}'
|
||||
and recruitment_id = '${IDM_ID}';
|
||||
|
||||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1536</xloc>
|
||||
<yloc>960</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Group by</name>
|
||||
<type>GroupBy</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<add_linenr>N</add_linenr>
|
||||
<all_rows>N</all_rows>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<fields>
|
||||
<field>
|
||||
<aggregate>has_sent_summons</aggregate>
|
||||
<subject>has_sent_summons</subject>
|
||||
<type>MAX</type>
|
||||
</field>
|
||||
<field>
|
||||
<aggregate>has_served_summons</aggregate>
|
||||
<subject>has_served_summons</subject>
|
||||
<type>MAX</type>
|
||||
</field>
|
||||
<field>
|
||||
<aggregate>appeared_to_recruitment_center</aggregate>
|
||||
<subject>appeared_to_recruitment_center</subject>
|
||||
<type>MAX</type>
|
||||
</field>
|
||||
<field>
|
||||
<aggregate>not_appeared_by_valid_excuse</aggregate>
|
||||
<subject>not_appeared_by_valid_excuse</subject>
|
||||
<type>MAX</type>
|
||||
</field>
|
||||
</fields>
|
||||
<give_back_row>N</give_back_row>
|
||||
<group>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
</field>
|
||||
</group>
|
||||
<ignore_aggregate>N</ignore_aggregate>
|
||||
<prefix>grp</prefix>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>992</xloc>
|
||||
<yloc>960</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Update</name>
|
||||
<type>Update</type>
|
||||
|
|
@ -482,8 +599,57 @@ WHERE
|
|||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1056</xloc>
|
||||
<yloc>880</yloc>
|
||||
<xloc>1360</xloc>
|
||||
<yloc>960</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>User defined Java expression</name>
|
||||
<type>Janino</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<formula>
|
||||
<field_name>has_sent_summons</field_name>
|
||||
<formula_string>has_sent_summons_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<formula>
|
||||
<field_name>has_served_summons</field_name>
|
||||
<formula_string>has_served_summons_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<formula>
|
||||
<field_name>appeared_to_recruitment_center</field_name>
|
||||
<formula_string>appeared_to_recruitment_center_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<formula>
|
||||
<field_name>not_appeared_by_valid_excuse</field_name>
|
||||
<formula_string>not_appeared_by_valid_excuse_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1184</xloc>
|
||||
<yloc>960</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -503,7 +669,7 @@ WHERE
|
|||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<unique_rows>N</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
|
|
@ -517,7 +683,7 @@ WHERE
|
|||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>848</xloc>
|
||||
<yloc>880</yloc>
|
||||
<yloc>960</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
|
|
@ -535,7 +701,7 @@ WHERE
|
|||
</error>
|
||||
<error>
|
||||
<source_transform>Update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<target_transform>Change job status on error 2</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
|
|||
|
|
@ -45,11 +45,6 @@
|
|||
<to>Change job status on error</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Identify last row in a stream</to>
|
||||
|
|
@ -66,18 +61,38 @@
|
|||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>sort_by_recruit_id</to>
|
||||
<from>Insert / update</from>
|
||||
<to>Filter rows</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Group by</from>
|
||||
<to>User defined Java expression</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Update</from>
|
||||
<to>Change job status on error 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>sort_by_recruit_id</from>
|
||||
<to>Group by</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>User defined Java expression</from>
|
||||
<to>Update</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Insert / update</from>
|
||||
<to>Filter rows</to>
|
||||
<from>Change job status on error 2</from>
|
||||
<to>Abort 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Identify last row in a stream</from>
|
||||
<to>sort_by_recruit_id</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
|
|
@ -97,8 +112,28 @@
|
|||
<row_threshold>0</row_threshold>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1472</xloc>
|
||||
<yloc>752</yloc>
|
||||
<xloc>1424</xloc>
|
||||
<yloc>656</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Abort 2</name>
|
||||
<type>Abort</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<abort_option>ABORT_WITH_ERROR</abort_option>
|
||||
<always_log_rows>Y</always_log_rows>
|
||||
<row_threshold>0</row_threshold>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1760</xloc>
|
||||
<yloc>816</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -133,8 +168,44 @@ and recruitment_id = '${IDM_ID}';
|
|||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1280</xloc>
|
||||
<yloc>752</yloc>
|
||||
<xloc>1232</xloc>
|
||||
<yloc>656</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Change job status on error 2</name>
|
||||
<type>ExecSql</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<arguments>
|
||||
<argument>
|
||||
<name>error_description</name>
|
||||
</argument>
|
||||
</arguments>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<execute_each_row>Y</execute_each_row>
|
||||
<quoteString>N</quoteString>
|
||||
<replace_variables>Y</replace_variables>
|
||||
<set_params>Y</set_params>
|
||||
<single_statement>N</single_statement>
|
||||
<sql>UPDATE etl.job_execution
|
||||
SET status = 'ERROR',
|
||||
error_description = ?,
|
||||
execution_end_datetime = current_timestamp
|
||||
WHERE job_name = '${JOB_NAME}'
|
||||
and recruitment_id = '${IDM_ID}';
|
||||
|
||||
</sql>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1536</xloc>
|
||||
<yloc>816</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -269,6 +340,56 @@ DO UPDATE SET
|
|||
<yloc>560</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Group by</name>
|
||||
<type>GroupBy</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<add_linenr>N</add_linenr>
|
||||
<all_rows>N</all_rows>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<fields>
|
||||
<field>
|
||||
<aggregate>has_sent_summons</aggregate>
|
||||
<subject>has_sent_summons</subject>
|
||||
<type>MAX</type>
|
||||
</field>
|
||||
<field>
|
||||
<aggregate>has_served_summons</aggregate>
|
||||
<subject>has_served_summons</subject>
|
||||
<type>MAX</type>
|
||||
</field>
|
||||
<field>
|
||||
<aggregate>appeared_to_recruitment_center</aggregate>
|
||||
<subject>appeared_to_recruitment_center</subject>
|
||||
<type>MAX</type>
|
||||
</field>
|
||||
<field>
|
||||
<aggregate>not_appeared_by_valid_excuse</aggregate>
|
||||
<subject>not_appeared_by_valid_excuse</subject>
|
||||
<type>MAX</type>
|
||||
</field>
|
||||
</fields>
|
||||
<give_back_row>N</give_back_row>
|
||||
<group>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
</field>
|
||||
</group>
|
||||
<ignore_aggregate>N</ignore_aggregate>
|
||||
<prefix>grp</prefix>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>992</xloc>
|
||||
<yloc>816</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Identify last row in a stream</name>
|
||||
<type>DetectLastRow</type>
|
||||
|
|
@ -305,7 +426,6 @@ DO UPDATE SET
|
|||
<condition>=</condition>
|
||||
<field>id</field>
|
||||
<name>id</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>subpoena</table>
|
||||
|
|
@ -405,24 +525,25 @@ DO UPDATE SET
|
|||
</partitioning>
|
||||
<connection>postgres.subpoena</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit/>
|
||||
<sql>SELECT
|
||||
s.id, --id повестки
|
||||
CASE
|
||||
WHEN s.send_date is not null THEN true
|
||||
ELSE false
|
||||
END AS has_sent_summons, --факт направления повестки///Признак наличия направленной повестки
|
||||
WHEN (s.system_stages->>'subpoenaDirected')::text = 'true' THEN 1
|
||||
ELSE 0
|
||||
END AS has_sent_summons_raw, --факт направления повестки///Признак наличия направленной повестки
|
||||
CASE
|
||||
WHEN s.system_stages->'subpoenaAwarded' != 'true' THEN true
|
||||
ELSE false
|
||||
END AS has_served_summons, --has_served_summons//Признак наличия врученной повестки
|
||||
WHEN (s.system_stages->>'subpoenaAwarded') = 'true' THEN 1
|
||||
ELSE 0
|
||||
END AS has_served_summons_raw, --has_served_summons//Признак наличия врученной повестки
|
||||
CASE
|
||||
WHEN s.system_stages->'recruitAttendanceConfirm' != 'true' THEN true
|
||||
ELSE false
|
||||
END AS appeared_to_recruitment_center, -- appeared_to_recruitment_center//Признак явки в военный комиссариат
|
||||
WHEN (s.system_stages->>'recruitAttendanceConfirm') = 'true' THEN 1
|
||||
ELSE 0
|
||||
END AS appeared_to_recruitment_center_raw, -- appeared_to_recruitment_center//Признак явки в военный комиссариат
|
||||
CASE
|
||||
WHEN ss.code = '5.1' THEN true
|
||||
ELSE false
|
||||
END AS not_appeared_by_valid_excuse, -- not_appeared_by_valid_excuse//Признак неявки в военкомат по уважительной причине
|
||||
WHEN ss.code = '5.1' THEN 1
|
||||
ELSE 0
|
||||
END AS not_appeared_by_valid_excuse_raw, -- not_appeared_by_valid_excuse//Признак неявки в военкомат по уважительной причине
|
||||
s.recruit_id,
|
||||
s.send_date, --дата направления повестки
|
||||
s.series, --серия повестки
|
||||
|
|
@ -438,16 +559,11 @@ DO UPDATE SET
|
|||
s.status_id, --статус // ссылка на справочник subpoena_status/// AS subpoena_status
|
||||
s.create_date, --дата создания // для загрузки данных
|
||||
s.status_change_date, --дата обновления // для загрузки данных (timestamp without time zone)
|
||||
sr.type AS subpoena_reason_type
|
||||
-- поля для карточки, раздел "Сведения о направлении повестки военного комиссариата"
|
||||
|
||||
sr.type AS subpoena_reason_type -- поля для карточки, раздел "Сведения о направлении повестки военного комиссариата"
|
||||
FROM public.subpoena s
|
||||
join public.subpoena_status ss on s.status_id = ss.id
|
||||
join public.subpoena_reason sr on sr.id = s.reason_id
|
||||
WHERE
|
||||
'${IDM_ID}' != '' -- Проверка на пустую строку
|
||||
AND s.department_id = '${IDM_ID}'
|
||||
</sql>
|
||||
join public.subpoena_status ss on s.status_id = ss.id
|
||||
join public.subpoena_reason sr on sr.id = s.reason_id
|
||||
WHERE s.department_id = '${IDM_ID}'</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -498,8 +614,57 @@ WHERE
|
|||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1056</xloc>
|
||||
<yloc>752</yloc>
|
||||
<xloc>1360</xloc>
|
||||
<yloc>816</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>User defined Java expression</name>
|
||||
<type>Janino</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<formula>
|
||||
<field_name>has_sent_summons</field_name>
|
||||
<formula_string>has_sent_summons_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<formula>
|
||||
<field_name>has_served_summons</field_name>
|
||||
<formula_string>has_served_summons_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<formula>
|
||||
<field_name>appeared_to_recruitment_center</field_name>
|
||||
<formula_string>appeared_to_recruitment_center_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<formula>
|
||||
<field_name>not_appeared_by_valid_excuse</field_name>
|
||||
<formula_string>not_appeared_by_valid_excuse_raw == 1</formula_string>
|
||||
<value_type>Boolean</value_type>
|
||||
<value_length>-1</value_length>
|
||||
<value_precision>-1</value_precision>
|
||||
<replace_field/>
|
||||
</formula>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1184</xloc>
|
||||
<yloc>816</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -519,7 +684,7 @@ WHERE
|
|||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<unique_rows>N</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruit_id</name>
|
||||
|
|
@ -533,7 +698,7 @@ WHERE
|
|||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>848</xloc>
|
||||
<yloc>752</yloc>
|
||||
<yloc>816</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
|
|
@ -551,7 +716,7 @@ WHERE
|
|||
</error>
|
||||
<error>
|
||||
<source_transform>Update</source_transform>
|
||||
<target_transform>Change job status on error</target_transform>
|
||||
<target_transform>Change job status on error 2</target_transform>
|
||||
<is_enabled>Y</is_enabled>
|
||||
<nr_valuename/>
|
||||
<descriptions_valuename>error_description</descriptions_valuename>
|
||||
|
|
|
|||
|
|
@ -21,33 +21,111 @@
|
|||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>failed_subpoena_idm_ids_on_delta</from>
|
||||
<to>Append streams</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>max_update_date_from_subpoena</from>
|
||||
<to>failed_subpoena_idm_ids_on_delta</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>max_update_date_from_subpoena</from>
|
||||
<to>updated_idm_ids_from_subpoena</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>updated_idm_ids_from_subpoena</from>
|
||||
<to>Append streams</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Append streams</from>
|
||||
<to>Sort rows</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Sort rows</from>
|
||||
<to>subpoena_flow_delta.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>subpoena_flow_delta.hpl 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>subpoena_flow_delta.hpl 3</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>subpoena_flow_delta.hpl 4</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>subpoena_flow_delta.hpl 5</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Table input</name>
|
||||
<name>Append streams</name>
|
||||
<type>Append</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<head_name>failed_subpoena_idm_ids_on_delta</head_name>
|
||||
<tail_name>updated_idm_ids_from_subpoena</tail_name>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>704</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Sort rows</name>
|
||||
<type>SortRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>out</prefix>
|
||||
<sort_size>100000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruitment_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>864</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>failed_subpoena_idm_ids_on_delta</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -60,32 +138,42 @@
|
|||
<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_SUCCESS')
|
||||
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
|
||||
|
||||
union
|
||||
|
||||
select r2.idm_id
|
||||
from ervu_dashboard.recruitment r2
|
||||
<lookup>max_update_date_from_subpoena</lookup>
|
||||
<sql>select r.idm_id as recruitment_id,
|
||||
? as max_update_date
|
||||
from ervu_dashboard.recruitment r
|
||||
join etl.job_execution je
|
||||
on r2.idm_id = je.recruitment_id
|
||||
on r.idm_id = je.recruitment_id
|
||||
where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
||||
and je.job_name = '${JOB_NAME}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>352</xloc>
|
||||
<yloc>288</yloc>
|
||||
<xloc>496</xloc>
|
||||
<yloc>400</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>max_update_date_from_subpoena</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>N</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(status_change_date) as max_update_date
|
||||
from subpoena;</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>304</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -112,6 +200,11 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<field>idm_id</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<variable_mapping>
|
||||
<variable>MAX_UPDATE_DATE</variable>
|
||||
<field>max_update_date</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<inherit_all_vars>Y</inherit_all_vars>
|
||||
</parameters>
|
||||
<execution_result_target_transform/>
|
||||
|
|
@ -135,8 +228,36 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>640</xloc>
|
||||
<yloc>128</yloc>
|
||||
<xloc>1088</xloc>
|
||||
<yloc>144</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>updated_idm_ids_from_subpoena</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<connection>postgres.subpoena</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<lookup>max_update_date_from_subpoena</lookup>
|
||||
<sql>WITH max_update_date(val) AS (SELECT CAST(? AS timestamp))
|
||||
SELECT DISTINCT department_id,
|
||||
? as max_update_date
|
||||
FROM subpoena s
|
||||
JOIN max_update_date mud ON TRUE
|
||||
WHERE (mud.val IS NULL OR s.status_change_date > mud.val);</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>496</xloc>
|
||||
<yloc>208</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -163,6 +284,11 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<field>idm_id</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<variable_mapping>
|
||||
<variable>MAX_UPDATE_DATE</variable>
|
||||
<field>max_update_date</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<inherit_all_vars>Y</inherit_all_vars>
|
||||
</parameters>
|
||||
<execution_result_target_transform/>
|
||||
|
|
@ -186,8 +312,8 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>640</xloc>
|
||||
<yloc>208</yloc>
|
||||
<xloc>1088</xloc>
|
||||
<yloc>224</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -214,6 +340,11 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<field>idm_id</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<variable_mapping>
|
||||
<variable>MAX_UPDATE_DATE</variable>
|
||||
<field>max_update_date</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<inherit_all_vars>Y</inherit_all_vars>
|
||||
</parameters>
|
||||
<execution_result_target_transform/>
|
||||
|
|
@ -237,8 +368,8 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>640</xloc>
|
||||
<yloc>288</yloc>
|
||||
<xloc>1088</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -265,6 +396,11 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<field>idm_id</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<variable_mapping>
|
||||
<variable>MAX_UPDATE_DATE</variable>
|
||||
<field>max_update_date</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<inherit_all_vars>Y</inherit_all_vars>
|
||||
</parameters>
|
||||
<execution_result_target_transform/>
|
||||
|
|
@ -288,8 +424,8 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>640</xloc>
|
||||
<yloc>368</yloc>
|
||||
<xloc>1088</xloc>
|
||||
<yloc>384</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -316,6 +452,11 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<field>idm_id</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<variable_mapping>
|
||||
<variable>MAX_UPDATE_DATE</variable>
|
||||
<field>max_update_date</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<inherit_all_vars>Y</inherit_all_vars>
|
||||
</parameters>
|
||||
<execution_result_target_transform/>
|
||||
|
|
@ -339,8 +480,8 @@ where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>640</xloc>
|
||||
<yloc>448</yloc>
|
||||
<xloc>1088</xloc>
|
||||
<yloc>464</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
|
|
|
|||
|
|
@ -1,142 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<pipeline>
|
||||
<info>
|
||||
<name>row_last_subpoena_update_date</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/06/02 14:51:59.611</created_date>
|
||||
<modified_user>-</modified_user>
|
||||
<modified_date>2025/06/02 14:51:59.611</modified_date>
|
||||
</info>
|
||||
<notepads>
|
||||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Copy rows to result</from>
|
||||
<to>Set variables</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Copy rows to result</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Set variables</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Set variables</from>
|
||||
<to>Write to log</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Copy rows to result</name>
|
||||
<type>RowsToResult</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>912</xloc>
|
||||
<yloc>176</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Set variables</name>
|
||||
<type>SetVariable</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<fields>
|
||||
<field>
|
||||
<default_value/>
|
||||
<field_name>MAX_SUBPOENA_UPDATE_DATE</field_name>
|
||||
<variable_name>M_S_UP_DATE</variable_name>
|
||||
<variable_type>GP_WORKFLOW</variable_type>
|
||||
</field>
|
||||
</fields>
|
||||
<use_formatting>Y</use_formatting>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1232</xloc>
|
||||
<yloc>320</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
|
||||
system_update_date AS MAX_SUBPOENA_UPDATE_DATE--,
|
||||
--record_created
|
||||
FROM public.recruit_create
|
||||
WHERE system_update_date = (select max(system_update_date) from public.recruit_create where workflow = 'subpoena_table')
|
||||
order by record_created desc
|
||||
limit 1</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>688</xloc>
|
||||
<yloc>320</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Write to log</name>
|
||||
<type>WriteToLog</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<displayHeader>Y</displayHeader>
|
||||
<fields>
|
||||
</fields>
|
||||
<limitRows>N</limitRows>
|
||||
<limitRowsNumber>0</limitRowsNumber>
|
||||
<loglevel>Basic</loglevel>
|
||||
<logmessage>${M_S_UP_DATE}</logmessage>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1360</xloc>
|
||||
<yloc>192</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
</transform_error_handling>
|
||||
<attributes/>
|
||||
</pipeline>
|
||||
|
|
@ -1,93 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<pipeline>
|
||||
<info>
|
||||
<name>subpoena_update_date_ervu_dashboard</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/06/02 14:50:31.833</created_date>
|
||||
<modified_user>-</modified_user>
|
||||
<modified_date>2025/06/02 14:50:31.833</modified_date>
|
||||
</info>
|
||||
<notepads>
|
||||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Table output</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>SELECT
|
||||
COALESCE(MAX(create_date), '0001-01-01 00:00:00'::timestamp) AS system_create_date,
|
||||
COALESCE(MAX(status_change_date), '0001-01-01 00:00:00'::timestamp) AS system_update_date,
|
||||
current_timestamp AS record_created,
|
||||
'subpoena_table' AS workflow
|
||||
FROM ervu_dashboard.subpoena</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>896</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Table output</name>
|
||||
<type>TableOutput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>1000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<fields>
|
||||
</fields>
|
||||
<ignore_errors>N</ignore_errors>
|
||||
<only_when_have_rows>N</only_when_have_rows>
|
||||
<partitioning_daily>N</partitioning_daily>
|
||||
<partitioning_enabled>N</partitioning_enabled>
|
||||
<partitioning_monthly>Y</partitioning_monthly>
|
||||
<return_keys>N</return_keys>
|
||||
<schema>public</schema>
|
||||
<specify_fields>N</specify_fields>
|
||||
<table>recruit_create</table>
|
||||
<tablename_in_field>N</tablename_in_field>
|
||||
<tablename_in_table>Y</tablename_in_table>
|
||||
<truncate>N</truncate>
|
||||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1216</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
</transform_error_handling>
|
||||
<attributes/>
|
||||
</pipeline>
|
||||
|
|
@ -279,7 +279,7 @@
|
|||
<hop>
|
||||
<from>IF job_parallel_recruits_info_citizen SUCCESS</from>
|
||||
<to>job_parallel_subpoena_decision_archive_person.hwf</to>
|
||||
<enabled>N</enabled>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
|
|
|
|||
|
|
@ -25,119 +25,23 @@
|
|||
<repeat>N</repeat>
|
||||
<schedulerType>0</schedulerType>
|
||||
<weekDay>1</weekDay>
|
||||
<parallel>Y</parallel>
|
||||
<xloc>688</xloc>
|
||||
<parallel>N</parallel>
|
||||
<xloc>784</xloc>
|
||||
<yloc>1232</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>citizen_liability_fz53_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/citizen_liability_fz53/citizen_liability_fz53_job.hwf</filename>
|
||||
<loglevel>Nothing</loglevel>
|
||||
<parameters>
|
||||
<parameter>
|
||||
<name>M_R_CR_DATE</name>
|
||||
<value>${M_R_CR_DATE}</value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>M_INFR_UP_DATE</name>
|
||||
<value>${M_INFR_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>1264</xloc>
|
||||
<yloc>1040</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>citizen_criminal_liability_fz53_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/citizen_criminal_liability_fz53/citizen_criminal_liability_fz53_job.hwf</filename>
|
||||
<loglevel>Nothing</loglevel>
|
||||
<parameters>
|
||||
<parameter>
|
||||
<name>M_R_CR_DATE</name>
|
||||
<value>${M_R_CR_DATE}</value>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>M_INFR_UP_DATE</name>
|
||||
<value>${M_INFR_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>1264</xloc>
|
||||
<yloc>976</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>citizen_appealing_violations_fz53_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/citizen_appealing_violations_fz53/citizen_appealing_violations_fz53_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>1264</xloc>
|
||||
<yloc>912</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>Success</name>
|
||||
<description/>
|
||||
<type>SUCCESS</type>
|
||||
<attributes/>
|
||||
<parallel>N</parallel>
|
||||
<xloc>1664</xloc>
|
||||
<xloc>1408</xloc>
|
||||
<yloc>1232</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>deferment_liberation_job.hwf</name>
|
||||
<name>job_reference_data.hwf</name>
|
||||
<description/>
|
||||
<type>WORKFLOW</type>
|
||||
<attributes/>
|
||||
|
|
@ -145,17 +49,9 @@
|
|||
<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/deferment_liberation/deferment_liberation_job.hwf</filename>
|
||||
<filename>${PROJECT_HOME}/info_recruits/reference_data/job_reference_data.hwf</filename>
|
||||
<loglevel>Nothing</loglevel>
|
||||
<parameters>
|
||||
<parameter>
|
||||
<name>M_DEFDEC_UP_DATE</name>
|
||||
<value>${M_DEFDEC_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>
|
||||
|
|
@ -164,76 +60,12 @@
|
|||
<set_logfile>N</set_logfile>
|
||||
<wait_until_finished>Y</wait_until_finished>
|
||||
<parallel>N</parallel>
|
||||
<xloc>1264</xloc>
|
||||
<yloc>1104</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>deferment_liberation_permission_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/deferment_liberation_permission/deferment_liberation_permission_job.hwf</filename>
|
||||
<loglevel>Nothing</loglevel>
|
||||
<parameters>
|
||||
<parameter>
|
||||
<name>M_RECDEF_UP_DATE</name>
|
||||
<value>${M_RECDEF_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>1264</xloc>
|
||||
<yloc>1168</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>recruit_archive_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/recruit_archive/recruit_archive_job.hwf</filename>
|
||||
<loglevel>Nothing</loglevel>
|
||||
<parameters>
|
||||
<parameter>
|
||||
<name>M_RECARCH_UP_DATE</name>
|
||||
<value>${M_RECARCH_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>1264</xloc>
|
||||
<xloc>960</xloc>
|
||||
<yloc>1232</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>subpoena_job.hwf</name>
|
||||
<name>job_deferment_fz53.hwf</name>
|
||||
<description/>
|
||||
<type>WORKFLOW</type>
|
||||
<attributes/>
|
||||
|
|
@ -241,340 +73,8 @@
|
|||
<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/subpoena/subpoena_job.hwf</filename>
|
||||
<filename>${PROJECT_HOME}/info_recruits/raw_data/job_deferment_fz53.hwf</filename>
|
||||
<loglevel>Nothing</loglevel>
|
||||
<parameters>
|
||||
<parameter>
|
||||
<name>M_S_UP_DATE</name>
|
||||
<value>${M_S_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>1264</xloc>
|
||||
<yloc>1488</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>restriction_document_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/raw_data/restriction_document/restriction_document_job.hwf</filename>
|
||||
<loglevel>Nothing</loglevel>
|
||||
<parameters>
|
||||
<parameter>
|
||||
<name>M_RESTRDOC_UP_DATE</name>
|
||||
<value>${M_RESTRDOC_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>1264</xloc>
|
||||
<yloc>1296</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>restriction_document_item_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/raw_data/restriction_document_item/restriction_document_item_job.hwf</filename>
|
||||
<loglevel>Nothing</loglevel>
|
||||
<parameters>
|
||||
<parameter>
|
||||
<name>M_RDI_UP_DATE</name>
|
||||
<value>${M_RDI_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>1264</xloc>
|
||||
<yloc>1360</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>subpoena_appearance_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/raw_data/subpoena_appearance/subpoena_appearance_job.hwf</filename>
|
||||
<loglevel>Nothing</loglevel>
|
||||
<parameters>
|
||||
<parameter>
|
||||
<name>M_SA_UP_DATE</name>
|
||||
<value>${M_SA_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>1264</xloc>
|
||||
<yloc>1424</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>subpoena_send_info_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/raw_data/subpoena_send_info/subpoena_send_info_job.hwf</filename>
|
||||
<loglevel>Nothing</loglevel>
|
||||
<parameters>
|
||||
<parameter>
|
||||
<name>M_S_UP_DATE</name>
|
||||
<value>${M_S_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>1264</xloc>
|
||||
<yloc>1552</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>job_last_update_date_subpoena.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/subpoena/job_last_update_date_subpoena.hwf</filename>
|
||||
<loglevel>Nothing</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>944</xloc>
|
||||
<yloc>1488</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>job_last_update_date_appeal_document.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_appealing_violations_fz53/job_last_update_date_appeal_document.hwf</filename>
|
||||
<loglevel>Nothing</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>944</xloc>
|
||||
<yloc>912</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>job_last_update_date_deferment_decision.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/deferment_liberation/job_last_update_date_deferment_decision.hwf</filename>
|
||||
<loglevel>Nothing</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>944</xloc>
|
||||
<yloc>1104</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>job_last_update_date_restriction_document.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/raw_data/restriction_document/job_last_update_date_restriction_document.hwf</filename>
|
||||
<loglevel>Nothing</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>944</xloc>
|
||||
<yloc>1296</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>job_last_update_date_restriction_document_item.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/raw_data/restriction_document_item/job_last_update_date_restriction_document_item.hwf</filename>
|
||||
<loglevel>Nothing</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>944</xloc>
|
||||
<yloc>1360</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>job_last_update_date_subpoena_appearance.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/raw_data/subpoena_appearance/job_last_update_date_subpoena_appearance.hwf</filename>
|
||||
<loglevel>Nothing</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>944</xloc>
|
||||
<yloc>1424</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>row_last_infringement_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/citizen_tables/citizen_liability_fz53/row_last_infringement_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>944</xloc>
|
||||
<yloc>976</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>row_last_recruit_archive_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/citizen_tables/recruit_archive/row_last_recruit_archive_update_date.hpl</filename>
|
||||
<loglevel>Basic</loglevel>
|
||||
<parameters>
|
||||
<pass_all_parameters>Y</pass_all_parameters>
|
||||
</parameters>
|
||||
|
|
@ -584,271 +84,73 @@
|
|||
<set_logfile>N</set_logfile>
|
||||
<wait_until_finished>Y</wait_until_finished>
|
||||
<parallel>N</parallel>
|
||||
<xloc>944</xloc>
|
||||
<yloc>1232</yloc>
|
||||
<xloc>1200</xloc>
|
||||
<yloc>1136</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>subpoena_restriction_archive_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/raw_data/subpoena_restriction_archive_job.hwf</filename>
|
||||
<loglevel>Nothing</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>1200</xloc>
|
||||
<yloc>1328</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
</actions>
|
||||
<hops>
|
||||
<hop>
|
||||
<from>citizen_liability_fz53_job.hwf</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>citizen_criminal_liability_fz53_job.hwf</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>citizen_appealing_violations_fz53_job.hwf</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>deferment_liberation_job.hwf</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>deferment_liberation_permission_job.hwf</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>recruit_archive_job.hwf</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>subpoena_job.hwf</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>restriction_document_job.hwf</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>restriction_document_item_job.hwf</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>subpoena_appearance_job.hwf</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>subpoena_send_info_job.hwf</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>job_last_update_date_subpoena.hwf</to>
|
||||
<enabled>N</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>job_last_update_date_subpoena.hwf</from>
|
||||
<to>subpoena_send_info_job.hwf</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>job_last_update_date_subpoena.hwf</from>
|
||||
<to>subpoena_job.hwf</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>job_last_update_date_appeal_document.hwf</to>
|
||||
<enabled>N</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>job_last_update_date_appeal_document.hwf</from>
|
||||
<to>citizen_appealing_violations_fz53_job.hwf</to>
|
||||
<enabled>N</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>job_last_update_date_deferment_decision.hwf</from>
|
||||
<to>deferment_liberation_job.hwf</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>job_last_update_date_deferment_decision.hwf</to>
|
||||
<enabled>N</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>job_last_update_date_restriction_document.hwf</to>
|
||||
<enabled>N</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>job_last_update_date_restriction_document.hwf</from>
|
||||
<to>restriction_document_job.hwf</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>job_last_update_date_restriction_document_item.hwf</to>
|
||||
<enabled>N</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>job_last_update_date_restriction_document_item.hwf</from>
|
||||
<to>restriction_document_item_job.hwf</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>job_last_update_date_subpoena_appearance.hwf</from>
|
||||
<to>subpoena_appearance_job.hwf</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>job_last_update_date_subpoena_appearance.hwf</to>
|
||||
<enabled>N</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>job_last_update_date_deferment_decision.hwf</from>
|
||||
<to>deferment_liberation_permission_job.hwf</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>citizen_appealing_violations_fz53_job.hwf</to>
|
||||
<enabled>N</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>row_last_infringement_update_date.hpl</to>
|
||||
<to>job_reference_data.hwf</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>row_last_infringement_update_date.hpl</from>
|
||||
<to>citizen_criminal_liability_fz53_job.hwf</to>
|
||||
<from>job_reference_data.hwf</from>
|
||||
<to>job_deferment_fz53.hwf</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>row_last_infringement_update_date.hpl</from>
|
||||
<to>citizen_liability_fz53_job.hwf</to>
|
||||
<from>job_reference_data.hwf</from>
|
||||
<to>subpoena_restriction_archive_job.hwf</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>row_last_recruit_archive_update_date.hpl</to>
|
||||
<from>job_deferment_fz53.hwf</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>row_last_recruit_archive_update_date.hpl</from>
|
||||
<to>recruit_archive_job.hwf</to>
|
||||
<from>subpoena_restriction_archive_job.hwf</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
</hops>
|
||||
<notepads>
|
||||
<notepad>
|
||||
<backgroundcolorblue>251</backgroundcolorblue>
|
||||
<backgroundcolorgreen>232</backgroundcolorgreen>
|
||||
<backgroundcolorred>201</backgroundcolorred>
|
||||
<bordercolorblue>90</bordercolorblue>
|
||||
<bordercolorgreen>58</bordercolorgreen>
|
||||
<bordercolorred>14</bordercolorred>
|
||||
<fontbold>N</fontbold>
|
||||
<fontcolorblue>90</fontcolorblue>
|
||||
<fontcolorgreen>58</fontcolorgreen>
|
||||
<fontcolorred>14</fontcolorred>
|
||||
<fontitalic>N</fontitalic>
|
||||
<fontname>Segoe UI</fontname>
|
||||
<fontsize>9</fontsize>
|
||||
<height>26</height>
|
||||
<xloc>832</xloc>
|
||||
<yloc>848</yloc>
|
||||
<note>в следующий пайплайн(check_status_job_info_recruits_from_json.hpl) родительского воркфлоу вписать новый созданный воркфлоу, который создан тут</note>
|
||||
<width>849</width>
|
||||
</notepad>
|
||||
<notepad>
|
||||
<backgroundcolorblue>251</backgroundcolorblue>
|
||||
<backgroundcolorgreen>232</backgroundcolorgreen>
|
||||
<backgroundcolorred>201</backgroundcolorred>
|
||||
<bordercolorblue>90</bordercolorblue>
|
||||
<bordercolorgreen>58</bordercolorgreen>
|
||||
<bordercolorred>14</bordercolorred>
|
||||
<fontbold>N</fontbold>
|
||||
<fontcolorblue>90</fontcolorblue>
|
||||
<fontcolorgreen>58</fontcolorgreen>
|
||||
<fontcolorred>14</fontcolorred>
|
||||
<fontitalic>N</fontitalic>
|
||||
<fontname>Segoe UI</fontname>
|
||||
<fontsize>9</fontsize>
|
||||
<height>26</height>
|
||||
<xloc>1600</xloc>
|
||||
<yloc>1376</yloc>
|
||||
<note>rdi</note>
|
||||
<width>24</width>
|
||||
</notepad>
|
||||
</notepads>
|
||||
<attributes/>
|
||||
</workflow>
|
||||
|
|
|
|||
|
|
@ -1,126 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<workflow>
|
||||
<name>job_last_update_date_subpoena_appearance</name>
|
||||
<name_sync_with_filename>Y</name_sync_with_filename>
|
||||
<description/>
|
||||
<extended_description/>
|
||||
<workflow_version/>
|
||||
<created_user>-</created_user>
|
||||
<created_date>2025/06/02 14:48:05.666</created_date>
|
||||
<modified_user>-</modified_user>
|
||||
<modified_date>2025/06/02 14:48:05.666</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>384</xloc>
|
||||
<yloc>352</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>subpoena_appearance_update_date_ervu_dashboard.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/subpoena_appearance/subpoena_appearance_update_date_ervu_dashboard.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>720</xloc>
|
||||
<yloc>352</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>row_last_subpoena_appearance_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/subpoena_appearance/row_last_subpoena_appearance_update_date.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>1232</xloc>
|
||||
<yloc>352</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>Success</name>
|
||||
<description/>
|
||||
<type>SUCCESS</type>
|
||||
<attributes/>
|
||||
<parallel>N</parallel>
|
||||
<xloc>1584</xloc>
|
||||
<yloc>352</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
</actions>
|
||||
<hops>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>subpoena_appearance_update_date_ervu_dashboard.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>subpoena_appearance_update_date_ervu_dashboard.hpl</from>
|
||||
<to>row_last_subpoena_appearance_update_date.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>row_last_subpoena_appearance_update_date.hpl</from>
|
||||
<to>Success</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
</hops>
|
||||
<notepads>
|
||||
</notepads>
|
||||
<attributes/>
|
||||
</workflow>
|
||||
|
|
@ -265,14 +265,11 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
|
|||
</partitioning>
|
||||
<connection>postgres.subpoena</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit/>
|
||||
<sql>select sa.*
|
||||
from public.subpoena_appearance sa
|
||||
join public.subpoena s on s.id = sa.subpoena_id
|
||||
WHERE
|
||||
'${IDM_ID}' != '' -- Проверка на пустую строку
|
||||
AND s.department_id = '${IDM_ID}'
|
||||
AND '${M_R_CR_DATE}' >= sa.created_date_time
|
||||
${LIMIT_FW}</sql>
|
||||
WHERE s.department_id = '${IDM_ID}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -327,14 +324,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>subpoena_appearance</table>
|
||||
<tablename_field/>
|
||||
<tablename_in_field>N</tablename_in_field>
|
||||
<tablename_in_table>Y</tablename_in_table>
|
||||
<truncate>N</truncate>
|
||||
|
|
|
|||
|
|
@ -341,12 +341,8 @@ and recruitment_id = '${IDM_ID}';</sql>
|
|||
<sql>select sa.*
|
||||
from public.subpoena_appearance sa
|
||||
join public.subpoena s on s.id = sa.subpoena_id
|
||||
WHERE
|
||||
'${IDM_ID}' != '' -- Проверка на пустую строку
|
||||
AND s.department_id = '${IDM_ID}'
|
||||
AND sa.change_date_time >= '${M_SA_UP_DATE}'::timestamp
|
||||
|
||||
${LIMIT_FW}</sql>
|
||||
WHERE s.department_id = '${IDM_ID}';
|
||||
AND sa.change_date_time >= '${MAX_UPDATE_DATE}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -288,13 +288,11 @@ DO UPDATE SET
|
|||
<condition>=</condition>
|
||||
<field>id</field>
|
||||
<name>id</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>created_date_time</field>
|
||||
<name>created_date_time</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>subpoena_appearance</table>
|
||||
|
|
@ -354,14 +352,11 @@ DO UPDATE SET
|
|||
</partitioning>
|
||||
<connection>postgres.subpoena</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit/>
|
||||
<sql>select sa.*
|
||||
from public.subpoena_appearance sa
|
||||
join public.subpoena s on s.id = sa.subpoena_id
|
||||
WHERE
|
||||
'${IDM_ID}' != '' -- Проверка на пустую строку
|
||||
AND s.department_id = '${IDM_ID}'
|
||||
AND '${M_R_CR_DATE}' >= sa.created_date_time
|
||||
${LIMIT_FW}</sql>
|
||||
WHERE s.department_id = '${IDM_ID}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -21,33 +21,111 @@
|
|||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Append streams</from>
|
||||
<to>Sort rows</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>failed_subpoena_appearance_idm_ids_on_delta</from>
|
||||
<to>Append streams</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>max_update_date_from_subpoena_appearance</from>
|
||||
<to>failed_subpoena_appearance_idm_ids_on_delta</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>max_update_date_from_subpoena_appearance</from>
|
||||
<to>updated_idm_ids_from_subpoena_appearance</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>updated_idm_ids_from_subpoena_appearance</from>
|
||||
<to>Append streams</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Sort rows</from>
|
||||
<to>subpoena_appearance_flow_delta.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>subpoena_appearance_flow_delta.hpl 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>subpoena_appearance_flow_delta.hpl 3</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>subpoena_appearance_flow_delta.hpl 4</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>subpoena_appearance_flow_delta.hpl 5</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Table input</name>
|
||||
<name>Append streams</name>
|
||||
<type>Append</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<head_name>updated_idm_ids_from_subpoena_appearance</head_name>
|
||||
<tail_name>failed_subpoena_appearance_idm_ids_on_delta</tail_name>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>784</xloc>
|
||||
<yloc>432</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Sort rows</name>
|
||||
<type>SortRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>out</prefix>
|
||||
<sort_size>100000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruitment_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>976</xloc>
|
||||
<yloc>432</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>failed_subpoena_appearance_idm_ids_on_delta</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -60,18 +138,42 @@
|
|||
<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 = 'subpoena_appearance_job'
|
||||
where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING');</sql>
|
||||
<lookup>max_update_date_from_subpoena_appearance</lookup>
|
||||
<sql>select r.idm_id as recruitment_id,
|
||||
? as max_update_date
|
||||
from ervu_dashboard.recruitment r
|
||||
join etl.job_execution je
|
||||
on r.idm_id = je.recruitment_id
|
||||
where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
||||
and je.job_name = '${JOB_NAME}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>576</xloc>
|
||||
<yloc>528</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>max_update_date_from_subpoena_appearance</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>N</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(change_date_time) as max_update_date
|
||||
from subpoena_appearance;</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>352</xloc>
|
||||
<yloc>288</yloc>
|
||||
<xloc>384</xloc>
|
||||
<yloc>432</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -98,6 +200,11 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<field>recruitment_id</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<variable_mapping>
|
||||
<variable>MAX_UPDATE_DATE</variable>
|
||||
<field>max_update_date</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<inherit_all_vars>Y</inherit_all_vars>
|
||||
</parameters>
|
||||
<execution_result_target_transform/>
|
||||
|
|
@ -121,8 +228,8 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>608</xloc>
|
||||
<yloc>128</yloc>
|
||||
<xloc>1216</xloc>
|
||||
<yloc>240</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -172,8 +279,8 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>608</xloc>
|
||||
<yloc>208</yloc>
|
||||
<xloc>1216</xloc>
|
||||
<yloc>320</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -223,8 +330,8 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>608</xloc>
|
||||
<yloc>288</yloc>
|
||||
<xloc>1216</xloc>
|
||||
<yloc>400</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -274,8 +381,8 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>608</xloc>
|
||||
<yloc>368</yloc>
|
||||
<xloc>1216</xloc>
|
||||
<yloc>480</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -325,8 +432,37 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>608</xloc>
|
||||
<yloc>448</yloc>
|
||||
<xloc>1216</xloc>
|
||||
<yloc>560</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>updated_idm_ids_from_subpoena_appearance</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<connection>postgres.subpoena</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<lookup>max_update_date_from_subpoena_appearance</lookup>
|
||||
<sql>WITH max_update_date(val) AS (SELECT CAST(? AS timestamp))
|
||||
SELECT DISTINCT s.department_id AS recruitment_id,
|
||||
mud.val as max_update_date
|
||||
FROM subpoena_appearance sa
|
||||
JOIN subpoena s ON s.id = sa.subpoena_id
|
||||
JOIN max_update_date mud ON TRUE
|
||||
WHERE (mud.val IS NULL OR sa.change_date_time > mud.val);</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>576</xloc>
|
||||
<yloc>336</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
|
|
|
|||
|
|
@ -1,142 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<pipeline>
|
||||
<info>
|
||||
<name>row_last_subpoena_appearance_update_date</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/06/02 14:51:59.611</created_date>
|
||||
<modified_user>-</modified_user>
|
||||
<modified_date>2025/06/02 14:51:59.611</modified_date>
|
||||
</info>
|
||||
<notepads>
|
||||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Copy rows to result</from>
|
||||
<to>Set variables</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Copy rows to result</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Set variables</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Set variables</from>
|
||||
<to>Write to log</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Copy rows to result</name>
|
||||
<type>RowsToResult</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>896</xloc>
|
||||
<yloc>176</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Set variables</name>
|
||||
<type>SetVariable</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<fields>
|
||||
<field>
|
||||
<default_value/>
|
||||
<field_name>MAX_SUBPOENA_APPEARANCE_UPDATE_DATE</field_name>
|
||||
<variable_name>M_SA_UP_DATE</variable_name>
|
||||
<variable_type>GP_WORKFLOW</variable_type>
|
||||
</field>
|
||||
</fields>
|
||||
<use_formatting>Y</use_formatting>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1232</xloc>
|
||||
<yloc>320</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
|
||||
system_update_date AS MAX_SUBPOENA_APPEARANCE_UPDATE_DATE--,
|
||||
--record_created
|
||||
FROM public.recruit_create
|
||||
WHERE system_update_date = (select max(system_update_date) from public.recruit_create where workflow = 'subpoena_appearance_table')
|
||||
order by record_created desc
|
||||
limit 1</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>688</xloc>
|
||||
<yloc>320</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Write to log</name>
|
||||
<type>WriteToLog</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<displayHeader>Y</displayHeader>
|
||||
<fields>
|
||||
</fields>
|
||||
<limitRows>N</limitRows>
|
||||
<limitRowsNumber>0</limitRowsNumber>
|
||||
<loglevel>Basic</loglevel>
|
||||
<logmessage>${M_SA_UP_DATE}</logmessage>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1424</xloc>
|
||||
<yloc>240</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
</transform_error_handling>
|
||||
<attributes/>
|
||||
</pipeline>
|
||||
|
|
@ -1,93 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<pipeline>
|
||||
<info>
|
||||
<name>subpoena_appearance_update_date_ervu_dashboard</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/06/02 14:50:31.833</created_date>
|
||||
<modified_user>-</modified_user>
|
||||
<modified_date>2025/06/02 14:50:31.833</modified_date>
|
||||
</info>
|
||||
<notepads>
|
||||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Table output</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>SELECT
|
||||
COALESCE(MAX(created_date_time), '0001-01-01 00:00:00'::timestamp) AS system_create_date,
|
||||
COALESCE(MAX(change_date_time), '0001-01-01 00:00:00'::timestamp) AS system_update_date,
|
||||
current_timestamp AS record_created,
|
||||
'subpoena_appearance_table' AS workflow
|
||||
FROM ervu_dashboard.subpoena_appearance</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>896</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Table output</name>
|
||||
<type>TableOutput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>1000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<fields>
|
||||
</fields>
|
||||
<ignore_errors>N</ignore_errors>
|
||||
<only_when_have_rows>N</only_when_have_rows>
|
||||
<partitioning_daily>N</partitioning_daily>
|
||||
<partitioning_enabled>N</partitioning_enabled>
|
||||
<partitioning_monthly>Y</partitioning_monthly>
|
||||
<return_keys>N</return_keys>
|
||||
<schema>public</schema>
|
||||
<specify_fields>N</specify_fields>
|
||||
<table>recruit_create</table>
|
||||
<tablename_in_field>N</tablename_in_field>
|
||||
<tablename_in_table>Y</tablename_in_table>
|
||||
<truncate>N</truncate>
|
||||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1216</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
</transform_error_handling>
|
||||
<attributes/>
|
||||
</pipeline>
|
||||
|
|
@ -1,86 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<pipeline>
|
||||
<info>
|
||||
<name>check_if_need_to_repeat_job</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/08/08 12:27:51.630</created_date>
|
||||
<modified_user>-</modified_user>
|
||||
<modified_date>2025/08/08 12:27:51.630</modified_date>
|
||||
</info>
|
||||
<notepads>
|
||||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Set variables</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Set variables</name>
|
||||
<type>SetVariable</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<fields>
|
||||
<field>
|
||||
<field_name>need_to_repeat_job</field_name>
|
||||
<variable_name>NEED_TO_REPEAT_JOB</variable_name>
|
||||
<variable_type>ROOT_WORKFLOW</variable_type>
|
||||
</field>
|
||||
</fields>
|
||||
<use_formatting>Y</use_formatting>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>624</xloc>
|
||||
<yloc>288</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 EXISTS (SELECT 1
|
||||
FROM ervu_dashboard.recruitment r
|
||||
LEFT JOIN etl.job_execution je
|
||||
ON r.idm_id = je.recruitment_id
|
||||
and job_name = 'subpoena_send_info_job'
|
||||
where je.status is null or je.status in ('ERROR', 'PROCESSING')
|
||||
limit 1
|
||||
) as need_to_repeat_job;</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>336</xloc>
|
||||
<yloc>288</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
</transform_error_handling>
|
||||
<attributes/>
|
||||
</pipeline>
|
||||
|
|
@ -1,113 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<pipeline>
|
||||
<info>
|
||||
<name>check_if_subpoena_send_info_job_exists</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/08/05 13:28:46.661</created_date>
|
||||
<modified_user>-</modified_user>
|
||||
<modified_date>2025/08/05 13:28:46.661</modified_date>
|
||||
</info>
|
||||
<notepads>
|
||||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Set variables</from>
|
||||
<to>Write to log</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Set variables</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Set variables</name>
|
||||
<type>SetVariable</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<fields>
|
||||
<field>
|
||||
<field_name>job_executed_flag</field_name>
|
||||
<variable_name>JOB_EXECUTED_FLAG</variable_name>
|
||||
<variable_type>PARENT_WORKFLOW</variable_type>
|
||||
</field>
|
||||
</fields>
|
||||
<use_formatting>Y</use_formatting>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>672</xloc>
|
||||
<yloc>336</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 EXISTS (
|
||||
SELECT 1
|
||||
FROM etl.job_execution
|
||||
WHERE job_name = 'subpoena_send_info_job'
|
||||
limit 1
|
||||
) AS job_executed_flag;</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>384</xloc>
|
||||
<yloc>336</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Write to log</name>
|
||||
<type>WriteToLog</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<displayHeader>Y</displayHeader>
|
||||
<fields>
|
||||
</fields>
|
||||
<limitRows>N</limitRows>
|
||||
<limitRowsNumber>0</limitRowsNumber>
|
||||
<loglevel>Basic</loglevel>
|
||||
<logmessage>${STATUS}</logmessage>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>944</xloc>
|
||||
<yloc>224</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
</transform_error_handling>
|
||||
<attributes/>
|
||||
</pipeline>
|
||||
|
|
@ -265,14 +265,11 @@ VALUES (DEFAULT, '${JOB_NAME}', 'PROCESSING', DEFAULT, null, '${IDM_ID}');
|
|||
</partitioning>
|
||||
<connection>postgres.subpoena</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<sql>select ssi.*
|
||||
<sql>select ssi.*,
|
||||
current_timestamp as update_date
|
||||
from public.subpoena_send_info ssi
|
||||
join public.subpoena s on s.id = ssi.subpoena_id
|
||||
WHERE
|
||||
'${IDM_ID}' != '' -- Проверка на пустую строку
|
||||
AND s.department_id = '${IDM_ID}'
|
||||
AND s.create_date >= '${M_R_UP_DATE}'::timestamp
|
||||
${LIMIT_FW}</sql>
|
||||
join public.subpoena s on s.id = ssi.subpoena_id
|
||||
WHERE s.department_id = '${IDM_ID}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -355,14 +352,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>subpoena_send_info</table>
|
||||
<tablename_field/>
|
||||
<tablename_in_field>N</tablename_in_field>
|
||||
<tablename_in_table>Y</tablename_in_table>
|
||||
<truncate>N</truncate>
|
||||
|
|
|
|||
|
|
@ -368,14 +368,12 @@ and recruitment_id = '${IDM_ID}';</sql>
|
|||
<connection>postgres.subpoena</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit/>
|
||||
<sql>select ssi.*
|
||||
<sql>select ssi.*,
|
||||
current_timestamp as update_date
|
||||
from public.subpoena_send_info ssi
|
||||
join public.subpoena s on s.id = ssi.subpoena_id
|
||||
WHERE
|
||||
'${IDM_ID}' != '' -- Проверка на пустую строку
|
||||
AND s.department_id = '${IDM_ID}'
|
||||
AND s.status_change_date >= '${M_S_UP_DATE}'::timestamp
|
||||
${LIMIT_FW}</sql>
|
||||
join public.subpoena s on s.id = ssi.subpoena_id
|
||||
WHERE s.department_id = '${IDM_ID}'
|
||||
and s.status_change_date > '${MAX_UPDATE_DATE}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -288,7 +288,6 @@ DO UPDATE SET
|
|||
<condition>=</condition>
|
||||
<field>id</field>
|
||||
<name>id</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>subpoena_send_info</table>
|
||||
|
|
@ -383,14 +382,12 @@ DO UPDATE SET
|
|||
</partitioning>
|
||||
<connection>postgres.subpoena</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<sql>select ssi.*
|
||||
<limit/>
|
||||
<sql>select ssi.*,
|
||||
current_timestamp as update_date
|
||||
from public.subpoena_send_info ssi
|
||||
join public.subpoena s on s.id = ssi.subpoena_id
|
||||
WHERE
|
||||
'${IDM_ID}' != '' -- Проверка на пустую строку
|
||||
AND s.department_id = '${IDM_ID}'
|
||||
AND s.create_date >= '${M_R_UP_DATE}'::timestamp
|
||||
${LIMIT_FW}</sql>
|
||||
join public.subpoena s on s.id = ssi.subpoena_id
|
||||
WHERE s.department_id = '${IDM_ID}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -21,33 +21,111 @@
|
|||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>failed_subpoena_appearance_idm_ids_on_delta</from>
|
||||
<to>Append streams</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>max_update_date_from_subpoena_appearance</from>
|
||||
<to>failed_subpoena_appearance_idm_ids_on_delta</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>max_update_date_from_subpoena_appearance</from>
|
||||
<to>updated_idm_ids_from_subpoena_appearance</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>updated_idm_ids_from_subpoena_appearance</from>
|
||||
<to>Append streams</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Append streams</from>
|
||||
<to>Sort rows</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Sort rows</from>
|
||||
<to>subpoena_send_info_flow_delta.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>subpoena_send_info_flow_delta.hpl 2</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>subpoena_send_info_flow_delta.hpl 3</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>subpoena_send_info_flow_delta.hpl 4</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<from>Sort rows</from>
|
||||
<to>subpoena_send_info_flow_delta.hpl 5</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Table input</name>
|
||||
<name>Append streams</name>
|
||||
<type>Append</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<head_name>updated_idm_ids_from_subpoena_appearance</head_name>
|
||||
<tail_name>failed_subpoena_appearance_idm_ids_on_delta</tail_name>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>928</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Sort rows</name>
|
||||
<type>SortRows</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<directory>${java.io.tmpdir}</directory>
|
||||
<prefix>out</prefix>
|
||||
<sort_size>100000</sort_size>
|
||||
<free_memory/>
|
||||
<compress>N</compress>
|
||||
<compress_variable/>
|
||||
<unique_rows>Y</unique_rows>
|
||||
<fields>
|
||||
<field>
|
||||
<name>recruitment_id</name>
|
||||
<ascending>Y</ascending>
|
||||
<case_sensitive>N</case_sensitive>
|
||||
<collator_enabled>N</collator_enabled>
|
||||
<collator_strength>0</collator_strength>
|
||||
<presorted>N</presorted>
|
||||
</field>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1104</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>failed_subpoena_appearance_idm_ids_on_delta</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
|
|
@ -60,18 +138,42 @@
|
|||
<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 = 'subpoena_send_info_job'
|
||||
where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING');</sql>
|
||||
<lookup>max_update_date_from_subpoena_appearance</lookup>
|
||||
<sql>select r.idm_id as recruitment_id,
|
||||
? as max_update_date
|
||||
from ervu_dashboard.recruitment r
|
||||
join etl.job_execution je
|
||||
on r.idm_id = je.recruitment_id
|
||||
where je.status in ('DELTA_ERROR', 'DELTA_PROCESSING')
|
||||
and je.job_name = '${JOB_NAME}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>720</xloc>
|
||||
<yloc>448</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>max_update_date_from_subpoena_appearance</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>N</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(update_date) as max_update_date
|
||||
from subpoena_send_info;</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>352</xloc>
|
||||
<yloc>288</yloc>
|
||||
<xloc>528</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -98,6 +200,11 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<field>recruitment_id</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<variable_mapping>
|
||||
<variable>MAX_UPDATE_DATE</variable>
|
||||
<field>max_update_date</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<inherit_all_vars>Y</inherit_all_vars>
|
||||
</parameters>
|
||||
<execution_result_target_transform/>
|
||||
|
|
@ -121,8 +228,36 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>624</xloc>
|
||||
<yloc>128</yloc>
|
||||
<xloc>1360</xloc>
|
||||
<yloc>192</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>updated_idm_ids_from_subpoena_appearance</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<connection>postgres.subpoena</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<lookup>max_update_date_from_subpoena_appearance</lookup>
|
||||
<sql>WITH max_update_date(val) AS (SELECT CAST(? AS timestamp))
|
||||
SELECT DISTINCT s.department_id AS recruitment_id,
|
||||
mud.val as max_update_date
|
||||
FROM subpoena s
|
||||
JOIN max_update_date mud ON TRUE
|
||||
WHERE (mud.val IS NULL OR s.status_change_date> mud.val);</sql>
|
||||
<variables_active>N</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>720</xloc>
|
||||
<yloc>256</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -149,6 +284,11 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<field>recruitment_id</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<variable_mapping>
|
||||
<variable>MAX_UPDATE_DATE</variable>
|
||||
<field>max_update_date</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<inherit_all_vars>Y</inherit_all_vars>
|
||||
</parameters>
|
||||
<execution_result_target_transform/>
|
||||
|
|
@ -172,8 +312,8 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>624</xloc>
|
||||
<yloc>208</yloc>
|
||||
<xloc>1360</xloc>
|
||||
<yloc>272</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -200,6 +340,11 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<field>recruitment_id</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<variable_mapping>
|
||||
<variable>MAX_UPDATE_DATE</variable>
|
||||
<field>max_update_date</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<inherit_all_vars>Y</inherit_all_vars>
|
||||
</parameters>
|
||||
<execution_result_target_transform/>
|
||||
|
|
@ -223,8 +368,8 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>624</xloc>
|
||||
<yloc>288</yloc>
|
||||
<xloc>1360</xloc>
|
||||
<yloc>352</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -251,6 +396,11 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<field>recruitment_id</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<variable_mapping>
|
||||
<variable>MAX_UPDATE_DATE</variable>
|
||||
<field>max_update_date</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<inherit_all_vars>Y</inherit_all_vars>
|
||||
</parameters>
|
||||
<execution_result_target_transform/>
|
||||
|
|
@ -274,8 +424,8 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>624</xloc>
|
||||
<yloc>368</yloc>
|
||||
<xloc>1360</xloc>
|
||||
<yloc>432</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -302,6 +452,11 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<field>recruitment_id</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<variable_mapping>
|
||||
<variable>MAX_UPDATE_DATE</variable>
|
||||
<field>max_update_date</field>
|
||||
<input/>
|
||||
</variable_mapping>
|
||||
<inherit_all_vars>Y</inherit_all_vars>
|
||||
</parameters>
|
||||
<execution_result_target_transform/>
|
||||
|
|
@ -325,8 +480,8 @@ where je.status in ('SUCCESS', 'DELTA_ERROR', 'DELTA_SUCCESS', 'DELTA_PROCESSING
|
|||
<executors_output_transform/>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>624</xloc>
|
||||
<yloc>448</yloc>
|
||||
<xloc>1360</xloc>
|
||||
<yloc>512</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
|
|
|
|||
|
|
@ -70,32 +70,6 @@
|
|||
<yloc>224</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>recruitment_param_create_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/recruitment/recruitment_param_create_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>N</parallel>
|
||||
<xloc>336</xloc>
|
||||
<yloc>320</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
</actions>
|
||||
<hops>
|
||||
<hop>
|
||||
|
|
@ -105,20 +79,6 @@
|
|||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>recruitment_param_create_date.hpl</to>
|
||||
<enabled>N</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>recruitment_param_create_date.hpl</from>
|
||||
<to>recruitment.hpl</to>
|
||||
<enabled>N</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>recruitment.hpl</to>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<weekDay>1</weekDay>
|
||||
<parallel>N</parallel>
|
||||
<xloc>432</xloc>
|
||||
<yloc>352</yloc>
|
||||
<yloc>416</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
|
|
@ -224,8 +224,6 @@
|
|||
<create_parent_folder>N</create_parent_folder>
|
||||
<exec_per_row>N</exec_per_row>
|
||||
<filename>${PROJECT_HOME}/info_recruits/reference_data/deferment_reason.hpl</filename>
|
||||
<logext/>
|
||||
<logfile/>
|
||||
<loglevel>Basic</loglevel>
|
||||
<parameters>
|
||||
<pass_all_parameters>Y</pass_all_parameters>
|
||||
|
|
|
|||
325
mappings/job_general_info_recruits.hwf
Normal file
325
mappings/job_general_info_recruits.hwf
Normal file
|
|
@ -0,0 +1,325 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<workflow>
|
||||
<name>job_general_info_recruits</name>
|
||||
<name_sync_with_filename>Y</name_sync_with_filename>
|
||||
<description/>
|
||||
<extended_description/>
|
||||
<workflow_version/>
|
||||
<workflow_status>0</workflow_status>
|
||||
<created_user>-</created_user>
|
||||
<created_date>2025/05/21 13:22:33.264</created_date>
|
||||
<modified_user>-</modified_user>
|
||||
<modified_date>2025/05/21 13:22:33.264</modified_date>
|
||||
<parameters>
|
||||
<parameter>
|
||||
<name>M_R_CR_DATE</name>
|
||||
<default_value/>
|
||||
<description/>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>M_R_UP_DATE</name>
|
||||
<default_value/>
|
||||
<description/>
|
||||
</parameter>
|
||||
</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>720</xloc>
|
||||
<yloc>672</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>job_recruitment.hwf 2</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/recruitment/job_recruitment.hwf</filename>
|
||||
<loglevel>Nothing</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>976</xloc>
|
||||
<yloc>672</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>job_parallel_recruits_info_citizen.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/job_parallel_recruits_info_citizen.hwf</filename>
|
||||
<loglevel>Nothing</loglevel>
|
||||
<parameters>
|
||||
<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>1216</xloc>
|
||||
<yloc>672</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>job_info_recruits_from_json.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/job_info_recruits_from_json.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>2400</xloc>
|
||||
<yloc>768</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>check_status_parallel_recruits_info_citizen.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/supportive_jobs/check_status_parallel_recruits_info_citizen.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>N</parallel>
|
||||
<xloc>1664</xloc>
|
||||
<yloc>672</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>IF job_parallel_recruits_info_citizen ERROR</name>
|
||||
<description/>
|
||||
<type>SIMPLE_EVAL</type>
|
||||
<attributes/>
|
||||
<comparevalue>ERROR</comparevalue>
|
||||
<fieldtype>boolean</fieldtype>
|
||||
<successbooleancondition>true</successbooleancondition>
|
||||
<successcondition>equal</successcondition>
|
||||
<successnumbercondition>equal</successnumbercondition>
|
||||
<successwhenvarset>N</successwhenvarset>
|
||||
<valuetype>variable</valuetype>
|
||||
<variablename>JOB_PARALLEL_ERROR_EXITS</variablename>
|
||||
<parallel>N</parallel>
|
||||
<xloc>2048</xloc>
|
||||
<yloc>528</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>IF job_parallel_recruits_info_citizen SUCCESS</name>
|
||||
<description/>
|
||||
<type>SIMPLE_EVAL</type>
|
||||
<attributes/>
|
||||
<comparevalue>SUCCESS</comparevalue>
|
||||
<fieldtype>boolean</fieldtype>
|
||||
<successbooleancondition>false</successbooleancondition>
|
||||
<successcondition>equal</successcondition>
|
||||
<successnumbercondition>equal</successnumbercondition>
|
||||
<successwhenvarset>N</successwhenvarset>
|
||||
<valuetype>variable</valuetype>
|
||||
<variablename>JOB_PARALLEL_ERROR_EXITS</variablename>
|
||||
<parallel>N</parallel>
|
||||
<xloc>2048</xloc>
|
||||
<yloc>768</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>Abort parallel_recruits_info_citizen</name>
|
||||
<description/>
|
||||
<type>ABORT</type>
|
||||
<attributes/>
|
||||
<always_log_rows>N</always_log_rows>
|
||||
<parallel>N</parallel>
|
||||
<xloc>2400</xloc>
|
||||
<yloc>528</yloc>
|
||||
<attributes_hac/>
|
||||
</action>
|
||||
<action>
|
||||
<name>job_parallel_subpoena_decision_archive_person.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/job_parallel_subpoena_decision_archive_person.hwf</filename>
|
||||
<loglevel>Nothing</loglevel>
|
||||
<parameters>
|
||||
<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>2400</xloc>
|
||||
<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>
|
||||
<from>job_parallel_recruits_info_citizen.hwf</from>
|
||||
<to>check_status_parallel_recruits_info_citizen.hpl</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>IF job_parallel_recruits_info_citizen SUCCESS</from>
|
||||
<to>job_info_recruits_from_json.hwf</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>check_status_parallel_recruits_info_citizen.hpl</from>
|
||||
<to>IF job_parallel_recruits_info_citizen ERROR</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>N</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>check_status_parallel_recruits_info_citizen.hpl</from>
|
||||
<to>IF job_parallel_recruits_info_citizen SUCCESS</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>N</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>IF job_parallel_recruits_info_citizen SUCCESS</from>
|
||||
<to>job_parallel_subpoena_decision_archive_person.hwf</to>
|
||||
<enabled>N</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Start</from>
|
||||
<to>job_recruitment.hwf 2</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>job_recruitment.hwf 2</from>
|
||||
<to>job_parallel_recruits_info_citizen.hwf</to>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>IF job_parallel_recruits_info_citizen ERROR</from>
|
||||
<to>Abort parallel_recruits_info_citizen</to>
|
||||
<enabled>Y</enabled>
|
||||
<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>
|
||||
<attributes/>
|
||||
</workflow>
|
||||
Loading…
Add table
Add a link
Reference in a new issue