+appeals.reasons_appeal, rating.conscription_info
This commit is contained in:
parent
83de694301
commit
14fd9bae64
7 changed files with 213 additions and 171 deletions
|
|
@ -125,7 +125,7 @@ WHERE recording_date = current_date
|
|||
<key>
|
||||
<condition>=</condition>
|
||||
<field>recruitment_id</field>
|
||||
<name>recruitment_id</name>
|
||||
<name>REG_ID</name>
|
||||
</key>
|
||||
<schema>appeals</schema>
|
||||
<table>reasons_appeal</table>
|
||||
|
|
@ -155,23 +155,33 @@ WHERE recording_date = current_date
|
|||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>no_data</name>
|
||||
<rename>no_data</rename>
|
||||
<name>sending_documents</name>
|
||||
<rename>sending_documents</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>no_data_percent</name>
|
||||
<rename>no_data_percent</rename>
|
||||
<name>sending_documents_percent</name>
|
||||
<rename>sending_documents_percent</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>other</name>
|
||||
<rename>other</rename>
|
||||
<name>decision_disagreement</name>
|
||||
<rename>decision_disagreement</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>other_percent</name>
|
||||
<rename>other_percent</rename>
|
||||
<name>decision_disagreement_persent</name>
|
||||
<rename>decision_disagreement_persent</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>complaint_withdrawal</name>
|
||||
<rename>complaint_withdrawal</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>complaint_withdrawal_percent</name>
|
||||
<rename>complaint_withdrawal_percent</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
</lookup>
|
||||
|
|
@ -253,8 +263,9 @@ WHERE recording_date = current_date
|
|||
<sql>SELECT
|
||||
COALESCE(SUM(appeal), 0) appeal,
|
||||
COALESCE(SUM(incorrect_inf), 0) incorrect_inf,
|
||||
COALESCE(SUM(no_data), 0) no_data,
|
||||
COALESCE(SUM(other), 0) other,
|
||||
COALESCE(SUM(sending_documents), 0) sending_documents,
|
||||
COALESCE(SUM(decision_disagreement), 0) decision_disagreement,
|
||||
COALESCE(SUM(complaint_withdrawal), 0) complaint_withdrawal,
|
||||
COALESCE(
|
||||
CASE
|
||||
WHEN SUM(appeal) > 0
|
||||
|
|
@ -266,19 +277,27 @@ WHERE recording_date = current_date
|
|||
COALESCE(
|
||||
CASE
|
||||
WHEN SUM(appeal) > 0
|
||||
THEN ROUND((SUM(no_data) / SUM(appeal) * 100), 2)
|
||||
THEN ROUND((SUM(sending_documents) / SUM(appeal) * 100), 2)
|
||||
ELSE 0
|
||||
END,
|
||||
0
|
||||
) no_data_percent,
|
||||
) sending_documents_percent,
|
||||
COALESCE(
|
||||
CASE
|
||||
WHEN SUM(appeal) > 0
|
||||
THEN ROUND((SUM(other) / SUM(appeal) * 100), 2)
|
||||
THEN ROUND((SUM(decision_disagreement) / SUM(appeal) * 100), 2)
|
||||
ELSE 0
|
||||
END,
|
||||
0
|
||||
) other_percent,
|
||||
) decision_disagreement_persent,
|
||||
COALESCE(
|
||||
CASE
|
||||
WHEN SUM(appeal) > 0
|
||||
THEN ROUND((SUM(complaint_withdrawal) / SUM(appeal) * 100), 2)
|
||||
ELSE 0
|
||||
END,
|
||||
0
|
||||
) complaint_withdrawal_percent,
|
||||
'${REG_ID}' AS recruitment_id,
|
||||
'Ministry' AS schema
|
||||
FROM appeals.reasons_appeal
|
||||
|
|
|
|||
|
|
@ -1000,7 +1000,7 @@
|
|||
<hop>
|
||||
<from>select_recruitments_country</from>
|
||||
<to>appeals.reasons_appeal.hpl</to>
|
||||
<enabled>N</enabled>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
|
|
|
|||
|
|
@ -21,18 +21,18 @@
|
|||
<notepads>
|
||||
</notepads>
|
||||
<order>
|
||||
<hop>
|
||||
<from>Get variables 4 3</from>
|
||||
<to>Select values 4 3</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Table input (subpoena) регион/осень</from>
|
||||
<to>Get variables 4 3</to>
|
||||
<to>Merge join</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Select values 4 3</from>
|
||||
<from>Table input отчрочки из decisions</from>
|
||||
<to>Merge join</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>Merge join</from>
|
||||
<to>Insert / update (main_dashboard.recruitment_campaign)</to>
|
||||
<enabled>N</enabled>
|
||||
</hop>
|
||||
|
|
@ -42,39 +42,6 @@
|
|||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Get variables 4 3</name>
|
||||
<type>GetVariable</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<fields>
|
||||
<field>
|
||||
<length>-1</length>
|
||||
<name>REC_ID</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>432</xloc>
|
||||
<yloc>416</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Insert / update (main_dashboard.recruitment_campaign)</name>
|
||||
<type>InsertUpdate</type>
|
||||
|
|
@ -170,13 +137,13 @@
|
|||
<update_bypassed>N</update_bypassed>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>720</xloc>
|
||||
<xloc>1008</xloc>
|
||||
<yloc>320</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Select values 4 3</name>
|
||||
<type>SelectValues</type>
|
||||
<name>Merge join</name>
|
||||
<type>MergeJoin</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
|
|
@ -185,47 +152,21 @@
|
|||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<fields>
|
||||
<select_unspecified>N</select_unspecified>
|
||||
<meta>
|
||||
<name>REC_ID</name>
|
||||
<rename>REC_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>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>
|
||||
<join_type>LEFT OUTER</join_type>
|
||||
<keys_1>
|
||||
<key>recruitment_id</key>
|
||||
<key>spring_autumn</key>
|
||||
</keys_1>
|
||||
<keys_2>
|
||||
<key>recruitment_id</key>
|
||||
<key>spring_autumn</key>
|
||||
</keys_2>
|
||||
<transform1>Table input (subpoena) регион/осень</transform1>
|
||||
<transform2>Table input отчрочки из decisions</transform2>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>608</xloc>
|
||||
<yloc>416</yloc>
|
||||
<xloc>624</xloc>
|
||||
<yloc>496</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
|
|
@ -260,6 +201,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 public.subpoena s
|
||||
JOIN public.subpoena_history AS sh ON sh.subpoena_id = s.id
|
||||
|
|
@ -270,8 +212,14 @@ subpoena_data AS (
|
|||
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 = '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 *
|
||||
|
|
@ -279,43 +227,27 @@ last_status AS (
|
|||
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 <= 31 декабря прошлого года)
|
||||
|
||||
Если текущий период с 1 октября по 31 декабря текущего года ТО
|
||||
create_date >= 1 октября текущего года
|
||||
create_date <= 31 декабря текущего года)
|
||||
должно быть что-то похожее, но данных пока нет на текущие периоды
|
||||
*/
|
||||
SELECT
|
||||
SELECT distinct
|
||||
ls.recruitment_id,
|
||||
ls.create_date,
|
||||
ls.sub_stat_hist,
|
||||
ls.subpoena_id,
|
||||
ls.history_date,
|
||||
ls.send_date,
|
||||
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
|
||||
),
|
||||
t1 AS (
|
||||
SELECT
|
||||
|
|
@ -323,7 +255,6 @@ t1 AS (
|
|||
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 ss.recruitment_id, ss.spring_autumn
|
||||
),
|
||||
|
|
@ -333,7 +264,6 @@ t2 AS (
|
|||
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 ss.recruitment_id, ss.spring_autumn
|
||||
),
|
||||
|
|
@ -343,7 +273,6 @@ t3 AS (
|
|||
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 ss.recruitment_id, ss.spring_autumn
|
||||
)
|
||||
|
|
@ -361,17 +290,75 @@ SELECT
|
|||
0 AS postponement_granted_percent,
|
||||
ss.spring_autumn,
|
||||
ss.recruitment_id
|
||||
FROM season_separations ss
|
||||
FROM season_separations_clean 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>
|
||||
<xloc>336</xloc>
|
||||
<xloc>288</xloc>
|
||||
<yloc>320</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Table input отчрочки из decisions</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
|
||||
ids AS (
|
||||
SELECT unnest(string_to_array(trim(both '{}' from '${ARR_MC}'), ','))::uuid AS recruitment_id
|
||||
),
|
||||
vse AS(
|
||||
SELECT
|
||||
CASE
|
||||
WHEN dd.hidden is true THEN 'true'
|
||||
ELSE 'false'
|
||||
END AS postponement,
|
||||
COALESCE(dd.updated_at, dd.created_at) AS postponement_date,
|
||||
dd.recruit_id,
|
||||
COALESCE(r.current_recruitment, r.target_recruitment) AS recruitment_id,
|
||||
ROW_NUMBER() OVER (PARTITION BY dd.recruit_id ORDER BY COALESCE(dd.updated_at, dd.created_at) DESC) AS rn
|
||||
FROM recruit r
|
||||
JOIN deferment_decision dd ON dd.recruit_id = r.id
|
||||
JOIN deferment_decision_type ddt on ddt.id = dd.type_id AND ddt.code = '1'
|
||||
WHERE COALESCE(r.current_recruitment, r.target_recruitment)::uuid IN (SELECT recruitment_id FROM ids)
|
||||
),
|
||||
last_status AS(
|
||||
SELECT *
|
||||
FROM vse
|
||||
WHERE rn = 1
|
||||
)
|
||||
SELECT
|
||||
COUNT(ls.postponement) FILTER (WHERE ls.postponement = 'true') AS postponement_have_right,
|
||||
COUNT(ls.postponement) FILTER (WHERE ls.postponement = 'false') AS postponement_granted,
|
||||
CASE
|
||||
WHEN EXTRACT(MONTH FROM ls.postponement_date) BETWEEN 1 AND 6 THEN 'Весна'
|
||||
WHEN EXTRACT(MONTH FROM ls.postponement_date) BETWEEN 7 AND 12 THEN 'Осень'
|
||||
END AS spring_autumn,
|
||||
ls.recruitment_id,
|
||||
current_date AS recording_date
|
||||
FROM last_status ls
|
||||
WHERE ls.recruitment_id IS NOT NULL
|
||||
AND ls.postponement_date >= DATE_TRUNC('year', CURRENT_DATE)
|
||||
GROUP BY spring_autumn, ls.recruitment_id</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>288</xloc>
|
||||
<yloc>416</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
</transform_error_handling>
|
||||
<attributes/>
|
||||
|
|
|
|||
|
|
@ -179,23 +179,33 @@ WHERE recording_date = current_date
|
|||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>no_data</name>
|
||||
<rename>no_data</rename>
|
||||
<name>sending_documents</name>
|
||||
<rename>sending_documents</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>no_data_percent</name>
|
||||
<rename>no_data_percent</rename>
|
||||
<name>sending_documents_percent</name>
|
||||
<rename>sending_documents_percent</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>other</name>
|
||||
<rename>other</rename>
|
||||
<name>decision_disagreement</name>
|
||||
<rename>decision_disagreement</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>other_percent</name>
|
||||
<rename>other_percent</rename>
|
||||
<name>decision_disagreement_persent</name>
|
||||
<rename>decision_disagreement_persent</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>complaint_withdrawal</name>
|
||||
<rename>complaint_withdrawal</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>complaint_withdrawal_percent</name>
|
||||
<rename>complaint_withdrawal_percent</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
|
|
@ -285,10 +295,11 @@ WHERE recording_date = current_date
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>SELECT
|
||||
(SUM(appeal), 0) appeal,
|
||||
(SUM(incorrect_inf), 0) incorrect_inf,
|
||||
(SUM(no_data), 0) no_data,
|
||||
(SUM(other), 0) other,
|
||||
COALESCE(SUM(appeal), 0) appeal,
|
||||
COALESCE(SUM(incorrect_inf), 0) incorrect_inf,
|
||||
COALESCE(SUM(sending_documents), 0) sending_documents,
|
||||
COALESCE(SUM(decision_disagreement), 0) decision_disagreement,
|
||||
COALESCE(SUM(complaint_withdrawal), 0) complaint_withdrawal,
|
||||
COALESCE(
|
||||
CASE
|
||||
WHEN SUM(appeal) > 0
|
||||
|
|
@ -300,19 +311,27 @@ WHERE recording_date = current_date
|
|||
COALESCE(
|
||||
CASE
|
||||
WHEN SUM(appeal) > 0
|
||||
THEN ROUND((SUM(no_data) / SUM(appeal) * 100), 2)
|
||||
THEN ROUND((SUM(sending_documents) / SUM(appeal) * 100), 2)
|
||||
ELSE 0
|
||||
END,
|
||||
0
|
||||
) no_data_percent,
|
||||
) sending_documents_percent,
|
||||
COALESCE(
|
||||
CASE
|
||||
WHEN SUM(appeal) > 0
|
||||
THEN ROUND((SUM(other) / SUM(appeal) * 100), 2)
|
||||
THEN ROUND((SUM(decision_disagreement) / SUM(appeal) * 100), 2)
|
||||
ELSE 0
|
||||
END,
|
||||
0
|
||||
) other_percent,
|
||||
) decision_disagreement_persent,
|
||||
COALESCE(
|
||||
CASE
|
||||
WHEN SUM(appeal) > 0
|
||||
THEN ROUND((SUM(complaint_withdrawal) / SUM(appeal) * 100), 2)
|
||||
ELSE 0
|
||||
END,
|
||||
0
|
||||
) complaint_withdrawal_percent,
|
||||
'${MD_ID}' AS recruitment_id,
|
||||
'Region' AS schema
|
||||
FROM appeals.reasons_appeal
|
||||
|
|
|
|||
|
|
@ -1000,7 +1000,7 @@
|
|||
<hop>
|
||||
<from>job_get_rows_mildis.hwf</from>
|
||||
<to>appeals.reasons_appeal(m_d).hpl</to>
|
||||
<enabled>N</enabled>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>Y</evaluation>
|
||||
<unconditional>N</unconditional>
|
||||
</hop>
|
||||
|
|
|
|||
|
|
@ -80,13 +80,11 @@
|
|||
<condition>=</condition>
|
||||
<field>id_region</field>
|
||||
<name>REG_ID</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>spring_autumn</field>
|
||||
<name>spring_autumn</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<schema>ratings</schema>
|
||||
<table>conscription_info</table>
|
||||
|
|
@ -220,7 +218,7 @@ season_separations AS (
|
|||
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)
|
||||
--WHERE ls.create_date >= DATE_TRUNC('year', CURRENT_DATE)
|
||||
)
|
||||
SELECT
|
||||
'${REG_ID}' AS region_id,
|
||||
|
|
|
|||
|
|
@ -166,16 +166,19 @@ WHERE recording_date = current_date
|
|||
<condition>=</condition>
|
||||
<field>recruitment_id</field>
|
||||
<name>recruitment_id</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>schema</field>
|
||||
<name>schema</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>recording_date</field>
|
||||
<name>recording_date</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<schema>appeals</schema>
|
||||
<table>reasons_appeal</table>
|
||||
|
|
@ -205,23 +208,33 @@ WHERE recording_date = current_date
|
|||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>no_data</name>
|
||||
<rename>no_data</rename>
|
||||
<name>sending_documents</name>
|
||||
<rename>sending_documents</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>no_data_percent</name>
|
||||
<rename>no_data_percent</rename>
|
||||
<name>sending_documents_percent</name>
|
||||
<rename>sending_documents_percent</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>other</name>
|
||||
<rename>other</rename>
|
||||
<name>decision_disagreement</name>
|
||||
<rename>decision_disagreement</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>other_percent</name>
|
||||
<rename>other_percent</rename>
|
||||
<name>decision_disagreement_persent</name>
|
||||
<rename>decision_disagreement_percent</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>complaint_withdrawal</name>
|
||||
<rename>complaint_withdrawal</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>complaint_withdrawal_percent</name>
|
||||
<rename>complaint_withdrawal_percent</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
</lookup>
|
||||
|
|
@ -326,16 +339,20 @@ total_appeals AS (
|
|||
FROM appeals.appeals_list
|
||||
WHERE
|
||||
region_id::uuid IN (SELECT recruitment_id FROM ids)
|
||||
AND (reasons_appeal IS NULL OR
|
||||
reasons_appeal IN ('Отзыв жалобы', 'Некорректные данные', 'Досыл документов', 'Несогласие с решением'))
|
||||
AND 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
|
||||
SUM(CASE WHEN reasons_appeal = 'Некорректные данные' THEN 1 ELSE 0 END) AS incorrect_inf, --некорректные данные
|
||||
SUM(CASE WHEN reasons_appeal = 'Досыл документов' THEN 1 ELSE 0 END) AS sending_documents,
|
||||
SUM(CASE WHEN reasons_appeal = 'Несогласие с решением' THEN 1 ELSE 0 END) AS decision_disagreement,
|
||||
SUM(CASE WHEN reasons_appeal = 'Отзыв жалобы' THEN 1 ELSE 0 END) AS complaint_withdrawal
|
||||
/*
|
||||
sending_documents -- Досыл документов
|
||||
complaint_withdrawal -- Отзыв жалобы
|
||||
decision_disagreement --Несогласие с решением*/
|
||||
FROM total_appeals
|
||||
GROUP BY recruitment_id
|
||||
)
|
||||
|
|
@ -345,11 +362,13 @@ SELECT
|
|||
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(sc.sending_documents, 0) AS sending_documents,
|
||||
COALESCE(sc.decision_disagreement, 0) AS decision_disagreement,
|
||||
COALESCE(sc.complaint_withdrawal, 0) AS complaint_withdrawal,
|
||||
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
|
||||
COALESCE(ROUND(sc.sending_documents * 100.0 / NULLIF(sc.total_appeals, 0), 2), 0) AS sending_documents_percent,
|
||||
COALESCE(ROUND(sc.decision_disagreement * 100.0 / NULLIF(sc.total_appeals, 0), 2), 0) AS decision_disagreement_percent,
|
||||
COALESCE(ROUND(sc.complaint_withdrawal * 100.0 / NULLIF(sc.total_appeals, 0), 2), 0) AS complaint_withdrawal_percent
|
||||
FROM ids i
|
||||
LEFT JOIN summary_counts sc ON sc.recruitment_id = i.recruitment_id;</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue