total_registered.subpoenas Normal 0 / ID_BATCH Y ID_BATCH CHANNEL_ID Y CHANNEL_ID TRANSNAME Y TRANSNAME STATUS Y STATUS LINES_READ Y LINES_READ LINES_WRITTEN Y LINES_WRITTEN LINES_UPDATED Y LINES_UPDATED LINES_INPUT Y LINES_INPUT LINES_OUTPUT Y LINES_OUTPUT LINES_REJECTED Y LINES_REJECTED ERRORS Y ERRORS STARTDATE Y STARTDATE ENDDATE Y ENDDATE LOGDATE Y LOGDATE DEPDATE Y DEPDATE REPLAYDATE Y REPLAYDATE LOG_FIELD Y LOG_FIELD EXECUTING_SERVER N EXECUTING_SERVER EXECUTING_USER N EXECUTING_USER CLIENT N CLIENT
ID_BATCH Y ID_BATCH SEQ_NR Y SEQ_NR LOGDATE Y LOGDATE TRANSNAME Y TRANSNAME STEPNAME Y STEPNAME STEP_COPY Y STEP_COPY LINES_READ Y LINES_READ LINES_WRITTEN Y LINES_WRITTEN LINES_UPDATED Y LINES_UPDATED LINES_INPUT Y LINES_INPUT LINES_OUTPUT Y LINES_OUTPUT LINES_REJECTED Y LINES_REJECTED ERRORS Y ERRORS INPUT_BUFFER_ROWS Y INPUT_BUFFER_ROWS OUTPUT_BUFFER_ROWS Y OUTPUT_BUFFER_ROWS
ID_BATCH Y ID_BATCH CHANNEL_ID Y CHANNEL_ID LOG_DATE Y LOG_DATE LOGGING_OBJECT_TYPE Y LOGGING_OBJECT_TYPE OBJECT_NAME Y OBJECT_NAME OBJECT_COPY Y OBJECT_COPY REPOSITORY_DIRECTORY Y REPOSITORY_DIRECTORY FILENAME Y FILENAME OBJECT_ID Y OBJECT_ID OBJECT_REVISION Y OBJECT_REVISION PARENT_CHANNEL_ID Y PARENT_CHANNEL_ID ROOT_CHANNEL_ID Y ROOT_CHANNEL_ID
ID_BATCH Y ID_BATCH CHANNEL_ID Y CHANNEL_ID LOG_DATE Y LOG_DATE TRANSNAME Y TRANSNAME STEPNAME Y STEPNAME STEP_COPY Y STEP_COPY LINES_READ Y LINES_READ LINES_WRITTEN Y LINES_WRITTEN LINES_UPDATED Y LINES_UPDATED LINES_INPUT Y LINES_INPUT LINES_OUTPUT Y LINES_OUTPUT LINES_REJECTED Y LINES_REJECTED ERRORS Y ERRORS LOG_FIELD N LOG_FIELD
ID_BATCH Y ID_BATCH CHANNEL_ID Y CHANNEL_ID LOG_DATE Y LOG_DATE METRICS_DATE Y METRICS_DATE METRICS_CODE Y METRICS_CODE METRICS_DESCRIPTION Y METRICS_DESCRIPTION METRICS_SUBJECT Y METRICS_SUBJECT METRICS_TYPE Y METRICS_TYPE METRICS_VALUE Y METRICS_VALUE
0.0 0.0 10000 50 50 N Y 50000 Y N 1000 100 local localhost 8888 cluster Encrypted 2be98afc86aa7f2e4cb1aa265cd86aac8 Y N - 2024/08/02 11:56:22.507 - 2024/08/02 11:56:22.507 H4sIAAAAAAAAAAMAAAAAAAAAAAA= N ervu-dashboard dashboard-dbhost POSTGRESQL Native dashboard-dbname 1111 dashboard-dbuser Encrypted 2daf9dca008c89396af54aa72ce93bcc9 EXTRA_OPTION_POSTGRESQL.stringtype unspecified FORCE_IDENTIFIERS_TO_LOWERCASE N FORCE_IDENTIFIERS_TO_UPPERCASE N IS_CLUSTERED N PORT_NUMBER 1111 PRESERVE_RESERVED_WORD_CASE Y QUOTE_ALL_FIELDS N SUPPORTS_BOOLEAN_DATA_TYPE N SUPPORTS_TIMESTAMP_DATA_TYPE N USE_POOLING N postgres.subpoena subpoena-dbhost POSTGRESQL Native subpoena-dbname 5555 subpoena-dbuser Encrypted 2beebdaaa1ac8978aaa54aa72ce93bcc9 FORCE_IDENTIFIERS_TO_LOWERCASE N FORCE_IDENTIFIERS_TO_UPPERCASE N IS_CLUSTERED N PORT_NUMBER 5555 PRESERVE_RESERVED_WORD_CASE Y QUOTE_ALL_FIELDS N SUPPORTS_BOOLEAN_DATA_TYPE N SUPPORTS_TIMESTAMP_DATA_TYPE N USE_POOLING N Table input (subpoena)РФ/рег Insert / update (total_registered.subpoenas) N Table input (subpoena) РФ/не рег Insert / update (total_registered.subpoenas) 3 N Get variables 3 2 2 Select values 3 2 2 Y Get variables 3 2 2 2 Select values 3 2 2 2 Y Table input (subpoena)РФ/рег Get variables 3 2 2 Y Select values 3 2 2 Insert / update (total_registered.subpoenas) Y Table input (subpoena) РФ/не рег Get variables 3 2 2 2 Y Select values 3 2 2 2 Insert / update (total_registered.subpoenas) 3 Y Get variables 3 2 2 GetVariable Y 1 none REG_ID String -1 -1 none VK_ARRAY String -1 -1 none 640 208 Y Get variables 3 2 2 2 GetVariable Y 1 none REG_ID String -1 -1 none VK_ARRAY String -1 -1 none 640 384 Y Insert / update (total_registered.subpoenas) InsertUpdate Y 1 none ervu-dashboard 100 N total_registered
subpoenas
REG_ID recruitment_id = mil_reg mil_reg = subpoena count_subpoena Y appeared count_appeared Y average_appeared average_appeared Y not_appeared count_not_appeared Y not_ap_good_reason count_not_ap_good_reason Y introduced_measures count_introduced_measures Y ap_not_required count_ap_not_required Y electron count_electron Y paper count_paper Y restrictions_applied count_restrictions_applied Y recruitment_id recruitment_id N mil_reg mil_reg N appeared_percent appeared_percent Y not_appeared_percent not_appeared_percent Y not_ap_good_reason_percent not_ap_good_reason_percent Y ap_not_required_percent ap_not_required_percent Y electron_percent electron_percent Y paper_percent paper_percent Y restrictions_applied_percent restrictions_applied_percent Y introduced_measures_percent introduced_measures_percent Y count_not_delivery count_not_delivery Y appear_date_is_good appear_date_is_good Y not_delivery_percent not_delivery_percent Y appear_date_is_good_percent appear_date_is_good_percent Y 880 144 Y Insert / update (total_registered.subpoenas) 3 InsertUpdate Y 1 none ervu-dashboard 100 N total_registered subpoenas
REG_ID recruitment_id = mil_reg mil_reg = subpoena count_subpoena Y appeared count_appeared Y average_appeared average_appeared Y not_appeared count_not_appeared Y not_ap_good_reason count_not_ap_good_reason Y introduced_measures count_introduced_measures Y ap_not_required count_ap_not_required Y electron count_electron Y paper count_paper Y restrictions_applied count_restrictions_applied Y recruitment_id recruitment_id N mil_reg mil_reg N appeared_percent appeared_percent Y not_appeared_percent not_appeared_percent Y not_ap_good_reason_percent not_ap_good_reason_percent Y ap_not_required_percent ap_not_required_percent Y electron_percent electron_percent Y paper_percent paper_percent Y restrictions_applied_percent restrictions_applied_percent Y introduced_measures_percent introduced_measures_percent Y count_not_delivery count_not_delivery Y appear_date_is_good appear_date_is_good Y not_delivery_percent not_delivery_percent Y appear_date_is_good_percent appear_date_is_good_percent Y
880 304 Y
Select values 3 2 2 SelectValues Y 1 none N REG_ID REG_ID String -2 -2 false false VK_ARRAY VK_ARRAY String -2 -2 false false 784 208 Y Select values 3 2 2 2 SelectValues Y 1 none N REG_ID REG_ID String -2 -2 false false VK_ARRAY VK_ARRAY String -2 -2 false false 784 384 Y Table input (subpoena) РФ/не рег TableInput Y 1 none postgres.subpoena WITH subpoena_data AS ( SELECT s.id AS subpoena_id, s.status_id, sr.type, ssh.code AS sub_stat_hist, s.send_date, sh.date_time::timestamp AS history_date, rdi.restriction_document_cancel_id AS restr_dc, 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 -- добавляем строку для получения последнего статуса FROM subpoena s JOIN subpoena_history AS sh ON sh.subpoena_id = s.id JOIN subpoena_status AS ss ON ss.id = s.status_id JOIN subpoena_status AS ssh ON ssh.id = sh.status_id JOIN subpoena_reason AS sr ON sr.id = s.reason_id LEFT JOIN restriction_document AS rd ON rd.subpoena_id = s.id 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 = '1' and ssh.code not in ('3.14','3.7','3.72', '3.71') ), -- фильтруем только последние статусы для каждой повестки last_status AS ( SELECT * FROM subpoena_data WHERE rn = 1 -- выбираем только последнюю запись для каждой повестки ), -- Подсчет различных метрик t1 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_subpoena FROM last_status WHERE sub_stat_hist IS NOT NULL ), t2 AS ( SELECT ROUND(AVG(EXTRACT(DAY FROM (history_date::timestamp - send_date::timestamp))), 1) AS average_appeared FROM last_status WHERE sub_stat_hist IN ('4.1', '4.2', '4') ), t3 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_appeared FROM last_status WHERE sub_stat_hist IN ('4.1', '4.2', '4') ), t4 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_not_appeared FROM last_status WHERE sub_stat_hist = '5' ), t5 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_not_ap_good_reason FROM last_status WHERE sub_stat_hist = '5.1' ), t6 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_ap_not_required FROM last_status WHERE sub_stat_hist IN ('3.8', '5.2') ), t7 AS ( -- количество повесток по которым применены ограничения SELECT COUNT(DISTINCT subpoena_id) AS count_restrictions_applied FROM last_status WHERE restr_dc IS NULL ), t8 AS ( -- количество повесток по которым введены меры SELECT COUNT(DISTINCT subpoena_id) AS count_introduced_measures FROM last_status WHERE restr_dc IS NULL AND ap_date IS NOT NULL ), t9 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_paper FROM last_status WHERE d_code != '7' ), t10 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_electron FROM last_status WHERE d_code = '7' ), t11 AS ( SELECT COUNT (DISTINCT rdi_id) AS count_restrictions FROM last_status ), t12 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_not_delivery --не вручена FROM last_status WHERE d_code is null ), t13 AS ( SELECT COUNT(DISTINCT subpoena_id) AS appear_date_is_good FROM last_status WHERE sub_stat_hist IN ('3','3.12', '3.13', '3.15', '3.1') ) SELECT t1.count_subpoena, t2.average_appeared, t3.count_appeared, t4.count_not_appeared, t5.count_not_ap_good_reason, t6.count_ap_not_required, t7.count_restrictions_applied, t8.count_introduced_measures, t9.count_paper, t10.count_electron, t11.count_restrictions, t12.count_not_delivery, t13.appear_date_is_good, ROUND(count_appeared * 100.0 / NULLIF(count_subpoena, 0), 2) AS appeared_percent, ROUND(count_not_appeared * 100.0 / NULLIF(count_subpoena, 0), 2) AS not_appeared_percent, ROUND(count_not_ap_good_reason * 100.0 / NULLIF(count_subpoena, 0), 2) AS not_ap_good_reason_percent, ROUND(count_ap_not_required * 100.0 / NULLIF(count_subpoena, 0), 2) AS ap_not_required_percent, ROUND(count_electron * 100.0 / NULLIF(count_subpoena, 0), 2) AS electron_percent, ROUND(count_paper * 100.0 / NULLIF(count_subpoena, 0), 2) AS paper_percent, ROUND(count_restrictions_applied * 100.0 / NULLIF(count_subpoena, 0), 2) AS restrictions_applied_percent, ROUND(count_introduced_measures * 100.0 / NULLIF(count_subpoena, 0), 2) AS introduced_measures_percent, ROUND(count_not_delivery * 100.0 / NULLIF(count_subpoena, 0), 2) AS not_delivery_percent, --процент не врученных ROUND(appear_date_is_good * 100.0 / NULLIF(count_subpoena, 0), 2) AS appear_date_is_good_percent, --процент не врученных '${REG_ID}' AS recruitment_id, 1 AS org, 0 AS mil_reg FROM t1 FULL OUTER JOIN t2 ON 1 = 1 FULL OUTER JOIN t3 ON 1 = 1 FULL OUTER JOIN t4 ON 1 = 1 FULL OUTER JOIN t5 ON 1 = 1 FULL OUTER JOIN t6 ON 1 = 1 FULL OUTER JOIN t7 ON 1 = 1 FULL OUTER JOIN t8 ON 1 = 1 FULL OUTER JOIN t9 ON 1 = 1 FULL OUTER JOIN t10 ON 1 = 1 FULL OUTER JOIN t11 ON 1 = 1 FULL OUTER JOIN t12 ON 1 = 1 FULL OUTER JOIN t13 ON 1 = 1; 0 N Y N 544 304 Y Table input (subpoena)РФ/рег TableInput Y 1 none postgres.subpoena WITH subpoena_data AS ( SELECT s.id AS subpoena_id, s.status_id, sr.type, ssh.code AS sub_stat_hist, s.send_date, sh.date_time::timestamp AS history_date, rdi.restriction_document_cancel_id AS restr_dc, 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 -- добавляем строку для получения последнего статуса FROM subpoena s JOIN subpoena_history AS sh ON sh.subpoena_id = s.id JOIN subpoena_status AS ss ON ss.id = s.status_id JOIN subpoena_status AS ssh ON ssh.id = sh.status_id JOIN subpoena_reason AS sr ON sr.id = s.reason_id LEFT JOIN restriction_document AS rd ON rd.subpoena_id = s.id 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 != '1' and ssh.code not in ('3.14','3.7','3.72', '3.71') ), -- фильтруем только последние статусы для каждой повестки last_status AS ( SELECT * FROM subpoena_data WHERE rn = 1 -- выбираем только последнюю запись для каждой повестки ), -- Подсчет различных метрик t1 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_subpoena FROM last_status WHERE sub_stat_hist IS NOT NULL ), t2 AS ( SELECT ROUND(AVG(EXTRACT(DAY FROM (history_date::timestamp - send_date::timestamp))), 1) AS average_appeared FROM last_status WHERE sub_stat_hist IN ('4.1', '4.2', '4') ), t3 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_appeared FROM last_status WHERE sub_stat_hist IN ('4.1', '4.2', '4') ), t4 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_not_appeared FROM last_status WHERE sub_stat_hist = '5' ), t5 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_not_ap_good_reason FROM last_status WHERE sub_stat_hist = '5.1' ), t6 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_ap_not_required FROM last_status WHERE sub_stat_hist IN ('3.8', '5.2') ), t7 AS ( -- количество повесток по которым применены ограничения SELECT COUNT(DISTINCT subpoena_id) AS count_restrictions_applied FROM last_status WHERE restr_dc IS NULL ), t8 AS ( -- количество повесток по которым введены меры SELECT COUNT(DISTINCT subpoena_id) AS count_introduced_measures FROM last_status WHERE restr_dc IS NULL AND ap_date IS NOT NULL ), t9 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_paper FROM last_status WHERE d_code != '7' ), t10 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_electron FROM last_status WHERE d_code = '7' ), t11 AS ( SELECT COUNT (DISTINCT rdi_id) AS count_restrictions FROM last_status ), t12 AS ( SELECT COUNT(DISTINCT subpoena_id) AS count_not_delivery --не вручена FROM last_status WHERE d_code is null ), t13 AS ( SELECT COUNT(DISTINCT subpoena_id) AS appear_date_is_good FROM last_status WHERE sub_stat_hist IN ('3','3.12', '3.13', '3.15', '3.1') ) SELECT t1.count_subpoena, t2.average_appeared, t3.count_appeared, t4.count_not_appeared, t5.count_not_ap_good_reason, t6.count_ap_not_required, t7.count_restrictions_applied, t8.count_introduced_measures, t9.count_paper, t10.count_electron, t11.count_restrictions, t12.count_not_delivery, t13.appear_date_is_good, ROUND(count_appeared * 100.0 / NULLIF(count_subpoena, 0), 2) AS appeared_percent, ROUND(count_not_appeared * 100.0 / NULLIF(count_subpoena, 0), 2) AS not_appeared_percent, ROUND(count_not_ap_good_reason * 100.0 / NULLIF(count_subpoena, 0), 2) AS not_ap_good_reason_percent, ROUND(count_ap_not_required * 100.0 / NULLIF(count_subpoena, 0), 2) AS ap_not_required_percent, ROUND(count_electron * 100.0 / NULLIF(count_subpoena, 0), 2) AS electron_percent, ROUND(count_paper * 100.0 / NULLIF(count_subpoena, 0), 2) AS paper_percent, ROUND(count_restrictions_applied * 100.0 / NULLIF(count_subpoena, 0), 2) AS restrictions_applied_percent, ROUND(count_introduced_measures * 100.0 / NULLIF(count_subpoena, 0), 2) AS introduced_measures_percent, ROUND(count_not_delivery * 100.0 / NULLIF(count_subpoena, 0), 2) AS not_delivery_percent, --процент не врученных ROUND(appear_date_is_good * 100.0 / NULLIF(count_subpoena, 0), 2) AS appear_date_is_good_percent, --процент не врученных '${REG_ID}' AS recruitment_id, 1 AS org, 1 AS mil_reg FROM t1 FULL OUTER JOIN t2 ON 1 = 1 FULL OUTER JOIN t3 ON 1 = 1 FULL OUTER JOIN t4 ON 1 = 1 FULL OUTER JOIN t5 ON 1 = 1 FULL OUTER JOIN t6 ON 1 = 1 FULL OUTER JOIN t7 ON 1 = 1 FULL OUTER JOIN t8 ON 1 = 1 FULL OUTER JOIN t9 ON 1 = 1 FULL OUTER JOIN t10 ON 1 = 1 FULL OUTER JOIN t11 ON 1 = 1 FULL OUTER JOIN t12 ON 1 = 1 FULL OUTER JOIN t13 ON 1 = 1; 0 N Y N 544 144 Y N