+info_recruits

This commit is contained in:
Ruslan 2024-09-06 16:26:47 +03:00
parent 5a93e2bf48
commit ff00a27b65
19 changed files with 10329 additions and 395 deletions

View file

@ -66,9 +66,9 @@
<slaveservers>
</slaveservers>
<job-log-table>
<connection/>
<schema/>
<table/>
<connection>ervu-dashboard</connection>
<schema>public</schema>
<table>job_log</table>
<size_limit_lines/>
<interval/>
<timeout_days/>
@ -394,7 +394,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>912</xloc>
<xloc>960</xloc>
<yloc>48</yloc>
<attributes_kjc/>
</entry>
@ -406,7 +406,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<xloc>1136</xloc>
<yloc>48</yloc>
<attributes_kjc/>
</entry>
@ -444,7 +444,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>912</xloc>
<xloc>960</xloc>
<yloc>128</yloc>
<attributes_kjc/>
</entry>
@ -456,7 +456,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<xloc>1136</xloc>
<yloc>128</yloc>
<attributes_kjc/>
</entry>
@ -494,7 +494,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>912</xloc>
<xloc>960</xloc>
<yloc>192</yloc>
<attributes_kjc/>
</entry>
@ -506,7 +506,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<xloc>1136</xloc>
<yloc>192</yloc>
<attributes_kjc/>
</entry>
@ -544,7 +544,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>912</xloc>
<xloc>960</xloc>
<yloc>272</yloc>
<attributes_kjc/>
</entry>
@ -556,7 +556,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<xloc>1136</xloc>
<yloc>272</yloc>
<attributes_kjc/>
</entry>
@ -594,7 +594,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>912</xloc>
<xloc>960</xloc>
<yloc>352</yloc>
<attributes_kjc/>
</entry>
@ -606,7 +606,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<xloc>1136</xloc>
<yloc>352</yloc>
<attributes_kjc/>
</entry>
@ -644,7 +644,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>912</xloc>
<xloc>960</xloc>
<yloc>432</yloc>
<attributes_kjc/>
</entry>
@ -656,7 +656,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<xloc>1136</xloc>
<yloc>432</yloc>
<attributes_kjc/>
</entry>
@ -694,7 +694,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>912</xloc>
<xloc>960</xloc>
<yloc>512</yloc>
<attributes_kjc/>
</entry>
@ -706,7 +706,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<xloc>1136</xloc>
<yloc>512</yloc>
<attributes_kjc/>
</entry>
@ -744,7 +744,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>912</xloc>
<xloc>960</xloc>
<yloc>576</yloc>
<attributes_kjc/>
</entry>
@ -756,7 +756,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<xloc>1136</xloc>
<yloc>576</yloc>
<attributes_kjc/>
</entry>
@ -794,7 +794,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>704</xloc>
<xloc>960</xloc>
<yloc>640</yloc>
<attributes_kjc/>
</entry>
@ -806,7 +806,7 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>880</xloc>
<xloc>1136</xloc>
<yloc>640</yloc>
<attributes_kjc/>
</entry>
@ -844,8 +844,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>704</xloc>
<yloc>720</yloc>
<xloc>960</xloc>
<yloc>704</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -856,8 +856,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>880</xloc>
<yloc>720</yloc>
<xloc>1136</xloc>
<yloc>704</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -894,8 +894,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>704</xloc>
<yloc>800</yloc>
<xloc>960</xloc>
<yloc>768</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -906,8 +906,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>880</xloc>
<yloc>800</yloc>
<xloc>1136</xloc>
<yloc>768</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -1054,6 +1054,264 @@
<yloc>576</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>total_registered.marital_status</name>
<description/>
<type>TRANS</type>
<attributes/>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>${Internal.Entry.Current.Directory}/total_registered.marital_status.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>Y</params_from_previous>
<exec_per_row>N</exec_per_row>
<clear_rows>N</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<run_configuration>Pentaho local</run_configuration>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>960</xloc>
<yloc>832</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>Success 13</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1136</xloc>
<yloc>832</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>SQL.totreg.marstat</name>
<description/>
<type>SQL</type>
<attributes/>
<sql>DELETE FROM total_registered.marital_status where recruitment_id = '00'</sql>
<useVariableSubstitution>F</useVariableSubstitution>
<sqlfromfile>F</sqlfromfile>
<sqlfilename/>
<sendOneStatement>F</sendOneStatement>
<connection>ervu-dashboard</connection>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>768</xloc>
<yloc>832</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>SQL.totreg.chimin</name>
<description/>
<type>SQL</type>
<attributes/>
<sql>DELETE FROM total_registered.child_minor where recruitment_id = '00'</sql>
<useVariableSubstitution>F</useVariableSubstitution>
<sqlfromfile>F</sqlfromfile>
<sqlfilename/>
<sendOneStatement>F</sendOneStatement>
<connection>ervu-dashboard</connection>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>768</xloc>
<yloc>704</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>SQL.totreg.age</name>
<description/>
<type>SQL</type>
<attributes/>
<sql>DELETE FROM total_registered.age where recruitment_id = '00'</sql>
<useVariableSubstitution>F</useVariableSubstitution>
<sqlfromfile>F</sqlfromfile>
<sqlfilename/>
<sendOneStatement>F</sendOneStatement>
<connection>ervu-dashboard</connection>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>768</xloc>
<yloc>768</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>SQL.totreg.drilic</name>
<description/>
<type>SQL</type>
<attributes/>
<sql>DELETE FROM total_registered.driver_license where recruitment_id = '00'</sql>
<useVariableSubstitution>F</useVariableSubstitution>
<sqlfromfile>F</sqlfromfile>
<sqlfilename/>
<sendOneStatement>F</sendOneStatement>
<connection>ervu-dashboard</connection>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>768</xloc>
<yloc>640</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>total_registered.education_level</name>
<description/>
<type>TRANS</type>
<attributes/>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>${Internal.Entry.Current.Directory}/total_registered.education_level.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>Y</params_from_previous>
<exec_per_row>N</exec_per_row>
<clear_rows>N</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<run_configuration>Pentaho local</run_configuration>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>960</xloc>
<yloc>912</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>Success 14</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1136</xloc>
<yloc>912</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>SQL.totreg.edulev</name>
<description/>
<type>SQL</type>
<attributes/>
<sql>DELETE FROM total_registered.education_level where recruitment_id = '00'</sql>
<useVariableSubstitution>F</useVariableSubstitution>
<sqlfromfile>F</sqlfromfile>
<sqlfilename/>
<sendOneStatement>F</sendOneStatement>
<connection>ervu-dashboard</connection>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>768</xloc>
<yloc>912</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>total_registered.busyness</name>
<description/>
<type>TRANS</type>
<attributes/>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>${Internal.Entry.Current.Directory}/total_registered.busyness.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>Y</params_from_previous>
<exec_per_row>N</exec_per_row>
<clear_rows>N</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<run_configuration>Pentaho local</run_configuration>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>960</xloc>
<yloc>992</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>Success 15</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1136</xloc>
<yloc>992</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>SQL.totreg.busyn</name>
<description/>
<type>SQL</type>
<attributes/>
<sql>DELETE FROM total_registered.busyness where recruitment_id = '00'</sql>
<useVariableSubstitution>F</useVariableSubstitution>
<sqlfromfile>F</sqlfromfile>
<sqlfilename/>
<sendOneStatement>F</sendOneStatement>
<connection>ervu-dashboard</connection>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>768</xloc>
<yloc>992</yloc>
<attributes_kjc/>
</entry>
</entries>
<hops>
<hop>
@ -1133,55 +1391,28 @@
<to>Success 10</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>N</enabled>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
<to>total_registered.driver_license</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>N</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>total_registered.child_minor</from>
<to>Success 11</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>N</enabled>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
<to>total_registered.child_minor</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>N</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>total_registered.age</from>
<to>Success 12</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>N</enabled>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
<to>total_registered.age</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>N</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>SQL.md.appeals</from>
<to>main_dashboard.appeals</to>
@ -1189,7 +1420,7 @@
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
@ -1207,7 +1438,7 @@
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
@ -1225,7 +1456,7 @@
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
@ -1243,7 +1474,7 @@
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
@ -1261,7 +1492,7 @@
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
@ -1279,7 +1510,7 @@
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
@ -1297,7 +1528,7 @@
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
@ -1315,7 +1546,7 @@
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
@ -1326,6 +1557,141 @@
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>SQL.totreg.marstat</from>
<to>total_registered.marital_status</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>total_registered.marital_status</from>
<to>Success 13</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
<to>SQL.totreg.marstat</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>Start</from>
<to>SQL.totreg.chimin</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>SQL.totreg.chimin</from>
<to>total_registered.child_minor</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
<to>SQL.totreg.age</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>SQL.totreg.age</from>
<to>total_registered.age</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
<to>SQL.totreg.drilic</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>SQL.totreg.drilic</from>
<to>total_registered.driver_license</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>SQL.totreg.edulev</from>
<to>total_registered.education_level</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>total_registered.education_level</from>
<to>Success 14</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
<to>SQL.totreg.edulev</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>Start</from>
<to>SQL.totreg.busyn</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>SQL.totreg.busyn</from>
<to>total_registered.busyness</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>total_registered.busyness</from>
<to>Success 15</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
</hops>
<notepads>
</notepads>

View file

@ -730,13 +730,13 @@
<connection>postgres.person_registry</connection>
<sql>with
t1 as (select count(*) total_count from public.recruits r
where r.vu_current_info -> 'isMilitaryRegistered' = 'true'),
where r.vu_current_info -> 'isMilitaryRegistered' = 'true' and r.current_recruitment_id is not null and r.target_recruitment_id is not null),
t2 as (select count(*) filter(where gender='MALE') male_count
from public.recruits r
where r.vu_current_info -> 'isMilitaryRegistered' = 'true'),
where r.vu_current_info -> 'isMilitaryRegistered' = 'true' and r.current_recruitment_id is not null and r.target_recruitment_id is not null),
t3 as (select count(*) filter(where gender='FEMALE') female_count
from public.recruits r
where r.vu_current_info -> 'isMilitaryRegistered' = 'true')
where r.vu_current_info -> 'isMilitaryRegistered' = 'true' and r.current_recruitment_id is not null and r.target_recruitment_id is not null)
select t1.total_count, t2.male_count, t3.female_count, '00' as recruitment_id,
0 as mobilization_criterion, 0 as volunteer_criterion, 0 as contract_criterion, 0 as mobilization_criterion_percent, 0 as volunteer_criterion_percent, 0 as contract_criterion_percent
from t1 full outer join t2 on 1 = 1 full outer join t3 on 1 = 1</sql>

View file

@ -1229,7 +1229,7 @@
SELECT COUNT(*) AS total
FROM public.recruits r
join public.recruits_info ri on ri.recruit_id=r.id
WHERE r.vu_current_info->>'isMilitaryRegistered' = 'true'
WHERE r.vu_current_info->>'isMilitaryRegistered' = 'true' and r.current_recruitment_id is not null and r.target_recruitment_id is not null
),
age_counts AS (
SELECT
@ -1243,7 +1243,7 @@ age_counts AS (
COUNT(*) FILTER (WHERE EXTRACT(YEAR FROM AGE(birth_date)) >= 51) AS "51+_year_count"
FROM public.recruits r
join public.recruits_info ri on ri.recruit_id=r.id
WHERE r.vu_current_info->>'isMilitaryRegistered' = 'true'
WHERE r.vu_current_info->>'isMilitaryRegistered' = 'true' and r.current_recruitment_id is not null and r.target_recruitment_id is not null
)
SELECT
age_counts."17_year_count",
@ -1310,7 +1310,7 @@ FROM age_counts, total_count;</sql>
SELECT COUNT(*) AS total
FROM public.recruits r
join public.recruits_info ri on ri.recruit_id=r.id
WHERE r.gender = 'FEMALE' AND r.vu_current_info->>'isMilitaryRegistered' = 'true'
WHERE r.gender = 'FEMALE' AND r.vu_current_info->>'isMilitaryRegistered' = 'true' and r.current_recruitment_id is not null and r.target_recruitment_id is not null
),
age_counts AS (
SELECT
@ -1324,7 +1324,7 @@ age_counts AS (
COUNT(*) FILTER (WHERE EXTRACT(YEAR FROM AGE(birth_date)) >= 51) AS "51+_year_count"
FROM public.recruits r
join public.recruits_info ri on ri.recruit_id=r.id
WHERE r.gender = 'FEMALE' AND r.vu_current_info->>'isMilitaryRegistered' = 'true'
WHERE r.gender = 'FEMALE' AND r.vu_current_info->>'isMilitaryRegistered' = 'true' and r.current_recruitment_id is not null and r.target_recruitment_id is not null
)
SELECT
age_counts."17_year_count",
@ -1391,7 +1391,7 @@ FROM age_counts, total_count;</sql>
SELECT COUNT(*) AS total
FROM public.recruits r
join public.recruits_info ri on ri.recruit_id=r.id
WHERE r.gender = 'MALE' AND r.vu_current_info->>'isMilitaryRegistered' = 'true'
WHERE r.gender = 'MALE' AND r.vu_current_info->>'isMilitaryRegistered' = 'true' and r.current_recruitment_id is not null and r.target_recruitment_id is not null
),
age_counts AS (
SELECT
@ -1405,7 +1405,7 @@ age_counts AS (
COUNT(*) FILTER (WHERE EXTRACT(YEAR FROM AGE(birth_date)) >= 51) AS "51+_year_count"
FROM public.recruits r
join public.recruits_info ri on ri.recruit_id=r.id
WHERE r.gender = 'MALE' AND r.vu_current_info->>'isMilitaryRegistered' = 'true'
WHERE r.gender = 'MALE' AND r.vu_current_info->>'isMilitaryRegistered' = 'true' and r.current_recruitment_id is not null and r.target_recruitment_id is not null
)
SELECT
age_counts."17_year_count",

File diff suppressed because it is too large Load diff

View file

@ -793,7 +793,7 @@
</output>
</remotesteps>
<GUI>
<xloc>960</xloc>
<xloc>992</xloc>
<yloc>240</yloc>
<draw>Y</draw>
</GUI>
@ -897,7 +897,7 @@
</output>
</remotesteps>
<GUI>
<xloc>976</xloc>
<xloc>992</xloc>
<yloc>336</yloc>
<draw>Y</draw>
</GUI>
@ -1001,7 +1001,7 @@
</output>
</remotesteps>
<GUI>
<xloc>1040</xloc>
<xloc>992</xloc>
<yloc>416</yloc>
<draw>Y</draw>
</GUI>
@ -1111,7 +1111,7 @@
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE
jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
AND r.vu_current_info->>'isMilitaryRegistered' = 'true'
AND r.vu_current_info->>'isMilitaryRegistered' = 'true' and r.current_recruitment_id is not null and r.target_recruitment_id is not null
),
children_birth_dates AS (
SELECT
@ -1141,6 +1141,8 @@ final_counts AS (
public.recruits_info ri
LEFT JOIN
children_count cc ON ri.recruit_id = cc.recruit_id
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE r.vu_current_info->>'isMilitaryRegistered' = 'true' and r.current_recruitment_id is not null and r.target_recruitment_id is not null
GROUP BY
COALESCE(children_under_18, 0)
),
@ -1204,7 +1206,9 @@ FROM
WHERE
jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
AND r.vu_current_info->>'isMilitaryRegistered' = 'true'
AND gender = 'FEMALE'
AND r.current_recruitment_id IS NOT NULL
AND r.target_recruitment_id IS NOT NULL
AND r.gender = 'FEMALE'
),
children_birth_dates AS (
SELECT
@ -1222,7 +1226,7 @@ children_count AS (
FROM
children_birth_dates
WHERE
AGE(make_date(year, month, day)) &lt; interval '18 years'
make_date(year, month, day) > CURRENT_DATE - INTERVAL '18 years'
GROUP BY
recruit_id
),
@ -1234,26 +1238,40 @@ final_counts AS (
public.recruits_info ri
LEFT JOIN
children_count cc ON ri.recruit_id = cc.recruit_id
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE
r.vu_current_info->>'isMilitaryRegistered' = 'true'
AND r.current_recruitment_id IS NOT NULL
AND r.target_recruitment_id IS NOT NULL
AND r.gender = 'FEMALE'
GROUP BY
COALESCE(children_under_18, 0)
),
total_people AS (
SELECT SUM(num_people) AS total_count
FROM final_counts
total_men AS (
SELECT
COUNT(*) AS total_men_count
FROM
public.recruits_info ri
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE
r.vu_current_info->>'isMilitaryRegistered' = 'true'
AND r.current_recruitment_id IS NOT NULL
AND r.target_recruitment_id IS NOT NULL
AND r.gender = 'FEMALE'
)
SELECT
'W' AS gender,
'00' as recruitment_id,
'W' AS gender,
'00' AS recruitment_id,
COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) AS no_children,
COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) AS one_child,
COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) AS two_children,
COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) AS three_children,
COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) AS four_or_more_children,
ROUND(COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS no_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS one_child_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS two_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS three_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS four_or_more_children_percent
ROUND(COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS no_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS one_child_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS two_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS three_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS four_or_more_children_percent
FROM
final_counts;</sql>
<limit>0</limit>
@ -1297,7 +1315,9 @@ FROM
WHERE
jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
AND r.vu_current_info->>'isMilitaryRegistered' = 'true'
AND gender = 'MALE'
AND r.current_recruitment_id IS NOT NULL
AND r.target_recruitment_id IS NOT NULL
AND r.gender = 'MALE'
),
children_birth_dates AS (
SELECT
@ -1315,7 +1335,7 @@ children_count AS (
FROM
children_birth_dates
WHERE
AGE(make_date(year, month, day)) &lt; interval '18 years'
make_date(year, month, day) > CURRENT_DATE - INTERVAL '18 years'
GROUP BY
recruit_id
),
@ -1327,26 +1347,40 @@ final_counts AS (
public.recruits_info ri
LEFT JOIN
children_count cc ON ri.recruit_id = cc.recruit_id
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE
r.vu_current_info->>'isMilitaryRegistered' = 'true'
AND r.current_recruitment_id IS NOT NULL
AND r.target_recruitment_id IS NOT NULL
AND r.gender = 'MALE'
GROUP BY
COALESCE(children_under_18, 0)
),
total_people AS (
SELECT SUM(num_people) AS total_count
FROM final_counts
total_men AS (
SELECT
COUNT(*) AS total_men_count
FROM
public.recruits_info ri
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE
r.vu_current_info->>'isMilitaryRegistered' = 'true'
AND r.current_recruitment_id IS NOT NULL
AND r.target_recruitment_id IS NOT NULL
AND r.gender = 'MALE'
)
SELECT
'M' AS gender,
'00' as recruitment_id,
'M' AS gender,
'00' AS recruitment_id,
COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) AS no_children,
COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) AS one_child,
COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) AS two_children,
COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) AS three_children,
COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) AS four_or_more_children,
ROUND(COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS no_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS one_child_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS two_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS three_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS four_or_more_children_percent
ROUND(COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS no_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS one_child_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS two_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS three_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS four_or_more_children_percent
FROM
final_counts;</sql>
<limit>0</limit>

View file

@ -1128,7 +1128,7 @@
jsonb_path_exists(ri.info, '$.svedVoditUdost.voditUdost.svedKat[*]?(@.kategoriya like_regex "E")') AS has_E
FROM public.recruits_info ri
JOIN public.recruits r ON ri.recruit_id = r.id
where r.vu_current_info -> 'isMilitaryRegistered' = 'true'
where r.vu_current_info -> 'isMilitaryRegistered' = 'true' and r.current_recruitment_id is not null and r.target_recruitment_id is not null
),
aggregated AS (
SELECT
@ -1193,7 +1193,7 @@ FROM aggregated;</sql>
jsonb_path_exists(ri.info, '$.svedVoditUdost.voditUdost.svedKat[*]?(@.kategoriya like_regex "E")') AS has_E
FROM public.recruits_info ri
JOIN public.recruits r ON ri.recruit_id = r.id
where r.vu_current_info -> 'isMilitaryRegistered' = 'true' and gender = 'FEMALE'
where r.vu_current_info -> 'isMilitaryRegistered' = 'true' and gender = 'FEMALE' and r.current_recruitment_id is not null and r.target_recruitment_id is not null
),
aggregated AS (
SELECT
@ -1258,7 +1258,7 @@ FROM aggregated;</sql>
jsonb_path_exists(ri.info, '$.svedVoditUdost.voditUdost.svedKat[*]?(@.kategoriya like_regex "E")') AS has_E
FROM public.recruits_info ri
JOIN public.recruits r ON ri.recruit_id = r.id
where r.vu_current_info -> 'isMilitaryRegistered' = 'true' and gender = 'MALE'
where r.vu_current_info -> 'isMilitaryRegistered' = 'true' and gender = 'MALE' and r.current_recruitment_id is not null and r.target_recruitment_id is not null
),
aggregated AS (
SELECT

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -983,7 +983,7 @@ from t1 full outer join t2 on 1 = 1
<connection>postgres.person_registry</connection>
<sql>select count(*) as removed_registry, 1 org
from recruits r
where r.system_pgs_status = '1.3'</sql>
where r.system_pgs_status = '1.3' and r.current_recruitment_id is not null and r.target_recruitment_id is not null</sql>
<limit>0</limit>
<lookup/>
<execute_each_row>N</execute_each_row>

View file

@ -0,0 +1,696 @@
<?xml version="1.0" encoding="UTF-8"?>
<transformation>
<info>
<name>info_recruits</name>
<description/>
<extended_description/>
<trans_version/>
<trans_type>Normal</trans_type>
<directory>/</directory>
<parameters>
</parameters>
<log>
<trans-log-table>
<connection/>
<schema/>
<table/>
<size_limit_lines/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STATUS</id>
<enabled>Y</enabled>
<name>STATUS</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
<subject/>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
<subject/>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
<subject/>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
<subject/>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
<subject/>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
<subject/>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>STARTDATE</id>
<enabled>Y</enabled>
<name>STARTDATE</name>
</field>
<field>
<id>ENDDATE</id>
<enabled>Y</enabled>
<name>ENDDATE</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>DEPDATE</id>
<enabled>Y</enabled>
<name>DEPDATE</name>
</field>
<field>
<id>REPLAYDATE</id>
<enabled>Y</enabled>
<name>REPLAYDATE</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>Y</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>EXECUTING_SERVER</id>
<enabled>N</enabled>
<name>EXECUTING_SERVER</name>
</field>
<field>
<id>EXECUTING_USER</id>
<enabled>N</enabled>
<name>EXECUTING_USER</name>
</field>
<field>
<id>CLIENT</id>
<enabled>N</enabled>
<name>CLIENT</name>
</field>
</trans-log-table>
<perf-log-table>
<connection/>
<schema/>
<table/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>SEQ_NR</id>
<enabled>Y</enabled>
<name>SEQ_NR</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>INPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>INPUT_BUFFER_ROWS</name>
</field>
<field>
<id>OUTPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>OUTPUT_BUFFER_ROWS</name>
</field>
</perf-log-table>
<channel-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>LOGGING_OBJECT_TYPE</id>
<enabled>Y</enabled>
<name>LOGGING_OBJECT_TYPE</name>
</field>
<field>
<id>OBJECT_NAME</id>
<enabled>Y</enabled>
<name>OBJECT_NAME</name>
</field>
<field>
<id>OBJECT_COPY</id>
<enabled>Y</enabled>
<name>OBJECT_COPY</name>
</field>
<field>
<id>REPOSITORY_DIRECTORY</id>
<enabled>Y</enabled>
<name>REPOSITORY_DIRECTORY</name>
</field>
<field>
<id>FILENAME</id>
<enabled>Y</enabled>
<name>FILENAME</name>
</field>
<field>
<id>OBJECT_ID</id>
<enabled>Y</enabled>
<name>OBJECT_ID</name>
</field>
<field>
<id>OBJECT_REVISION</id>
<enabled>Y</enabled>
<name>OBJECT_REVISION</name>
</field>
<field>
<id>PARENT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>PARENT_CHANNEL_ID</name>
</field>
<field>
<id>ROOT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>ROOT_CHANNEL_ID</name>
</field>
</channel-log-table>
<step-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>N</enabled>
<name>LOG_FIELD</name>
</field>
</step-log-table>
<metrics-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>METRICS_DATE</id>
<enabled>Y</enabled>
<name>METRICS_DATE</name>
</field>
<field>
<id>METRICS_CODE</id>
<enabled>Y</enabled>
<name>METRICS_CODE</name>
</field>
<field>
<id>METRICS_DESCRIPTION</id>
<enabled>Y</enabled>
<name>METRICS_DESCRIPTION</name>
</field>
<field>
<id>METRICS_SUBJECT</id>
<enabled>Y</enabled>
<name>METRICS_SUBJECT</name>
</field>
<field>
<id>METRICS_TYPE</id>
<enabled>Y</enabled>
<name>METRICS_TYPE</name>
</field>
<field>
<id>METRICS_VALUE</id>
<enabled>Y</enabled>
<name>METRICS_VALUE</name>
</field>
</metrics-log-table>
</log>
<maxdate>
<connection/>
<table/>
<field/>
<offset>0.0</offset>
<maxdiff>0.0</maxdiff>
</maxdate>
<size_rowset>10000</size_rowset>
<sleep_time_empty>50</sleep_time_empty>
<sleep_time_full>50</sleep_time_full>
<unique_connections>N</unique_connections>
<feedback_shown>Y</feedback_shown>
<feedback_size>50000</feedback_size>
<using_thread_priorities>Y</using_thread_priorities>
<shared_objects_file/>
<capture_step_performance>N</capture_step_performance>
<step_performance_capturing_delay>1000</step_performance_capturing_delay>
<step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
<dependencies>
</dependencies>
<partitionschemas>
</partitionschemas>
<slaveservers>
</slaveservers>
<clusterschemas>
</clusterschemas>
<created_user>-</created_user>
<created_date>2024/08/15 14:02:51.713</created_date>
<modified_user>-</modified_user>
<modified_date>2024/08/15 14:02:51.713</modified_date>
<key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
<is_key_private>N</is_key_private>
</info>
<notepads>
</notepads>
<connection>
<name>ervu-dashboard</name>
<server>dashboard-dbhost</server>
<type>POSTGRESQL</type>
<access>Native</access>
<database>dashboard-dbname</database>
<port>1111</port>
<username>dashboard-dbuser</username>
<password>Encrypted 2daf9dca008c89396af54aa72ce93bcc9</password>
<servername/>
<data_tablespace/>
<index_tablespace/>
<attributes>
<attribute>
<code>FORCE_IDENTIFIERS_TO_LOWERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>FORCE_IDENTIFIERS_TO_UPPERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>IS_CLUSTERED</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>PORT_NUMBER</code>
<attribute>1111</attribute>
</attribute>
<attribute>
<code>PRESERVE_RESERVED_WORD_CASE</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>QUOTE_ALL_FIELDS</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>SUPPORTS_BOOLEAN_DATA_TYPE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>SUPPORTS_TIMESTAMP_DATA_TYPE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>USE_POOLING</code>
<attribute>N</attribute>
</attribute>
</attributes>
</connection>
<connection>
<name>ervu_person_registry</name>
<server>person-dbhost</server>
<type>POSTGRESQL</type>
<access>Native</access>
<database>person-dbname</database>
<port>4444</port>
<username>person-dbuser</username>
<password>Encrypted 2be98afb80fd5818ba554aa72ce93bcc9</password>
<servername/>
<data_tablespace/>
<index_tablespace/>
<attributes>
<attribute>
<code>FORCE_IDENTIFIERS_TO_LOWERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>FORCE_IDENTIFIERS_TO_UPPERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>IS_CLUSTERED</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>PORT_NUMBER</code>
<attribute>4444</attribute>
</attribute>
<attribute>
<code>PRESERVE_RESERVED_WORD_CASE</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>QUOTE_ALL_FIELDS</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>SUPPORTS_BOOLEAN_DATA_TYPE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>SUPPORTS_TIMESTAMP_DATA_TYPE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>USE_POOLING</code>
<attribute>N</attribute>
</attribute>
</attributes>
</connection>
<order>
<hop>
<from>Table input</from>
<to>Table output</to>
<enabled>Y</enabled>
</hop>
</order>
<step>
<name>Table input</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu_person_registry</connection>
<sql>SELECT
full_name,
last_name,
first_name,
middle_name,
gender,
birth_date,
extract(year from age(birth_date)) age,
birth_place,
phone,
system_id_ern,
CASE WHEN (EXISTS (
SELECT 1
FROM jsonb_array_elements(ri.info->'svedRObr'->'robr') AS education
WHERE jsonb_typeof(ri.info->'svedRObr'->'robr') = 'array'
AND education->>'kodUrObr' IN ('1', '2', '3', '4', '5'))
OR EXISTS (
SELECT 1
FROM jsonb_array_elements(ri.info->'svedInObr'->'inObr') AS education
WHERE jsonb_typeof(ri.info->'svedInObr'->'inObr') = 'array'
AND education->>'kodUrObr' IN ('1', '2', '3', '4', '5')
)) THEN 'Высшее'
WHEN (EXISTS (
SELECT 1
FROM jsonb_array_elements(ri.info->'svedRObr'->'robr') AS education
WHERE jsonb_typeof(ri.info->'svedRObr'->'robr') = 'array'
AND education->>'kodUrObr' = '10')
OR EXISTS (
SELECT 1
FROM jsonb_array_elements(ri.info->'svedInObr'->'inObr') AS education
WHERE jsonb_typeof(ri.info->'svedInObr'->'inObr') = 'array'
AND education->>'kodUrObr' = '10'
)) THEN 'Среднее профессиональное'
WHEN (EXISTS (
SELECT 1
FROM jsonb_array_elements(ri.info->'svedRObr'->'robr') AS education
WHERE jsonb_typeof(ri.info->'svedRObr'->'robr') = 'array'
AND education->>'kodUrObr' IN ('7', '9'))
OR EXISTS (
SELECT 1
FROM jsonb_array_elements(ri.info->'svedInObr'->'inObr') AS education
WHERE jsonb_typeof(ri.info->'svedInObr'->'inObr') = 'array'
AND education->>'kodUrObr' IN ('7', '9')
)) THEN 'Общее'
WHEN ((ri.info->'svedRObr'->>'prOtsRObr' = '1' OR ri.info->'svedInObr'->>'prOtsInObr' = '1')) THEN 'Нет данных'
END education,
ri.info->'svedSemPolozh'->>'semPolozhNaim' marital_status,
(SELECT COUNT(*)
FROM jsonb_array_elements(ri.info->'svedDeti'->'rebenok') AS childs
WHERE jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
AND age(make_date(NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'mesyacz','')::int,
NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'den','')::int)) &lt; make_interval(years => 18)
) number_children,
(SELECT COUNT(*)
FROM jsonb_array_elements(ri.info->'svedDeti'->'rebenok') AS childs
WHERE jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
AND age(make_date(NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'mesyacz','')::int,
NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'den','')::int)) >= make_interval(years => 18)
) number_children_18_old,
ri.info->'pasportRF'->'aktPasportRF'->>'nomDok' passport_number,
ri.info->'pasportRF'->'aktPasportRF'->>'serDok' passport_series,
ri.info->'svedVoin'->'voin'->>'dataReg' issue_date,
ri.recruit_id as citizen_id
FROM public.recruits_info ri
JOIN public.recruits r ON ri.recruit_id = r.id</sql>
<limit>0</limit>
<lookup/>
<execute_each_row>N</execute_each_row>
<variables_active>N</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<attributes/>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>208</xloc>
<yloc>208</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Table output</name>
<type>TableOutput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<schema>ervu_dashboard</schema>
<table>citizen</table>
<commit>1000</commit>
<truncate>N</truncate>
<ignore_errors>N</ignore_errors>
<use_batch>Y</use_batch>
<specify_fields>N</specify_fields>
<partitioning_enabled>N</partitioning_enabled>
<partitioning_field/>
<partitioning_daily>N</partitioning_daily>
<partitioning_monthly>Y</partitioning_monthly>
<tablename_in_field>N</tablename_in_field>
<tablename_field/>
<tablename_in_table>Y</tablename_in_table>
<return_keys>N</return_keys>
<return_field/>
<fields>
</fields>
<attributes/>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>480</xloc>
<yloc>208</yloc>
<draw>Y</draw>
</GUI>
</step>
<step_error_handling>
</step_error_handling>
<slave-step-copy-partition-distribution>
</slave-step-copy-partition-distribution>
<slave_transformation>N</slave_transformation>
<attributes/>
</transformation>

View file

@ -0,0 +1,479 @@
<?xml version="1.0" encoding="UTF-8"?>
<job>
<name>job_info_recruits</name>
<description/>
<extended_description/>
<job_version/>
<job_status>0</job_status>
<directory>/</directory>
<created_user>-</created_user>
<created_date>2024/08/16 15:32:20.489</created_date>
<modified_user>-</modified_user>
<modified_date>2024/08/16 15:32:20.489</modified_date>
<parameters>
</parameters>
<connection>
<name>ervu-dashboard</name>
<server>dashboard-dbhost</server>
<type>POSTGRESQL</type>
<access>Native</access>
<database>dashboard-dbname</database>
<port>1111</port>
<username>dashboard-dbuser</username>
<password>Encrypted 2daf9dca008c89396af54aa72ce93bcc9</password>
<servername/>
<data_tablespace/>
<index_tablespace/>
<attributes>
<attribute>
<code>FORCE_IDENTIFIERS_TO_LOWERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>FORCE_IDENTIFIERS_TO_UPPERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>IS_CLUSTERED</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>PORT_NUMBER</code>
<attribute>1111</attribute>
</attribute>
<attribute>
<code>PRESERVE_RESERVED_WORD_CASE</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>QUOTE_ALL_FIELDS</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>SUPPORTS_BOOLEAN_DATA_TYPE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>SUPPORTS_TIMESTAMP_DATA_TYPE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>USE_POOLING</code>
<attribute>N</attribute>
</attribute>
</attributes>
</connection>
<slaveservers>
</slaveservers>
<job-log-table>
<connection>ervu-dashboard</connection>
<schema>public</schema>
<table>job_log</table>
<size_limit_lines/>
<interval/>
<timeout_days/>
<field>
<id>ID_JOB</id>
<enabled>Y</enabled>
<name>ID_JOB</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>JOBNAME</id>
<enabled>Y</enabled>
<name>JOBNAME</name>
</field>
<field>
<id>STATUS</id>
<enabled>Y</enabled>
<name>STATUS</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>STARTDATE</id>
<enabled>Y</enabled>
<name>STARTDATE</name>
</field>
<field>
<id>ENDDATE</id>
<enabled>Y</enabled>
<name>ENDDATE</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>DEPDATE</id>
<enabled>Y</enabled>
<name>DEPDATE</name>
</field>
<field>
<id>REPLAYDATE</id>
<enabled>Y</enabled>
<name>REPLAYDATE</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>Y</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>EXECUTING_SERVER</id>
<enabled>N</enabled>
<name>EXECUTING_SERVER</name>
</field>
<field>
<id>EXECUTING_USER</id>
<enabled>N</enabled>
<name>EXECUTING_USER</name>
</field>
<field>
<id>START_JOB_ENTRY</id>
<enabled>N</enabled>
<name>START_JOB_ENTRY</name>
</field>
<field>
<id>CLIENT</id>
<enabled>N</enabled>
<name>CLIENT</name>
</field>
</job-log-table>
<jobentry-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>JOBNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>JOBENTRYNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>RESULT</id>
<enabled>Y</enabled>
<name>RESULT</name>
</field>
<field>
<id>NR_RESULT_ROWS</id>
<enabled>Y</enabled>
<name>NR_RESULT_ROWS</name>
</field>
<field>
<id>NR_RESULT_FILES</id>
<enabled>Y</enabled>
<name>NR_RESULT_FILES</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>N</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>COPY_NR</id>
<enabled>N</enabled>
<name>COPY_NR</name>
</field>
</jobentry-log-table>
<channel-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>LOGGING_OBJECT_TYPE</id>
<enabled>Y</enabled>
<name>LOGGING_OBJECT_TYPE</name>
</field>
<field>
<id>OBJECT_NAME</id>
<enabled>Y</enabled>
<name>OBJECT_NAME</name>
</field>
<field>
<id>OBJECT_COPY</id>
<enabled>Y</enabled>
<name>OBJECT_COPY</name>
</field>
<field>
<id>REPOSITORY_DIRECTORY</id>
<enabled>Y</enabled>
<name>REPOSITORY_DIRECTORY</name>
</field>
<field>
<id>FILENAME</id>
<enabled>Y</enabled>
<name>FILENAME</name>
</field>
<field>
<id>OBJECT_ID</id>
<enabled>Y</enabled>
<name>OBJECT_ID</name>
</field>
<field>
<id>OBJECT_REVISION</id>
<enabled>Y</enabled>
<name>OBJECT_REVISION</name>
</field>
<field>
<id>PARENT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>PARENT_CHANNEL_ID</name>
</field>
<field>
<id>ROOT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>ROOT_CHANNEL_ID</name>
</field>
</channel-log-table>
<pass_batchid>N</pass_batchid>
<shared_objects_file/>
<entries>
<entry>
<name>Start</name>
<description/>
<type>SPECIAL</type>
<attributes/>
<start>Y</start>
<dummy>N</dummy>
<repeat>N</repeat>
<schedulerType>0</schedulerType>
<intervalSeconds>0</intervalSeconds>
<intervalMinutes>60</intervalMinutes>
<hour>12</hour>
<minutes>0</minutes>
<weekDay>1</weekDay>
<DayOfMonth>1</DayOfMonth>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>96</xloc>
<yloc>224</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>Success</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>560</xloc>
<yloc>224</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>info_recruits</name>
<description/>
<type>TRANS</type>
<attributes/>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>${Internal.Entry.Current.Directory}/info_recruits.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>N</params_from_previous>
<exec_per_row>N</exec_per_row>
<clear_rows>Y</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<run_configuration>Pentaho local</run_configuration>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>384</xloc>
<yloc>224</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>SQL</name>
<description/>
<type>SQL</type>
<attributes/>
<sql>delete from ervu_dashboard.citizen</sql>
<useVariableSubstitution>F</useVariableSubstitution>
<sqlfromfile>F</sqlfromfile>
<sqlfilename/>
<sendOneStatement>F</sendOneStatement>
<connection>ervu-dashboard</connection>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>240</xloc>
<yloc>224</yloc>
<attributes_kjc/>
</entry>
</entries>
<hops>
<hop>
<from>info_recruits</from>
<to>Success</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Start</from>
<to>SQL</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>SQL</from>
<to>info_recruits</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
</hops>
<notepads>
</notepads>
<attributes>
<group>
<name>METASTORE.pentaho</name>
<attribute>
<key>Default Run Configuration</key>
<value>{"namespace":"pentaho","id":"Default Run Configuration","name":"Default Run Configuration","description":"Defines a default run configuration","metaStoreName":null}</value>
</attribute>
</group>
<group>
<name>{"_":"Embedded MetaStore Elements","namespace":"pentaho","type":"Default Run Configuration"}</name>
<attribute>
<key>Pentaho local</key>
<value>{"children":[{"children":[],"id":"server","value":null},{"children":[],"id":"clustered","value":"N"},{"children":[],"id":"name","value":"Pentaho local"},{"children":[],"id":"description","value":null},{"children":[],"id":"pentaho","value":"N"},{"children":[],"id":"readOnly","value":"Y"},{"children":[],"id":"sendResources","value":"N"},{"children":[],"id":"logRemoteExecutionLocally","value":"N"},{"children":[],"id":"remote","value":"N"},{"children":[],"id":"local","value":"Y"},{"children":[],"id":"showTransformations","value":"N"}],"id":"Pentaho local","value":null,"name":"Pentaho local","owner":null,"ownerPermissionsList":[]}</value>
</attribute>
</group>
</attributes>
</job>

