775 lines
22 KiB
XML
775 lines
22 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<transformation>
|
||
<info>
|
||
<name>main_dashboard.waiting_registration</name>
|
||
<description/>
|
||
<extended_description/>
|
||
<trans_version/>
|
||
<trans_type>Normal</trans_type>
|
||
<trans_status>0</trans_status>
|
||
<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>
|
||
<slaveserver>
|
||
<name>local</name>
|
||
<hostname>localhost</hostname>
|
||
<port>8888</port>
|
||
<webAppName/>
|
||
<username>cluster</username>
|
||
<password>Encrypted 2be98afc86aa7f2e4cb1aa265cd86aac8</password>
|
||
<proxy_hostname/>
|
||
<proxy_port/>
|
||
<non_proxy_hosts/>
|
||
<master>Y</master>
|
||
<sslMode>N</sslMode>
|
||
</slaveserver>
|
||
</slaveservers>
|
||
<clusterschemas>
|
||
</clusterschemas>
|
||
<created_user>-</created_user>
|
||
<created_date>2024/08/02 11:56:22.507</created_date>
|
||
<modified_user>-</modified_user>
|
||
<modified_date>2024/08/02 11:56:22.507</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>EXTRA_OPTION_POSTGRESQL.stringtype</code>
|
||
<attribute>unspecified</attribute>
|
||
</attribute>
|
||
<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>postgres.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 2 (person_registry) РФ</from>
|
||
<to>Insert / update (main_dashboard.waiting_registration)</to>
|
||
<enabled>Y</enabled>
|
||
</hop>
|
||
</order>
|
||
<step>
|
||
<name>Insert / update (main_dashboard.waiting_registration)</name>
|
||
<type>InsertUpdate</type>
|
||
<description/>
|
||
<distribute>Y</distribute>
|
||
<custom_distribution/>
|
||
<copies>1</copies>
|
||
<partitioning>
|
||
<method>none</method>
|
||
<schema_name/>
|
||
</partitioning>
|
||
<connection>ervu-dashboard</connection>
|
||
<commit>100</commit>
|
||
<update_bypassed>N</update_bypassed>
|
||
<lookup>
|
||
<schema>main_dashboard</schema>
|
||
<table>waiting_registration</table>
|
||
<key>
|
||
<name>recruitment_id</name>
|
||
<field>recruitment_id</field>
|
||
<condition>=</condition>
|
||
<name2/>
|
||
</key>
|
||
<value>
|
||
<name>waiting_registration</name>
|
||
<rename>waiting_count</rename>
|
||
<update>Y</update>
|
||
</value>
|
||
<value>
|
||
<name>"waiting_registration_M"</name>
|
||
<rename>male_count</rename>
|
||
<update>Y</update>
|
||
</value>
|
||
<value>
|
||
<name>"waiting_registration_W"</name>
|
||
<rename>female_count</rename>
|
||
<update>Y</update>
|
||
</value>
|
||
<value>
|
||
<name>mobilization_criterion</name>
|
||
<rename>mobilization_criterion</rename>
|
||
<update>Y</update>
|
||
</value>
|
||
<value>
|
||
<name>volunteer_criterion</name>
|
||
<rename>volunteer_criterion</rename>
|
||
<update>Y</update>
|
||
</value>
|
||
<value>
|
||
<name>contract_criterion</name>
|
||
<rename>contract_criterion</rename>
|
||
<update>Y</update>
|
||
</value>
|
||
<value>
|
||
<name>mobilization_criterion_percent</name>
|
||
<rename>mobilization_criterion_percent</rename>
|
||
<update>Y</update>
|
||
</value>
|
||
<value>
|
||
<name>volunteer_criterion_percent</name>
|
||
<rename>volunteer_criterion_percent</rename>
|
||
<update>Y</update>
|
||
</value>
|
||
<value>
|
||
<name>contract_criterion_percent</name>
|
||
<rename>contract_criterion_percent</rename>
|
||
<update>Y</update>
|
||
</value>
|
||
<value>
|
||
<name>waiting_registration_percent</name>
|
||
<rename>waiting_percent</rename>
|
||
<update>Y</update>
|
||
</value>
|
||
<value>
|
||
<name>recruitment_id</name>
|
||
<rename>recruitment_id</rename>
|
||
<update>N</update>
|
||
</value>
|
||
</lookup>
|
||
<attributes/>
|
||
<cluster_schema/>
|
||
<remotesteps>
|
||
<input>
|
||
</input>
|
||
<output>
|
||
</output>
|
||
</remotesteps>
|
||
<GUI>
|
||
<xloc>816</xloc>
|
||
<yloc>336</yloc>
|
||
<draw>Y</draw>
|
||
</GUI>
|
||
</step>
|
||
<step>
|
||
<name>Table input 2 (person_registry) РФ</name>
|
||
<type>TableInput</type>
|
||
<description/>
|
||
<distribute>Y</distribute>
|
||
<custom_distribution/>
|
||
<copies>1</copies>
|
||
<partitioning>
|
||
<method>none</method>
|
||
<schema_name/>
|
||
</partitioning>
|
||
<connection>postgres.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 AS r
|
||
JOIN public.recruits_info AS ri
|
||
ON ri.recruit_id = r.id
|
||
WHERE
|
||
jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
|
||
AND r.vu_current_info ->> 'isMilitaryRegistered' = 'false'
|
||
AND r.current_recruitment_id IS NOT NULL
|
||
AND r.target_recruitment_id IS NOT NULL
|
||
),
|
||
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_16
|
||
FROM
|
||
children_birth_dates
|
||
WHERE
|
||
AGE(make_date(year, month, day)) < interval '16 years'
|
||
GROUP BY
|
||
recruit_id
|
||
),
|
||
recruit_data AS (
|
||
SELECT
|
||
COUNT(*) AS waiting_count,
|
||
COUNT(*) FILTER (WHERE gender = 'MALE') AS male_count,
|
||
COUNT(*) FILTER (WHERE gender = 'FEMALE') AS female_count,
|
||
COUNT(*) FILTER (
|
||
WHERE (EXTRACT(YEAR FROM AGE(NOW(), birth_date)) BETWEEN 18 AND 70
|
||
AND gender = 'MALE') -- мужчины от 18 до 70 лет
|
||
OR
|
||
(EXTRACT(YEAR FROM AGE(NOW(), birth_date)) BETWEEN 18 AND 45
|
||
AND gender = 'FEMALE') -- женщины от 18 до 45 лет
|
||
AND (conscription IS NULL OR conscription = false) -- отсутствие отсрочки
|
||
AND COALESCE(cc.children_under_16, 0) < 5 -- исключить рекрутов с 5 и более детьми младше 16 лет
|
||
) AS mobilization_criterion,
|
||
COUNT(*) FILTER (
|
||
WHERE EXTRACT(YEAR FROM AGE(NOW(), birth_date)) BETWEEN 18 AND 30
|
||
AND gender = 'MALE' -- мужчины от 18 до 30 лет
|
||
AND (conscription IS NULL OR conscription = false) -- отсутствие отсрочки
|
||
) AS volunteer_criterion,
|
||
COUNT(*) FILTER (
|
||
WHERE EXTRACT(YEAR FROM AGE(NOW(), birth_date)) BETWEEN 18 AND 50
|
||
AND gender = 'MALE' -- мужчины от 18 до 50 лет
|
||
AND (conscription IS NULL OR conscription = false) -- отсутствие отсрочки
|
||
AND ri.info->'svedSudim'->>'prOtsSvedSudim' = '1' -- признак отсутствия данных о судимости
|
||
) AS contract_criterion
|
||
FROM public.recruits AS r
|
||
JOIN public.recruits_info AS ri
|
||
ON ri.recruit_id = r.id
|
||
LEFT JOIN children_count AS cc
|
||
ON r.id = cc.recruit_id
|
||
WHERE r.vu_current_info ->> 'isMilitaryRegistered' = 'false'
|
||
AND r.current_recruitment_id IS NOT NULL
|
||
AND r.target_recruitment_id IS NOT NULL
|
||
)
|
||
SELECT
|
||
waiting_count,
|
||
ROUND(COALESCE((waiting_count::DECIMAL / NULLIF((SELECT COUNT(*) FROM public.recruits), 0) * 100), 0), 2) AS waiting_percent,
|
||
male_count,
|
||
female_count,
|
||
'00' AS recruitment_id,
|
||
mobilization_criterion,
|
||
volunteer_criterion,
|
||
contract_criterion,
|
||
ROUND(mobilization_criterion::NUMERIC / NULLIF(waiting_count, 0) * 100, 2) AS mobilization_criterion_percent,
|
||
ROUND(volunteer_criterion::NUMERIC / NULLIF(waiting_count, 0) * 100, 2) AS volunteer_criterion_percent,
|
||
ROUND(contract_criterion::NUMERIC / NULLIF(waiting_count, 0) * 100, 2) AS contract_criterion_percent
|
||
FROM recruit_data;</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>496</xloc>
|
||
<yloc>336</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>
|