diff --git a/mappings_old/metrics/Cancellation_Timely_measures.ktr b/mappings_old/metrics/Cancellation_Timely_measures.ktr index e03a1d3..c9d3b3f 100644 --- a/mappings_old/metrics/Cancellation_Timely_measures.ktr +++ b/mappings_old/metrics/Cancellation_Timely_measures.ktr @@ -564,9 +564,26 @@ SELECT CASE - WHEN CAST(sr.code AS INTEGER) IN (101) THEN 1 - WHEN CAST(sr.code AS INTEGER) IN (201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211) THEN 2 - WHEN CAST(sr.code AS INTEGER) IN (102, 103, 104, 105, 106, 107) THEN 14 + WHEN CAST(sr.code AS INTEGER) IN (101) THEN 1 + -- WHEN CAST(sr.code AS INTEGER) IN (201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211) THEN 2 + WHEN CAST(sr.code AS INTEGER) IN (201) THEN 3 + WHEN CAST(sr.code AS INTEGER) IN (202) THEN 4 + WHEN CAST(sr.code AS INTEGER) IN (203) THEN 5 + WHEN CAST(sr.code AS INTEGER) IN (204) THEN 6 + WHEN CAST(sr.code AS INTEGER) IN (205) THEN 7 + WHEN CAST(sr.code AS INTEGER) IN (206) THEN 8 + WHEN CAST(sr.code AS INTEGER) IN (207) THEN 9 + WHEN CAST(sr.code AS INTEGER) IN (208) THEN 10 + WHEN CAST(sr.code AS INTEGER) IN (209) THEN 11 + WHEN CAST(sr.code AS INTEGER) IN (210) THEN 12 + WHEN CAST(sr.code AS INTEGER) IN (211) THEN 13 + -- WHEN CAST(sr.code AS INTEGER) IN (102, 103, 104, 105, 106, 107) THEN 14 + WHEN CAST(sr.code AS INTEGER) IN (102) THEN 15 + WHEN CAST(sr.code AS INTEGER) IN (103) THEN 16 + WHEN CAST(sr.code AS INTEGER) IN (104) THEN 17 + WHEN CAST(sr.code AS INTEGER) IN (105) THEN 18 + WHEN CAST(sr.code AS INTEGER) IN (106) THEN 19 + WHEN CAST(sr.code AS INTEGER) IN (107) THEN 20 WHEN CAST(sr.code AS INTEGER) IN (301) THEN 21 ELSE NULL END AS summonses_reason_id, diff --git a/mappings_old/metrics/Reesr_visit.ktr b/mappings_old/metrics/Reesr_visit.ktr index a6718da..984f0e7 100644 --- a/mappings_old/metrics/Reesr_visit.ktr +++ b/mappings_old/metrics/Reesr_visit.ktr @@ -563,10 +563,27 @@ ---- На данные момент это костыль в recruitment_id SELECT - CASE - WHEN CAST(sr.code AS INTEGER) IN (101) THEN 1 - WHEN CAST(sr.code AS INTEGER) IN (201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211) THEN 2 - WHEN CAST(sr.code AS INTEGER) IN (102, 103, 104, 105, 106, 107) THEN 14 + CASE + WHEN CAST(sr.code AS INTEGER) IN (101) THEN 1 + -- WHEN CAST(sr.code AS INTEGER) IN (201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211) THEN 2 + WHEN CAST(sr.code AS INTEGER) IN (201) THEN 3 + WHEN CAST(sr.code AS INTEGER) IN (202) THEN 4 + WHEN CAST(sr.code AS INTEGER) IN (203) THEN 5 + WHEN CAST(sr.code AS INTEGER) IN (204) THEN 6 + WHEN CAST(sr.code AS INTEGER) IN (205) THEN 7 + WHEN CAST(sr.code AS INTEGER) IN (206) THEN 8 + WHEN CAST(sr.code AS INTEGER) IN (207) THEN 9 + WHEN CAST(sr.code AS INTEGER) IN (208) THEN 10 + WHEN CAST(sr.code AS INTEGER) IN (209) THEN 11 + WHEN CAST(sr.code AS INTEGER) IN (210) THEN 12 + WHEN CAST(sr.code AS INTEGER) IN (211) THEN 13 + -- WHEN CAST(sr.code AS INTEGER) IN (102, 103, 104, 105, 106, 107) THEN 14 + WHEN CAST(sr.code AS INTEGER) IN (102) THEN 15 + WHEN CAST(sr.code AS INTEGER) IN (103) THEN 16 + WHEN CAST(sr.code AS INTEGER) IN (104) THEN 17 + WHEN CAST(sr.code AS INTEGER) IN (105) THEN 18 + WHEN CAST(sr.code AS INTEGER) IN (106) THEN 19 + WHEN CAST(sr.code AS INTEGER) IN (107) THEN 20 WHEN CAST(sr.code AS INTEGER) IN (301) THEN 21 ELSE NULL END AS summonses_reason_id, diff --git a/mappings_old/metrics/Timely_measures.ktr b/mappings_old/metrics/Timely_measures.ktr index b12b338..e18d495 100644 --- a/mappings_old/metrics/Timely_measures.ktr +++ b/mappings_old/metrics/Timely_measures.ktr @@ -430,7 +430,7 @@ 2024/12/09 13:18:43.055 - 2024/12/09 13:18:43.055 - + N @@ -564,9 +564,26 @@ SELECT CASE - WHEN CAST(sr.code AS INTEGER) IN (101) THEN 1 - WHEN CAST(sr.code AS INTEGER) IN (201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211) THEN 2 - WHEN CAST(sr.code AS INTEGER) IN (102, 103, 104, 105, 106, 107) THEN 14 + WHEN CAST(sr.code AS INTEGER) IN (101) THEN 1 + -- WHEN CAST(sr.code AS INTEGER) IN (201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211) THEN 2 + WHEN CAST(sr.code AS INTEGER) IN (201) THEN 3 + WHEN CAST(sr.code AS INTEGER) IN (202) THEN 4 + WHEN CAST(sr.code AS INTEGER) IN (203) THEN 5 + WHEN CAST(sr.code AS INTEGER) IN (204) THEN 6 + WHEN CAST(sr.code AS INTEGER) IN (205) THEN 7 + WHEN CAST(sr.code AS INTEGER) IN (206) THEN 8 + WHEN CAST(sr.code AS INTEGER) IN (207) THEN 9 + WHEN CAST(sr.code AS INTEGER) IN (208) THEN 10 + WHEN CAST(sr.code AS INTEGER) IN (209) THEN 11 + WHEN CAST(sr.code AS INTEGER) IN (210) THEN 12 + WHEN CAST(sr.code AS INTEGER) IN (211) THEN 13 + -- WHEN CAST(sr.code AS INTEGER) IN (102, 103, 104, 105, 106, 107) THEN 14 + WHEN CAST(sr.code AS INTEGER) IN (102) THEN 15 + WHEN CAST(sr.code AS INTEGER) IN (103) THEN 16 + WHEN CAST(sr.code AS INTEGER) IN (104) THEN 17 + WHEN CAST(sr.code AS INTEGER) IN (105) THEN 18 + WHEN CAST(sr.code AS INTEGER) IN (106) THEN 19 + WHEN CAST(sr.code AS INTEGER) IN (107) THEN 20 WHEN CAST(sr.code AS INTEGER) IN (301) THEN 21 ELSE NULL END AS summonses_reason_id, diff --git a/mappings_old/metrics/decision_formation_status.ktr b/mappings_old/metrics/decision_formation_status.ktr new file mode 100644 index 0000000..30f0fb3 --- /dev/null +++ b/mappings_old/metrics/decision_formation_status.ktr @@ -0,0 +1,839 @@ + + + + decision_formation_status + + + + Normal + / + + + + + + + + + + + + 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 + + + + + + + + + - + 2024/12/10 14:51:36.276 + - + 2024/12/10 14:51:36.276 + + N + + + + + ervu-person-registry + person-dbhost + POSTGRESQL + Native + person-dbname + 4444 + person-dbuser + Encrypted 2be98afc86aa7f2e4cb79ce10db80b9cf + + + + + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 5432 + + + PRESERVE_RESERVED_WORD_CASE + Y + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + + + + + metrics + metrics-dbhost + POSTGRESQL + Native + metrics-dbname + 7777 + metrics-dbuser + Encrypted 657276755ddceddca104c281979414ab64cc9bacc9 + + + + + + EXTRA_OPTION_POSTGRESQL.stringtype + unspecified + + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 5432 + + + PRESERVE_RESERVED_WORD_CASE + Y + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + + + + + + Table input + Table output + Y + + + + Table input + TableInput + + Y + + 1 + + none + + + ervu-person-registry + +WITH +main_data AS ( + SELECT + r.id AS recruit_id, + d.status->>'code' AS status, + d.type->>'code' AS type, + r.source, + d.status->>'value' AS decision_status, -- статус решения + ROW_NUMBER() OVER (PARTITION BY r.id ORDER BY d.decision_date DESC) AS rn + FROM public.recruits r + JOIN public.decision d + ON d.recruit_id = r.id + WHERE -- d.status->>'code' = '2' -- Поставлен на учёт + -- AND + d.type->>'code' IN ( + '24', -- Первоначальная постановка на учёт в год достижения 17 лет + '1', -- Первоначальная постановка на учёт. Считаем, что первоначальная постановка при достижении 18 лет + '2' -- Первоначальная постановка на учёт. Считаем, что первоначальная постановка при достижении 18 лет + ) + AND r.source IN ( + '1', -- ГИР ВУ + '2', -- Личное посещение (Ручной ввод специалистом) + '3' -- ЕПГУ + ) + AND d.status->>'value' IN ( + 'Решение сформировано', -- решение На подписании + 'Решение подписано', -- решение Подписано + 'Проект решения отклонен' -- решение Отклонено + ) +), + +last_data AS ( + SELECT + recruit_id, + type, + source, + decision_status AS ds + FROM main_data + WHERE rn = 1 +), + +p17_gir_vu AS ( + SELECT + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('24') AND ld.source = '1' AND ld.ds = 'Решение подписано'), 0) AS count_signed, -- Подписано + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('24') AND ld.source = '1' AND ld.ds = 'Решение сформировано'), 0) AS count_waiting_sign, -- На подписании + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('24') AND ld.source = '1' AND ld.ds = 'Проект решения отклонен'), 0) AS count_refused, -- Отклонено + 'GIR_VU' AS info_source, + '17_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- для первоначальной 17 лет/ГИР ВУ + FROM last_data ld +), + +p18_gir_vu AS ( + SELECT + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '1' AND ld.ds = 'Решение подписано'), 0) AS count_signed, -- Подписано + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '1' AND ld.ds = 'Решение сформировано'), 0) AS count_waiting_sign, -- На подписании + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '1' AND ld.ds = 'Проект решения отклонен'), 0) AS count_refused, -- Отклонено + 'GIR_VU' AS info_source, + '18_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- для первоначальной 18 лет/ГИР ВУ + FROM last_data ld +), + +p17_epgu AS ( + SELECT + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('24') AND ld.source = '3' AND ld.ds = 'Решение подписано'), 0) AS count_signed, -- Подписано + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('24') AND ld.source = '3' AND ld.ds = 'Решение сформировано'), 0) AS count_waiting_sign, -- На подписании + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('24') AND ld.source = '3' AND ld.ds = 'Проект решения отклонен'), 0) AS count_refused, -- Отклонено + 'EPGU' AS info_source, + '17_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- для первоначальной 17 лет/ЕПГУ + FROM last_data ld +), + +p18_epgu AS ( + SELECT + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '3' AND ld.ds = 'Решение подписано'), 0) AS count_signed, -- Подписано + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '3' AND ld.ds = 'Решение сформировано'), 0) AS count_waiting_sign, -- На подписании + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '3' AND ld.ds = 'Проект решения отклонен'), 0) AS count_refused, -- Отклонено + 'EPGU' AS info_source, + '18_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- для первоначальной 18 лет/ЕПГУ + FROM last_data ld +), + +p17_p_v AS ( + SELECT + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('24') AND ld.source = '2' AND ld.ds = 'Решение подписано'), 0) AS count_signed, -- Подписано + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('24') AND ld.source = '2' AND ld.ds = 'Решение сформировано'), 0) AS count_waiting_sign, -- На подписании + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('24') AND ld.source = '2' AND ld.ds = 'Проект решения отклонен'), 0) AS count_refused, -- Отклонено + 'PERSONAL_VISIT' AS info_source, + '17_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- для первоначальной 17 лет/Личное посещение + FROM last_data ld +), + +p18_p_v AS ( + SELECT + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '2' AND ld.ds = 'Решение подписано'), 0) AS count_signed, -- Подписано + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '2' AND ld.ds = 'Решение сформировано'), 0) AS count_waiting_sign, -- На подписании + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '2' AND ld.ds = 'Проект решения отклонен'), 0) AS count_refused, -- Отклонено + 'PERSONAL_VISIT' AS info_source, + '18_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- для первоначальной 18 лет/Личное посещение + FROM last_data ld +) + +SELECT + info_date, + recruitment_id, + info_source, + info_age, + count_signed, + count_waiting_sign, + count_refused +FROM p17_gir_vu +UNION ALL +SELECT + info_date, + recruitment_id, + info_source, + info_age, + count_signed, + count_waiting_sign, + count_refused +FROM p18_gir_vu +UNION ALL +SELECT + info_date, + recruitment_id, + info_source, + info_age, + count_signed, + count_waiting_sign, + count_refused +FROM p17_epgu +UNION ALL +SELECT + info_date, + recruitment_id, + info_source, + info_age, + count_signed, + count_waiting_sign, + count_refused +FROM p18_epgu +UNION ALL +SELECT + info_date, + recruitment_id, + info_source, + info_age, + count_signed, + count_waiting_sign, + count_refused +FROM p17_p_v +UNION ALL +SELECT + info_date, + recruitment_id, + info_source, + info_age, + count_signed, + count_waiting_sign, + count_refused +FROM p18_p_v; + 0 + + N + N + N + + + + + + + + + + 512 + 320 + Y + + + + Table output + TableOutput + + Y + + 1 + + none + + + metrics + init_registration_info +
decision_formation_status
+ 1000 + N + N + Y + Y + N + + N + Y + N + + Y + N + + + + recruitment_id + recruitment_id + + + info_date + info_date + + + info_source + info_source + + + info_age + info_age + + + count_signed + count_signed + + + count_waiting_sign + count_waiting_sign + + + count_refused + count_refused + + + + + + + + + + + + 704 + 320 + Y + + + + + + + N + +
diff --git a/mappings_old/metrics/info_sent_to_lk_epgu_registration_info.ktr b/mappings_old/metrics/info_sent_to_lk_epgu_registration_info.ktr new file mode 100644 index 0000000..adc2b07 --- /dev/null +++ b/mappings_old/metrics/info_sent_to_lk_epgu_registration_info.ktr @@ -0,0 +1,925 @@ + + + + info_sent_to_lk_epgu_registration_info + + + + Normal + / + + + + + + + + + + + + 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 + + + + + + + + + - + 2024/12/10 13:34:49.577 + - + 2024/12/10 13:34:49.577 + + N + + + + + ervu-person-registry + person-dbhost + POSTGRESQL + Native + person-dbname + 4444 + person-dbuser + Encrypted 2be98afc86aa7f2e4cb79ce10db80b9cf + + + + + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 5432 + + + PRESERVE_RESERVED_WORD_CASE + Y + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + + + + + metrics + metrics-dbhost + POSTGRESQL + Native + metrics-dbname + 7777 + metrics-dbuser + Encrypted 657276755ddceddca104c281979414ab64cc9bacc9 + + + + + + EXTRA_OPTION_POSTGRESQL.stringtype + unspecified + + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 5432 + + + PRESERVE_RESERVED_WORD_CASE + Y + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + + + + + + Table input + Table output + Y + + + + Table input + TableInput + + Y + + 1 + + none + + + ervu-person-registry + +WITH latest_status AS ( + SELECT + rh.recruit_id, + rh.status, + rh.date_time, + ROW_NUMBER() OVER (PARTITION BY rh.recruit_id ORDER BY rh.date_time DESC) AS rn, -- последнее изменение статуса + ROW_NUMBER() OVER (PARTITION BY rh.recruit_id ORDER BY d.decision_date DESC) AS rnd, -- последнее решение + r.source, + d.type->>'code' AS dtype + FROM public.recruits_history rh + JOIN public.recruit_ervu_status res + ON res.code = rh.status + JOIN public.recruits r + ON r.id = rh.recruit_id + JOIN public.sources_recruit sr + ON r.source = sr.code + JOIN public.decision d + ON d.recruit_id = r.id + WHERE rh.status IN ( + '16.2', -- Доставлено уведомление в ЛК ЕПГУ + '16.3', -- Ошибка отправки уведомления в ЛК ЕПГУ + '16.4', -- Просмотрено уведомлений в ЛК ЕПГУ + '16.1', -- Отправлено уведомление в ЛК ЕПГУ + '16.5', -- null //value уведомление не сформировано + '16.6', -- null //value уведомление сформировано + '16.7', -- null //value превышено время ожидания отправки уведомления + '16.8' -- null //value превышено время ожидания доставки уведомления + ) + AND d.status->>'code' = '2' -- Поставлен на учёт + AND d.type->>'code' IN ( + '24', -- Первоначальная постановка на учёт в год достижения 17 лет + '1', -- Первоначальная постановка на учёт. Считаем, что первоначальная постановка при достижении 18 лет + '2' -- Первоначальная постановка на учёт. Считаем, что первоначальная постановка при достижении 18 лет + ) + AND r.source IN ( + '1', -- ГИР ВУ + '2', -- Ручной ввод + '3' -- Заявление с ЕПГУ + -- '4' -- Личный прием + ) +), +main_data AS ( + SELECT + recruit_id, + status, + source, + dtype + FROM latest_status + WHERE rn = 1 -- Берем только последнюю запись для каждого recruit_id + AND rnd = 1 +), + +p17_gir_vu AS ( + SELECT + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.1', '16.2', '16.3', '16.4', '16.6', '16.7', '16.8') AND md.source = '1' AND md.dtype IN ('24')), 0) AS count_status_form, --"Сфоримировано уведомлений в ЛК гражданина" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.1', '16.2', '16.4', '16.8') AND md.source = '1' AND md.dtype IN ('24')), 0) AS count_sended, -- "Отправлено" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.2', '16.4') AND md.source = '1' AND md.dtype IN ('24')), 0) AS count_delivered, -- "Доставлено" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.3') AND md.source = '1' AND md.dtype IN ('24')), 0) AS count_error, -- "Ошибка отправки уведомления" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.4') AND md.source = '1' AND md.dtype IN ('24')), 0) AS count_viewed, -- "Просмотрено", + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.2') AND md.source = '1' AND md.dtype IN ('24')), 0) AS count_not_viewed, -- "Не просмотрено", + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.5') AND md.source = '1' AND md.dtype IN ('24')), 0) AS count_status_not_formed, -- "Не сформировано" + 'GIR_VU' AS info_source, + '17_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- 17/ГИР ВУ + FROM main_data md +), + +p18_gir_vu AS ( + SELECT + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.1', '16.2', '16.3', '16.4', '16.6', '16.7', '16.8') AND md.source = '1' AND md.dtype IN ('1', '2')), 0) AS count_status_form, --"Сфоримировано уведомлений в ЛК гражданина" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.1', '16.2', '16.4', '16.8') AND md.source = '1' AND md.dtype IN ('1', '2')), 0) AS count_sended, -- "Отправлено" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.2', '16.4') AND md.source = '1' AND md.dtype IN ('1', '2')), 0) AS count_delivered, -- "Доставлено" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.3') AND md.source = '1' AND md.dtype IN ('1', '2')), 0) AS count_error, -- "Ошибка отправки уведомления" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.4') AND md.source = '1' AND md.dtype IN ('1', '2')), 0) AS count_viewed, -- "Просмотрено", + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.2') AND md.source = '1' AND md.dtype IN ('1', '2')), 0) AS count_not_viewed, -- "Не просмотрено", + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.5') AND md.source = '1' AND md.dtype IN ('1', '2')), 0) AS count_status_not_formed, -- "Не сформировано" + 'GIR_VU' AS info_source, + '18_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- 18/ГИР ВУ + FROM main_data md +), + +p17_epgu AS ( + SELECT + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.1', '16.2', '16.3', '16.4', '16.6', '16.7', '16.8') AND md.source = '3' AND md.dtype IN ('24')), 0) AS count_status_form, --"Сфоримировано уведомлений в ЛК гражданина" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.1', '16.2', '16.4', '16.8') AND md.source = '3' AND md.dtype IN ('24')), 0) AS count_sended, -- "Отправлено" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.2', '16.4') AND md.source = '3' AND md.dtype IN ('24')), 0) AS count_delivered, -- "Доставлено" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.3') AND md.source = '3' AND md.dtype IN ('24')), 0) AS count_error, -- "Ошибка отправки уведомления" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.4') AND md.source = '3' AND md.dtype IN ('24')), 0) AS count_viewed, -- "Просмотрено", + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.2') AND md.source = '3' AND md.dtype IN ('24')), 0) AS count_not_viewed, -- "Не просмотрено", + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.5') AND md.source = '3' AND md.dtype IN ('24')), 0) AS count_status_not_formed, -- "Не сформировано" + 'EPGU' AS info_source, + '17_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- 17/ЕПГУ + FROM main_data md +), + +p18_epgu AS ( + SELECT + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.1', '16.2', '16.3', '16.4', '16.6', '16.7', '16.8') AND md.source = '3' AND md.dtype IN ('1', '2')), 0) AS count_status_form, --"Сфоримировано уведомлений в ЛК гражданина" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.1', '16.2', '16.4', '16.8') AND md.source = '3' AND md.dtype IN ('1', '2')), 0) AS count_sended, -- "Отправлено" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.2', '16.4') AND md.source = '3' AND md.dtype IN ('1', '2')), 0) AS count_delivered, -- "Доставлено" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.3') AND md.source = '3' AND md.dtype IN ('1', '2')), 0) AS count_error, -- "Ошибка отправки уведомления" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.4') AND md.source = '3' AND md.dtype IN ('1', '2')), 0) AS count_viewed, -- "Просмотрено", + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.2') AND md.source = '3' AND md.dtype IN ('1', '2')), 0) AS count_not_viewed, -- "Не просмотрено", + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.5') AND md.source = '3' AND md.dtype IN ('1', '2')), 0) AS count_status_not_formed, -- "Не сформировано" + 'EPGU' AS info_source, + '18_YEARS' AS info_age, + -- 18/ЕПГУ + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + FROM main_data md +), + +p17_p_v AS ( + SELECT + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.1', '16.2', '16.3', '16.4', '16.6', '16.7', '16.8') AND md.source = '2' AND md.dtype IN ('24')), 0) AS count_status_form, --"Сфоримировано уведомлений в ЛК гражданина" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.1', '16.2', '16.4', '16.8') AND md.source = '2' AND md.dtype IN ('24')), 0) AS count_sended, -- "Отправлено" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.2', '16.4') AND md.source = '2' AND md.dtype IN ('24')), 0) AS count_delivered, -- "Доставлено" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.3') AND md.source = '2' AND md.dtype IN ('24')), 0) AS count_error, -- "Ошибка отправки уведомления" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.4') AND md.source = '2' AND md.dtype IN ('24')), 0) AS count_viewed, -- "Просмотрено", + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.2') AND md.source = '2' AND md.dtype IN ('24')), 0) AS count_not_viewed, -- "Не просмотрено", + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.5') AND md.source = '2' AND md.dtype IN ('24')), 0) AS count_status_not_formed, -- "Не сформировано" + 'PERSONAL_VISIT' AS info_source, + '17_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- 17/Ручной ввод (личное посещение) + FROM main_data md +), + +p18_p_v AS ( + SELECT + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.1', '16.2', '16.3', '16.4', '16.6', '16.7', '16.8') AND md.source = '2' AND md.dtype IN ('1', '2')), 0) AS count_status_form, --"Сфоримировано уведомлений в ЛК гражданина" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.1', '16.2', '16.4', '16.8') AND md.source = '2' AND md.dtype IN ('1', '2')), 0) AS count_sended, -- "Отправлено" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.2', '16.4') AND md.source = '2' AND md.dtype IN ('1', '2')), 0) AS count_delivered, -- "Доставлено" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.3') AND md.source = '2' AND md.dtype IN ('1', '2')), 0) AS count_error, -- "Ошибка отправки уведомления" + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.4') AND md.source = '2' AND md.dtype IN ('1', '2')), 0) AS count_viewed, -- "Просмотрено", + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.2') AND md.source = '2' AND md.dtype IN ('1', '2')), 0) AS count_not_viewed, -- "Не просмотрено", + COALESCE(COUNT(md.recruit_id) FILTER (WHERE md.status IN ('16.5') AND md.source = '2' AND md.dtype IN ('1', '2')), 0) AS count_status_not_formed, -- "Не сформировано" + 'PERSONAL_VISIT' AS info_source, + '18_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- 18/Ручной ввод (личное посещение) + FROM main_data md +) +SELECT + recruitment_id, + info_date, + info_source, + info_age, + count_status_form, + count_sended, + count_delivered, + count_error, + count_viewed, + count_not_viewed, + count_status_not_formed +FROM p17_gir_vu +UNION ALL +SELECT + recruitment_id, + info_date, + info_source, + info_age, + count_status_form, + count_sended, + count_delivered, + count_error, + count_viewed, + count_not_viewed, + count_status_not_formed +FROM p18_gir_vu +UNION ALL +SELECT + recruitment_id, + info_date, + info_source, + info_age, + count_status_form, + count_sended, + count_delivered, + count_error, + count_viewed, + count_not_viewed, + count_status_not_formed +FROM p17_epgu +UNION ALL +SELECT + recruitment_id, + info_date, + info_source, + info_age, + count_status_form, + count_sended, + count_delivered, + count_error, + count_viewed, + count_not_viewed, + count_status_not_formed +FROM p18_epgu +UNION ALL +SELECT + recruitment_id, + info_date, + info_source, + info_age, + count_status_form, + count_sended, + count_delivered, + count_error, + count_viewed, + count_not_viewed, + count_status_not_formed +FROM p17_p_v +UNION ALL +SELECT + recruitment_id, + info_date, + info_source, + info_age, + count_status_form, + count_sended, + count_delivered, + count_error, + count_viewed, + count_not_viewed, + count_status_not_formed +FROM p18_p_v; + 0 + + N + N + N + + + + + + + + + + 496 + 272 + Y + + + + Table output + TableOutput + + Y + + 1 + + none + + + metrics + init_registration_info +
info_sent_to_lk_epgu
+ 1000 + N + N + Y + Y + N + + N + Y + N + + Y + N + + + + recruitment_id + recruitment_id + + + info_date + info_date + + + info_source + info_source + + + info_age + info_age + + + count_status_formed + count_status_form + + + count_sended + count_sended + + + count_delivered + count_delivered + + + count_error + count_error + + + count_viewed + count_viewed + + + count_not_viewed + count_not_viewed + + + count_status_not_formed + count_status_not_formed + + + + + + + + + + + + 688 + 272 + Y + + + + + Table output + Table input + N + + + + + + + + + + + + N + +
diff --git a/mappings_old/metrics/job_metr.kjb b/mappings_old/metrics/job_metr.kjb index 7ed858b..c7b0e45 100644 --- a/mappings_old/metrics/job_metr.kjb +++ b/mappings_old/metrics/job_metr.kjb @@ -24,6 +24,10 @@ + + EXTRA_OPTION_POSTGRESQL.stringtype + unspecified + FORCE_IDENTIFIERS_TO_LOWERCASE N @@ -1049,7 +1053,12 @@ DELETE FROM summonses_list.info_sent_to_lk_epgu; DELETE FROM summonses_list.all_summonses; DELETE FROM summonses_list.recruit_office_visit; DELETE FROM summonses_list.formed_summonses; -DELETE FROM summonses_list.imposition_tmp_measures;
+DELETE FROM summonses_list.imposition_tmp_measures; +DELETE FROM init_registration_info.decision_formation_status; +DELETE FROM init_registration_info.records_info_id_uk_id_ern; +DELETE FROM init_registration_info.info_sent_to_lk_epgu; + + F F @@ -1062,6 +1071,156 @@ DELETE FROM summonses_list.imposition_tmp_measures; 768 + + decision_formation_status + + TRANS + + filename + + ${Internal.Entry.Current.Directory}/decision_formation_status.ktr + + N + N + N + N + N + N + + + N + N + Basic + N + + N + Y + N + N + N + Pentaho local + + Y + + N + Y + 0 + 704 + 1168 + + + + Success 13 + + SUCCESS + + N + Y + 0 + 896 + 1168 + + + + records_info_id_uk_id_ern + + TRANS + + filename + + ${Internal.Entry.Current.Directory}/records_info_id_uk_id_ern.ktr + + N + N + N + N + N + N + + + N + N + Basic + N + + N + Y + N + N + N + Pentaho local + + Y + + N + Y + 0 + 704 + 1232 + + + + Success 14 + + SUCCESS + + N + Y + 0 + 896 + 1232 + + + + info_sent_to_lk_epgu_registration_info + + TRANS + + filename + + ${Internal.Entry.Current.Directory}/info_sent_to_lk_epgu_registration_info.ktr + + N + N + N + N + N + N + + + N + N + Basic + N + + N + Y + N + N + N + Pentaho local + + Y + + N + Y + 0 + 704 + 1312 + + + + Success 15 + + SUCCESS + + N + Y + 0 + 896 + 1312 + + @@ -1289,6 +1448,60 @@ DELETE FROM summonses_list.imposition_tmp_measures; N Y + + SQL + decision_formation_status + 0 + 0 + Y + N + Y + + + decision_formation_status + Success 13 + 0 + 0 + Y + Y + N + + + SQL + records_info_id_uk_id_ern + 0 + 0 + Y + N + Y + + + records_info_id_uk_id_ern + Success 14 + 0 + 0 + Y + Y + N + + + info_sent_to_lk_epgu_registration_info + Success 15 + 0 + 0 + Y + Y + N + + + SQL + info_sent_to_lk_epgu_registration_info + 0 + 0 + Y + N + Y + diff --git a/mappings_old/metrics/records_info_id_uk_id_ern.ktr b/mappings_old/metrics/records_info_id_uk_id_ern.ktr new file mode 100644 index 0000000..ab7b5b5 --- /dev/null +++ b/mappings_old/metrics/records_info_id_uk_id_ern.ktr @@ -0,0 +1,870 @@ + + + + records_info_id_uk_id_ern + + + + Normal + / + + + + + + + + + + + + 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 + + + + + + + + + - + 2024/12/10 14:21:53.612 + - + 2024/12/10 14:21:53.612 + + N + + + + + ervu-person-registry + person-dbhost + POSTGRESQL + Native + person-dbname + 4444 + person-dbuser + Encrypted 2be98afc86aa7f2e4cb79ce10db80b9cf + + + + + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 5432 + + + PRESERVE_RESERVED_WORD_CASE + Y + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + + + + + metrics + metrics-dbhost + POSTGRESQL + Native + metrics-dbname + 7777 + metrics-dbuser + Encrypted 657276755ddceddca104c281979414ab64cc9bacc9 + + + + + + EXTRA_OPTION_POSTGRESQL.stringtype + unspecified + + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 5432 + + + PRESERVE_RESERVED_WORD_CASE + Y + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + + + + + + Table input + Table output + Y + + + + Table input + TableInput + + Y + + 1 + + none + + + ervu-person-registry + WITH +main_data AS ( + SELECT + r.id AS recruit_id, + d.status->>'code' AS status, + d.type->>'code' AS type, + r.source, + r.system_doc_id, + r.registration_reasons, + r.gender, + ROW_NUMBER() OVER (PARTITION BY r.id ORDER BY d.decision_date DESC) AS rn + FROM public.recruits r + JOIN public.decision d + ON d.recruit_id = r.id + WHERE d.status->>'code' = '2' -- Поставлен на учёт + AND d.type->>'code' IN ( + '24', -- Первоначальная постановка на учёт в год достижения 17 лет + '1', -- Первоначальная постановка на учёт. Считаем, что первоначальная постановка при достижении 18 лет + '2' -- Первоначальная постановка на учёт. Считаем, что первоначальная постановка при достижении 18 лет + ) + AND r.source IN ( + '1', -- ГИР ВУ + '2', -- Личное посещение (Ручной ввод специалистом) + '3' -- ЕПГУ + ) +), + +last_data AS ( + SELECT + recruit_id, + type, + source, + system_doc_id, + registration_reasons, + gender + FROM main_data + WHERE rn = 1 +), + +p17_gir_vu AS ( + SELECT + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type = '24' AND ld.source = '1'), 0) AS count_all, -- записей поступило + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type = '24' AND ld.source = '1' AND system_doc_id IS NOT NULL), 0) AS records_with_id_uk, -- записей, обогащенных ИД УК + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type = '24' AND ld.source = '1' AND system_doc_id IS NULL), 0) AS records_without_id_uk, -- записей, не имеющих ИД УК + 'GIR_VU' AS info_source, + '17_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- для первоначальной 17 лет/ГИР ВУ + FROM last_data ld +), + +p18_gir_vu AS ( + SELECT + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '1'), 0) AS count_all, -- записей поступило + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '1' AND system_doc_id IS NOT NULL), 0) AS records_with_id_uk, -- записей, обогащенных ИД УК + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '1' AND system_doc_id IS NULL), 0) AS records_without_id_uk, -- записей, не имеющих ИД УК + + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '1' AND ld.registration_reasons @> '"3"' AND ld.gender = 'FEMALE'), 0) AS wom_with_vus, -- женщины имеющие ВУС + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '1' AND ld.registration_reasons @> '"2"'), 0) AS recived_citizenship, -- граждан, получивших гражданство + + 'GIR_VU' AS info_source, + '18_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- для первоначальной 18 лет/ГИР ВУ + FROM last_data ld +), + +p17_epgu AS ( + SELECT + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type = '24' AND ld.source = '3'), 0) AS count_all, -- записей поступило + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type = '24' AND ld.source = '3' AND system_doc_id IS NOT NULL), 0) AS records_with_id_uk, -- записей, обогащенных ИД УК + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type = '24' AND ld.source = '3' AND system_doc_id IS NULL), 0) AS records_without_id_uk, -- записей, не имеющих ИД УК + 'EPGU' AS info_source, + '17_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- для первоначальной 17 лет/ЕПГУ + FROM last_data ld +), + +p18_epgu AS ( + SELECT + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '3'), 0) AS count_all, -- записей поступило + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '3' AND system_doc_id IS NOT NULL), 0) AS records_with_id_uk, -- записей, обогащенных ИД УК + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '3' AND system_doc_id IS NULL), 0) AS records_without_id_uk, -- записей, не имеющих ИД УК + 'EPGU' AS info_source, + '18_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- для первоначальной 18 лет/ЕПГУ + FROM last_data ld +), + +p17_p_v AS ( + SELECT + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type = '24' AND ld.source = '2'), 0) AS count_all, -- записей поступило + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type = '24' AND ld.source = '2' AND system_doc_id IS NOT NULL), 0) AS records_with_id_uk, -- записей, обогащенных ИД УК + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type = '24' AND ld.source = '2' AND system_doc_id IS NULL), 0) AS records_without_id_uk, -- записей, не имеющих ИД УК + 'PERSONAL_VISIT' AS info_source, + '17_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- для первоначальной 17 лет/Личное посещение + FROM last_data ld +), + +p18_p_v AS ( + SELECT + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '2'), 0) AS count_all, -- записей поступило + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '2' AND system_doc_id IS NOT NULL), 0) AS records_with_id_uk, -- записей, обогащенных ИД УК + COALESCE(COUNT(ld.recruit_id) FILTER (WHERE ld.type IN ('1', '2') AND ld.source = '2' AND system_doc_id IS NULL), 0) AS records_without_id_uk, -- записей, не имеющих ИД УК + 'PERSONAL_VISIT' AS info_source, + '18_YEARS' AS info_age, + TO_CHAR(NOW() - INTERVAL '1 day', 'YYYY-MM-DD') AS info_date, + '300cee57-2ce7-4b82-847b-bfbe14d6c7ea' AS recruitment_id + -- для первоначальной 18 лет/Личное посещение + FROM last_data ld +) + +SELECT + info_date, + recruitment_id, + info_source, + info_age, + count_all, + records_with_id_uk, + records_without_id_uk, + + null AS wom_with_vus, + null AS recived_citizenship +FROM p17_gir_vu +UNION ALL +SELECT + info_date, + recruitment_id, + info_source, + info_age, + count_all, + records_with_id_uk, + records_without_id_uk, + + wom_with_vus, + recived_citizenship +FROM p18_gir_vu +UNION ALL +SELECT + info_date, + recruitment_id, + info_source, + info_age, + count_all, + records_with_id_uk, + records_without_id_uk, + + null AS wom_with_vus, + null AS recived_citizenship +FROM p17_epgu +UNION ALL +SELECT + info_date, + recruitment_id, + info_source, + info_age, + count_all, + records_with_id_uk, + records_without_id_uk, + + null AS wom_with_vus, + null AS recived_citizenship +FROM p18_epgu +UNION ALL +SELECT + info_date, + recruitment_id, + info_source, + info_age, + count_all, + records_with_id_uk, + records_without_id_uk, + + null AS wom_with_vus, + null AS recived_citizenship +FROM p17_p_v +UNION ALL +SELECT + info_date, + recruitment_id, + info_source, + info_age, + count_all, + records_with_id_uk, + records_without_id_uk, + + null AS wom_with_vus, + null AS recived_citizenship +FROM p18_p_v; + 0 + + N + N + N + + + + + + + + + + 288 + 272 + Y + + + + Table output + TableOutput + + Y + + 1 + + none + + + metrics + init_registration_info +
records_info_id_uk_id_ern
+ 1000 + N + N + Y + Y + N + + N + Y + N + + Y + N + + + + recruitment_id + recruitment_id + + + info_date + info_date + + + info_source + info_source + + + info_age + info_age + + + count_all + count_all + + + records_with_id_uk + records_with_id_uk + + + records_without_id_uk + records_without_id_uk + + + + + + + + + + + + 544 + 272 + Y + + + + + Table output + Table input + N + + + + + + + + + + + + N + +
diff --git a/mappings_old/metrics/reest_formed.ktr b/mappings_old/metrics/reest_formed.ktr index 218e7ab..236208d 100644 --- a/mappings_old/metrics/reest_formed.ktr +++ b/mappings_old/metrics/reest_formed.ktr @@ -562,9 +562,26 @@ subpoena SELECT CASE - WHEN CAST(sr.code AS INTEGER) IN (101) THEN 1 - WHEN CAST(sr.code AS INTEGER) IN (201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211) THEN 2 - WHEN CAST(sr.code AS INTEGER) IN (102, 103, 104, 105, 106, 107) THEN 14 + WHEN CAST(sr.code AS INTEGER) IN (101) THEN 1 + -- WHEN CAST(sr.code AS INTEGER) IN (201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211) THEN 2 + WHEN CAST(sr.code AS INTEGER) IN (201) THEN 3 + WHEN CAST(sr.code AS INTEGER) IN (202) THEN 4 + WHEN CAST(sr.code AS INTEGER) IN (203) THEN 5 + WHEN CAST(sr.code AS INTEGER) IN (204) THEN 6 + WHEN CAST(sr.code AS INTEGER) IN (205) THEN 7 + WHEN CAST(sr.code AS INTEGER) IN (206) THEN 8 + WHEN CAST(sr.code AS INTEGER) IN (207) THEN 9 + WHEN CAST(sr.code AS INTEGER) IN (208) THEN 10 + WHEN CAST(sr.code AS INTEGER) IN (209) THEN 11 + WHEN CAST(sr.code AS INTEGER) IN (210) THEN 12 + WHEN CAST(sr.code AS INTEGER) IN (211) THEN 13 + -- WHEN CAST(sr.code AS INTEGER) IN (102, 103, 104, 105, 106, 107) THEN 14 + WHEN CAST(sr.code AS INTEGER) IN (102) THEN 15 + WHEN CAST(sr.code AS INTEGER) IN (103) THEN 16 + WHEN CAST(sr.code AS INTEGER) IN (104) THEN 17 + WHEN CAST(sr.code AS INTEGER) IN (105) THEN 18 + WHEN CAST(sr.code AS INTEGER) IN (106) THEN 19 + WHEN CAST(sr.code AS INTEGER) IN (107) THEN 20 WHEN CAST(sr.code AS INTEGER) IN (301) THEN 21 ELSE NULL END AS summonses_reason_id,