View file

@ -4,6 +4,7 @@
<description/>
<extended_description/>
<job_version/>
<job_status>0</job_status>
<directory>/</directory>
<created_user>-</created_user>
<created_date>2024/08/21 17:23:33.592</created_date>
@ -11,12 +12,63 @@
<modified_date>2024/08/21 17:23:33.592</modified_date>
<parameters>
</parameters>
<connection>
<name>ervu-dashboard</name>
<server>dashboard-dbhost</server>
<type>POSTGRESQL</type>
<access>Native</access>
<database>dashboard-dbname</database>
<port>1111</port>
<username>dashboard-dbuser</username>
<password>Encrypted 2daf9dca008c89396af54aa72ce93bcc9</password>
<servername/>
<data_tablespace/>
<index_tablespace/>
<attributes>
<attribute>
<code>FORCE_IDENTIFIERS_TO_LOWERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>FORCE_IDENTIFIERS_TO_UPPERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>IS_CLUSTERED</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>PORT_NUMBER</code>
<attribute>1111</attribute>
</attribute>
<attribute>
<code>PRESERVE_RESERVED_WORD_CASE</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>QUOTE_ALL_FIELDS</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>SUPPORTS_BOOLEAN_DATA_TYPE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>SUPPORTS_TIMESTAMP_DATA_TYPE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>USE_POOLING</code>
<attribute>N</attribute>
</attribute>
</attributes>
</connection>
<slaveservers>
</slaveservers>
<job-log-table>
<connection/>
<schema/>
<table/>
<connection>ervu-dashboard</connection>
<schema>public</schema>
<table>job_log</table>
<size_limit_lines/>
<interval/>
<timeout_days/>

