ervu-dashboard-etl/mappings/country/total_registered.busyness.hpl

1922 lines
59 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<pipeline>
<info>
<name>total_registered.busyness</name>
<name_sync_with_filename>Y</name_sync_with_filename>
<description/>
<extended_description/>
<pipeline_version/>
<pipeline_type>Normal</pipeline_type>
<pipeline_status>0</pipeline_status>
<parameters>
</parameters>
<capture_transform_performance>N</capture_transform_performance>
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
<created_user>-</created_user>
<created_date>2024/08/02 11:56:22.507</created_date>
<modified_user>-</modified_user>
<modified_date>2024/08/02 11:56:22.507</modified_date>
</info>
<notepads>
</notepads>
<order>
<hop>
<from>Table input (person_registry) РФ/все/на учете</from>
<to>Insert / update (total_registered.busyness)</to>
<enabled>N</enabled>
</hop>
<hop>
<from>Table input (person_registry) РФ/мужчины/на учете</from>
<to>Insert / update (total_registered.busyness) 2</to>
<enabled>N</enabled>
</hop>
<hop>
<from>Table input (person_registry) РФ/женщины/на учете</from>
<to>Insert / update (total_registered.busyness) 3</to>
<enabled>N</enabled>
</hop>
<hop>
<from>Table input (person_registry) РФ/все/не на учете</from>
<to>Insert / update (total_registered.busyness) 4</to>
<enabled>N</enabled>
</hop>
<hop>
<from>Table input (person_registry) РФ/женщины/не на учете</from>
<to>Insert / update (total_registered.busyness) 3 2</to>
<enabled>N</enabled>
</hop>
<hop>
<from>Table input (person_registry) РФ/мужчины/не на учете</from>
<to>Insert / update (total_registered.busyness) 2 2</to>
<enabled>N</enabled>
</hop>
<hop>
<from>Get variables 2 2</from>
<to>Select values 2 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Get variables 2 2 2</from>
<to>Select values 2 2 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Get variables 2 2 3</from>
<to>Select values 2 2 3</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Get variables 2 2 4</from>
<to>Select values 2 2 4</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Get variables 2 2 5</from>
<to>Select values 2 2 5</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Get variables 2 2 6</from>
<to>Select values 2 2 6</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input (person_registry) РФ/все/на учете</from>
<to>Get variables 2 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Select values 2 2</from>
<to>Insert / update (total_registered.busyness)</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input (person_registry) РФ/мужчины/на учете</from>
<to>Get variables 2 2 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Select values 2 2 2</from>
<to>Insert / update (total_registered.busyness) 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input (person_registry) РФ/женщины/на учете</from>
<to>Get variables 2 2 3</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Select values 2 2 3</from>
<to>Insert / update (total_registered.busyness) 3</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input (person_registry) РФ/все/не на учете</from>
<to>Get variables 2 2 4</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Select values 2 2 4</from>
<to>Insert / update (total_registered.busyness) 4</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input (person_registry) РФ/мужчины/не на учете</from>
<to>Get variables 2 2 5</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Select values 2 2 5</from>
<to>Insert / update (total_registered.busyness) 2 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input (person_registry) РФ/женщины/не на учете</from>
<to>Get variables 2 2 6</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Select values 2 2 6</from>
<to>Insert / update (total_registered.busyness) 3 2</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Insert / update (total_registered.busyness)</name>
<type>InsertUpdate</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<commit>100</commit>
<connection>ervu-dashboard</connection>
<lookup>
<key>
<condition>=</condition>
<field>recruitment_id</field>
<name>REG_ID</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>"all_M_W"</field>
<name>gender</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>registered</field>
<name>registered</name>
<name2/>
</key>
<schema>total_registered</schema>
<table>busyness</table>
<value>
<name>study</name>
<rename>study</rename>
<update>Y</update>
</value>
<value>
<name>work</name>
<rename>work</rename>
<update>Y</update>
</value>
<value>
<name>study_percent</name>
<rename>study_percent</rename>
<update>Y</update>
</value>
<value>
<name>work_percent</name>
<rename>work_percent</rename>
<update>Y</update>
</value>
<value>
<name>recruitment_id</name>
<rename>recruitment_id</rename>
<update>N</update>
</value>
<value>
<name>registered</name>
<rename>registered</rename>
<update>N</update>
</value>
<value>
<name>"all_M_W"</name>
<rename>gender</rename>
<update>N</update>
</value>
<value>
<name>not_work</name>
<rename>not_work</rename>
<update>Y</update>
</value>
<value>
<name>not_work_percent</name>
<rename>not_work_percent</rename>
<update>Y</update>
</value>
<value>
<name>busyness</name>
<rename>total_people</rename>
<update>Y</update>
</value>
</lookup>
<update_bypassed>Y</update_bypassed>
<attributes/>
<GUI>
<xloc>1024</xloc>
<yloc>224</yloc>
</GUI>
</transform>
<transform>
<name>Insert / update (total_registered.busyness) 2</name>
<type>InsertUpdate</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<commit>100</commit>
<connection>ervu-dashboard</connection>
<lookup>
<key>
<condition>=</condition>
<field>recruitment_id</field>
<name>REG_ID</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>"all_M_W"</field>
<name>gender</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>registered</field>
<name>registered</name>
<name2/>
</key>
<schema>total_registered</schema>
<table>busyness</table>
<value>
<name>study</name>
<rename>study</rename>
<update>Y</update>
</value>
<value>
<name>work</name>
<rename>work</rename>
<update>Y</update>
</value>
<value>
<name>study_percent</name>
<rename>study_percent</rename>
<update>Y</update>
</value>
<value>
<name>work_percent</name>
<rename>work_percent</rename>
<update>Y</update>
</value>
<value>
<name>recruitment_id</name>
<rename>recruitment_id</rename>
<update>N</update>
</value>
<value>
<name>registered</name>
<rename>registered</rename>
<update>N</update>
</value>
<value>
<name>"all_M_W"</name>
<rename>gender</rename>
<update>N</update>
</value>
<value>
<name>not_work</name>
<rename>not_work</rename>
<update>Y</update>
</value>
<value>
<name>not_work_percent</name>
<rename>not_work_percent</rename>
<update>Y</update>
</value>
<value>
<name>busyness</name>
<rename>total_people</rename>
<update>Y</update>
</value>
</lookup>
<update_bypassed>Y</update_bypassed>
<attributes/>
<GUI>
<xloc>1024</xloc>
<yloc>320</yloc>
</GUI>
</transform>
<transform>
<name>Insert / update (total_registered.busyness) 2 2</name>
<type>InsertUpdate</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<commit>100</commit>
<connection>ervu-dashboard</connection>
<lookup>
<key>
<condition>=</condition>
<field>recruitment_id</field>
<name>REG_ID</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>"all_M_W"</field>
<name>gender</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>registered</field>
<name>registered</name>
<name2/>
</key>
<schema>total_registered</schema>
<table>busyness</table>
<value>
<name>study</name>
<rename>study</rename>
<update>Y</update>
</value>
<value>
<name>work</name>
<rename>work</rename>
<update>Y</update>
</value>
<value>
<name>study_percent</name>
<rename>study_percent</rename>
<update>Y</update>
</value>
<value>
<name>work_percent</name>
<rename>work_percent</rename>
<update>Y</update>
</value>
<value>
<name>recruitment_id</name>
<rename>recruitment_id</rename>
<update>N</update>
</value>
<value>
<name>registered</name>
<rename>registered</rename>
<update>N</update>
</value>
<value>
<name>"all_M_W"</name>
<rename>gender</rename>
<update>N</update>
</value>
<value>
<name>not_work</name>
<rename>not_work</rename>
<update>Y</update>
</value>
<value>
<name>not_work_percent</name>
<rename>not_work_percent</rename>
<update>Y</update>
</value>
<value>
<name>busyness</name>
<rename>total_people</rename>
<update>Y</update>
</value>
</lookup>
<update_bypassed>Y</update_bypassed>
<attributes/>
<GUI>
<xloc>1024</xloc>
<yloc>672</yloc>
</GUI>
</transform>
<transform>
<name>Insert / update (total_registered.busyness) 3</name>
<type>InsertUpdate</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<commit>100</commit>
<connection>ervu-dashboard</connection>
<lookup>
<key>
<condition>=</condition>
<field>recruitment_id</field>
<name>REG_ID</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>"all_M_W"</field>
<name>gender</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>registered</field>
<name>registered</name>
<name2/>
</key>
<schema>total_registered</schema>
<table>busyness</table>
<value>
<name>study</name>
<rename>study</rename>
<update>Y</update>
</value>
<value>
<name>work</name>
<rename>work</rename>
<update>Y</update>
</value>
<value>
<name>study_percent</name>
<rename>study_percent</rename>
<update>Y</update>
</value>
<value>
<name>work_percent</name>
<rename>work_percent</rename>
<update>Y</update>
</value>
<value>
<name>recruitment_id</name>
<rename>recruitment_id</rename>
<update>N</update>
</value>
<value>
<name>registered</name>
<rename>registered</rename>
<update>N</update>
</value>
<value>
<name>"all_M_W"</name>
<rename>gender</rename>
<update>N</update>
</value>
<value>
<name>not_work</name>
<rename>not_work</rename>
<update>Y</update>
</value>
<value>
<name>not_work_percent</name>
<rename>not_work_percent</rename>
<update>Y</update>
</value>
<value>
<name>busyness</name>
<rename>total_people</rename>
<update>Y</update>
</value>
</lookup>
<update_bypassed>Y</update_bypassed>
<attributes/>
<GUI>
<xloc>1024</xloc>
<yloc>416</yloc>
</GUI>
</transform>
<transform>
<name>Insert / update (total_registered.busyness) 3 2</name>
<type>InsertUpdate</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<commit>100</commit>
<connection>ervu-dashboard</connection>
<lookup>
<key>
<condition>=</condition>
<field>recruitment_id</field>
<name>REG_ID</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>"all_M_W"</field>
<name>gender</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>registered</field>
<name>registered</name>
<name2/>
</key>
<schema>total_registered</schema>
<table>busyness</table>
<value>
<name>study</name>
<rename>study</rename>
<update>Y</update>
</value>
<value>
<name>work</name>
<rename>work</rename>
<update>Y</update>
</value>
<value>
<name>study_percent</name>
<rename>study_percent</rename>
<update>Y</update>
</value>
<value>
<name>work_percent</name>
<rename>work_percent</rename>
<update>Y</update>
</value>
<value>
<name>recruitment_id</name>
<rename>recruitment_id</rename>
<update>N</update>
</value>
<value>
<name>registered</name>
<rename>registered</rename>
<update>N</update>
</value>
<value>
<name>"all_M_W"</name>
<rename>gender</rename>
<update>N</update>
</value>
<value>
<name>not_work</name>
<rename>not_work</rename>
<update>Y</update>
</value>
<value>
<name>not_work_percent</name>
<rename>not_work_percent</rename>
<update>Y</update>
</value>
<value>
<name>busyness</name>
<rename>total_people</rename>
<update>Y</update>
</value>
</lookup>
<update_bypassed>Y</update_bypassed>
<attributes/>
<GUI>
<xloc>1024</xloc>
<yloc>768</yloc>
</GUI>
</transform>
<transform>
<name>Insert / update (total_registered.busyness) 4</name>
<type>InsertUpdate</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<commit>100</commit>
<connection>ervu-dashboard</connection>
<lookup>
<key>
<condition>=</condition>
<field>recruitment_id</field>
<name>REG_ID</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>"all_M_W"</field>
<name>gender</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>registered</field>
<name>registered</name>
<name2/>
</key>
<schema>total_registered</schema>
<table>busyness</table>
<value>
<name>study</name>
<rename>study</rename>
<update>Y</update>
</value>
<value>
<name>work</name>
<rename>work</rename>
<update>Y</update>
</value>
<value>
<name>study_percent</name>
<rename>study_percent</rename>
<update>Y</update>
</value>
<value>
<name>work_percent</name>
<rename>work_percent</rename>
<update>Y</update>
</value>
<value>
<name>recruitment_id</name>
<rename>recruitment_id</rename>
<update>N</update>
</value>
<value>
<name>registered</name>
<rename>registered</rename>
<update>N</update>
</value>
<value>
<name>"all_M_W"</name>
<rename>gender</rename>
<update>N</update>
</value>
<value>
<name>not_work</name>
<rename>not_work</rename>
<update>Y</update>
</value>
<value>
<name>not_work_percent</name>
<rename>not_work_percent</rename>
<update>Y</update>
</value>
<value>
<name>busyness</name>
<rename>total_people</rename>
<update>Y</update>
</value>
</lookup>
<update_bypassed>Y</update_bypassed>
<attributes/>
<GUI>
<xloc>1024</xloc>
<yloc>576</yloc>
</GUI>
</transform>
<transform>
<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>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>-- в json отсутствует инфа об обучении в школе
WITH status_info AS (
SELECT
-- Проверка на обучение в вузе (есть информация и обучается)
(
CASE
WHEN jsonb_typeof(info->'svedVUZ'->'vuz') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedVUZ'->'vuz') AS vuz
WHERE vuz->>'kodStatus' = '1'
)
ELSE false
END
) AS is_studying_in_vuz,
-- Проверка на обучение в колледже (есть информация и обучается)
(
CASE
WHEN jsonb_typeof(info->'svedKolledzh'->'kolledzh') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedKolledzh'->'kolledzh') AS kolledzh
WHERE kolledzh->>'kodStatus' = '1'
)
ELSE false
END
) AS is_studying_in_college,
-- Проверка на работу (есть информация и работает)
(
CASE
WHEN jsonb_typeof(info->'svedTrud'->'trudDeyat') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedTrud'->'trudDeyat') AS trud
WHERE trud->>'prAktMestRab' = '1'
)
ELSE false
END
) AS is_working,
-- Проверка на отсутствие сведений о вузе
info->'svedVUZ'->>'prOtsSvedVUZ' = '1' AS no_info_vuz,
-- Проверка на отсутствие сведений о колледже
info->'svedKolledzh'->>'prOtsSvedKolledzh' = '1' AS no_info_college,
-- Проверка на отсутствие сведений о работе
info->'svedTrud'->>'prOtsSvedTrud' = '1' AS no_info_work
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
),
summary AS (
SELECT
-- Количество людей, которые учатся (в вузе или колледже)
COUNT(CASE WHEN is_studying_in_vuz OR is_studying_in_college THEN 1 END) AS study,
-- Количество людей, которые работают
COUNT(CASE WHEN is_working THEN 1 END) AS work,
-- Количество людей, которые ни учатся, ни работают
-- COUNT(CASE WHEN NOT is_studying_in_vuz AND NOT is_studying_in_college AND NOT is_working THEN 1 END) AS not_work,
-- Количество людей, для которых отсутствуют сведения о вузе, колледже и работе
COUNT(CASE WHEN no_info_vuz AND no_info_college AND no_info_work THEN 1 END) AS not_work, -- no_info по факту
-- Общее количество людей
COUNT(*) AS total_people
FROM status_info
)
SELECT
'ALL' as gender,
'true' as registered,
'${REG_ID}' as recruitment_id,
study,
work,
not_work,
-- 0 as not_work_percent,
total_people,
-- Процент людей, которые учатся
ROUND(study * 100.0 / NULLIF(total_people, 0), 2) AS study_percent,
-- Процент людей, которые работают
ROUND(work * 100.0 / NULLIF(total_people, 0), 2) AS work_percent,
-- Процент людей, которые ни учатся, ни работают
ROUND(not_work * 100.0 / NULLIF(total_people, 0), 2) AS not_work_percent -- убрать
-- Процент людей, для которых отсутствуют сведения
-- ROUND(no_info * 100.0 / NULLIF(total_people, 0), 2) AS no_info_percent
FROM summary;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
<xloc>400</xloc>
<yloc>224</yloc>
</GUI>
</transform>
<transform>
<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>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>-- в json отсутствует инфа об обучении в школе
WITH status_info AS (
SELECT
-- Проверка на обучение в вузе (есть информация и обучается)
(
CASE
WHEN jsonb_typeof(info->'svedVUZ'->'vuz') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedVUZ'->'vuz') AS vuz
WHERE vuz->>'kodStatus' = '1'
)
ELSE false
END
) AS is_studying_in_vuz,
-- Проверка на обучение в колледже (есть информация и обучается)
(
CASE
WHEN jsonb_typeof(info->'svedKolledzh'->'kolledzh') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedKolledzh'->'kolledzh') AS kolledzh
WHERE kolledzh->>'kodStatus' = '1'
)
ELSE false
END
) AS is_studying_in_college,
-- Проверка на работу (есть информация и работает)
(
CASE
WHEN jsonb_typeof(info->'svedTrud'->'trudDeyat') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedTrud'->'trudDeyat') AS trud
WHERE trud->>'prAktMestRab' = '1'
)
ELSE false
END
) AS is_working,
-- Проверка на отсутствие сведений о вузе
info->'svedVUZ'->>'prOtsSvedVUZ' = '1' AS no_info_vuz,
-- Проверка на отсутствие сведений о колледже
info->'svedKolledzh'->>'prOtsSvedKolledzh' = '1' AS no_info_college,
-- Проверка на отсутствие сведений о работе
info->'svedTrud'->>'prOtsSvedTrud' = '1' AS no_info_work
FROM public.recruits_info ri
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE r.vu_current_info -> 'isMilitaryRegistered' = 'false' and r.current_recruitment_id is not null and r.target_recruitment_id is not null
),
summary AS (
SELECT
-- Количество людей, которые учатся (в вузе или колледже)
COUNT(CASE WHEN is_studying_in_vuz OR is_studying_in_college THEN 1 END) AS study,
-- Количество людей, которые работают
COUNT(CASE WHEN is_working THEN 1 END) AS work,
-- Количество людей, которые ни учатся, ни работают
-- COUNT(CASE WHEN NOT is_studying_in_vuz AND NOT is_studying_in_college AND NOT is_working THEN 1 END) AS not_work,
-- Количество людей, для которых отсутствуют сведения о вузе, колледже и работе
COUNT(CASE WHEN no_info_vuz AND no_info_college AND no_info_work THEN 1 END) AS not_work, -- no_info по факту
-- Общее количество людей
COUNT(*) AS total_people
FROM status_info
)
SELECT
'ALL' as gender,
'false' as registered,
'${REG_ID}' as recruitment_id,
study,
work,
not_work,
-- 0 as not_work_percent,
total_people,
-- Процент людей, которые учатся
ROUND(study * 100.0 / NULLIF(total_people, 0), 2) AS study_percent,
-- Процент людей, которые работают
ROUND(work * 100.0 / NULLIF(total_people, 0), 2) AS work_percent,
-- Процент людей, которые ни учатся, ни работают
ROUND(not_work * 100.0 / NULLIF(total_people, 0), 2) AS not_work_percent -- убрать
-- Процент людей, для которых отсутствуют сведения
-- ROUND(no_info * 100.0 / NULLIF(total_people, 0), 2) AS no_info_percent
FROM summary;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
<xloc>400</xloc>
<yloc>576</yloc>
</GUI>
</transform>
<transform>
<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>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>-- в json отсутствует инфа об обучении в школе
WITH status_info AS (
SELECT
-- Проверка на обучение в вузе (есть информация и обучается)
(
CASE
WHEN jsonb_typeof(info->'svedVUZ'->'vuz') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedVUZ'->'vuz') AS vuz
WHERE vuz->>'kodStatus' = '1'
)
ELSE false
END
) AS is_studying_in_vuz,
-- Проверка на обучение в колледже (есть информация и обучается)
(
CASE
WHEN jsonb_typeof(info->'svedKolledzh'->'kolledzh') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedKolledzh'->'kolledzh') AS kolledzh
WHERE kolledzh->>'kodStatus' = '1'
)
ELSE false
END
) AS is_studying_in_college,
-- Проверка на работу (есть информация и работает)
(
CASE
WHEN jsonb_typeof(info->'svedTrud'->'trudDeyat') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedTrud'->'trudDeyat') AS trud
WHERE trud->>'prAktMestRab' = '1'
)
ELSE false
END
) AS is_working,
-- Проверка на отсутствие сведений о вузе
info->'svedVUZ'->>'prOtsSvedVUZ' = '1' AS no_info_vuz,
-- Проверка на отсутствие сведений о колледже
info->'svedKolledzh'->>'prOtsSvedKolledzh' = '1' AS no_info_college,
-- Проверка на отсутствие сведений о работе
info->'svedTrud'->>'prOtsSvedTrud' = '1' AS no_info_work
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 gender = 'FEMALE'
),
summary AS (
SELECT
-- Количество людей, которые учатся (в вузе или колледже)
COUNT(CASE WHEN is_studying_in_vuz OR is_studying_in_college THEN 1 END) AS study,
-- Количество людей, которые работают
COUNT(CASE WHEN is_working THEN 1 END) AS work,
-- Количество людей, которые ни учатся, ни работают
-- COUNT(CASE WHEN NOT is_studying_in_vuz AND NOT is_studying_in_college AND NOT is_working THEN 1 END) AS not_work,
-- Количество людей, для которых отсутствуют сведения о вузе, колледже и работе
COUNT(CASE WHEN no_info_vuz AND no_info_college AND no_info_work THEN 1 END) AS not_work, -- no_info по факту
-- Общее количество людей
COUNT(*) AS total_people
FROM status_info
)
SELECT
'W' as gender,
'true' as registered,
'${REG_ID}' as recruitment_id,
study,
work,
not_work,
-- 0 as not_work_percent,
total_people,
-- Процент людей, которые учатся
ROUND(study * 100.0 / NULLIF(total_people, 0), 2) AS study_percent,
-- Процент людей, которые работают
ROUND(work * 100.0 / NULLIF(total_people, 0), 2) AS work_percent,
-- Процент людей, которые ни учатся, ни работают
ROUND(not_work * 100.0 / NULLIF(total_people, 0), 2) AS not_work_percent -- убрать
-- Процент людей, для которых отсутствуют сведения
-- ROUND(no_info * 100.0 / NULLIF(total_people, 0), 2) AS no_info_percent
FROM summary;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
<xloc>400</xloc>
<yloc>416</yloc>
</GUI>
</transform>
<transform>
<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>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>-- в json отсутствует инфа об обучении в школе
WITH status_info AS (
SELECT
-- Проверка на обучение в вузе (есть информация и обучается)
(
CASE
WHEN jsonb_typeof(info->'svedVUZ'->'vuz') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedVUZ'->'vuz') AS vuz
WHERE vuz->>'kodStatus' = '1'
)
ELSE false
END
) AS is_studying_in_vuz,
-- Проверка на обучение в колледже (есть информация и обучается)
(
CASE
WHEN jsonb_typeof(info->'svedKolledzh'->'kolledzh') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedKolledzh'->'kolledzh') AS kolledzh
WHERE kolledzh->>'kodStatus' = '1'
)
ELSE false
END
) AS is_studying_in_college,
-- Проверка на работу (есть информация и работает)
(
CASE
WHEN jsonb_typeof(info->'svedTrud'->'trudDeyat') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedTrud'->'trudDeyat') AS trud
WHERE trud->>'prAktMestRab' = '1'
)
ELSE false
END
) AS is_working,
-- Проверка на отсутствие сведений о вузе
info->'svedVUZ'->>'prOtsSvedVUZ' = '1' AS no_info_vuz,
-- Проверка на отсутствие сведений о колледже
info->'svedKolledzh'->>'prOtsSvedKolledzh' = '1' AS no_info_college,
-- Проверка на отсутствие сведений о работе
info->'svedTrud'->>'prOtsSvedTrud' = '1' AS no_info_work
FROM public.recruits_info ri
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE r.vu_current_info -> 'isMilitaryRegistered' = 'false' and r.current_recruitment_id is not null and r.target_recruitment_id is not null
AND gender = 'FEMALE'
),
summary AS (
SELECT
-- Количество людей, которые учатся (в вузе или колледже)
COUNT(CASE WHEN is_studying_in_vuz OR is_studying_in_college THEN 1 END) AS study,
-- Количество людей, которые работают
COUNT(CASE WHEN is_working THEN 1 END) AS work,
-- Количество людей, которые ни учатся, ни работают
-- COUNT(CASE WHEN NOT is_studying_in_vuz AND NOT is_studying_in_college AND NOT is_working THEN 1 END) AS not_work,
-- Количество людей, для которых отсутствуют сведения о вузе, колледже и работе
COUNT(CASE WHEN no_info_vuz AND no_info_college AND no_info_work THEN 1 END) AS not_work, -- no_info по факту
-- Общее количество людей
COUNT(*) AS total_people
FROM status_info
)
SELECT
'W' as gender,
'false' as registered,
'${REG_ID}' as recruitment_id,
study,
work,
not_work,
-- 0 as not_work_percent,
total_people,
-- Процент людей, которые учатся
ROUND(study * 100.0 / NULLIF(total_people, 0), 2) AS study_percent,
-- Процент людей, которые работают
ROUND(work * 100.0 / NULLIF(total_people, 0), 2) AS work_percent,
-- Процент людей, которые ни учатся, ни работают
ROUND(not_work * 100.0 / NULLIF(total_people, 0), 2) AS not_work_percent -- убрать
-- Процент людей, для которых отсутствуют сведения
-- ROUND(no_info * 100.0 / NULLIF(total_people, 0), 2) AS no_info_percent
FROM summary;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
<xloc>400</xloc>
<yloc>768</yloc>
</GUI>
</transform>
<transform>
<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>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>-- в json отсутствует инфа об обучении в школе
WITH status_info AS (
SELECT
-- Проверка на обучение в вузе (есть информация и обучается)
(
CASE
WHEN jsonb_typeof(info->'svedVUZ'->'vuz') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedVUZ'->'vuz') AS vuz
WHERE vuz->>'kodStatus' = '1'
)
ELSE false
END
) AS is_studying_in_vuz,
-- Проверка на обучение в колледже (есть информация и обучается)
(
CASE
WHEN jsonb_typeof(info->'svedKolledzh'->'kolledzh') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedKolledzh'->'kolledzh') AS kolledzh
WHERE kolledzh->>'kodStatus' = '1'
)
ELSE false
END
) AS is_studying_in_college,
-- Проверка на работу (есть информация и работает)
(
CASE
WHEN jsonb_typeof(info->'svedTrud'->'trudDeyat') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedTrud'->'trudDeyat') AS trud
WHERE trud->>'prAktMestRab' = '1'
)
ELSE false
END
) AS is_working,
-- Проверка на отсутствие сведений о вузе
info->'svedVUZ'->>'prOtsSvedVUZ' = '1' AS no_info_vuz,
-- Проверка на отсутствие сведений о колледже
info->'svedKolledzh'->>'prOtsSvedKolledzh' = '1' AS no_info_college,
-- Проверка на отсутствие сведений о работе
info->'svedTrud'->>'prOtsSvedTrud' = '1' AS no_info_work
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 gender = 'MALE'
),
summary AS (
SELECT
-- Количество людей, которые учатся (в вузе или колледже)
COUNT(CASE WHEN is_studying_in_vuz OR is_studying_in_college THEN 1 END) AS study,
-- Количество людей, которые работают
COUNT(CASE WHEN is_working THEN 1 END) AS work,
-- Количество людей, которые ни учатся, ни работают
-- COUNT(CASE WHEN NOT is_studying_in_vuz AND NOT is_studying_in_college AND NOT is_working THEN 1 END) AS not_work,
-- Количество людей, для которых отсутствуют сведения о вузе, колледже и работе
COUNT(CASE WHEN no_info_vuz AND no_info_college AND no_info_work THEN 1 END) AS not_work, -- no_info по факту
-- Общее количество людей
COUNT(*) AS total_people
FROM status_info
)
SELECT
'M' as gender,
'true' as registered,
'${REG_ID}' as recruitment_id,
study,
work,
not_work,
-- 0 as not_work_percent,
total_people,
-- Процент людей, которые учатся
ROUND(study * 100.0 / NULLIF(total_people, 0), 2) AS study_percent,
-- Процент людей, которые работают
ROUND(work * 100.0 / NULLIF(total_people, 0), 2) AS work_percent,
-- Процент людей, которые ни учатся, ни работают
ROUND(not_work * 100.0 / NULLIF(total_people, 0), 2) AS not_work_percent -- убрать
-- Процент людей, для которых отсутствуют сведения
-- ROUND(no_info * 100.0 / NULLIF(total_people, 0), 2) AS no_info_percent
FROM summary;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
<xloc>400</xloc>
<yloc>320</yloc>
</GUI>
</transform>
<transform>
<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>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>-- в json отсутствует инфа об обучении в школе
WITH status_info AS (
SELECT
-- Проверка на обучение в вузе (есть информация и обучается)
(
CASE
WHEN jsonb_typeof(info->'svedVUZ'->'vuz') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedVUZ'->'vuz') AS vuz
WHERE vuz->>'kodStatus' = '1'
)
ELSE false
END
) AS is_studying_in_vuz,
-- Проверка на обучение в колледже (есть информация и обучается)
(
CASE
WHEN jsonb_typeof(info->'svedKolledzh'->'kolledzh') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedKolledzh'->'kolledzh') AS kolledzh
WHERE kolledzh->>'kodStatus' = '1'
)
ELSE false
END
) AS is_studying_in_college,
-- Проверка на работу (есть информация и работает)
(
CASE
WHEN jsonb_typeof(info->'svedTrud'->'trudDeyat') = 'array' THEN
EXISTS (
SELECT 1
FROM jsonb_array_elements(info->'svedTrud'->'trudDeyat') AS trud
WHERE trud->>'prAktMestRab' = '1'
)
ELSE false
END
) AS is_working,
-- Проверка на отсутствие сведений о вузе
info->'svedVUZ'->>'prOtsSvedVUZ' = '1' AS no_info_vuz,
-- Проверка на отсутствие сведений о колледже
info->'svedKolledzh'->>'prOtsSvedKolledzh' = '1' AS no_info_college,
-- Проверка на отсутствие сведений о работе
info->'svedTrud'->>'prOtsSvedTrud' = '1' AS no_info_work
FROM public.recruits_info ri
JOIN public.recruits r ON ri.recruit_id = r.id
WHERE r.vu_current_info -> 'isMilitaryRegistered' = 'false' and r.current_recruitment_id is not null and r.target_recruitment_id is not null
AND gender = 'MALE'
),
summary AS (
SELECT
-- Количество людей, которые учатся (в вузе или колледже)
COUNT(CASE WHEN is_studying_in_vuz OR is_studying_in_college THEN 1 END) AS study,
-- Количество людей, которые работают
COUNT(CASE WHEN is_working THEN 1 END) AS work,
-- Количество людей, которые ни учатся, ни работают
-- COUNT(CASE WHEN NOT is_studying_in_vuz AND NOT is_studying_in_college AND NOT is_working THEN 1 END) AS not_work,
-- Количество людей, для которых отсутствуют сведения о вузе, колледже и работе
COUNT(CASE WHEN no_info_vuz AND no_info_college AND no_info_work THEN 1 END) AS not_work, -- no_info по факту
-- Общее количество людей
COUNT(*) AS total_people
FROM status_info
)
SELECT
'M' as gender,
'false' as registered,
'${REG_ID}' as recruitment_id,
study,
work,
not_work,
-- 0 as not_work_percent,
total_people,
-- Процент людей, которые учатся
ROUND(study * 100.0 / NULLIF(total_people, 0), 2) AS study_percent,
-- Процент людей, которые работают
ROUND(work * 100.0 / NULLIF(total_people, 0), 2) AS work_percent,
-- Процент людей, которые ни учатся, ни работают
ROUND(not_work * 100.0 / NULLIF(total_people, 0), 2) AS not_work_percent -- убрать
-- Процент людей, для которых отсутствуют сведения
-- ROUND(no_info * 100.0 / NULLIF(total_people, 0), 2) AS no_info_percent
FROM summary;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
<xloc>400</xloc>
<yloc>672</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 2 2</name>
<type>GetVariable</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<field>
<length>-1</length>
<name>REG_ID</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
<field>
<length>-1</length>
<name>VK_ARRAY</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
</fields>
<attributes/>
<GUI>
<xloc>608</xloc>
<yloc>272</yloc>
</GUI>
</transform>
<transform>
<name>Select values 2 2</name>
<type>SelectValues</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<select_unspecified>N</select_unspecified>
<meta>
<name>REG_ID</name>
<rename>REG_ID</rename>
<type>String</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<date_format_locale/>
<date_format_timezone/>
<lenient_string_to_number>false</lenient_string_to_number>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta>
<meta>
<name>VK_ARRAY</name>
<rename>VK_ARRAY</rename>
<type>String</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<date_format_locale/>
<date_format_timezone/>
<lenient_string_to_number>false</lenient_string_to_number>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta>
</fields>
<attributes/>
<GUI>
<xloc>816</xloc>
<yloc>272</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 2 2 2</name>
<type>GetVariable</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<field>
<length>-1</length>
<name>REG_ID</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
<field>
<length>-1</length>
<name>VK_ARRAY</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
</fields>
<attributes/>
<GUI>
<xloc>608</xloc>
<yloc>352</yloc>
</GUI>
</transform>
<transform>
<name>Select values 2 2 2</name>
<type>SelectValues</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<select_unspecified>N</select_unspecified>
<meta>
<name>REG_ID</name>
<rename>REG_ID</rename>
<type>String</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<date_format_locale/>
<date_format_timezone/>
<lenient_string_to_number>false</lenient_string_to_number>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta>
<meta>
<name>VK_ARRAY</name>
<rename>VK_ARRAY</rename>
<type>String</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<date_format_locale/>
<date_format_timezone/>
<lenient_string_to_number>false</lenient_string_to_number>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta>
</fields>
<attributes/>
<GUI>
<xloc>816</xloc>
<yloc>352</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 2 2 3</name>
<type>GetVariable</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<field>
<length>-1</length>
<name>REG_ID</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
<field>
<length>-1</length>
<name>VK_ARRAY</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
</fields>
<attributes/>
<GUI>
<xloc>608</xloc>
<yloc>448</yloc>
</GUI>
</transform>
<transform>
<name>Select values 2 2 3</name>
<type>SelectValues</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<select_unspecified>N</select_unspecified>
<meta>
<name>REG_ID</name>
<rename>REG_ID</rename>
<type>String</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<date_format_locale/>
<date_format_timezone/>
<lenient_string_to_number>false</lenient_string_to_number>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta>
<meta>
<name>VK_ARRAY</name>
<rename>VK_ARRAY</rename>
<type>String</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<date_format_locale/>
<date_format_timezone/>
<lenient_string_to_number>false</lenient_string_to_number>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta>
</fields>
<attributes/>
<GUI>
<xloc>816</xloc>
<yloc>448</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 2 2 4</name>
<type>GetVariable</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<field>
<length>-1</length>
<name>REG_ID</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
<field>
<length>-1</length>
<name>VK_ARRAY</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
</fields>
<attributes/>
<GUI>
<xloc>624</xloc>
<yloc>608</yloc>
</GUI>
</transform>
<transform>
<name>Select values 2 2 4</name>
<type>SelectValues</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<select_unspecified>N</select_unspecified>
<meta>
<name>REG_ID</name>
<rename>REG_ID</rename>
<type>String</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<date_format_locale/>
<date_format_timezone/>
<lenient_string_to_number>false</lenient_string_to_number>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta>
<meta>
<name>VK_ARRAY</name>
<rename>VK_ARRAY</rename>
<type>String</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<date_format_locale/>
<date_format_timezone/>
<lenient_string_to_number>false</lenient_string_to_number>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta>
</fields>
<attributes/>
<GUI>
<xloc>832</xloc>
<yloc>608</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 2 2 5</name>
<type>GetVariable</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<field>
<length>-1</length>
<name>REG_ID</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
<field>
<length>-1</length>
<name>VK_ARRAY</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
</fields>
<attributes/>
<GUI>
<xloc>624</xloc>
<yloc>720</yloc>
</GUI>
</transform>
<transform>
<name>Select values 2 2 5</name>
<type>SelectValues</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<select_unspecified>N</select_unspecified>
<meta>
<name>REG_ID</name>
<rename>REG_ID</rename>
<type>String</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<date_format_locale/>
<date_format_timezone/>
<lenient_string_to_number>false</lenient_string_to_number>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta>
<meta>
<name>VK_ARRAY</name>
<rename>VK_ARRAY</rename>
<type>String</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<date_format_locale/>
<date_format_timezone/>
<lenient_string_to_number>false</lenient_string_to_number>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta>
</fields>
<attributes/>
<GUI>
<xloc>832</xloc>
<yloc>720</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 2 2 6</name>
<type>GetVariable</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<field>
<length>-1</length>
<name>REG_ID</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
<field>
<length>-1</length>
<name>VK_ARRAY</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
</fields>
<attributes/>
<GUI>
<xloc>624</xloc>
<yloc>816</yloc>
</GUI>
</transform>
<transform>
<name>Select values 2 2 6</name>
<type>SelectValues</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<select_unspecified>N</select_unspecified>
<meta>
<name>REG_ID</name>
<rename>REG_ID</rename>
<type>String</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<date_format_locale/>
<date_format_timezone/>
<lenient_string_to_number>false</lenient_string_to_number>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta>
<meta>
<name>VK_ARRAY</name>
<rename>VK_ARRAY</rename>
<type>String</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<date_format_locale/>
<date_format_timezone/>
<lenient_string_to_number>false</lenient_string_to_number>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta>
</fields>
<attributes/>
<GUI>
<xloc>832</xloc>
<yloc>816</yloc>
</GUI>
</transform>
<transform_error_handling>
</transform_error_handling>
<attributes/>
</pipeline>