This commit is contained in:
Ruslan 2025-03-31 12:05:41 +03:00
parent a41c881d33
commit d288a7519e
5 changed files with 70 additions and 80 deletions

View file

@ -128,18 +128,12 @@
<sql>WITH <sql>WITH
ids AS ( ids AS (
SELECT unnest(string_to_array(trim(both '{}' from '${ARR_PR_1}'), ','))::uuid AS recruitment_id SELECT unnest(string_to_array(trim(both '{}' from '${ARR_PR_1}'), ','))::uuid AS recruitment_id
),
r_ids AS (SELECT id as recruit_id, gender, birth_date,target_recruitment_id from public.recruits
where (target_recruitment_id IS NULL OR target_recruitment_id IN (SELECT recruitment_id FROM ids))
AND current_recruitment_id is null
), ),
last_status as (select recruit_id, last_status as (select recruit_id,
max(rh.date_time) filter (where rh.status in ('1', '12.7', '8.2', '8.3')) max_date_time max(date_time) filter (where status in ('1', '12.7', '8.2', '8.3')) max_date_time
from recruits_history rh from recruits_history
join recruits r on r.id = rh.recruit_id where status in ('1', '12.7', '8.2', '8.3')
where rh.status in ('1', '12.7', '8.2', '8.3') group by recruit_id),
and r.current_recruitment_id is null
group by rh.recruit_id),
notregistered as ( notregistered as (
select select
distinct rh.recruit_id, distinct rh.recruit_id,
@ -151,7 +145,7 @@ notregistered as (
), ),
vse AS ( vse AS (
SELECT SELECT
r.recruit_id AS r_id, r.id AS r_id,
ri.recruit_id AS recruit_id, ri.recruit_id AS recruit_id,
coalesce (r.target_recruitment_id, rh.target_recruitment_id) AS r_target_recruitment_id, coalesce (r.target_recruitment_id, rh.target_recruitment_id) AS r_target_recruitment_id,
r.gender, r.gender,
@ -172,12 +166,16 @@ vse AS (
ELSE true ELSE true
END AS hidden, -- когда фолс отсрочка есть, когда тру или нулл - нет END AS hidden, -- когда фолс отсрочка есть, когда тру или нулл - нет
ri.info ri.info
FROM r_ids r FROM public.recruits AS r
JOIN public.recruits_info AS ri JOIN public.recruits_info AS ri
ON ri.recruit_id = r.recruit_id ON ri.recruit_id = r.id
JOIN public.recruits_history rh on rh.recruit_id=r.recruit_id JOIN public.recruits_history rh on rh.recruit_id=r.id
LEFT JOIN public.decision_deferment_dto ddd ON ddd.recruit_id = r.recruit_id LEFT JOIN public.decision_deferment_dto ddd ON ddd.recruit_id = r.id
WHERE coalesce(r.target_recruitment_id,rh.target_recruitment_id) ::uuid IN (SELECT recruitment_id FROM ids) WHERE
r.id in (SELECT recruit_id FROM notregistered) and
rh.id in (SELECT recruit_history_id FROM notregistered) and
coalesce(r.target_recruitment_id,rh.target_recruitment_id) ::uuid IN (SELECT recruitment_id FROM ids)
AND r.current_recruitment_id is null
), ),
extracted_children AS ( extracted_children AS (
SELECT SELECT

View file

@ -128,18 +128,12 @@
<sql>WITH <sql>WITH
ids AS ( ids AS (
SELECT unnest(string_to_array(trim(both '{}' from '${ARR_PR_2}'), ','))::uuid AS recruitment_id SELECT unnest(string_to_array(trim(both '{}' from '${ARR_PR_2}'), ','))::uuid AS recruitment_id
),
r_ids AS (SELECT id as recruit_id, gender, birth_date,target_recruitment_id from public.recruits
where (target_recruitment_id IS NULL OR target_recruitment_id IN (SELECT recruitment_id FROM ids))
AND current_recruitment_id is null
), ),
last_status as (select recruit_id, last_status as (select recruit_id,
max(rh.date_time) filter (where rh.status in ('1', '12.7', '8.2', '8.3')) max_date_time max(date_time) filter (where status in ('1', '12.7', '8.2', '8.3')) max_date_time
from recruits_history rh from recruits_history
join recruits r on r.id = rh.recruit_id where status in ('1', '12.7', '8.2', '8.3')
where rh.status in ('1', '12.7', '8.2', '8.3') group by recruit_id),
and r.current_recruitment_id is null
group by rh.recruit_id),
notregistered as ( notregistered as (
select select
distinct rh.recruit_id, distinct rh.recruit_id,
@ -151,7 +145,7 @@ notregistered as (
), ),
vse AS ( vse AS (
SELECT SELECT
r.recruit_id AS r_id, r.id AS r_id,
ri.recruit_id AS recruit_id, ri.recruit_id AS recruit_id,
coalesce (r.target_recruitment_id, rh.target_recruitment_id) AS r_target_recruitment_id, coalesce (r.target_recruitment_id, rh.target_recruitment_id) AS r_target_recruitment_id,
r.gender, r.gender,
@ -172,12 +166,16 @@ vse AS (
ELSE true ELSE true
END AS hidden, -- когда фолс отсрочка есть, когда тру или нулл - нет END AS hidden, -- когда фолс отсрочка есть, когда тру или нулл - нет
ri.info ri.info
FROM r_ids r FROM public.recruits AS r
JOIN public.recruits_info AS ri JOIN public.recruits_info AS ri
ON ri.recruit_id = r.recruit_id ON ri.recruit_id = r.id
JOIN public.recruits_history rh on rh.recruit_id=r.recruit_id JOIN public.recruits_history rh on rh.recruit_id=r.id
LEFT JOIN public.decision_deferment_dto ddd ON ddd.recruit_id = r.recruit_id LEFT JOIN public.decision_deferment_dto ddd ON ddd.recruit_id = r.id
WHERE coalesce(r.target_recruitment_id,rh.target_recruitment_id) ::uuid IN (SELECT recruitment_id FROM ids) WHERE
r.id in (SELECT recruit_id FROM notregistered) and
rh.id in (SELECT recruit_history_id FROM notregistered) and
coalesce(r.target_recruitment_id,rh.target_recruitment_id) ::uuid IN (SELECT recruitment_id FROM ids)
AND r.current_recruitment_id is null
), ),
extracted_children AS ( extracted_children AS (
SELECT SELECT

View file

@ -128,18 +128,12 @@
<sql>WITH <sql>WITH
ids AS ( ids AS (
SELECT unnest(string_to_array(trim(both '{}' from '${ARR_PR_3}'), ','))::uuid AS recruitment_id SELECT unnest(string_to_array(trim(both '{}' from '${ARR_PR_3}'), ','))::uuid AS recruitment_id
),
r_ids AS (SELECT id as recruit_id, gender, birth_date,target_recruitment_id from public.recruits
where (target_recruitment_id IS NULL OR target_recruitment_id IN (SELECT recruitment_id FROM ids))
AND current_recruitment_id is null
), ),
last_status as (select recruit_id, last_status as (select recruit_id,
max(rh.date_time) filter (where rh.status in ('1', '12.7', '8.2', '8.3')) max_date_time max(date_time) filter (where status in ('1', '12.7', '8.2', '8.3')) max_date_time
from recruits_history rh from recruits_history
join recruits r on r.id = rh.recruit_id where status in ('1', '12.7', '8.2', '8.3')
where rh.status in ('1', '12.7', '8.2', '8.3') group by recruit_id),
and r.current_recruitment_id is null
group by rh.recruit_id),
notregistered as ( notregistered as (
select select
distinct rh.recruit_id, distinct rh.recruit_id,
@ -151,7 +145,7 @@ notregistered as (
), ),
vse AS ( vse AS (
SELECT SELECT
r.recruit_id AS r_id, r.id AS r_id,
ri.recruit_id AS recruit_id, ri.recruit_id AS recruit_id,
coalesce (r.target_recruitment_id, rh.target_recruitment_id) AS r_target_recruitment_id, coalesce (r.target_recruitment_id, rh.target_recruitment_id) AS r_target_recruitment_id,
r.gender, r.gender,
@ -172,12 +166,16 @@ vse AS (
ELSE true ELSE true
END AS hidden, -- когда фолс отсрочка есть, когда тру или нулл - нет END AS hidden, -- когда фолс отсрочка есть, когда тру или нулл - нет
ri.info ri.info
FROM r_ids r FROM public.recruits AS r
JOIN public.recruits_info AS ri JOIN public.recruits_info AS ri
ON ri.recruit_id = r.recruit_id ON ri.recruit_id = r.id
JOIN public.recruits_history rh on rh.recruit_id=r.recruit_id JOIN public.recruits_history rh on rh.recruit_id=r.id
LEFT JOIN public.decision_deferment_dto ddd ON ddd.recruit_id = r.recruit_id LEFT JOIN public.decision_deferment_dto ddd ON ddd.recruit_id = r.id
WHERE coalesce(r.target_recruitment_id,rh.target_recruitment_id) ::uuid IN (SELECT recruitment_id FROM ids) WHERE
r.id in (SELECT recruit_id FROM notregistered) and
rh.id in (SELECT recruit_history_id FROM notregistered) and
coalesce(r.target_recruitment_id,rh.target_recruitment_id) ::uuid IN (SELECT recruitment_id FROM ids)
AND r.current_recruitment_id is null
), ),
extracted_children AS ( extracted_children AS (
SELECT SELECT

View file

@ -128,18 +128,12 @@
<sql>WITH <sql>WITH
ids AS ( ids AS (
SELECT unnest(string_to_array(trim(both '{}' from '${ARR_PR_4}'), ','))::uuid AS recruitment_id SELECT unnest(string_to_array(trim(both '{}' from '${ARR_PR_4}'), ','))::uuid AS recruitment_id
),
r_ids AS (SELECT id as recruit_id, gender, birth_date,target_recruitment_id from public.recruits
where (target_recruitment_id IS NULL OR target_recruitment_id IN (SELECT recruitment_id FROM ids))
AND current_recruitment_id is null
), ),
last_status as (select recruit_id, last_status as (select recruit_id,
max(rh.date_time) filter (where rh.status in ('1', '12.7', '8.2', '8.3')) max_date_time max(date_time) filter (where status in ('1', '12.7', '8.2', '8.3')) max_date_time
from recruits_history rh from recruits_history
join recruits r on r.id = rh.recruit_id where status in ('1', '12.7', '8.2', '8.3')
where rh.status in ('1', '12.7', '8.2', '8.3') group by recruit_id),
and r.current_recruitment_id is null
group by rh.recruit_id),
notregistered as ( notregistered as (
select select
distinct rh.recruit_id, distinct rh.recruit_id,
@ -151,7 +145,7 @@ notregistered as (
), ),
vse AS ( vse AS (
SELECT SELECT
r.recruit_id AS r_id, r.id AS r_id,
ri.recruit_id AS recruit_id, ri.recruit_id AS recruit_id,
coalesce (r.target_recruitment_id, rh.target_recruitment_id) AS r_target_recruitment_id, coalesce (r.target_recruitment_id, rh.target_recruitment_id) AS r_target_recruitment_id,
r.gender, r.gender,
@ -172,12 +166,16 @@ vse AS (
ELSE true ELSE true
END AS hidden, -- когда фолс отсрочка есть, когда тру или нулл - нет END AS hidden, -- когда фолс отсрочка есть, когда тру или нулл - нет
ri.info ri.info
FROM r_ids r FROM public.recruits AS r
JOIN public.recruits_info AS ri JOIN public.recruits_info AS ri
ON ri.recruit_id = r.recruit_id ON ri.recruit_id = r.id
JOIN public.recruits_history rh on rh.recruit_id=r.recruit_id JOIN public.recruits_history rh on rh.recruit_id=r.id
LEFT JOIN public.decision_deferment_dto ddd ON ddd.recruit_id = r.recruit_id LEFT JOIN public.decision_deferment_dto ddd ON ddd.recruit_id = r.id
WHERE coalesce(r.target_recruitment_id,rh.target_recruitment_id) ::uuid IN (SELECT recruitment_id FROM ids) WHERE
r.id in (SELECT recruit_id FROM notregistered) and
rh.id in (SELECT recruit_history_id FROM notregistered) and
coalesce(r.target_recruitment_id,rh.target_recruitment_id) ::uuid IN (SELECT recruitment_id FROM ids)
AND r.current_recruitment_id is null
), ),
extracted_children AS ( extracted_children AS (
SELECT SELECT

View file

@ -128,18 +128,12 @@
<sql>WITH <sql>WITH
ids AS ( ids AS (
SELECT unnest(string_to_array(trim(both '{}' from '${ARR_PR_5}'), ','))::uuid AS recruitment_id SELECT unnest(string_to_array(trim(both '{}' from '${ARR_PR_5}'), ','))::uuid AS recruitment_id
),
r_ids AS (SELECT id as recruit_id, gender, birth_date,target_recruitment_id from public.recruits
where (target_recruitment_id IS NULL OR target_recruitment_id IN (SELECT recruitment_id FROM ids))
AND current_recruitment_id is null
), ),
last_status as (select recruit_id, last_status as (select recruit_id,
max(rh.date_time) filter (where rh.status in ('1', '12.7', '8.2', '8.3')) max_date_time max(date_time) filter (where status in ('1', '12.7', '8.2', '8.3')) max_date_time
from recruits_history rh from recruits_history
join recruits r on r.id = rh.recruit_id where status in ('1', '12.7', '8.2', '8.3')
where rh.status in ('1', '12.7', '8.2', '8.3') group by recruit_id),
and r.current_recruitment_id is null
group by rh.recruit_id),
notregistered as ( notregistered as (
select select
distinct rh.recruit_id, distinct rh.recruit_id,
@ -151,7 +145,7 @@ notregistered as (
), ),
vse AS ( vse AS (
SELECT SELECT
r.recruit_id AS r_id, r.id AS r_id,
ri.recruit_id AS recruit_id, ri.recruit_id AS recruit_id,
coalesce (r.target_recruitment_id, rh.target_recruitment_id) AS r_target_recruitment_id, coalesce (r.target_recruitment_id, rh.target_recruitment_id) AS r_target_recruitment_id,
r.gender, r.gender,
@ -172,12 +166,16 @@ vse AS (
ELSE true ELSE true
END AS hidden, -- когда фолс отсрочка есть, когда тру или нулл - нет END AS hidden, -- когда фолс отсрочка есть, когда тру или нулл - нет
ri.info ri.info
FROM r_ids r FROM public.recruits AS r
JOIN public.recruits_info AS ri JOIN public.recruits_info AS ri
ON ri.recruit_id = r.recruit_id ON ri.recruit_id = r.id
JOIN public.recruits_history rh on rh.recruit_id=r.recruit_id JOIN public.recruits_history rh on rh.recruit_id=r.id
LEFT JOIN public.decision_deferment_dto ddd ON ddd.recruit_id = r.recruit_id LEFT JOIN public.decision_deferment_dto ddd ON ddd.recruit_id = r.id
WHERE coalesce(r.target_recruitment_id,rh.target_recruitment_id) ::uuid IN (SELECT recruitment_id FROM ids) WHERE
r.id in (SELECT recruit_id FROM notregistered) and
rh.id in (SELECT recruit_history_id FROM notregistered) and
coalesce(r.target_recruitment_id,rh.target_recruitment_id) ::uuid IN (SELECT recruitment_id FROM ids)
AND r.current_recruitment_id is null
), ),
extracted_children AS ( extracted_children AS (
SELECT SELECT