main_dashboard.waiting_registration 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.person_registry person-dbhost POSTGRESQL Native person-dbname 4444 person-dbuser Encrypted 2be98afb80fd5818ba554aa72ce93bcc9 FORCE_IDENTIFIERS_TO_LOWERCASE N FORCE_IDENTIFIERS_TO_UPPERCASE N IS_CLUSTERED N PORT_NUMBER 4444 PRESERVE_RESERVED_WORD_CASE Y QUOTE_ALL_FIELDS N SUPPORTS_BOOLEAN_DATA_TYPE N SUPPORTS_TIMESTAMP_DATA_TYPE N USE_POOLING N Table input 2 (person_registry) РФ Insert / update (main_dashboard.waiting_registration) N Get variables 3 2 Select values 3 2 Y Table input 2 (person_registry) РФ Get variables 3 2 Y Select values 3 2 Insert / update (main_dashboard.waiting_registration) Y Get variables 3 2 GetVariable Y 1 none REG_ID String -1 -1 none VK_ARRAY String -1 -1 none 656 224 Y Insert / update (main_dashboard.waiting_registration) InsertUpdate Y 1 none ervu-dashboard 100 N main_dashboard
waiting_registration
REG_ID recruitment_id = waiting_registration waiting_count Y "waiting_registration_M" male_count Y "waiting_registration_W" female_count Y mobilization_criterion mobilization_criterion Y volunteer_criterion volunteer_criterion Y contract_criterion contract_criterion Y mobilization_criterion_percent mobilization_criterion_percent Y volunteer_criterion_percent volunteer_criterion_percent Y contract_criterion_percent contract_criterion_percent Y waiting_registration_percent waiting_percent Y recruitment_id recruitment_id N 976 160 Y Select values 3 2 SelectValues Y 1 none N REG_ID REG_ID String -2 -2 false false VK_ARRAY VK_ARRAY String -2 -2 false false 800 224 Y Table input 2 (person_registry) РФ TableInput Y 1 none postgres.person_registry WITH vse as ( select *, r.id as r_id FROM public.recruits AS r JOIN public.recruits_info AS ri ON ri.recruit_id = r.id WHERE r.vu_current_info ->> 'isMilitaryRegistered' = 'false' AND r.current_recruitment_id IS NOT NULL AND r.target_recruitment_id IS NOT NULL ), extracted_children AS ( SELECT ri.recruit_id, jsonb_array_elements_text(ri.info->'svedDeti'->'rebenok') AS child FROM vse ri WHERE jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array' ), children_birth_dates AS ( SELECT recruit_id, (child::jsonb->'svedFLBS'->'dataRozhdDok'->>'den')::int AS day, (child::jsonb->'svedFLBS'->'dataRozhdDok'->>'mesyacz')::int AS month, (child::jsonb->'svedFLBS'->'dataRozhdDok'->>'god')::int AS year FROM extracted_children ), children_count AS ( SELECT recruit_id, COUNT(*) AS children_under_16 FROM children_birth_dates WHERE AGE(make_date(year, month, day)) < interval '16 years' GROUP BY recruit_id ), recruit_data AS ( SELECT COUNT(*) AS waiting_count, COUNT(*) FILTER (WHERE gender = 'MALE') AS male_count, COUNT(*) FILTER (WHERE gender = 'FEMALE') AS female_count, COUNT(*) FILTER ( WHERE (EXTRACT(YEAR FROM AGE(NOW(), birth_date)) BETWEEN 18 AND 70 AND gender = 'MALE') -- мужчины от 18 до 70 лет OR (EXTRACT(YEAR FROM AGE(NOW(), birth_date)) BETWEEN 18 AND 45 AND gender = 'FEMALE') -- женщины от 18 до 45 лет AND (conscription IS NULL OR conscription = false) -- отсутствие отсрочки AND COALESCE(cc.children_under_16, 0) < 5 -- исключить рекрутов с 5 и более детьми младше 16 лет ) AS mobilization_criterion, COUNT(*) FILTER ( WHERE EXTRACT(YEAR FROM AGE(NOW(), birth_date)) BETWEEN 18 AND 30 AND gender = 'MALE' -- мужчины от 18 до 30 лет AND (conscription IS NULL OR conscription = false) -- отсутствие отсрочки ) AS volunteer_criterion, COUNT(*) FILTER ( WHERE EXTRACT(YEAR FROM AGE(NOW(), birth_date)) BETWEEN 18 AND 50 AND gender = 'MALE' -- мужчины от 18 до 50 лет AND (conscription IS NULL OR conscription = false) -- отсутствие отсрочки AND ri.info->'svedSudim'->>'prOtsSvedSudim' = '1' -- признак отсутствия данных о судимости ) AS contract_criterion FROM vse as ri LEFT JOIN children_count AS cc ON ri.r_id = cc.recruit_id ) SELECT waiting_count, ROUND(COALESCE((waiting_count::DECIMAL / NULLIF((SELECT COUNT(*) FROM public.recruits), 0) * 100), 0), 2) AS waiting_percent, male_count, female_count, '${REG_ID}' AS recruitment_id, mobilization_criterion, volunteer_criterion, contract_criterion, ROUND(mobilization_criterion::NUMERIC / NULLIF(waiting_count, 0) * 100, 2) AS mobilization_criterion_percent, ROUND(volunteer_criterion::NUMERIC / NULLIF(waiting_count, 0) * 100, 2) AS volunteer_criterion_percent, ROUND(contract_criterion::NUMERIC / NULLIF(waiting_count, 0) * 100, 2) AS contract_criterion_percent FROM recruit_data; 0 N Y N 464 160 Y N