View file

@ -4,6 +4,7 @@
<description/>
<extended_description/>
<job_version/>
<job_status>0</job_status>
<directory>/</directory>
<created_user>-</created_user>
<created_date>2024/08/16 15:32:20.489</created_date>
@ -65,9 +66,9 @@
<slaveservers>
</slaveservers>
<job-log-table>
<connection/>
<schema/>
<table/>
<connection>ervu-dashboard</connection>
<schema>public</schema>
<table>job_log</table>
<size_limit_lines/>
<interval/>
<timeout_days/>

View file

@ -12,12 +12,63 @@
<modified_date>2024/08/21 15:46:54.029</modified_date>
<parameters>
</parameters>
<connection>
<name>ervu-dashboard</name>
<server>dashboard-dbhost</server>
<type>POSTGRESQL</type>
<access>Native</access>
<database>dashboard-dbname</database>
<port>1111</port>
<username>dashboard-dbuser</username>
<password>Encrypted 2daf9dca008c89396af54aa72ce93bcc9</password>
<servername/>
<data_tablespace/>
<index_tablespace/>
<attributes>
<attribute>
<code>FORCE_IDENTIFIERS_TO_LOWERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>FORCE_IDENTIFIERS_TO_UPPERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>IS_CLUSTERED</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>PORT_NUMBER</code>
<attribute>1111</attribute>
</attribute>
<attribute>
<code>PRESERVE_RESERVED_WORD_CASE</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>QUOTE_ALL_FIELDS</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>SUPPORTS_BOOLEAN_DATA_TYPE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>SUPPORTS_TIMESTAMP_DATA_TYPE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>USE_POOLING</code>
<attribute>N</attribute>
</attribute>
</attributes>
</connection>
<slaveservers>
</slaveservers>
<job-log-table>
<connection/>
<schema/>
<table/>
<connection>ervu-dashboard</connection>
<schema>public</schema>
<table>job_log</table>
<size_limit_lines/>
<interval/>
<timeout_days/>

View file

