+
This commit is contained in:
parent
bd5dcf4c5c
commit
ecb52f53a5
3 changed files with 236 additions and 14 deletions
|
|
@ -282,11 +282,7 @@
|
|||
<connection>postgres.subpoena</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>WITH
|
||||
ids AS (
|
||||
SELECT unnest(string_to_array(trim(both '{}' from '${ARR_MC}'), ','))::uuid AS recruitment_id
|
||||
),
|
||||
subpoena_data AS (
|
||||
<sql>subpoena_data AS (
|
||||
SELECT
|
||||
s.id AS subpoena_id,
|
||||
s.create_date,
|
||||
|
|
@ -300,6 +296,7 @@ subpoena_data AS (
|
|||
rdi.applied_date AS ap_date,
|
||||
rdi.id AS rdi_id,
|
||||
ssi.delivery_code AS d_code,
|
||||
ssi.act_number,
|
||||
ROW_NUMBER() OVER (PARTITION BY s.id ORDER BY sh.date_time DESC) AS rn
|
||||
FROM subpoena s
|
||||
JOIN subpoena_history AS sh ON sh.subpoena_id = s.id
|
||||
|
|
@ -310,8 +307,14 @@ subpoena_data AS (
|
|||
LEFT JOIN restriction_document_item AS rdi ON rdi.restriction_document_create_id = rd.id
|
||||
LEFT JOIN subpoena_send_info AS ssi ON ssi.subpoena_id = s.id
|
||||
WHERE sr.type = '3'
|
||||
AND ssh.code NOT IN ('3.14','3.7','3.72', '3.71')
|
||||
AND ssh.code NOT IN ('3.7','3.72', '3.71')
|
||||
AND s.department_id::uuid IN (SELECT recruitment_id FROM ids)
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM subpoena_history sh2
|
||||
WHERE sh2.subpoena_id = s.id
|
||||
AND sh2.status_id = (SELECT id FROM subpoena_status WHERE code = '3')
|
||||
)
|
||||
),
|
||||
last_status AS (
|
||||
SELECT *
|
||||
|
|
@ -329,12 +332,14 @@ season_separations AS (
|
|||
ls.restr_dc,
|
||||
ls.ap_date,
|
||||
ls.d_code,
|
||||
ls.act_number,
|
||||
ls.rdi_id,
|
||||
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
|
||||
WHERE ls.create_date >= DATE_TRUNC('year', CURRENT_DATE)
|
||||
),
|
||||
season_separations_clean AS (
|
||||
SELECT DISTINCT recruitment_id, spring_autumn FROM season_separations
|
||||
|
|
@ -354,7 +359,7 @@ t2 AS (
|
|||
ss.spring_autumn,
|
||||
ROUND(AVG(EXTRACT(DAY FROM (history_date::timestamp - send_date::timestamp))), 1) AS average_appeared
|
||||
FROM season_separations ss
|
||||
WHERE ss.sub_stat_hist IN ('4.1', '4.2', '4')
|
||||
WHERE ss.sub_stat_hist IN ('4.1', '4.2') -- снесен 4 статус от 14.03.2025
|
||||
GROUP BY ss.recruitment_id, ss.spring_autumn
|
||||
),
|
||||
t3 AS (
|
||||
|
|
@ -363,7 +368,7 @@ t3 AS (
|
|||
ss.spring_autumn,
|
||||
COUNT(DISTINCT ss.subpoena_id) AS count_appeared
|
||||
FROM season_separations ss
|
||||
WHERE sub_stat_hist IN ('4.1', '4.2', '4')
|
||||
WHERE ss.sub_stat_hist IN ('4.1', '4.2') -- снесен 4 статус от 14.03.2025
|
||||
GROUP BY ss.recruitment_id, ss.spring_autumn
|
||||
),
|
||||
t4 AS (
|
||||
|
|
@ -443,7 +448,7 @@ t12 AS (
|
|||
ss.spring_autumn,
|
||||
COUNT(DISTINCT ss.subpoena_id) AS count_not_delivery
|
||||
FROM season_separations ss
|
||||
WHERE d_code IS NULL
|
||||
WHERE ss.act_number IS NOT NULL
|
||||
GROUP BY ss.recruitment_id, ss.spring_autumn
|
||||
),
|
||||
t13 AS (
|
||||
|
|
@ -452,7 +457,7 @@ t13 AS (
|
|||
ss.spring_autumn,
|
||||
COUNT(DISTINCT ss.subpoena_id) AS appear_date_is_good
|
||||
FROM season_separations ss
|
||||
WHERE sub_stat_hist IN ('3','3.12', '3.13', '3.15', '3.1')
|
||||
WHERE ss.sub_stat_hist IN ('3','3.12', '3.13', '3.15', '3.1')
|
||||
GROUP BY ss.recruitment_id, ss.spring_autumn
|
||||
)
|
||||
SELECT
|
||||
|
|
|
|||
|
|
@ -323,6 +323,7 @@ subpoena_data AS (
|
|||
rdi.applied_date AS ap_date,
|
||||
rdi.id AS rdi_id,
|
||||
ssi.delivery_code AS d_code,
|
||||
ssi.act_number,
|
||||
ROW_NUMBER() OVER (PARTITION BY s.id ORDER BY sh.date_time DESC) AS rn
|
||||
FROM subpoena s
|
||||
JOIN subpoena_history AS sh ON sh.subpoena_id = s.id
|
||||
|
|
@ -333,7 +334,7 @@ subpoena_data AS (
|
|||
LEFT JOIN restriction_document_item AS rdi ON rdi.restriction_document_create_id = rd.id
|
||||
LEFT JOIN subpoena_send_info AS ssi ON ssi.subpoena_id = s.id
|
||||
WHERE sr.type IS NOT NULL
|
||||
AND ssh.code NOT IN ('3.14','3.7','3.72', '3.71')
|
||||
AND ssh.code NOT IN ('3.7','3.72', '3.71') -- 3.14 снесено от 14.03.2025
|
||||
AND s.department_id::uuid IN (SELECT recruitment_id FROM ids)
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
|
|
@ -369,7 +370,7 @@ t2 AS (
|
|||
ls.department_id,
|
||||
ROUND(AVG(EXTRACT(DAY FROM (history_date::timestamp - send_date::timestamp))), 1) AS average_appeared
|
||||
FROM last_status ls
|
||||
WHERE sub_stat_hist IN ('4.1', '4.2', '4')
|
||||
WHERE sub_stat_hist IN ('4.1', '4.2') -- снесен 4 статус от 14.03.2025
|
||||
GROUP BY ls.department_id, ls.mil_reg
|
||||
),
|
||||
t3 AS (
|
||||
|
|
@ -378,7 +379,7 @@ t3 AS (
|
|||
ls.department_id,
|
||||
COUNT(DISTINCT subpoena_id) AS count_appeared
|
||||
FROM last_status ls
|
||||
WHERE sub_stat_hist IN ('4.1', '4.2', '4')
|
||||
WHERE sub_stat_hist IN ('4.1', '4.2') -- снесен 4 статус от 14.03.2025
|
||||
GROUP BY ls.department_id, ls.mil_reg
|
||||
),
|
||||
t4 AS (
|
||||
|
|
@ -458,7 +459,7 @@ t12 AS (
|
|||
ls.department_id,
|
||||
COUNT(DISTINCT subpoena_id) AS count_not_delivery
|
||||
FROM last_status ls
|
||||
WHERE d_code IS NULL
|
||||
WHERE act_number IS NOT NULL
|
||||
GROUP BY ls.department_id, ls.mil_reg
|
||||
),
|
||||
t13 AS (
|
||||
|
|
|
|||
|
|
@ -20,7 +20,223 @@
|
|||
<notepads>
|
||||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Get variables</from>
|
||||
<to>Select values</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Select values</from>
|
||||
<to>Insert / update</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input</from>
|
||||
<to>Get variables</to>
|
||||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Get variables</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>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>816</xloc>
|
||||
<yloc>368</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>id_region</field>
|
||||
<name>REG_ID</name>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>spring_autumn</field>
|
||||
<name>spring_autumn</name>
|
||||
</key>
|
||||
<schema>ratings</schema>
|
||||
<table>conscription_info</table>
|
||||
<value>
|
||||
<name>execution</name>
|
||||
<rename>appear_mil_com</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>execution_percent</name>
|
||||
<rename>appear_mil_com_percent</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>id_region</name>
|
||||
<rename>region_id</rename>
|
||||
<update>N</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>spring_autumn</name>
|
||||
<rename>spring_autumn</rename>
|
||||
<update>N</update>
|
||||
</value>
|
||||
</lookup>
|
||||
<update_bypassed>N</update_bypassed>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>1200</xloc>
|
||||
<yloc>368</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Select values</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>
|
||||
</fields>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>992</xloc>
|
||||
<yloc>368</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Table input</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<connection>postgres.subpoena</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>WITH
|
||||
total AS (
|
||||
SELECT
|
||||
s.id AS subpoena_id,
|
||||
s.create_date,
|
||||
s.department_id AS recruitment_id,
|
||||
s.status_id,
|
||||
sr.type,
|
||||
ssh.code AS sub_stat_hist,
|
||||
s.send_date,
|
||||
sh.date_time::timestamp AS history_date,
|
||||
ROW_NUMBER() OVER (PARTITION BY s.id ORDER BY sh.date_time DESC) AS rn
|
||||
FROM public.subpoena s
|
||||
JOIN subpoena_status ss ON s.status_id = ss.id
|
||||
JOIN subpoena_reason AS sr ON sr.id = s.reason_id
|
||||
JOIN subpoena_history AS sh ON sh.subpoena_id = s.id
|
||||
JOIN subpoena_status AS ssh ON ssh.id = sh.status_id
|
||||
WHERE ('${VK_ARRAY}' IS NULL
|
||||
OR '${VK_ARRAY}' = ''
|
||||
OR s.department_id = ANY (
|
||||
string_to_array(
|
||||
trim(both '{}' FROM replace('${VK_ARRAY}', ' ', '')), ','
|
||||
)::uuid[]
|
||||
)
|
||||
)
|
||||
AND sr.type = '3'
|
||||
AND ssh.code NOT IN ('3.7','3.72', '3.71')
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM subpoena_history sh2
|
||||
WHERE sh2.subpoena_id = s.id
|
||||
AND sh2.status_id = (SELECT id FROM subpoena_status WHERE code = '3')
|
||||
)
|
||||
),
|
||||
last_status AS (
|
||||
SELECT *
|
||||
FROM subpoena_data
|
||||
WHERE rn = 1
|
||||
),
|
||||
season_separations AS (
|
||||
SELECT distinct
|
||||
ls.recruitment_id,
|
||||
ls.create_date,
|
||||
ls.sub_stat_hist,
|
||||
ls.subpoena_id,
|
||||
ls.history_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
|
||||
WHERE ls.create_date >= DATE_TRUNC('year', CURRENT_DATE)
|
||||
),
|
||||
season_separations_clean AS (
|
||||
SELECT DISTINCT recruitment_id, spring_autumn FROM season_separations
|
||||
)
|
||||
SELECT
|
||||
'${REG_ID}' AS region_id,
|
||||
COUNT(*) FILTER (WHERE tt.code IN ('5')) AS appear_mil_com,
|
||||
ROUND(
|
||||
COUNT(*) FILTER (WHERE tt.code IN ('5'))::NUMERIC / NULLIF(COUNT(*), 0) * 100, 2
|
||||
) AS appear_mil_com_percent
|
||||
FROM total tt;</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>640</xloc>
|
||||
<yloc>368</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
</transform_error_handling>
|
||||
<attributes/>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue