This commit is contained in:
Ruslan 2024-11-05 20:36:33 +05:00
parent cc7fdba689
commit 7d7483746a
4 changed files with 81 additions and 97 deletions

View file

@ -785,18 +785,15 @@
<schema_name/>
</partitioning>
<connection>postgres.person_registry</connection>
<sql>WITH extracted_children AS (
SELECT
ri.recruit_id,
jsonb_array_elements_text(ri.info->'svedDeti'->'rebenok') AS child
FROM public.recruits AS r
JOIN public.recruits_info AS ri
ON ri.recruit_id = r.id
WHERE
jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
AND r.vu_current_info ->> 'isMilitaryRegistered' = 'true'
AND r.current_recruitment_id IS NOT NULL
AND (
<sql>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' = 'true'
AND r.current_recruitment_id IS NOT NULL
AND (
'${VK_ARRAY}' IS NOT NULL AND '${VK_ARRAY}' != ''
AND r.target_recruitment_id = ANY (
CASE
@ -805,6 +802,15 @@
END
)
)
),
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
@ -846,23 +852,10 @@ recruit_data AS (
AND (conscription IS NULL OR conscription = false)
AND ri.info->'svedSudim'->>'prOtsSvedSudim' = '1'
) AS contract_criterion
FROM public.recruits AS r
JOIN public.recruits_info AS ri
ON ri.recruit_id = r.id
LEFT JOIN children_count AS cc
ON r.id = cc.recruit_id
WHERE r.vu_current_info ->> 'isMilitaryRegistered' = 'true'
AND r.current_recruitment_id IS NOT NULL
AND (
'${VK_ARRAY}' IS NOT NULL AND '${VK_ARRAY}' != ''
AND r.target_recruitment_id = ANY (
CASE
WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN ARRAY[]::uuid[]
ELSE string_to_array(trim(both '{}' FROM replace('${VK_ARRAY}', ' ', '')), ',')::uuid[]
END
)
)
)
FROM vse as ri
LEFT JOIN children_count AS cc
ON ri.r_id = cc.recruit_id
)
SELECT
'${REG_ID}' AS recruitment_id,
COALESCE(rd.total_count, 0) AS total_count,

View file

@ -790,26 +790,24 @@
<schema_name/>
</partitioning>
<connection>postgres.person_registry</connection>
<sql>WITH extracted_children AS (
<sql>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 public.recruits AS r
JOIN public.recruits_info AS ri
ON ri.recruit_id = r.id
FROM
vse ri
WHERE
jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
AND r.vu_current_info ->> 'isMilitaryRegistered' = 'false'
AND r.current_recruitment_id IS NOT NULL
AND (
'${VK_ARRAY}' IS NOT NULL AND '${VK_ARRAY}' != ''
AND r.target_recruitment_id = ANY (
CASE
WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN ARRAY[]::uuid[]
ELSE string_to_array(trim(both '{}' FROM replace('${VK_ARRAY}', ' ', '')), ',')::uuid[]
END
)
)
),
children_birth_dates AS (
SELECT
@ -849,23 +847,10 @@ recruit_data AS (
AND (conscription IS NULL OR conscription = false)
AND ri.info->'svedSudim'->>'prOtsSvedSudim' = '1'
) AS contract_criterion
FROM public.recruits AS r
JOIN public.recruits_info AS ri
ON ri.recruit_id = r.id
LEFT JOIN children_count AS cc
ON r.id = cc.recruit_id
WHERE r.vu_current_info ->> 'isMilitaryRegistered' = 'false'
AND r.current_recruitment_id IS NOT NULL
AND (
'${VK_ARRAY}' IS NOT NULL AND '${VK_ARRAY}' != ''
AND r.target_recruitment_id = ANY (
CASE
WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN ARRAY[]::uuid[]
ELSE string_to_array(trim(both '{}' FROM replace('${VK_ARRAY}', ' ', '')), ',')::uuid[]
END
)
)
)
FROM vse as ri
LEFT JOIN children_count AS cc
ON ri.r_id = cc.recruit_id
)
SELECT
'${REG_ID}' AS recruitment_id,
COALESCE(rd.waiting_count, 0) AS waiting_count,