@ -76,9 +76,9 @@
<slaveservers>
</slaveservers>
<job-log-table>
<connection/>
<schema/>
<table/>
<connection>ervu-dashboard</connection>
<schema>public</schema>
<table>job_log</table>
<size_limit_lines/>
<interval/>
<timeout_days/>
@ -414,8 +414,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>880</xloc>
<yloc>112</yloc>
<xloc>976</xloc>
<yloc>16</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -464,8 +464,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<yloc>112</yloc>
<xloc>1184</xloc>
<yloc>16</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -512,8 +512,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>880</xloc>
<yloc>176</yloc>
<xloc>976</xloc>
<yloc>80</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -524,8 +524,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<yloc>176</yloc>
<xloc>1184</xloc>
<yloc>80</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -572,8 +572,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>880</xloc>
<yloc>240</yloc>
<xloc>976</xloc>
<yloc>144</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -584,8 +584,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<yloc>240</yloc>
<xloc>1184</xloc>
<yloc>144</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -632,8 +632,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>880</xloc>
<yloc>304</yloc>
<xloc>976</xloc>
<yloc>208</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -644,8 +644,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<yloc>304</yloc>
<xloc>1184</xloc>
<yloc>208</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -692,8 +692,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>880</xloc>
<yloc>368</yloc>
<xloc>976</xloc>
<yloc>272</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -704,8 +704,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<yloc>368</yloc>
<xloc>1184</xloc>
<yloc>272</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -752,8 +752,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>880</xloc>
<yloc>432</yloc>
<xloc>976</xloc>
<yloc>336</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -764,8 +764,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<yloc>432</yloc>
<xloc>1184</xloc>
<yloc>336</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -812,8 +812,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>880</xloc>
<yloc>496</yloc>
<xloc>976</xloc>
<yloc>400</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -824,8 +824,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<yloc>496</yloc>
<xloc>1184</xloc>
<yloc>400</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -872,8 +872,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>880</xloc>
<yloc>560</yloc>
<xloc>976</xloc>
<yloc>464</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -884,8 +884,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<yloc>560</yloc>
<xloc>1184</xloc>
<yloc>464</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -902,8 +902,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>656</xloc>
<yloc>112</yloc>
<xloc>752</xloc>
<yloc>16</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -920,8 +920,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>656</xloc>
<yloc>176</yloc>
<xloc>752</xloc>
<yloc>80</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -938,8 +938,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>656</xloc>
<yloc>240</yloc>
<xloc>752</xloc>
<yloc>144</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -956,8 +956,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>656</xloc>
<yloc>304</yloc>
<xloc>752</xloc>
<yloc>208</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -974,8 +974,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>656</xloc>
<yloc>368</yloc>
<xloc>752</xloc>
<yloc>272</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -992,8 +992,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>656</xloc>
<yloc>432</yloc>
<xloc>752</xloc>
<yloc>336</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -1010,8 +1010,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>656</xloc>
<yloc>496</yloc>
<xloc>752</xloc>
<yloc>400</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -1028,8 +1028,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>656</xloc>
<yloc>560</yloc>
<xloc>752</xloc>
<yloc>464</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -1039,7 +1039,7 @@
<attributes/>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>${Internal.Entry.Current.Directory}/total_registered.driver_license(reg) .ktr</filename>
<filename>${Internal.Entry.Current.Directory}/total_registered.driver_license(reg).ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>Y</params_from_previous>
@ -1076,8 +1076,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>880</xloc>
<yloc>640</yloc>
<xloc>976</xloc>
<yloc>544</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -1088,8 +1088,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<yloc>640</yloc>
<xloc>1184</xloc>
<yloc>544</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -1106,8 +1106,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>656</xloc>
<yloc>640</yloc>
<xloc>752</xloc>
<yloc>544</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -1154,8 +1154,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>880</xloc>
<yloc>736</yloc>
<xloc>976</xloc>
<yloc>608</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -1166,12 +1166,12 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<yloc>736</yloc>
<xloc>1184</xloc>
<yloc>608</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>SQL.totreg.chmi 2</name>
<name>SQL.totreg.chmi</name>
<description/>
<type>SQL</type>
<attributes/>
@ -1184,8 +1184,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>656</xloc>
<yloc>736</yloc>
<xloc>752</xloc>
<yloc>608</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -1232,8 +1232,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>880</xloc>
<yloc>816</yloc>
<xloc>976</xloc>
<yloc>688</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -1244,8 +1244,8 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1088</xloc>
<yloc>816</yloc>
<xloc>1184</xloc>
<yloc>688</yloc>
<attributes_kjc/>
</entry>
<entry>
@ -1262,8 +1262,242 @@
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>656</xloc>
<yloc>816</yloc>
<xloc>752</xloc>
<yloc>688</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>total_registered.marital_status(reg)</name>
<description/>
<type>TRANS</type>
<attributes/>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>${Internal.Entry.Current.Directory}/total_registered.marital_status(reg).ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>Y</params_from_previous>
<exec_per_row>Y</exec_per_row>
<clear_rows>N</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<run_configuration>Pentaho local</run_configuration>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
<parameter>
<name>VK_ARRAY</name>
<stream_name>VK_ARRAY_ID</stream_name>
<value/>
</parameter>
<parameter>
<name>REG_ID</name>
<stream_name>RECRUITMENT_REG_ID</stream_name>
<value/>
</parameter>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>976</xloc>
<yloc>768</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>Success 13</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1184</xloc>
<yloc>768</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>SQL.totreg.marstat</name>
<description/>
<type>SQL</type>
<attributes/>
<sql>DELETE FROM total_registered.marital_status where recruitment_id in ('48', '62', '65') and recording_date = current_date</sql>
<useVariableSubstitution>F</useVariableSubstitution>
<sqlfromfile>F</sqlfromfile>
<sqlfilename/>
<sendOneStatement>F</sendOneStatement>
<connection>ervu-dashboard</connection>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>752</xloc>
<yloc>768</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>total_registered.education_level(reg)</name>
<description/>
<type>TRANS</type>
<attributes/>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>${Internal.Entry.Current.Directory}/total_registered.education_level(reg).ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>Y</params_from_previous>
<exec_per_row>Y</exec_per_row>
<clear_rows>N</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<run_configuration>Pentaho local</run_configuration>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
<parameter>
<name>VK_ARRAY</name>
<stream_name>VK_ARRAY_ID</stream_name>
<value/>
</parameter>
<parameter>
<name>REG_ID</name>
<stream_name>RECRUITMENT_REG_ID</stream_name>
<value/>
</parameter>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>976</xloc>
<yloc>848</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>Success 14</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1184</xloc>
<yloc>848</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>SQL.totreg.edulev</name>
<description/>
<type>SQL</type>
<attributes/>
<sql>DELETE FROM total_registered.education_level where recruitment_id in ('48', '62', '65') and recording_date = current_date</sql>
<useVariableSubstitution>F</useVariableSubstitution>
<sqlfromfile>F</sqlfromfile>
<sqlfilename/>
<sendOneStatement>F</sendOneStatement>
<connection>ervu-dashboard</connection>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>752</xloc>
<yloc>848</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>total_registered.busyness(reg)</name>
<description/>
<type>TRANS</type>
<attributes/>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>${Internal.Entry.Current.Directory}/total_registered.busyness(reg).ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>Y</params_from_previous>
<exec_per_row>Y</exec_per_row>
<clear_rows>N</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<run_configuration>Pentaho local</run_configuration>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
<parameter>
<name>VK_ARRAY</name>
<stream_name>VK_ARRAY_ID</stream_name>
<value/>
</parameter>
<parameter>
<name>REG_ID</name>
<stream_name>RECRUITMENT_REG_ID</stream_name>
<value/>
</parameter>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>976</xloc>
<yloc>928</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>Success 15</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>1184</xloc>
<yloc>928</yloc>
<attributes_kjc/>
</entry>
<entry>
<name>SQL.totreg.busyn</name>
<description/>
<type>SQL</type>
<attributes/>
<sql>DELETE FROM total_registered.busyness where recruitment_id in ('48', '62', '65') and recording_date = current_date</sql>
<useVariableSubstitution>F</useVariableSubstitution>
<sqlfromfile>F</sqlfromfile>
<sqlfilename/>
<sendOneStatement>F</sendOneStatement>
<connection>ervu-dashboard</connection>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>752</xloc>
<yloc>928</yloc>
<attributes_kjc/>
</entry>
</entries>
@ -1498,7 +1732,7 @@
<to>SQL.totreg.drlic</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>N</enabled>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
@ -1507,7 +1741,7 @@
<to>total_registered.driver_license(reg)</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>N</enabled>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
@ -1516,25 +1750,25 @@
<to>Success 10</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>N</enabled>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>select_recruitments_region(reg)</from>
<to>SQL.totreg.chmi 2</to>
<to>SQL.totreg.chmi</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>N</enabled>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>SQL.totreg.chmi 2</from>
<from>SQL.totreg.chmi</from>
<to>total_registered.child_minor(reg)</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>N</enabled>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
@ -1543,7 +1777,7 @@
<to>Success 11</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>N</enabled>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
@ -1552,7 +1786,7 @@
<to>SQL.totreg.age</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>N</enabled>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
@ -1561,7 +1795,7 @@
<to>total_registered.age(reg)</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>N</enabled>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
@ -1570,7 +1804,88 @@
<to>Success 12</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>N</enabled>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>SQL.totreg.marstat</from>
<to>total_registered.marital_status(reg)</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>total_registered.marital_status(reg)</from>
<to>Success 13</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>select_recruitments_region(reg)</from>
<to>SQL.totreg.marstat</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>SQL.totreg.edulev</from>
<to>total_registered.education_level(reg)</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>total_registered.education_level(reg)</from>
<to>Success 14</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>select_recruitments_region(reg)</from>
<to>SQL.totreg.edulev</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>SQL.totreg.busyn</from>
<to>total_registered.busyness(reg)</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>total_registered.busyness(reg)</from>
<to>Success 15</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>select_recruitments_region(reg)</from>
<to>SQL.totreg.busyn</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>

File diff suppressed because it is too large Load diff

View file

