season_separation

This commit is contained in:
Ruslan 2025-01-30 18:08:59 +03:00
parent b1b31163c5
commit e399c297f2
33 changed files with 3309 additions and 1636 deletions

View file

@ -29,7 +29,7 @@
"description" : ""
}, {
"name" : "DB_DASHBOARD_NAME",
"value" : "ervu-dashboard-copy",
"value" : "ervu-dashboard-recr",
"description" : ""
}, {
"name" : "DB_DASHBOARD_USERNAME",

View file

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<pipeline>
<info>
<name>appeals.reasons_appeal</name>
@ -6,31 +7,104 @@
<extended_description/>
<pipeline_version/>
<pipeline_type>Normal</pipeline_type>
<pipeline_status>0</pipeline_status>
<directory>/</directory>
<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>
<created_date>2025/01/28 11:14:23.116</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>
<modified_date>2025/01/28 11:14:23.116</modified_date>
</info>
<notepads>
</notepads>
<order>
<hop>
<from>Table input (appeal_document) РФ</from>
<to>Insert / update (main_dashboard.appeals)</to>
<from>Execute SQL script</from>
<to>Table input (subpoena) РФ/осень</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Get variables 2 2</from>
<to>Select values 2 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Select values 2 2</from>
<to>Insert / update (appeals.reasons_appeal)</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input (subpoena) РФ/осень</from>
<to>Get variables 2 2</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Insert / update (main_dashboard.appeals)</name>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM appeals.reasons_appeal
WHERE recording_date = current_date
AND schema = 'Ministry'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>336</xloc>
<yloc>448</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>800</xloc>
<yloc>448</yloc>
</GUI>
</transform>
<transform>
<name>Insert / update (appeals.reasons_appeal)</name>
<type>InsertUpdate</type>
<description/>
<distribute>Y</distribute>
@ -40,39 +114,130 @@
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<commit>100</commit>
<update_bypassed>N</update_bypassed>
<connection>ervu-dashboard</connection>
<lookup>
<schema>main_dashboard</schema>
<table>appeals</table>
<key>
<name>recruitment_id</name>
<field>recruitment_id</field>
<condition>=</condition>
<name2/>
<field>schema</field>
<name>schema</name>
</key>
<value>
<name>total_appeals</name>
<rename>total_appeals</rename>
<update>Y</update>
</value>
<key>
<condition>=</condition>
<field>recruitment_id</field>
<name>recruitment_id</name>
</key>
<schema>appeals</schema>
<table>reasons_appeal</table>
<value>
<name>recruitment_id</name>
<rename>recruitment_id</rename>
<update>N</update>
</value>
<value>
<name>schema</name>
<rename>schema</rename>
<update>N</update>
</value>
<value>
<name>appeal</name>
<rename>appeal</rename>
<update>Y</update>
</value>
<value>
<name>incorrect_inf</name>
<rename>incorrect_inf</rename>
<update>Y</update>
</value>
<value>
<name>incorrect_inf_percent</name>
<rename>incorrect_inf_percent</rename>
<update>Y</update>
</value>
<value>
<name>no_data</name>
<rename>no_data</rename>
<update>Y</update>
</value>
<value>
<name>no_data_percent</name>
<rename>no_data_percent</rename>
<update>Y</update>
</value>
<value>
<name>other</name>
<rename>other</rename>
<update>Y</update>
</value>
<value>
<name>other_percent</name>
<rename>other_percent</rename>
<update>Y</update>
</value>
</lookup>
<update_bypassed>N</update_bypassed>
<attributes/>
<cluster_schema/>
<GUI>
<xloc>752</xloc>
<yloc>176</yloc>
<draw>Y</draw>
<xloc>1296</xloc>
<yloc>448</yloc>
</GUI>
</transform>
<transform>
<name>Table input (appeal_document) РФ</name>
<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>1008</xloc>
<yloc>448</yloc>
</GUI>
</transform>
<transform>
<name>Table input (subpoena) РФ/осень</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
@ -82,33 +247,65 @@
<method>none</method>
<schema_name/>
</partitioning>
<connection>postgres.appeal-document-service</connection>
<sql>WITH
t1 AS (
SELECT COUNT(*) AS total_appeals
FROM public.appeal_document
) -- нет причин обжалований
SELECT
t1.total_appeals,
'00' AS recruitment_id,
0 AS incorrect_inf,
0 AS no_data,
0 AS other,
0 AS incorrect_inf_percent,
0 AS no_data_percent,
0 AS other_percent
FROM t1;</sql>
<limit>0</limit>
<lookup/>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<variables_active>N</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<limit>0</limit>
<sql>SELECT
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM(appeal) END AS appeal,
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM(incorrect_inf) END AS incorrect_inf,
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM(no_data) END AS no_data,
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM(other) END AS other,
CASE
WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = ''
THEN 0
ELSE COALESCE(
CASE
WHEN SUM(appeal) > 0
THEN ROUND((SUM(incorrect_inf) / SUM(appeal) * 100), 2)
ELSE 0
END,
0
)
END AS incorrect_inf_percent,
CASE
WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = ''
THEN 0
ELSE COALESCE(
CASE
WHEN SUM(appeal) > 0
THEN ROUND((SUM(no_data) / SUM(appeal) * 100), 2)
ELSE 0
END,
0
)
END AS no_data_percent,
CASE
WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = ''
THEN 0
ELSE COALESCE(
CASE
WHEN SUM(appeal) > 0
THEN ROUND((SUM(other) / SUM(appeal) * 100), 2)
ELSE 0
END,
0
)
END AS other_percent,
'${REG_ID}' AS recruitment_id,
'Ministry' AS schema
FROM appeals.reasons_appeal
WHERE recruitment_id = ANY (
string_to_array(
trim(both '{}' FROM replace('${VK_ARRAY}', ' ', '')), ','
)::uuid[]
)
AND schema = 'Region'
AND recording_date = CURRENT_DATE;</sql>
<variables_active>Y</variables_active>
<attributes/>
<cluster_schema/>
<GUI>
<xloc>400</xloc>
<yloc>176</yloc>
<draw>Y</draw>
<xloc>576</xloc>
<yloc>448</yloc>
</GUI>
</transform>
<transform_error_handling>

View file

@ -37,8 +37,8 @@
<schedulerType>0</schedulerType>
<weekDay>1</weekDay>
<parallel>N</parallel>
<xloc>48</xloc>
<yloc>576</yloc>
<xloc>576</xloc>
<yloc>1088</yloc>
<attributes_hac/>
</action>
<action>
@ -71,8 +71,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>624</xloc>
<yloc>48</yloc>
<xloc>1360</xloc>
<yloc>624</yloc>
<attributes_hac/>
</action>
<action>
@ -81,8 +81,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>800</xloc>
<yloc>48</yloc>
<xloc>1536</xloc>
<yloc>624</yloc>
<attributes_hac/>
</action>
<action>
@ -115,8 +115,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>624</xloc>
<yloc>128</yloc>
<xloc>1360</xloc>
<yloc>704</yloc>
<attributes_hac/>
</action>
<action>
@ -125,8 +125,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>800</xloc>
<yloc>128</yloc>
<xloc>1536</xloc>
<yloc>704</yloc>
<attributes_hac/>
</action>
<action>
@ -159,8 +159,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>624</xloc>
<yloc>192</yloc>
<xloc>1360</xloc>
<yloc>768</yloc>
<attributes_hac/>
</action>
<action>
@ -169,8 +169,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>800</xloc>
<yloc>192</yloc>
<xloc>1536</xloc>
<yloc>768</yloc>
<attributes_hac/>
</action>
<action>
@ -203,8 +203,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>624</xloc>
<yloc>272</yloc>
<xloc>1360</xloc>
<yloc>848</yloc>
<attributes_hac/>
</action>
<action>
@ -213,8 +213,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>800</xloc>
<yloc>272</yloc>
<xloc>1536</xloc>
<yloc>848</yloc>
<attributes_hac/>
</action>
<action>
@ -247,8 +247,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>624</xloc>
<yloc>352</yloc>
<xloc>1360</xloc>
<yloc>928</yloc>
<attributes_hac/>
</action>
<action>
@ -257,8 +257,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>800</xloc>
<yloc>352</yloc>
<xloc>1536</xloc>
<yloc>928</yloc>
<attributes_hac/>
</action>
<action>
@ -291,8 +291,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>624</xloc>
<yloc>432</yloc>
<xloc>1360</xloc>
<yloc>1008</yloc>
<attributes_hac/>
</action>
<action>
@ -301,8 +301,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>800</xloc>
<yloc>432</yloc>
<xloc>1536</xloc>
<yloc>1008</yloc>
<attributes_hac/>
</action>
<action>
@ -335,8 +335,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>624</xloc>
<yloc>512</yloc>
<xloc>1360</xloc>
<yloc>1088</yloc>
<attributes_hac/>
</action>
<action>
@ -345,8 +345,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>800</xloc>
<yloc>512</yloc>
<xloc>1536</xloc>
<yloc>1088</yloc>
<attributes_hac/>
</action>
<action>
@ -379,8 +379,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>624</xloc>
<yloc>576</yloc>
<xloc>1360</xloc>
<yloc>1152</yloc>
<attributes_hac/>
</action>
<action>
@ -389,8 +389,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>800</xloc>
<yloc>576</yloc>
<xloc>1536</xloc>
<yloc>1152</yloc>
<attributes_hac/>
</action>
<action>
@ -423,8 +423,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>624</xloc>
<yloc>640</yloc>
<xloc>1360</xloc>
<yloc>1216</yloc>
<attributes_hac/>
</action>
<action>
@ -433,8 +433,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>800</xloc>
<yloc>640</yloc>
<xloc>1536</xloc>
<yloc>1216</yloc>
<attributes_hac/>
</action>
<action>
@ -467,8 +467,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>624</xloc>
<yloc>704</yloc>
<xloc>1360</xloc>
<yloc>1280</yloc>
<attributes_hac/>
</action>
<action>
@ -477,8 +477,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>800</xloc>
<yloc>704</yloc>
<xloc>1536</xloc>
<yloc>1280</yloc>
<attributes_hac/>
</action>
<action>
@ -511,8 +511,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>624</xloc>
<yloc>768</yloc>
<xloc>1360</xloc>
<yloc>1344</yloc>
<attributes_hac/>
</action>
<action>
@ -521,8 +521,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>800</xloc>
<yloc>768</yloc>
<xloc>1536</xloc>
<yloc>1344</yloc>
<attributes_hac/>
</action>
<action>
@ -555,8 +555,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>624</xloc>
<yloc>832</yloc>
<xloc>1360</xloc>
<yloc>1408</yloc>
<attributes_hac/>
</action>
<action>
@ -565,8 +565,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>800</xloc>
<yloc>832</yloc>
<xloc>1536</xloc>
<yloc>1408</yloc>
<attributes_hac/>
</action>
<action>
@ -599,8 +599,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>624</xloc>
<yloc>912</yloc>
<xloc>1360</xloc>
<yloc>1488</yloc>
<attributes_hac/>
</action>
<action>
@ -609,8 +609,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>800</xloc>
<yloc>912</yloc>
<xloc>1536</xloc>
<yloc>1488</yloc>
<attributes_hac/>
</action>
<action>
@ -643,8 +643,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>624</xloc>
<yloc>992</yloc>
<xloc>1360</xloc>
<yloc>1568</yloc>
<attributes_hac/>
</action>
<action>
@ -653,8 +653,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>800</xloc>
<yloc>992</yloc>
<xloc>1536</xloc>
<yloc>1568</yloc>
<attributes_hac/>
</action>
<action>
@ -687,8 +687,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>624</xloc>
<yloc>1056</yloc>
<xloc>1360</xloc>
<yloc>1632</yloc>
<attributes_hac/>
</action>
<action>
@ -697,8 +697,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>800</xloc>
<yloc>1056</yloc>
<xloc>1536</xloc>
<yloc>1632</yloc>
<attributes_hac/>
</action>
<action>
@ -723,8 +723,52 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>240</xloc>
<yloc>576</yloc>
<xloc>768</xloc>
<yloc>1088</yloc>
<attributes_hac/>
</action>
<action>
<name>appeals.reasons_appeal.hpl</name>
<description/>
<type>PIPELINE</type>
<attributes/>
<add_date>N</add_date>
<add_time>N</add_time>
<clear_files>N</clear_files>
<clear_rows>N</clear_rows>
<create_parent_folder>N</create_parent_folder>
<exec_per_row>Y</exec_per_row>
<filename>${PROJECT_HOME}/country/appeals.reasons_appeal.hpl</filename>
<loglevel>Basic</loglevel>
<parameters>
<parameter>
<name>VK_ARRAY</name>
<stream_name>VK_ARRAY_ID</stream_name>
</parameter>
<parameter>
<name>REG_ID</name>
<stream_name>RECRUITMENT_REG_ID</stream_name>
</parameter>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<params_from_previous>Y</params_from_previous>
<run_configuration>local</run_configuration>
<set_append_logfile>N</set_append_logfile>
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>1360</xloc>
<yloc>544</yloc>
<attributes_hac/>
</action>
<action>
<name>Success 5</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1536</xloc>
<yloc>544</yloc>
<attributes_hac/>
</action>
</actions>
@ -946,6 +990,20 @@
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>appeals.reasons_appeal.hpl</from>
<to>Success 5</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>select_recruitments_country</from>
<to>appeals.reasons_appeal.hpl</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
</hops>
<notepads>
</notepads>

View file

@ -74,7 +74,7 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>1088</xloc>
<xloc>1280</xloc>
<yloc>16</yloc>
<attributes_hac/>
</action>
@ -110,7 +110,7 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1296</xloc>
<xloc>1488</xloc>
<yloc>16</yloc>
<attributes_hac/>
</action>
@ -704,6 +704,16 @@
<yloc>464</yloc>
<attributes_hac/>
</action>
<action>
<name>Dummy</name>
<description/>
<type>DUMMY</type>
<attributes/>
<parallel>N</parallel>
<xloc>1088</xloc>
<yloc>16</yloc>
<attributes_hac/>
</action>
</actions>
<hops>
<hop>
@ -825,13 +835,6 @@
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>array_recruitments.hpl</from>
<to>main_dashboard.appeals(m_c).hpl</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>array_recruitments.hpl</from>
<to>main_dashboard.total_registered(m_c).hpl</to>
@ -937,6 +940,20 @@
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>array_recruitments.hpl</from>
<to>Dummy</to>
<enabled>N</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>Dummy</from>
<to>main_dashboard.appeals(m_c).hpl</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
</hops>
<notepads>
<notepad>
@ -954,8 +971,8 @@
<fontname>Segoe UI</fontname>
<fontsize>9</fontsize>
<height>73</height>
<xloc>1488</xloc>
<yloc>1072</yloc>
<xloc>1584</xloc>
<yloc>672</yloc>
<note>main_dashboard.recruitment_campaign - продумать разделение весна /осень, доработать под массивы и обьединить
recruitment_campaign.subpoena - продумать разделение весна /осень, доработать под массивы и обьединить
recruitment_campaign.appeals - продумать разделение весна /осень, доработать под массивы и обьединить

View file

@ -279,22 +279,10 @@ WHERE recording_date = current_date
ids AS (
SELECT unnest(string_to_array(trim(both '{}' from '${ARR_MC}'), ','))::uuid AS recruitment_id
),
season_separations AS (
SELECT 'Осень' AS spring_autumn
UNION ALL
SELECT 'Весна' AS spring_autumn
),
data_combinations AS (
-- Создаём все комбинации target_recruitment_id и spring_autumn
SELECT
i.recruitment_id AS recruitment_id,
ss.spring_autumn
FROM ids i
CROSS JOIN season_separations ss
),
subpoena_data AS (
SELECT
s.id AS subpoena_id,
s.create_date,
s.department_id AS recruitment_id,
s.status_id,
sr.type,
@ -305,7 +293,7 @@ subpoena_data AS (
rdi.applied_date AS ap_date,
rdi.id AS rdi_id,
ssi.delivery_code AS d_code,
ROW_NUMBER() OVER (PARTITION BY s.id ORDER BY sh.date_time DESC) AS rn -- добавляем строку для получения последнего статуса
ROW_NUMBER() OVER (PARTITION BY s.id ORDER BY sh.date_time DESC) AS rn
FROM public.subpoena s
JOIN public.subpoena_history AS sh ON sh.subpoena_id = s.id
JOIN public.subpoena_status AS ss ON ss.id = s.status_id
@ -314,37 +302,83 @@ subpoena_data AS (
LEFT JOIN public.restriction_document AS rd ON rd.subpoena_id = s.id
LEFT JOIN public.restriction_document_item AS rdi ON rdi.restriction_document_create_id = rd.id
LEFT JOIN public.subpoena_send_info AS ssi ON ssi.subpoena_id = s.id
WHERE sr.type = '1' -- от 18 до 30 лет и нет отсрочки (нужны эти условия), разделение весна/осень
WHERE sr.type = '3'
AND ssh.code NOT IN ('3.14', '3.7', '3.72', '3.71')
AND s.department_id::uuid IN (SELECT recruitment_id FROM ids)
),
last_status AS (
SELECT *
FROM subpoena_data
WHERE rn = 1 -- выбираем только последнюю запись для каждой повестки
WHERE rn = 1
),
season_separations AS (
/*
Осенний призыв:
Начало: 1 октября
Конец: 31 декабря
Весенний призыв:
Начало: 1 апреля
Конец: 15 июля
Весна
Если текущий период с 1 янаваря по 30 сентября текущего года ТО
обрезаем текущую дату до начала года, прибавляем 3 месяца(это начало весеннего призыва) И
обрезаем текущую дату до начала года, прибавляем 6 месяца и 15 дней(это конец весеннего призыва))//
Если текущий период с 1 октября по 31 декабря текущего года ТО
обрезаем текущую дату до начала года, прибавляем 3 месяца(это начало весеннего призыва) И
обрезаем текущую дату до начала года, прибавляем 6 месяца и 15 дней(это конец весеннего призыва))
Осень
Если текущий период с 1 января по 30 сентября текущего года ТО
create_date >= 1 октября прошлого года
create_date &lt;= 31 декабря прошлого года)
Если текущий период с 1 октября по 31 декабря текущего года ТО
create_date >= 1 октября текущего года
create_date &lt;= 31 декабря текущего года)
должно быть что-то похожее, но данных пока нет на текущие периоды
*/
SELECT
ls.recruitment_id,
ls.create_date,
CASE
WHEN EXTRACT(MONTH FROM ls.create_date) BETWEEN 1 AND 6 THEN 'Весна'
WHEN EXTRACT(MONTH FROM ls.create_date) BETWEEN 7 AND 12 THEN 'Осень'
END AS spring_autumn
FROM last_status ls
),
t1 AS (
SELECT
ls.recruitment_id,
COUNT(DISTINCT subpoena_id) AS count_subpoena
FROM last_status ls
ss.recruitment_id,
ss.spring_autumn,
COUNT(DISTINCT subpoena_id) AS count_subpoena
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
WHERE sub_stat_hist IS NOT NULL
GROUP BY ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
),
t2 AS (
SELECT
ls.recruitment_id,
COUNT(DISTINCT subpoena_id) AS count_appeared
FROM last_status ls
ss.recruitment_id,
ss.spring_autumn,
COUNT(DISTINCT subpoena_id) AS count_appeared
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
WHERE sub_stat_hist IN ('4.1', '4.2')
GROUP BY ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
),
t3 AS (
SELECT
ls.recruitment_id,
COUNT(DISTINCT subpoena_id) AS count_not_appeared
FROM last_status ls
ss.recruitment_id,
ss.spring_autumn,
COUNT(DISTINCT subpoena_id) AS count_not_appeared
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
WHERE sub_stat_hist = '5'
GROUP BY ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
)
SELECT
current_date AS recording_date,
@ -358,12 +392,12 @@ SELECT
0 AS postponement_granted,
0 AS postponement_have_right_percent,
0 AS postponement_granted_percent,
dc.spring_autumn,
dc.recruitment_id
FROM data_combinations dc
LEFT JOIN t1 ON dc.recruitment_id = t1.recruitment_id
LEFT JOIN t2 ON dc.recruitment_id = t2.recruitment_id
LEFT JOIN t3 ON dc.recruitment_id = t3.recruitment_id</sql>
ss.spring_autumn,
ss.recruitment_id
FROM season_separations ss
LEFT JOIN t1 ON ss.recruitment_id = t1.recruitment_id AND ss.spring_autumn = t1.spring_autumn
LEFT JOIN t2 ON ss.recruitment_id = t2.recruitment_id AND ss.spring_autumn = t2.spring_autumn
LEFT JOIN t3 ON ss.recruitment_id = t3.recruitment_id AND ss.spring_autumn = t3.spring_autumn;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>

View file

@ -61,11 +61,8 @@
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<delete_field/>
<execute_each_row>N</execute_each_row>
<insert_field/>
<quoteString>N</quoteString>
<read_field/>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
@ -73,7 +70,6 @@
WHERE recording_date = current_date
AND schema IN ('Department', 'MD_LVL', 'REG_LVL', 'empty')
</sql>
<update_field/>
<attributes/>
<GUI>
<xloc>288</xloc>
@ -262,7 +258,7 @@ WHERE recording_date = current_date
<method>none</method>
<schema_name/>
</partitioning>
<connection>postgres.person_registry</connection>
<connection>ervu_person_registry</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH

View file

@ -61,11 +61,8 @@
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<delete_field/>
<execute_each_row>N</execute_each_row>
<insert_field/>
<quoteString>N</quoteString>
<read_field/>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
@ -73,7 +70,6 @@
WHERE recording_date = current_date
AND schema IN ('Department', 'MD_LVL', 'REG_LVL', 'empty')
</sql>
<update_field/>
<attributes/>
<GUI>
<xloc>112</xloc>
@ -267,7 +263,7 @@ WHERE recording_date = current_date
<method>none</method>
<schema_name/>
</partitioning>
<connection>postgres.person_registry</connection>
<connection>ervu_person_registry</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH

View file

@ -20,11 +20,6 @@
<notepads>
</notepads>
<order>
<hop>
<from>Table input</from>
<to>Insert / update (main_dashboard.appeals)</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input</from>
<to>Insert / update (main_dashboard.total_registered)</to>
@ -82,20 +77,47 @@
</hop>
<hop>
<from>Table input</from>
<to>Insert / update (recruitment_campaign.appeals)</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input</from>
<to>Dummy (do nothing)</to>
<enabled>N</enabled>
</hop>
<hop>
<from>Dummy (do nothing)</from>
<to>Insert / update (main_dashboard.appeals)</to>
<enabled>N</enabled>
</hop>
<hop>
<from>Table input main_dashboard.recruitment_campaign</from>
<to>Insert / update (main_dashboard.recruitment_campaign)</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input</from>
<from>Table input recruitment_campaign.subpoenas</from>
<to>Insert / update (recruitment_campaign.subpoenas)</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input</from>
<to>Insert / update (recruitment_campaign.appeals)</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Dummy (do nothing)</name>
<type>Dummy</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<attributes/>
<GUI>
<xloc>1200</xloc>
<yloc>400</yloc>
</GUI>
</transform>
<transform>
<name>Insert / update (main_dashboard.appeals)</name>
<type>InsertUpdate</type>
@ -141,7 +163,7 @@
<update_bypassed>N</update_bypassed>
<attributes/>
<GUI>
<xloc>1200</xloc>
<xloc>1440</xloc>
<yloc>400</yloc>
</GUI>
</transform>
@ -169,6 +191,11 @@
<field>recording_date</field>
<name>recording_date</name>
</key>
<key>
<condition>=</condition>
<field>spring_autumn</field>
<name>spring_autumn</name>
</key>
<schema>main_dashboard</schema>
<table>recruitment_campaign</table>
<value>
@ -186,12 +213,67 @@
<rename>recording_date</rename>
<update>N</update>
</value>
<value>
<name>appeared_on_subpoenas</name>
<rename>appeared_on_subpoenas</rename>
<update>N</update>
</value>
<value>
<name>appeared_on_subpoenas_percent</name>
<rename>appeared_on_subpoenas_percent</rename>
<update>N</update>
</value>
<value>
<name>new_recruits</name>
<rename>new_recruits</rename>
<update>N</update>
</value>
<value>
<name>not_appeared_on_subpoenas</name>
<rename>not_appeared_on_subpoenas</rename>
<update>N</update>
</value>
<value>
<name>not_appeared_on_subpoenas_percent</name>
<rename>not_appeared_on_subpoenas_percent</rename>
<update>N</update>
</value>
<value>
<name>postponement_granted</name>
<rename>postponement_granted</rename>
<update>N</update>
</value>
<value>
<name>postponement_granted_percent</name>
<rename>postponement_granted_percent</rename>
<update>N</update>
</value>
<value>
<name>postponement_have_right</name>
<rename>postponement_have_right</rename>
<update>N</update>
</value>
<value>
<name>postponement_have_right_percent</name>
<rename>postponement_have_right_percent</rename>
<update>N</update>
</value>
<value>
<name>subpoenas_sent</name>
<rename>subpoenas_sent</rename>
<update>N</update>
</value>
<value>
<name>spring_autumn</name>
<rename>spring_autumn</rename>
<update>Y</update>
</value>
</lookup>
<update_bypassed>N</update_bypassed>
<attributes/>
<GUI>
<xloc>1200</xloc>
<yloc>464</yloc>
<xloc>960</xloc>
<yloc>272</yloc>
</GUI>
</transform>
<transform>
@ -359,11 +441,19 @@
<condition>=</condition>
<field>recruitment_id</field>
<name>recruitment_id</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>recording_date</field>
<name>recording_date</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>spring_autumn</field>
<name>spring_autumn</name>
<name2/>
</key>
<schema>recruitment_campaign</schema>
<table>subpoenas</table>
@ -382,12 +472,107 @@
<rename>recording_date</rename>
<update>N</update>
</value>
<value>
<name>ap_not_required</name>
<rename>ap_not_required</rename>
<update>N</update>
</value>
<value>
<name>ap_not_required_percent</name>
<rename>ap_not_required_percent</rename>
<update>N</update>
</value>
<value>
<name>appear_date_is_good</name>
<rename>appear_date_is_good</rename>
<update>N</update>
</value>
<value>
<name>appear_date_is_good_percent</name>
<rename>appear_date_is_good_percent</rename>
<update>N</update>
</value>
<value>
<name>appeared</name>
<rename>appeared</rename>
<update>N</update>
</value>
<value>
<name>appeared_percent</name>
<rename>appeared_percent</rename>
<update>N</update>
</value>
<value>
<name>count_not_delivery</name>
<rename>count_not_delivery</rename>
<update>N</update>
</value>
<value>
<name>introduced_measures</name>
<rename>introduced_measures</rename>
<update>N</update>
</value>
<value>
<name>introduced_measures_percent</name>
<rename>introduced_measures_percent</rename>
<update>N</update>
</value>
<value>
<name>not_ap_good_reason</name>
<rename>not_ap_good_reason</rename>
<update>N</update>
</value>
<value>
<name>not_ap_good_reason_percent</name>
<rename>not_ap_good_reason_percent</rename>
<update>N</update>
</value>
<value>
<name>not_appeared</name>
<rename>not_appeared</rename>
<update>N</update>
</value>
<value>
<name>not_appeared_percent</name>
<rename>not_appeared_percent</rename>
<update>N</update>
</value>
<value>
<name>not_delivery_percent</name>
<rename>not_delivery_percent</rename>
<update>N</update>
</value>
<value>
<name>rest</name>
<rename>rest</rename>
<update>N</update>
</value>
<value>
<name>restrictions_applied</name>
<rename>restrictions_applied</rename>
<update>N</update>
</value>
<value>
<name>restrictions_applied_percent</name>
<rename>restrictions_applied_percent</rename>
<update>N</update>
</value>
<value>
<name>subpoena</name>
<rename>subpoena</rename>
<update>N</update>
</value>
<value>
<name>spring_autumn</name>
<rename>spring_autumn</rename>
<update>Y</update>
</value>
</lookup>
<update_bypassed>N</update_bypassed>
<attributes/>
<GUI>
<xloc>1200</xloc>
<yloc>1408</yloc>
<xloc>960</xloc>
<yloc>352</yloc>
</GUI>
</transform>
<transform>
@ -866,6 +1051,120 @@ WHERE schema in ('Department', 'Organization', 'Region') </sql>
<yloc>928</yloc>
</GUI>
</transform>
<transform>
<name>Table input main_dashboard.recruitment_campaign</name>
<type>TableInput</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH
season_separations AS (
SELECT 'Осень' AS spring_autumn
UNION ALL
SELECT 'Весна' AS spring_autumn
)
SELECT
0 AS new_recruits,
0 AS subpoenas_sent,
0 AS appeared_on_subpoenas,
0 AS not_appeared_on_subpoenas,
0 AS postponement_have_right,
0 AS postponement_granted,
0 AS appeared_on_subpoenas_percent,
0 AS not_appeared_on_subpoenas_percent,
0 AS postponement_have_right_percent,
0 AS postponement_granted_percent,
ss.spring_autumn,
idm_id AS recruitment_id,
-- parent_id AS PARENT_ID,
CASE
WHEN schema = 'Department' THEN 'Department'
WHEN schema = 'Organization' THEN 'REG_LVL'
WHEN schema = 'Region' THEN 'MD_LVL'
WHEN schema = 'Ministry' THEN 'Ministry'
ELSE schema -- на случай, если появится неизвестное значение
END AS schema,
current_date AS recording_date
FROM
ervu_dashboard.recruitment
CROSS JOIN season_separations ss
WHERE schema in ('Department', 'Organization', 'Region') </sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>592</xloc>
<yloc>272</yloc>
</GUI>
</transform>
<transform>
<name>Table input recruitment_campaign.subpoenas</name>
<type>TableInput</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH
season_separations AS (
SELECT 'Осень' AS spring_autumn
UNION ALL
SELECT 'Весна' AS spring_autumn
)
SELECT
0 AS subpoena,
0 AS appeared,
0 AS not_appeared,
0 AS not_ap_good_reason,
0 AS ap_not_required,
0 AS restrictions_applied,
0 AS appeared_percent,
0 AS not_appeared_percent,
0 AS not_ap_good_reason_percent,
0 AS ap_not_required_percent,
0 AS restrictions_applied_percent,
0 AS introduced_measures,
0 AS introduced_measures_percent,
0 AS rest,
0 AS count_not_delivery,
0 AS not_delivery_percent,
0 AS appear_date_is_good,
0 AS appear_date_is_good_percent,
ss.spring_autumn,
idm_id AS recruitment_id,
-- parent_id AS PARENT_ID,
CASE
WHEN schema = 'Department' THEN 'Department'
WHEN schema = 'Organization' THEN 'REG_LVL'
WHEN schema = 'Region' THEN 'MD_LVL'
WHEN schema = 'Ministry' THEN 'Ministry'
ELSE schema -- на случай, если появится неизвестное значение
END AS schema,
current_date AS recording_date
FROM
ervu_dashboard.recruitment
CROSS JOIN season_separations ss
WHERE schema in ('Department', 'Organization', 'Region') </sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>592</xloc>
<yloc>352</yloc>
</GUI>
</transform>
<transform_error_handling>
</transform_error_handling>
<attributes/>

View file

@ -319,22 +319,10 @@ WHERE recording_date = current_date
ids AS (
SELECT unnest(string_to_array(trim(both '{}' from '${ARR_MC}'), ','))::uuid AS recruitment_id
),
season_separations AS (
SELECT 'Осень' AS spring_autumn
UNION ALL
SELECT 'Весна' AS spring_autumn
),
data_combinations AS (
-- Создаём все комбинации target_recruitment_id и spring_autumn
SELECT
i.recruitment_id AS recruitment_id,
ss.spring_autumn
FROM ids i
CROSS JOIN season_separations ss
),
subpoena_data AS (
SELECT
s.id AS subpoena_id,
s.create_date,
s.department_id AS recruitment_id,
s.status_id,
sr.type,
@ -363,108 +351,172 @@ last_status AS (
FROM subpoena_data
WHERE rn = 1
),
season_separations AS (
/*
Осенний призыв:
Начало: 1 октября
Конец: 31 декабря
Весенний призыв:
Начало: 1 апреля
Конец: 15 июля
-- Весна
-- Если текущий период с 1 янаваря по 30 сентября текущего года ТО
(-- обрезаем текущую дату до начала года, прибавляем 3 месяца(это начало весеннего призыва) И
-- обрезаем текущую дату до начала года, прибавляем 6 месяца и 15 дней(это конец весеннего призыва))//
-- Если текущий период с 1 октября по 31 декабря текущего года ТО
(-- обрезаем текущую дату до начала года, прибавляем 3 месяца(это начало весеннего призыва) И
-- обрезаем текущую дату до начала года, прибавляем 6 месяца и 15 дней(это конец весеннего призыва))
-- Осень
-- Если текущий период с 1 января по 30 сентября текущего года ТО
(-- create_date >= 1 октября прошлого года
-- create_date &lt;= 31 декабря прошлого года)
-- Если текущий период с 1 октября по 31 декабря текущего года ТО
(-- create_date >= 1 октября текущего года
-- create_date &lt;= 31 декабря текущего года)
--должно быть что-то похожее, но данных пока нет на текущие периоды
*/
SELECT
ls.recruitment_id,
ls.create_date,
CASE
WHEN EXTRACT(MONTH FROM ls.create_date) BETWEEN 1 AND 6 THEN 'Весна'
WHEN EXTRACT(MONTH FROM ls.create_date) BETWEEN 7 AND 12 THEN 'Осень'
END AS spring_autumn
FROM last_status ls
),
t1 AS (
SELECT
ls.recruitment_id,
ss.recruitment_id,
ss.spring_autumn,
COUNT(DISTINCT subpoena_id) AS count_subpoena
FROM last_status ls
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
WHERE sub_stat_hist IS NOT NULL
GROUP BY ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
),
t2 AS (
SELECT
ls.recruitment_id,
ss.recruitment_id,
ss.spring_autumn,
ROUND(AVG(EXTRACT(DAY FROM (history_date::timestamp - send_date::timestamp))), 1) AS average_appeared
FROM last_status ls
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
WHERE sub_stat_hist IN ('4.1', '4.2', '4')
GROUP BY ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
),
t3 AS (
SELECT
ls.recruitment_id,
ss.recruitment_id,
ss.spring_autumn,
COUNT(DISTINCT subpoena_id) AS count_appeared
FROM last_status ls
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
WHERE sub_stat_hist IN ('4.1', '4.2', '4')
GROUP BY ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
),
t4 AS (
SELECT
ls.recruitment_id,
ss.recruitment_id,
ss.spring_autumn,
COUNT(DISTINCT subpoena_id) AS count_not_appeared
FROM last_status ls
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
WHERE sub_stat_hist = '5'
GROUP BY ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
),
t5 AS (
SELECT
ls.recruitment_id,
ss.recruitment_id,
ss.spring_autumn,
COUNT(DISTINCT subpoena_id) AS count_not_ap_good_reason
FROM last_status ls
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
WHERE sub_stat_hist = '5.1'
GROUP BY ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
),
t6 AS (
SELECT
ls.recruitment_id,
ss.recruitment_id,
ss.spring_autumn,
COUNT(DISTINCT subpoena_id) AS count_ap_not_required
FROM last_status ls
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
WHERE sub_stat_hist IN ('3.8', '5.2')
GROUP BY ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
),
t7 AS (
SELECT
ls.recruitment_id,
ss.recruitment_id,
ss.spring_autumn,
COUNT(DISTINCT subpoena_id) AS count_restrictions_applied
FROM last_status ls
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
WHERE restr_dc IS NULL
GROUP BY ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
),
t8 AS (
SELECT
ls.recruitment_id,
ss.recruitment_id,
ss.spring_autumn,
COUNT(DISTINCT subpoena_id) AS count_introduced_measures
FROM last_status ls
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
WHERE restr_dc IS NULL AND ap_date IS NOT NULL
GROUP BY ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
),
t9 AS (
SELECT
ls.recruitment_id,
ss.recruitment_id,
ss.spring_autumn,
COUNT(DISTINCT subpoena_id) AS count_paper
FROM last_status ls
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
WHERE d_code != '7'
GROUP BY ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
),
t10 AS (
SELECT
ls.recruitment_id,
ss.recruitment_id,
ss.spring_autumn,
COUNT(DISTINCT subpoena_id) AS count_electron
FROM last_status ls
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
WHERE d_code = '7'
GROUP BY ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
),
t11 AS (
SELECT
ls.recruitment_id,
ss.recruitment_id,
ss.spring_autumn,
COUNT (DISTINCT rdi_id) AS count_restrictions
FROM last_status ls
GROUP BY ls.recruitment_id
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
),
t12 AS (
SELECT
ls.recruitment_id,
ss.recruitment_id,
ss.spring_autumn,
COUNT(DISTINCT subpoena_id) AS count_not_delivery
FROM last_status ls
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
WHERE d_code IS NULL
GROUP BY ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
),
t13 AS (
SELECT
ls.recruitment_id,
ss.recruitment_id,
ss.spring_autumn,
COUNT(DISTINCT subpoena_id) AS appear_date_is_good
FROM last_status ls
FROM season_separations ss
JOIN last_status ls ON ss.recruitment_id = ls.recruitment_id
WHERE sub_stat_hist IN ('3','3.12', '3.13', '3.15', '3.1')
GROUP BY ls.recruitment_id
GROUP BY ss.recruitment_id, ss.spring_autumn
)
SELECT
current_date AS recording_date,
@ -481,33 +533,33 @@ SELECT
COALESCE(t11.count_restrictions, 0) AS count_restrictions,
COALESCE(t12.count_not_delivery, 0) AS count_not_delivery,
COALESCE(t13.appear_date_is_good, 0) AS appear_date_is_good,
COALESCE(ROUND(COALESCE(t3.count_appeared, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2), 0) AS appeared_percent,
COALESCE(ROUND(COALESCE(t4.count_not_appeared, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2), 0) AS not_appeared_percent,
COALESCE(ROUND(COALESCE(t5.count_not_ap_good_reason, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2), 0) AS not_ap_good_reason_percent,
COALESCE(ROUND(COALESCE(t6.count_ap_not_required, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2), 0) AS ap_not_required_percent,
COALESCE(ROUND(COALESCE(t10.count_electron, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2), 0) AS electron_percent,
COALESCE(ROUND(COALESCE(t9.count_paper, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2), 0) AS paper_percent,
COALESCE(ROUND(COALESCE(t7.count_restrictions_applied, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2), 0) AS restrictions_applied_percent,
COALESCE(ROUND(COALESCE(t8.count_introduced_measures, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2), 0) AS introduced_measures_percent,
COALESCE(ROUND(COALESCE(t12.count_not_delivery, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2), 0) AS not_delivery_percent,
COALESCE(ROUND(COALESCE(t13.appear_date_is_good, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2), 0) AS appear_date_is_good_percent,
dc.recruitment_id,
ROUND(COALESCE(t3.count_appeared, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2) AS appeared_percent,
ROUND(COALESCE(t4.count_not_appeared, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2) AS not_appeared_percent,
ROUND(COALESCE(t5.count_not_ap_good_reason, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2) AS not_ap_good_reason_percent,
ROUND(COALESCE(t6.count_ap_not_required, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2) AS ap_not_required_percent,
ROUND(COALESCE(t10.count_electron, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2) AS electron_percent,
ROUND(COALESCE(t9.count_paper, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2) AS paper_percent,
ROUND(COALESCE(t7.count_restrictions_applied, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2) AS restrictions_applied_percent,
ROUND(COALESCE(t8.count_introduced_measures, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2) AS introduced_measures_percent,
ROUND(COALESCE(t12.count_not_delivery, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2) AS not_delivery_percent,
ROUND(COALESCE(t13.appear_date_is_good, 0) * 100.0 / NULLIF(t1.count_subpoena, 0), 2) AS appear_date_is_good_percent,
ss.recruitment_id,
0 AS rest,
dc.spring_autumn
FROM data_combinations dc
LEFT JOIN t1 ON dc.recruitment_id = t1.recruitment_id
LEFT JOIN t2 ON dc.recruitment_id = t2.recruitment_id
LEFT JOIN t3 ON dc.recruitment_id = t3.recruitment_id
LEFT JOIN t4 ON dc.recruitment_id = t4.recruitment_id
LEFT JOIN t5 ON dc.recruitment_id = t5.recruitment_id
LEFT JOIN t6 ON dc.recruitment_id = t6.recruitment_id
LEFT JOIN t7 ON dc.recruitment_id = t7.recruitment_id
LEFT JOIN t8 ON dc.recruitment_id = t8.recruitment_id
LEFT JOIN t9 ON dc.recruitment_id = t9.recruitment_id
LEFT JOIN t10 ON dc.recruitment_id = t10.recruitment_id
LEFT JOIN t11 ON dc.recruitment_id = t11.recruitment_id
LEFT JOIN t12 ON dc.recruitment_id = t12.recruitment_id
LEFT JOIN t13 ON dc.recruitment_id = t13.recruitment_id</sql>
ss.spring_autumn
FROM season_separations ss
LEFT JOIN t1 ON ss.recruitment_id = t1.recruitment_id
LEFT JOIN t2 ON ss.recruitment_id = t2.recruitment_id
LEFT JOIN t3 ON ss.recruitment_id = t3.recruitment_id
LEFT JOIN t4 ON ss.recruitment_id = t4.recruitment_id
LEFT JOIN t5 ON ss.recruitment_id = t5.recruitment_id
LEFT JOIN t6 ON ss.recruitment_id = t6.recruitment_id
LEFT JOIN t7 ON ss.recruitment_id = t7.recruitment_id
LEFT JOIN t8 ON ss.recruitment_id = t8.recruitment_id
LEFT JOIN t9 ON ss.recruitment_id = t9.recruitment_id
LEFT JOIN t10 ON ss.recruitment_id = t10.recruitment_id
LEFT JOIN t11 ON ss.recruitment_id = t11.recruitment_id
LEFT JOIN t12 ON ss.recruitment_id = t12.recruitment_id
LEFT JOIN t13 ON ss.recruitment_id = t13.recruitment_id</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>

View file

@ -61,11 +61,8 @@
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<delete_field/>
<execute_each_row>N</execute_each_row>
<insert_field/>
<quoteString>N</quoteString>
<read_field/>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
@ -73,7 +70,6 @@
WHERE recording_date = current_date
AND schema IN ('Department', 'MD_LVL', 'REG_LVL', 'empty')
</sql>
<update_field/>
<attributes/>
<GUI>
<xloc>1040</xloc>

View file

@ -61,11 +61,8 @@
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<delete_field/>
<execute_each_row>N</execute_each_row>
<insert_field/>
<quoteString>N</quoteString>
<read_field/>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
@ -73,7 +70,6 @@
WHERE recording_date = current_date
AND schema IN ('Department', 'MD_LVL', 'REG_LVL', 'empty')
</sql>
<update_field/>
<attributes/>
<GUI>
<xloc>464</xloc>
@ -287,7 +283,7 @@ WHERE recording_date = current_date
<method>none</method>
<schema_name/>
</partitioning>
<connection>postgres.person_registry</connection>
<connection>ervu_person_registry</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH

View file

@ -0,0 +1,348 @@
<?xml version="1.0" encoding="UTF-8"?>
<pipeline>
<info>
<name>appeals.reasons_appeal(m_d)</name>
<name_sync_with_filename>Y</name_sync_with_filename>
<description/>
<extended_description/>
<pipeline_version/>
<pipeline_type>Normal</pipeline_type>
<parameters>
</parameters>
<capture_transform_performance>N</capture_transform_performance>
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
<created_user>-</created_user>
<created_date>2025/01/28 10:29:54.859</created_date>
<modified_user>-</modified_user>
<modified_date>2025/01/28 10:29:54.859</modified_date>
</info>
<notepads>
</notepads>
<order>
<hop>
<from>Execute SQL script</from>
<to>Table input (appeal_document) регионы</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Get variables 3 2</from>
<to>Select values 3 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update (main_dashboard.appeals) 2</from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Select values 3 2</from>
<to>Insert / update (main_dashboard.appeals) 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input (appeal_document) регионы</from>
<to>Get variables 3 2</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM appeals.reasons_appeal
WHERE recording_date = current_date
AND schema = 'Region'
AND recruitment_id = '${MD_ID}'</sql>
<attributes/>
<GUI>
<xloc>320</xloc>
<yloc>256</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM appeals.reasons_appeal
WHERE recording_date = current_date
AND schema = 'MD_LVL'
AND recruitment_id = '${MD_ID}'</sql>
<attributes/>
<GUI>
<xloc>1344</xloc>
<yloc>256</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 3 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>MD_ID</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
<field>
<length>-1</length>
<name>MD_ARRAY</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
</fields>
<attributes/>
<GUI>
<xloc>752</xloc>
<yloc>256</yloc>
</GUI>
</transform>
<transform>
<name>Insert / update (main_dashboard.appeals) 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>MD_ID</name>
</key>
<key>
<condition>=</condition>
<field>schema</field>
<name>schema</name>
</key>
<schema>appeals</schema>
<table>reasons_appeal</table>
<value>
<name>appeal</name>
<rename>appeal</rename>
<update>Y</update>
</value>
<value>
<name>incorrect_inf</name>
<rename>incorrect_inf</rename>
<update>Y</update>
</value>
<value>
<name>incorrect_inf_percent</name>
<rename>incorrect_inf_percent</rename>
<update>Y</update>
</value>
<value>
<name>no_data</name>
<rename>no_data</rename>
<update>Y</update>
</value>
<value>
<name>no_data_percent</name>
<rename>no_data_percent</rename>
<update>Y</update>
</value>
<value>
<name>other</name>
<rename>other</rename>
<update>Y</update>
</value>
<value>
<name>other_percent</name>
<rename>other_percent</rename>
<update>Y</update>
</value>
<value>
<name>recruitment_id</name>
<rename>recruitment_id</rename>
<update>N</update>
</value>
<value>
<name>schema</name>
<rename>schema</rename>
<update>N</update>
</value>
</lookup>
<update_bypassed>Y</update_bypassed>
<attributes/>
<GUI>
<xloc>1104</xloc>
<yloc>256</yloc>
</GUI>
</transform>
<transform>
<name>Select values 3 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>MD_ID</name>
<rename>MD_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>MD_ARRAY</name>
<rename>MD_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>896</xloc>
<yloc>256</yloc>
</GUI>
</transform>
<transform>
<name>Table input (appeal_document) регионы</name>
<type>TableInput</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT
CASE WHEN '${MD_ARRAY}' IS NULL OR '${MD_ARRAY}' = '' THEN 0 ELSE SUM(appeal) END AS appeal,
CASE WHEN '${MD_ARRAY}' IS NULL OR '${MD_ARRAY}' = '' THEN 0 ELSE SUM(incorrect_inf) END AS incorrect_inf,
CASE WHEN '${MD_ARRAY}' IS NULL OR '${MD_ARRAY}' = '' THEN 0 ELSE SUM(no_data) END AS no_data,
CASE WHEN '${MD_ARRAY}' IS NULL OR '${MD_ARRAY}' = '' THEN 0 ELSE SUM(other) END AS other,
CASE
WHEN '${MD_ARRAY}' IS NULL OR '${MD_ARRAY}' = ''
THEN 0
ELSE COALESCE(
CASE
WHEN SUM(appeal) > 0
THEN ROUND((SUM(incorrect_inf) / SUM(appeal) * 100), 2)
ELSE 0
END,
0
)
END AS incorrect_inf_percent,
CASE
WHEN '${MD_ARRAY}' IS NULL OR '${MD_ARRAY}' = ''
THEN 0
ELSE COALESCE(
CASE
WHEN SUM(appeal) > 0
THEN ROUND((SUM(no_data) / SUM(appeal) * 100), 2)
ELSE 0
END,
0
)
END AS no_data_percent,
CASE
WHEN '${MD_ARRAY}' IS NULL OR '${MD_ARRAY}' = ''
THEN 0
ELSE COALESCE(
CASE
WHEN SUM(appeal) > 0
THEN ROUND((SUM(other) / SUM(appeal) * 100), 2)
ELSE 0
END,
0
)
END AS other_percent,
'${MD_ID}' AS recruitment_id,
'Region' AS schema
FROM appeals.reasons_appeal
WHERE recruitment_id = ANY (
string_to_array(
trim(both '{}' FROM replace('${MD_ARRAY}', ' ', '')), ','
)::uuid[]
)
AND schema = 'Organization'
AND recording_date = CURRENT_DATE;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
<xloc>528</xloc>
<yloc>256</yloc>
</GUI>
</transform>
<transform_error_handling>
</transform_error_handling>
<attributes/>
</pipeline>

View file

@ -42,8 +42,8 @@
<schedulerType>0</schedulerType>
<weekDay>1</weekDay>
<parallel>N</parallel>
<xloc>112</xloc>
<yloc>464</yloc>
<xloc>208</xloc>
<yloc>1152</yloc>
<attributes_hac/>
</action>
<action>
@ -78,8 +78,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>704</xloc>
<yloc>16</yloc>
<xloc>1296</xloc>
<yloc>688</yloc>
<attributes_hac/>
</action>
<action>
@ -88,8 +88,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>960</xloc>
<yloc>16</yloc>
<xloc>1552</xloc>
<yloc>688</yloc>
<attributes_hac/>
</action>
<action>
@ -122,8 +122,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>704</xloc>
<yloc>80</yloc>
<xloc>1296</xloc>
<yloc>752</yloc>
<attributes_hac/>
</action>
<action>
@ -132,8 +132,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>960</xloc>
<yloc>80</yloc>
<xloc>1552</xloc>
<yloc>752</yloc>
<attributes_hac/>
</action>
<action>
@ -168,8 +168,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>704</xloc>
<yloc>144</yloc>
<xloc>1296</xloc>
<yloc>816</yloc>
<attributes_hac/>
</action>
<action>
@ -178,8 +178,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>960</xloc>
<yloc>144</yloc>
<xloc>1552</xloc>
<yloc>816</yloc>
<attributes_hac/>
</action>
<action>
@ -212,8 +212,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>704</xloc>
<yloc>208</yloc>
<xloc>1296</xloc>
<yloc>880</yloc>
<attributes_hac/>
</action>
<action>
@ -222,8 +222,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>960</xloc>
<yloc>208</yloc>
<xloc>1552</xloc>
<yloc>880</yloc>
<attributes_hac/>
</action>
<action>
@ -256,8 +256,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>704</xloc>
<yloc>272</yloc>
<xloc>1296</xloc>
<yloc>944</yloc>
<attributes_hac/>
</action>
<action>
@ -266,8 +266,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>960</xloc>
<yloc>272</yloc>
<xloc>1552</xloc>
<yloc>944</yloc>
<attributes_hac/>
</action>
<action>
@ -300,8 +300,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>704</xloc>
<yloc>336</yloc>
<xloc>1296</xloc>
<yloc>1008</yloc>
<attributes_hac/>
</action>
<action>
@ -310,8 +310,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>960</xloc>
<yloc>336</yloc>
<xloc>1552</xloc>
<yloc>1008</yloc>
<attributes_hac/>
</action>
<action>
@ -344,8 +344,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>704</xloc>
<yloc>400</yloc>
<xloc>1296</xloc>
<yloc>1072</yloc>
<attributes_hac/>
</action>
<action>
@ -354,8 +354,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>960</xloc>
<yloc>400</yloc>
<xloc>1552</xloc>
<yloc>1072</yloc>
<attributes_hac/>
</action>
<action>
@ -388,8 +388,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>704</xloc>
<yloc>464</yloc>
<xloc>1296</xloc>
<yloc>1136</yloc>
<attributes_hac/>
</action>
<action>
@ -398,8 +398,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>960</xloc>
<yloc>464</yloc>
<xloc>1552</xloc>
<yloc>1136</yloc>
<attributes_hac/>
</action>
<action>
@ -432,8 +432,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>704</xloc>
<yloc>544</yloc>
<xloc>1296</xloc>
<yloc>1216</yloc>
<attributes_hac/>
</action>
<action>
@ -442,8 +442,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>960</xloc>
<yloc>544</yloc>
<xloc>1552</xloc>
<yloc>1216</yloc>
<attributes_hac/>
</action>
<action>
@ -476,8 +476,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>704</xloc>
<yloc>608</yloc>
<xloc>1296</xloc>
<yloc>1280</yloc>
<attributes_hac/>
</action>
<action>
@ -486,8 +486,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>960</xloc>
<yloc>608</yloc>
<xloc>1552</xloc>
<yloc>1280</yloc>
<attributes_hac/>
</action>
<action>
@ -520,8 +520,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>704</xloc>
<yloc>688</yloc>
<xloc>1296</xloc>
<yloc>1360</yloc>
<attributes_hac/>
</action>
<action>
@ -530,8 +530,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>960</xloc>
<yloc>688</yloc>
<xloc>1552</xloc>
<yloc>1360</yloc>
<attributes_hac/>
</action>
<action>
@ -564,8 +564,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>704</xloc>
<yloc>768</yloc>
<xloc>1296</xloc>
<yloc>1440</yloc>
<attributes_hac/>
</action>
<action>
@ -574,8 +574,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>960</xloc>
<yloc>768</yloc>
<xloc>1552</xloc>
<yloc>1440</yloc>
<attributes_hac/>
</action>
<action>
@ -608,8 +608,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>704</xloc>
<yloc>848</yloc>
<xloc>1296</xloc>
<yloc>1520</yloc>
<attributes_hac/>
</action>
<action>
@ -618,8 +618,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>960</xloc>
<yloc>848</yloc>
<xloc>1552</xloc>
<yloc>1520</yloc>
<attributes_hac/>
</action>
<action>
@ -652,8 +652,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>704</xloc>
<yloc>928</yloc>
<xloc>1296</xloc>
<yloc>1600</yloc>
<attributes_hac/>
</action>
<action>
@ -662,8 +662,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>960</xloc>
<yloc>928</yloc>
<xloc>1552</xloc>
<yloc>1600</yloc>
<attributes_hac/>
</action>
<action>
@ -696,8 +696,8 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>704</xloc>
<yloc>1008</yloc>
<xloc>1296</xloc>
<yloc>1680</yloc>
<attributes_hac/>
</action>
<action>
@ -706,8 +706,8 @@
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>960</xloc>
<yloc>1008</yloc>
<xloc>1552</xloc>
<yloc>1680</yloc>
<attributes_hac/>
</action>
<action>
@ -730,8 +730,52 @@
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>320</xloc>
<yloc>464</yloc>
<xloc>416</xloc>
<yloc>1152</yloc>
<attributes_hac/>
</action>
<action>
<name>appeals.reasons_appeal(m_d).hpl</name>
<description/>
<type>PIPELINE</type>
<attributes/>
<add_date>N</add_date>
<add_time>N</add_time>
<clear_files>N</clear_files>
<clear_rows>N</clear_rows>
<create_parent_folder>N</create_parent_folder>
<exec_per_row>Y</exec_per_row>
<filename>${PROJECT_HOME}/mil_district/appeals.reasons_appeal(m_d).hpl</filename>
<loglevel>Basic</loglevel>
<parameters>
<parameter>
<name>MD_ARRAY</name>
<stream_name>MD_ARRAY_ID</stream_name>
</parameter>
<parameter>
<name>MD_ID</name>
<stream_name>RECRUITMENT_MD_ID</stream_name>
</parameter>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<params_from_previous>Y</params_from_previous>
<run_configuration>local</run_configuration>
<set_append_logfile>N</set_append_logfile>
<set_logfile>N</set_logfile>
<wait_until_finished>Y</wait_until_finished>
<parallel>N</parallel>
<xloc>1296</xloc>
<yloc>624</yloc>
<attributes_hac/>
</action>
<action>
<name>Success 5</name>
<description/>
<type>SUCCESS</type>
<attributes/>
<parallel>N</parallel>
<xloc>1552</xloc>
<yloc>624</yloc>
<attributes_hac/>
</action>
</actions>
@ -953,6 +997,20 @@
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>job_get_rows_mildis.hwf</from>
<to>appeals.reasons_appeal(m_d).hpl</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>appeals.reasons_appeal(m_d).hpl</from>
<to>Success 5</to>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
</hops>
<notepads>
</notepads>

View file

@ -0,0 +1,365 @@
<?xml version="1.0" encoding="UTF-8"?>
<pipeline>
<info>
<name>appeals.reasons_appeal(reg)</name>
<name_sync_with_filename>Y</name_sync_with_filename>
<description/>
<extended_description/>
<pipeline_version/>
<pipeline_type>Normal</pipeline_type>
<parameters>
</parameters>
<capture_transform_performance>N</capture_transform_performance>
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
<created_user>-</created_user>
<created_date>2025/01/27 11:51:55.468</created_date>
<modified_user>-</modified_user>
<modified_date>2025/01/27 11:51:55.468</modified_date>
</info>
<notepads>
</notepads>
<order>
<hop>
<from>Execute SQL script</from>
<to>Table input (appeal_document) регионы</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Get variables 3 2</from>
<to>Select values 3 2</to>
<enabled>N</enabled>
</hop>
<hop>
<from>Insert / update (main_dashboard.appeals) 2</from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Select values 3 2</from>
<to>Insert / update (main_dashboard.appeals) 2</to>
<enabled>N</enabled>
</hop>
<hop>
<from>Table input (appeal_document) регионы</from>
<to>Get variables 3 2</to>
<enabled>N</enabled>
</hop>
<hop>
<from>Table input (appeal_document) регионы</from>
<to>Insert / update (main_dashboard.appeals) 2</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>N</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM appeals.reasons_appeal
WHERE recording_date = current_date
AND schema = 'Organization'</sql>
<attributes/>
<GUI>
<xloc>512</xloc>
<yloc>336</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM appeals.reasons_appeal
WHERE recording_date = current_date
AND schema = 'REG_LVL'
</sql>
<attributes/>
<GUI>
<xloc>1296</xloc>
<yloc>336</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 3 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>
<field>
<length>-1</length>
<name>SCM</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
</fields>
<attributes/>
<GUI>
<xloc>816</xloc>
<yloc>432</yloc>
</GUI>
</transform>
<transform>
<name>Insert / update (main_dashboard.appeals) 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>recruitment_id</name>
</key>
<key>
<condition>=</condition>
<field>schema</field>
<name>schema</name>
</key>
<key>
<condition>=</condition>
<field>recording_date</field>
<name>recording_date</name>
</key>
<schema>appeals</schema>
<table>reasons_appeal</table>
<value>
<name>recruitment_id</name>
<rename>recruitment_id</rename>
<update>N</update>
</value>
<value>
<name>schema</name>
<rename>schema</rename>
<update>N</update>
</value>
<value>
<name>appeal</name>
<rename>appeal</rename>
<update>Y</update>
</value>
<value>
<name>incorrect_inf</name>
<rename>incorrect_inf</rename>
<update>Y</update>
</value>
<value>
<name>incorrect_inf_percent</name>
<rename>incorrect_inf_percent</rename>
<update>Y</update>
</value>
<value>
<name>no_data</name>
<rename>no_data</rename>
<update>Y</update>
</value>
<value>
<name>no_data_percent</name>
<rename>no_data_percent</rename>
<update>Y</update>
</value>
<value>
<name>other</name>
<rename>other</rename>
<update>Y</update>
</value>
<value>
<name>other_percent</name>
<rename>other_percent</rename>
<update>Y</update>
</value>
</lookup>
<update_bypassed>Y</update_bypassed>
<attributes/>
<GUI>
<xloc>1056</xloc>
<yloc>336</yloc>
</GUI>
</transform>
<transform>
<name>Select values 3 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>
<meta>
<name>SCM</name>
<rename>SCM</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>960</xloc>
<yloc>432</yloc>
</GUI>
</transform>
<transform>
<name>Table input (appeal_document) регионы</name>
<type>TableInput</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH
ids AS (
SELECT unnest(string_to_array(trim(both '{}' from '${ARR_REG}'), ','))::uuid AS recruitment_id
),
total_appeals AS (
SELECT *
FROM appeals.appeals_list
WHERE
region_id::uuid IN (SELECT recruitment_id FROM ids)
AND (reasons_appeal IS NULL OR
reasons_appeal IN ('Отзыв жалобы', 'Некорректные данные', 'Досыл документов', 'Несогласие с решением'))
),
summary_counts AS (
SELECT
region_id AS recruitment_id,
COUNT(*) AS total_appeals,
SUM(CASE WHEN reasons_appeal = 'Некорректные данные' THEN 1 ELSE 0 END) AS incorrect_inf,
SUM(CASE WHEN reasons_appeal IS NULL THEN 1 ELSE 0 END) AS no_data,
SUM(CASE WHEN reasons_appeal IN ('Отзыв жалобы', 'Досыл документов', 'Несогласие с решением') THEN 1 ELSE 0 END) AS other
FROM total_appeals
GROUP BY recruitment_id
)
SELECT
'Organization' AS schema,
i.recruitment_id,
current_date AS recording_date,
COALESCE(sc.total_appeals, 0) AS appeal,
COALESCE(sc.incorrect_inf, 0) AS incorrect_inf,
COALESCE(sc.no_data, 0) AS no_data,
COALESCE(sc.other, 0) AS other,
COALESCE(ROUND(sc.incorrect_inf * 100.0 / NULLIF(sc.total_appeals, 0), 2), 0) AS incorrect_inf_percent,
COALESCE(ROUND(sc.no_data * 100.0 / NULLIF(sc.total_appeals, 0), 2), 0) AS no_data_percent,
COALESCE(ROUND(sc.other * 100.0 / NULLIF(sc.total_appeals, 0), 2), 0) AS other_percent
FROM ids i
LEFT JOIN summary_counts sc ON sc.recruitment_id = i.recruitment_id;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
<xloc>720</xloc>
<yloc>336</yloc>
</GUI>
</transform>
<transform_error_handling>
</transform_error_handling>
<attributes/>
</pipeline>

View file

@ -0,0 +1,156 @@
<?xml version="1.0" encoding="UTF-8"?>
<pipeline>
<info>
<name>appeals.review_rating</name>
<name_sync_with_filename>Y</name_sync_with_filename>
<description/>
<extended_description/>
<pipeline_version/>
<pipeline_type>Normal</pipeline_type>
<parameters>
</parameters>
<capture_transform_performance>N</capture_transform_performance>
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
<created_user>-</created_user>
<created_date>2025/01/28 14:15:12.495</created_date>
<modified_user>-</modified_user>
<modified_date>2025/01/28 14:15:12.495</modified_date>
</info>
<notepads>
</notepads>
<order>
<hop>
<from>Table input</from>
<to>Insert / update</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
<to>Table input</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<delete_field/>
<execute_each_row>N</execute_each_row>
<insert_field/>
<quoteString>N</quoteString>
<read_field/>
<replace_variables>N</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM appeals.review_rating WHERE recording_date = current_date AND schema = 'Organization'</sql>
<update_field/>
<attributes/>
<GUI>
<xloc>416</xloc>
<yloc>464</yloc>
</GUI>
</transform>
<transform>
<name>Insert / update</name>
<type>InsertUpdate</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<commit>100</commit>
<connection>ervu-dashboard</connection>
<lookup>
<key>
<condition>=</condition>
<field>recruitment_id</field>
<name>recruitment_id</name>
</key>
<key>
<condition>=</condition>
<field>recording_date</field>
<name>recording_date</name>
</key>
<key>
<condition>=</condition>
<field>schema</field>
<name>schema</name>
</key>
<schema>appeals</schema>
<table>review_rating</table>
<value>
<name>schema</name>
<rename>schema</rename>
<update>N</update>
</value>
<value>
<name>recruitment_id</name>
<rename>recruitment_id</rename>
<update>N</update>
</value>
<value>
<name>speed</name>
<rename>average_consideration</rename>
<update>Y</update>
</value>
<value>
<name>rating</name>
<rename>average_rating</rename>
<update>Y</update>
</value>
</lookup>
<update_bypassed>N</update_bypassed>
<attributes/>
<GUI>
<xloc>864</xloc>
<yloc>464</yloc>
</GUI>
</transform>
<transform>
<name>Table input</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT
current_date AS recording_date,
'Organization' AS schema,
ap.average_rating,
ap.average_consideration,
ap.recruitment_id
FROM main_dashboard.appeals ap
WHERE recording_date = current_date AND schema = 'Organization'
</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>640</xloc>
<yloc>464</yloc>
</GUI>
</transform>
<transform_error_handling>
</transform_error_handling>
<attributes/>
</pipeline>

View file

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<pipeline>
<info>
<name>array_region</name>
<name_sync_with_filename>Y</name_sync_with_filename>
<description/>
<extended_description/>
<pipeline_version/>
<pipeline_type>Normal</pipeline_type>
<parameters>
</parameters>
<capture_transform_performance>N</capture_transform_performance>
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
<created_user>-</created_user>
<created_date>2025/01/27 17:33:33.546</created_date>
<modified_user>-</modified_user>
<modified_date>2025/01/27 17:33:33.546</modified_date>
</info>
<notepads>
</notepads>
<order>
<hop>
<from>Table input</from>
<to>Copy rows to result</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Table input</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT ARRAY_AGG(idm_id) AS ARRAY_REGION
FROM ervu_dashboard.recruitment
WHERE schema = 'Organization'</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>432</xloc>
<yloc>240</yloc>
</GUI>
</transform>
<transform>
<name>Copy rows to result</name>
<type>RowsToResult</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<attributes/>
<GUI>
<xloc>704</xloc>
<yloc>240</yloc>
</GUI>
</transform>
<transform_error_handling>
</transform_error_handling>
<attributes/>
</pipeline>

View file

@ -0,0 +1,131 @@
<?xml version="1.0" encoding="UTF-8"?>
<pipeline>
<info>
<name>update_appeal_recruitments</name>
<name_sync_with_filename>Y</name_sync_with_filename>
<description/>
<extended_description/>
<pipeline_version/>
<pipeline_type>Normal</pipeline_type>
<parameters>
</parameters>
<capture_transform_performance>N</capture_transform_performance>
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
<created_user>-</created_user>
<created_date>2025/01/27 13:36:22.747</created_date>
<modified_user>-</modified_user>
<modified_date>2025/01/27 13:36:22.747</modified_date>
</info>
<notepads>
</notepads>
<order>
<hop>
<from>Table input</from>
<to>Insert / update</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Insert / update</name>
<type>InsertUpdate</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<commit>100</commit>
<connection>ervu-dashboard</connection>
<lookup>
<key>
<condition>=</condition>
<field>region</field>
<name>region</name>
</key>
<schema>appeals</schema>
<table>appeals_list</table>
<value>
<name>region</name>
<rename>region</rename>
<update>N</update>
</value>
<value>
<name>region_id</name>
<rename>idm_id</rename>
<update>Y</update>
</value>
</lookup>
<update_bypassed>N</update_bypassed>
<attributes/>
<GUI>
<xloc>784</xloc>
<yloc>144</yloc>
</GUI>
</transform>
<transform>
<name>Table input</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH ranked_recruitment AS (
SELECT
rt.idm_id,
rt.shortname,
al.region,
row_number() OVER (PARTITION BY al.region ORDER BY rt.shortname) AS rn
FROM
appeals.appeals_list al
JOIN
ervu_dashboard.recruitment rt
ON
(al.region ILIKE '%липец%' AND rt.shortname ILIKE '%липец%')
OR (al.region ILIKE '%каре%' AND rt.shortname ILIKE '%каре%')
OR (al.region ILIKE '%марий эл%' AND rt.shortname ILIKE '%мари эл%')
OR (al.region ILIKE '%ставро%' AND rt.shortname ILIKE '%ставро%')
OR (al.region ILIKE '%московская область%' AND rt.shortname ILIKE '%московской области%')
OR (al.region ILIKE '%воронеж%' AND rt.shortname ILIKE '%воронеж%')
WHERE
rt.schema = 'Organization'
AND
(al.region ILIKE '%липец%' OR
al.region ILIKE '%каре%' OR
al.region ILIKE '%марий эл%' OR
al.region ILIKE '%ставро%' OR
al.region ILIKE '%московская область%' OR
al.region ILIKE '%воронеж%')
)
SELECT DISTINCT
idm_id,
shortname,
region
FROM ranked_recruitment rrt
WHERE
(rrt.region ILIKE '%каре%' AND rrt.rn = 1) OR
(rrt.region ILIKE '%липец%' AND rrt.rn = 1) OR
(rrt.region ILIKE '%марий эл%' AND rrt.rn = 1) OR
(rrt.region ILIKE '%ставро%' AND rrt.rn = 1) OR
(rrt.region ILIKE '%московская область%' AND rrt.rn = 1) OR
(rrt.region ILIKE '%воронеж%' AND rrt.rn = 1);</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>
<xloc>480</xloc>
<yloc>144</yloc>
</GUI>
</transform>
<transform_error_handling>
</transform_error_handling>
<attributes/>
</pipeline>

File diff suppressed because it is too large Load diff

View file

@ -24,17 +24,17 @@
<hop>
<from>Get variables 3 2</from>
<to>Select values 3 2</to>
<enabled>Y</enabled>
<enabled>N</enabled>
</hop>
<hop>
<from>Select values 3 2</from>
<to>Insert / update (main_dashboard.appeals) 2</to>
<enabled>Y</enabled>
<enabled>N</enabled>
</hop>
<hop>
<from>Table input (appeal_document) регионы</from>
<to>Get variables 3 2</to>
<enabled>Y</enabled>
<enabled>N</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
@ -46,6 +46,11 @@
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input (appeal_document) регионы</from>
<to>Insert / update (main_dashboard.appeals) 2</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
@ -61,22 +66,17 @@
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<delete_field/>
<execute_each_row>N</execute_each_row>
<insert_field/>
<quoteString>N</quoteString>
<read_field/>
<replace_variables>Y</replace_variables>
<replace_variables>N</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM main_dashboard.appeals
WHERE recording_date = current_date
AND schema = 'Organization'
AND recruitment_id = '${REG_ID}'</sql>
<update_field/>
AND schema = 'Organization'</sql>
<attributes/>
<GUI>
<xloc>240</xloc>
<xloc>384</xloc>
<yloc>192</yloc>
</GUI>
</transform>
@ -96,16 +96,16 @@ WHERE recording_date = current_date
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<replace_variables>N</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM main_dashboard.appeals
WHERE recording_date = current_date
AND schema = 'REG_LVL'
AND recruitment_id = '${REG_ID}'</sql>
</sql>
<attributes/>
<GUI>
<xloc>1264</xloc>
<xloc>1152</xloc>
<yloc>192</yloc>
</GUI>
</transform>
@ -145,8 +145,8 @@ WHERE recording_date = current_date
</fields>
<attributes/>
<GUI>
<xloc>672</xloc>
<yloc>192</yloc>
<xloc>688</xloc>
<yloc>256</yloc>
</GUI>
</transform>
<transform>
@ -166,13 +166,18 @@ WHERE recording_date = current_date
<key>
<condition>=</condition>
<field>recruitment_id</field>
<name>REG_ID</name>
<name>recruitment_id</name>
</key>
<key>
<condition>=</condition>
<field>schema</field>
<name>schema</name>
</key>
<key>
<condition>=</condition>
<field>recording_date</field>
<name>recording_date</name>
</key>
<schema>main_dashboard</schema>
<table>appeals</table>
<value>
@ -229,7 +234,7 @@ WHERE recording_date = current_date
<update_bypassed>Y</update_bypassed>
<attributes/>
<GUI>
<xloc>1024</xloc>
<xloc>912</xloc>
<yloc>192</yloc>
</GUI>
</transform>
@ -300,8 +305,8 @@ WHERE recording_date = current_date
</fields>
<attributes/>
<GUI>
<xloc>816</xloc>
<yloc>192</yloc>
<xloc>832</xloc>
<yloc>256</yloc>
</GUI>
</transform>
<transform>
@ -318,50 +323,64 @@ WHERE recording_date = current_date
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM(total_appeals) END AS total_appeals,
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM(resolved) END AS resolved,
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM(average_consideration) END AS average_consideration,
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM(average_rating) END AS average_rating,
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM(average_to_face) END AS average_to_face,
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM("average_EPGU") END AS average_epgu,
CASE
WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = ''
THEN 0
ELSE COALESCE(
CASE
WHEN (SUM(average_to_face) + SUM("average_EPGU")) > 0
THEN ROUND((SUM(average_to_face) / (SUM(average_to_face) + SUM("average_EPGU")) * 100), 2)
ELSE 0
END,
0
)
END AS average_to_face_percent,
CASE
WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = ''
THEN 0
ELSE COALESCE(
CASE
WHEN (SUM(average_to_face) + SUM("average_EPGU")) > 0
THEN ROUND((SUM("average_EPGU") / (SUM(average_to_face) + SUM("average_EPGU")) * 100), 2)
ELSE 0
END,
0
)
END AS average_epgu_percent,
'${REG_ID}' AS recruitment_id,
'Organization' AS schema
FROM main_dashboard.appeals
WHERE recruitment_id = ANY (
string_to_array(
trim(both '{}' FROM replace('${VK_ARRAY}', ' ', '')), ','
)::uuid[]
<sql>WITH
ids AS (
SELECT unnest(string_to_array(trim(both '{}' from '${ARR_REG}'), ','))::uuid AS recruitment_id
),
base_data AS (
SELECT
region_id,
-- Проверка корректности даты входящей заявки
CASE
WHEN incoming_date ~ '^\d{4}-\d{2}-\d{2}$' THEN incoming_date::date
ELSE NULL
END AS incoming_date,
-- Проверка корректности даты завершения
CASE
WHEN fact_end_date ~ '^\d{4}-\d{2}-\d{2}$' THEN fact_end_date::date
ELSE NULL
END AS fact_end_date,
-- Проверка числовых значений для response_evalution
CASE
WHEN response_evalution ~ '^\d+(\.\d+)?$' THEN response_evalution::NUMERIC
ELSE 0
END AS response_evalution,
source
FROM appeals.appeals_list al
WHERE region_id::uuid IN (SELECT recruitment_id FROM ids)
),
aggregated_data AS (
SELECT
region_id AS recruitment_id,
COUNT(*) AS total_appeals,
COUNT(*) FILTER (WHERE fact_end_date IS NOT NULL) AS resolved,
-- Среднее время рассмотрения, учитывая возможные NULL для дат
ROUND(AVG(COALESCE(fact_end_date::DATE, current_date) - COALESCE(incoming_date::DATE, current_date)), 0) AS average_consideration,
-- Средний рейтинг, учитывая 0 для некорректных значений
ROUND(AVG(COALESCE(response_evalution, 0)), 1) AS average_rating,
COUNT(*) FILTER (WHERE source = 'ПОС') AS total_pos,
COUNT(*) FILTER (WHERE source = 'ЕПГУ') AS total_epgu
FROM base_data
GROUP BY region_id
)
AND recording_date = CURRENT_DATE;</sql>
SELECT
i.recruitment_id,
current_date AS recording_date,
'Organization' AS schema,
COALESCE(ad.total_appeals, 0) AS total_appeals,
COALESCE(ad.resolved, 0) AS resolved,
COALESCE(ad.average_consideration, 0) AS average_consideration,
COALESCE(ad.average_rating, 0) AS average_rating,
COALESCE(ad.total_pos, 0) AS average_to_face,
COALESCE(ad.total_epgu, 0) AS average_epgu,
COALESCE(ROUND(ad.total_pos::NUMERIC * 100 / NULLIF(ad.total_appeals, 0), 0), 0) AS average_to_face_percent,
COALESCE(ROUND(ad.total_epgu::NUMERIC * 100 / NULLIF(ad.total_appeals, 0), 0), 0) AS average_epgu_percent
FROM ids i
LEFT JOIN aggregated_data ad ON ad.recruitment_id = i.recruitment_id;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
<xloc>448</xloc>
<xloc>592</xloc>
<yloc>192</yloc>
</GUI>
</transform>

View file

@ -36,75 +36,7 @@
<to>Insert / update (main_dashboard.recruitment_campaign)</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update (main_dashboard.recruitment_campaign)</from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
<to>Table input (subpoena) регион/осень</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM main_dashboard.recruitment_campaign
WHERE recording_date = current_date
AND schema = 'Organization'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>416</xloc>
<yloc>480</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM main_dashboard.recruitment_campaign
WHERE recording_date = current_date
AND schema = 'REG_LVL'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>1664</xloc>
<yloc>480</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 4 3</name>
<type>GetVariable</type>

View file

@ -36,16 +36,6 @@
<to>Get variables 2 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update (main_dashboard.total_registered) 2</from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
<to>Table input (person_registry) регион</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Get variables 2 2</name>
@ -296,72 +286,6 @@ AND recording_date = CURRENT_DATE;</sql>
<yloc>304</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<delete_field/>
<execute_each_row>N</execute_each_row>
<insert_field/>
<quoteString>N</quoteString>
<read_field/>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM main_dashboard.total_registered
WHERE recording_date = current_date
AND schema = 'Organization'
AND recruitment_id = '${REG_ID}'</sql>
<update_field/>
<attributes/>
<GUI>
<xloc>144</xloc>
<yloc>304</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<delete_field/>
<execute_each_row>N</execute_each_row>
<insert_field/>
<quoteString>N</quoteString>
<read_field/>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM main_dashboard.total_registered
WHERE recording_date = current_date
AND schema = 'REG_LVL'
AND recruitment_id = '${REG_ID}'</sql>
<update_field/>
<attributes/>
<GUI>
<xloc>1280</xloc>
<yloc>304</yloc>
</GUI>
</transform>
<transform_error_handling>
</transform_error_handling>
<attributes/>

View file

@ -36,83 +36,7 @@
<to>Get variables 5</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
<to>Table input 2 (person_registry) регион</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update (main_dashboard.waiting_registration) 2</from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<delete_field/>
<execute_each_row>N</execute_each_row>
<insert_field/>
<quoteString>N</quoteString>
<read_field/>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM main_dashboard.waiting_registration
WHERE recording_date = current_date
AND schema = 'Organization'
AND recruitment_id = '${REG_ID}'</sql>
<update_field/>
<attributes/>
<GUI>
<xloc>128</xloc>
<yloc>240</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<delete_field/>
<execute_each_row>N</execute_each_row>
<insert_field/>
<quoteString>N</quoteString>
<read_field/>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM main_dashboard.waiting_registration
WHERE recording_date = current_date
AND schema = 'REG_LVL'
AND recruitment_id = '${REG_ID}'</sql>
<update_field/>
<attributes/>
<GUI>
<xloc>1296</xloc>
<yloc>240</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 5</name>
<type>GetVariable</type>

View file

@ -36,75 +36,7 @@
<to>Insert / update (main_dashboard.appeals)</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
<to>Table input (appeal_document) регионы</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update (main_dashboard.appeals)</from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM recruitment_campaign.appeals
WHERE recording_date = current_date
AND schema = 'Organization'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>288</xloc>
<yloc>272</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM recruitment_campaign.appeals
WHERE recording_date = current_date
AND schema = 'REG_LVL'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>1328</xloc>
<yloc>272</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 3 2</name>
<type>GetVariable</type>

View file

@ -36,75 +36,7 @@
<to>Insert / update (recruitment_campaign.subpoenas) 3</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update (recruitment_campaign.subpoenas) 3</from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
<to>Table input (subpoena) осень/регионы</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM recruitment_campaign.subpoenas
WHERE recording_date = current_date
AND schema = 'Organization'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>864</xloc>
<yloc>448</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM recruitment_campaign.subpoenas
WHERE recording_date = current_date
AND schema = 'REG_LVL'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>2064</xloc>
<yloc>448</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 4 3</name>
<type>GetVariable</type>

View file

@ -36,75 +36,7 @@
<to>Insert / update (total_registered.age)</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
<to>Table input (person_registry) регион/все</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update (total_registered.age)</from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.age
WHERE recording_date = current_date
AND schema = 'Organization'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>1040</xloc>
<yloc>752</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.age
WHERE recording_date = current_date
AND schema = 'REG_LVL'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>2272</xloc>
<yloc>752</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 3 2</name>
<type>GetVariable</type>

View file

@ -36,75 +36,7 @@
<to>Insert / update (total_registered.busyness)</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
<to>Table input (person_registry) РФ/все</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update (total_registered.busyness)</from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.busyness
WHERE recording_date = current_date
AND schema = 'Organization'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>176</xloc>
<yloc>576</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.busyness
WHERE recording_date = current_date
AND schema = 'REG_LVL'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>1360</xloc>
<yloc>576</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 3 2</name>
<type>GetVariable</type>
@ -324,7 +256,7 @@ WHERE recording_date = current_date
ELSE COALESCE(
CASE
WHEN SUM(busyness) > 0
THEN ROUND((SUM(study) / SUM(busyness) * 100), 2)
THEN ROUND((SUM(work) / SUM(busyness) * 100), 2)
ELSE 0
END,
0

View file

@ -36,75 +36,7 @@
<to>Insert / update (total_registered.child_minor)</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
<to>Table input (person_registry)регион/все</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update (total_registered.child_minor)</from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.child_minor
WHERE recording_date = current_date
AND schema = 'Organization'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>512</xloc>
<yloc>416</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.child_minor
WHERE recording_date = current_date
AND schema = 'REG_LVL'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>1760</xloc>
<yloc>416</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 4 2</name>
<type>GetVariable</type>

View file

@ -36,75 +36,7 @@
<to>Get variables 3 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
<to>Table input (driver_license) регионы/все</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update (total_registered.driver_license) 2</from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.driver_license
WHERE recording_date = current_date
AND schema = 'Organization'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>576</xloc>
<yloc>416</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.driver_license
WHERE recording_date = current_date
AND schema = 'REG_LVL'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>1808</xloc>
<yloc>416</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 3 2</name>
<type>GetVariable</type>
@ -156,19 +88,16 @@ WHERE recording_date = current_date
<condition>=</condition>
<field>recruitment_id</field>
<name>REG_ID</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>schema</field>
<name>schema</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>"all_M_W"</field>
<name>gender</name>
<name2/>
</key>
<schema>total_registered</schema>
<table>driver_license</table>

View file

@ -36,75 +36,7 @@
<to>Get variables 3 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update (total_registered.education_level)</from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
<to>Table input (person_registry) РФ/все</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.education_level
WHERE recording_date = current_date
AND schema = 'Organization'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>944</xloc>
<yloc>576</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.education_level
WHERE recording_date = current_date
AND schema = 'REG_LVL'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>2192</xloc>
<yloc>576</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 3 2</name>
<type>GetVariable</type>
@ -156,19 +88,16 @@ WHERE recording_date = current_date
<condition>=</condition>
<field>recruitment_id</field>
<name>REG_ID</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>schema</field>
<name>schema</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>"all_M_W"</field>
<name>gender</name>
<name2/>
</key>
<schema>total_registered</schema>
<table>education_level</table>

View file

@ -36,75 +36,7 @@
<to>Insert / update (total_registered.marital_status) </to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
<to>Table input (person_registry) регионы/все</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update (total_registered.marital_status) </from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.marital_status
WHERE recording_date = current_date
AND schema = 'Organization'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>848</xloc>
<yloc>592</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.marital_status
WHERE recording_date = current_date
AND schema = 'REG_LVL'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>2048</xloc>
<yloc>592</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 3 2</name>
<type>GetVariable</type>
@ -156,19 +88,16 @@ WHERE recording_date = current_date
<condition>=</condition>
<field>recruitment_id</field>
<name>REG_ID</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>schema</field>
<name>schema</name>
<name2/>
</key>
<key>
<condition>=</condition>
<field>"all_M_W"</field>
<name>gender</name>
<name2/>
</key>
<schema>total_registered</schema>
<table>marital_status</table>

View file

@ -36,75 +36,7 @@
<to>Insert / update (total_registered.reg_mil_cat)</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
<to>Table input (person_registry) военком/рег</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update (total_registered.reg_mil_cat)</from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.reg_mil_cat
WHERE recording_date = current_date
AND schema = 'Organization'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>192</xloc>
<yloc>352</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.reg_mil_cat
WHERE recording_date = current_date
AND schema = 'REG_LVL'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>1264</xloc>
<yloc>352</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 3</name>
<type>GetVariable</type>

View file

@ -36,75 +36,7 @@
<to>Get variables 2 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update (total_registered.removed_registry) 2</from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
<to>Table input (decision-document-service) регион 2</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.removed_registry
WHERE recording_date = current_date
AND schema = 'Organization'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>192</xloc>
<yloc>320</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.removed_registry
WHERE recording_date = current_date
AND schema = 'REG_LVL'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>1312</xloc>
<yloc>320</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 2 2</name>
<type>GetVariable</type>

View file

@ -36,75 +36,7 @@
<to>Insert / update (total_registered.subpoenas) 3</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Insert / update (total_registered.subpoenas) 3</from>
<to>Execute SQL script 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Execute SQL script</from>
<to>Table input (subpoena) регион/рег</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Execute SQL script</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.subpoenas
WHERE recording_date = current_date
AND schema = 'Organization'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>496</xloc>
<yloc>496</yloc>
</GUI>
</transform>
<transform>
<name>Execute SQL script 2</name>
<type>ExecSql</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<arguments>
</arguments>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<quoteString>N</quoteString>
<replace_variables>Y</replace_variables>
<set_params>N</set_params>
<single_statement>N</single_statement>
<sql>DELETE FROM total_registered.subpoenas
WHERE recording_date = current_date
AND schema = 'REG_LVL'
AND recruitment_id = '${REG_ID}'</sql>
<attributes/>
<GUI>
<xloc>1664</xloc>
<yloc>496</yloc>
</GUI>
</transform>
<transform>
<name>Get variables 4 2</name>
<type>GetVariable</type>