@ -577,11 +577,6 @@
<to>Insert / update (total_registered.child_minor) 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input (person_registry)регион/мужчины</from>
<to>Get variables 4 2 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Get variables 4 2 2 2</from>
<to>Select values 4 2 2 2</to>
@ -593,7 +588,12 @@
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input (person_registry)регион/женщины</from>
<from>Table input (person_registry)РФ/мужчины</from>
<to>Get variables 4 2 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input (person_registry)РФ/женщины</from>
<to>Get variables 4 2 2 2</to>
<enabled>Y</enabled>
</hop>
@ -1232,7 +1232,7 @@
</GUI>
</step>
<step>
<name>Table input (person_registry)регион/все</name>
<name>Table input (person_registry)РФ/женщины</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
@ -1253,7 +1253,218 @@
WHERE
jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
AND r.vu_current_info->>'isMilitaryRegistered' = 'true'
AND target_recruitment_id = any('${VK_ARRAY}')
AND r.target_recruitment_id = any('${VK_ARRAY}')
AND r.gender = 'FEMALE'
),
children_birth_dates AS (
SELECT
recruit_id,
(child::jsonb->'svedFLBS'->'dataRozhdDok'->>'den')::int AS day,
(child::jsonb->'svedFLBS'->'dataRozhdDok'->>'mesyacz')::int AS month,
(child::jsonb->'svedFLBS'->'dataRozhdDok'->>'god')::int AS year
FROM
extracted_children
),
children_count AS (
SELECT
recruit_id,
COUNT(*) AS children_under_18
FROM
children_birth_dates
WHERE
make_date(year, month, day) > CURRENT_DATE - INTERVAL '18 years'
GROUP BY
recruit_id
),
final_counts AS (
SELECT
COALESCE(children_under_18, 0) AS children_count,
COUNT(*) AS num_people
FROM
public.recruits_info ri
LEFT JOIN
children_count cc ON ri.recruit_id = cc.recruit_id
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE
r.vu_current_info->>'isMilitaryRegistered' = 'true'
AND r.target_recruitment_id = any('${VK_ARRAY}')
AND r.gender = 'FEMALE'
GROUP BY
COALESCE(children_under_18, 0)
),
total_men AS (
SELECT
COUNT(*) AS total_men_count
FROM
public.recruits_info ri
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE
r.vu_current_info->>'isMilitaryRegistered' = 'true'
AND r.target_recruitment_id = any('${VK_ARRAY}')
AND r.gender = 'FEMALE'
)
SELECT
'W' AS gender,
'${REG_ID}' AS recruitment_id,
COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) AS no_children,
COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) AS one_child,
COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) AS two_children,
COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) AS three_children,
COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) AS four_or_more_children,
ROUND(COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS no_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS one_child_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS two_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS three_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS four_or_more_children_percent
FROM
final_counts;</sql>
<limit>0</limit>
<lookup/>
<execute_each_row>N</execute_each_row>
<variables_active>Y</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<attributes/>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>256</xloc>
<yloc>288</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Table input (person_registry)РФ/мужчины</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>
<sql>WITH extracted_children AS (
SELECT
ri.recruit_id,
jsonb_array_elements_text(ri.info->'svedDeti'->'rebenok') AS child
FROM
public.recruits_info ri
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE
jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
AND r.vu_current_info->>'isMilitaryRegistered' = 'true'
AND r.target_recruitment_id = any('${VK_ARRAY}')
AND r.gender = 'MALE'
),
children_birth_dates AS (
SELECT
recruit_id,
(child::jsonb->'svedFLBS'->'dataRozhdDok'->>'den')::int AS day,
(child::jsonb->'svedFLBS'->'dataRozhdDok'->>'mesyacz')::int AS month,
(child::jsonb->'svedFLBS'->'dataRozhdDok'->>'god')::int AS year
FROM
extracted_children
),
children_count AS (
SELECT
recruit_id,
COUNT(*) AS children_under_18
FROM
children_birth_dates
WHERE
make_date(year, month, day) > CURRENT_DATE - INTERVAL '18 years'
GROUP BY
recruit_id
),
final_counts AS (
SELECT
COALESCE(children_under_18, 0) AS children_count,
COUNT(*) AS num_people
FROM
public.recruits_info ri
LEFT JOIN
children_count cc ON ri.recruit_id = cc.recruit_id
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE
r.vu_current_info->>'isMilitaryRegistered' = 'true'
AND r.target_recruitment_id = any('${VK_ARRAY}')
AND r.gender = 'MALE'
GROUP BY
COALESCE(children_under_18, 0)
),
total_men AS (
SELECT
COUNT(*) AS total_men_count
FROM
public.recruits_info ri
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE
r.vu_current_info->>'isMilitaryRegistered' = 'true'
AND r.target_recruitment_id = any('${VK_ARRAY}')
AND r.gender = 'MALE'
)
SELECT
'M' AS gender,
'${REG_ID}' AS recruitment_id,
COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) AS no_children,
COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) AS one_child,
COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) AS two_children,
COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) AS three_children,
COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) AS four_or_more_children,
ROUND(COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS no_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS one_child_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS two_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS three_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS four_or_more_children_percent
FROM
final_counts;</sql>
<limit>0</limit>
<lookup/>
<execute_each_row>N</execute_each_row>
<variables_active>Y</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<attributes/>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>256</xloc>
<yloc>192</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Table input (person_registry)регион/все</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>
<sql>WITH extracted_children AS (
SELECT
ri.recruit_id,
jsonb_array_elements_text(ri.info->'svedDeti'->'rebenok') AS child
FROM
public.recruits_info ri
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE
jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
AND r.vu_current_info->>'isMilitaryRegistered' = 'true' and r.target_recruitment_id = any('${VK_ARRAY}')
),
children_birth_dates AS (
SELECT
@ -1283,6 +1494,8 @@ final_counts AS (
public.recruits_info ri
LEFT JOIN
children_count cc ON ri.recruit_id = cc.recruit_id
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE r.vu_current_info->>'isMilitaryRegistered' = 'true' and r.target_recruitment_id = any('${VK_ARRAY}')
GROUP BY
COALESCE(children_under_18, 0)
),
@ -1324,194 +1537,6 @@ FROM
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Table input (person_registry)регион/женщины</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>
<sql>WITH extracted_children AS (
SELECT
ri.recruit_id,
jsonb_array_elements_text(ri.info->'svedDeti'->'rebenok') AS child
FROM
public.recruits_info ri
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE
jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
AND r.vu_current_info->>'isMilitaryRegistered' = 'true'
AND r.gender = 'FEMALE'
AND target_recruitment_id = any('${VK_ARRAY}')
),
children_birth_dates AS (
SELECT
recruit_id,
(child::jsonb->'svedFLBS'->'dataRozhdDok'->>'den')::int AS day,
(child::jsonb->'svedFLBS'->'dataRozhdDok'->>'mesyacz')::int AS month,
(child::jsonb->'svedFLBS'->'dataRozhdDok'->>'god')::int AS year
FROM
extracted_children
),
children_count AS (
SELECT
recruit_id,
COUNT(*) AS children_under_18
FROM
children_birth_dates
WHERE
AGE(make_date(year, month, day)) &lt; interval '18 years'
GROUP BY
recruit_id
),
final_counts AS (
SELECT
COALESCE(children_under_18, 0) AS children_count,
COUNT(*) AS num_people
FROM
public.recruits_info ri
LEFT JOIN
children_count cc ON ri.recruit_id = cc.recruit_id
GROUP BY
COALESCE(children_under_18, 0)
),
total_people AS (
SELECT SUM(num_people) AS total_count
FROM final_counts
)
SELECT
'W' AS gender,
'${REG_ID}' as recruitment_id,
COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) AS no_children,
COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) AS one_child,
COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) AS two_children,
COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) AS three_children,
COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) AS four_or_more_children,
ROUND(COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS no_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS one_child_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS two_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS three_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS four_or_more_children_percent
FROM
final_counts;</sql>
<limit>0</limit>
<lookup/>
<execute_each_row>N</execute_each_row>
<variables_active>Y</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<attributes/>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>256</xloc>
<yloc>288</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Table input (person_registry)регион/мужчины</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>
<sql>WITH extracted_children AS (
SELECT
ri.recruit_id,
jsonb_array_elements_text(ri.info->'svedDeti'->'rebenok') AS child
FROM
public.recruits_info ri
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE
jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
AND r.vu_current_info->>'isMilitaryRegistered' = 'true'
AND r.gender = 'MALE'
AND target_recruitment_id = any('${VK_ARRAY}')
),
children_birth_dates AS (
SELECT
recruit_id,
(child::jsonb->'svedFLBS'->'dataRozhdDok'->>'den')::int AS day,
(child::jsonb->'svedFLBS'->'dataRozhdDok'->>'mesyacz')::int AS month,
(child::jsonb->'svedFLBS'->'dataRozhdDok'->>'god')::int AS year
FROM
extracted_children
),
children_count AS (
SELECT
recruit_id,
COUNT(*) AS children_under_18
FROM
children_birth_dates
WHERE
AGE(make_date(year, month, day)) &lt; interval '18 years'
GROUP BY
recruit_id
),
final_counts AS (
SELECT
COALESCE(children_under_18, 0) AS children_count,
COUNT(*) AS num_people
FROM
public.recruits_info ri
LEFT JOIN
children_count cc ON ri.recruit_id = cc.recruit_id
GROUP BY
COALESCE(children_under_18, 0)
),
total_people AS (
SELECT SUM(num_people) AS total_count
FROM final_counts
)
SELECT
'M' AS gender,
'${REG_ID}' as recruitment_id,
COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) AS no_children,
COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) AS one_child,
COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) AS two_children,
COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) AS three_children,
COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) AS four_or_more_children,
ROUND(COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS no_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS one_child_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS two_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS three_children_percent,
ROUND(COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS four_or_more_children_percent
FROM
final_counts;</sql>
<limit>0</limit>
<lookup/>
<execute_each_row>N</execute_each_row>
<variables_active>Y</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<attributes/>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>256</xloc>
<yloc>192</yloc>
<draw>Y</draw>
</GUI>
</step>
<step_error_handling>
</step_error_handling>
<slave-step-copy-partition-distribution>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff