+info
This commit is contained in:
parent
58fe83feae
commit
914cc263b4
17 changed files with 587 additions and 616 deletions
|
|
@ -49,13 +49,11 @@
|
|||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>full_name</field>
|
||||
<name>full_name</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizen_child</table>
|
||||
|
|
@ -117,11 +115,11 @@
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>with child as
|
||||
(select jsonb_array_elements(ri.info->'svedDeti'->'rebenok') ch,
|
||||
(select jsonb_array_elements(ri.info->'svedFL'->'svedDeti'->'rebenok') ch,
|
||||
ri.recruit_id
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array')
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array')
|
||||
select
|
||||
r.id::uuid recruit_id,
|
||||
ch->>'naimRodstvSvyazReb' kinship_type,
|
||||
|
|
@ -135,11 +133,11 @@ select
|
|||
NULLIF(ch->'svedSmert'->'dataSmert'->>'mesyacz','')::int,
|
||||
NULLIF(ch->'svedSmert'->'dataSmert'->>'den','')::int) death_date,
|
||||
ch->'svedSmert'->>'nomerZapis' death_az_number,
|
||||
ch->'svedAZRozhd'->'dataRozhdDok'->>'nomerZapis' birth_az_number
|
||||
ch->'svedAZRozhd'->>'nomerZapis' birth_az_number
|
||||
from public.recruits r
|
||||
join child on r.id = child.recruit_id
|
||||
where
|
||||
r.system_update_date >= '${UP_D}'</sql>
|
||||
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -164,11 +164,13 @@
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>with citizen as
|
||||
(select jsonb_array_elements(ri.info->'svedIGPP'->'svedIG') cit,
|
||||
(select jsonb_array_elements(ri.info->'svedFL'->'svedIGPP'->'svedIG') cit,
|
||||
ri.recruit_id
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedIGPP'->'svedIG') = 'array')
|
||||
join public.recruits r ON r.id = ri.recruit_id
|
||||
where jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedIG') = 'array'
|
||||
AND r.system_update_date >= '${UP_D}'
|
||||
)
|
||||
select
|
||||
r.id recruit_id,
|
||||
cit->'oksm'->>'naimOKSM' country_name,
|
||||
|
|
@ -176,7 +178,8 @@ select
|
|||
to_date(cit->>'dataPriobrIG', 'YYYY-MM-DD') citizenship_date
|
||||
from public.recruits r
|
||||
join citizen on r.id = citizen.recruit_id
|
||||
WHERE r.system_update_date >= '${UP_D}';</sql>
|
||||
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -199,11 +202,13 @@ WHERE r.system_update_date >= '${UP_D}';</sql>
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>with citizen as
|
||||
(select jsonb_array_elements(ri.info->'svedIGPP'->'svedPP') cit,
|
||||
(select jsonb_array_elements(ri.info->'svedFL'->'svedIGPP'->'svedPP') cit,
|
||||
ri.recruit_id
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedIGPP'->'svedPP') = 'array')
|
||||
join public.recruits r ON r.id = ri.recruit_id
|
||||
where jsonb_typeof(ri.info->'svedFL'->'svedIGPP'->'svedPP') = 'array'
|
||||
AND r.system_update_date >= '${UP_D}'
|
||||
)
|
||||
select
|
||||
r.id recruit_id,
|
||||
cit->'oksm'->>'naimOKSM' country_name,
|
||||
|
|
@ -211,7 +216,7 @@ select
|
|||
to_date(cit->>'dataPriobrPP', 'YYYY-MM-DD') residense_right_date
|
||||
from public.recruits r
|
||||
join citizen on r.id = citizen.recruit_id
|
||||
WHERE r.system_update_date >= '${UP_D}';</sql>
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -120,20 +120,19 @@
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>select r.id recruit_id,
|
||||
ri.info->'svedGrazhdanRF'->'grazhdanRF'->>'osnPriob' acquiring_basis,
|
||||
ri.info->'svedGrazhdanRF'->'grazhdanRF'->>'nomReshPriob' acquiring_number,
|
||||
to_date(ri.info->'svedGrazhdanRF'->'grazhdanRF'->>'dataReshPriob', 'YYYY-MM-DD') acquiring_date,
|
||||
ri.info->'svedGrazhdanRF'->'grazhdanRF'->>'organReshPriob' acquiring_authority,
|
||||
ri.info->'svedGrazhdanRF'->'grazhdanRF'->>'osnVyh' renunciation_basis,
|
||||
ri.info->'svedGrazhdanRF'->'grazhdanRF'->>'nomReshVyh' renunciation_number,
|
||||
to_date(ri.info->'svedGrazhdanRF'->'grazhdanRF'->>'dataReshVyh', 'YYYY-MM-DD') renunciation_date,
|
||||
ri.info->'svedGrazhdanRF'->'grazhdanRF'->>'organReshVyh' renunciation_authority
|
||||
ri.info->'svedFL'->'svedGrazhdanRF'->'grazhdanRF'->>'osnPriob' acquiring_basis,
|
||||
ri.info->'svedFL'->'svedGrazhdanRF'->'grazhdanRF'->>'nomReshPriob' acquiring_number,
|
||||
to_date(ri.info->'svedFL'->'svedGrazhdanRF'->'grazhdanRF'->>'dataReshPriob', 'YYYY-MM-DD') acquiring_date,
|
||||
ri.info->'svedFL'->'svedGrazhdanRF'->'grazhdanRF'->>'organReshPriob' acquiring_authority,
|
||||
ri.info->'svedFL'->'svedGrazhdanRF'->'grazhdanRF'->>'osnVyh' renunciation_basis,
|
||||
ri.info->'svedFL'->'svedGrazhdanRF'->'grazhdanRF'->>'nomReshVyh' renunciation_number,
|
||||
to_date(ri.info->'svedFL'->'svedGrazhdanRF'->'grazhdanRF'->>'dataReshVyh', 'YYYY-MM-DD') renunciation_date,
|
||||
ri.info->'svedFL'->'svedGrazhdanRF'->'grazhdanRF'->>'organReshVyh' renunciation_authority
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where ri.info->'svedGrazhdanRF'->>'prOtsGrazhdanRF' is null and
|
||||
(ri.info->'svedGrazhdanRF'->'grazhdanRF'->>'nomReshPriob' is not null or ri.info->'svedGrazhdanRF'->'grazhdanRF'->>'osnVyh' is not null)
|
||||
and r.system_update_date >= '${UP_D}'
|
||||
</sql>
|
||||
join public.recruits r ON ri.recruit_id = r.id
|
||||
where ri.info->'svedFL'->'svedGrazhdanRF'->>'prOtsGrazhdanRF' is null and
|
||||
(ri.info->'svedFL'->'svedGrazhdanRF'->'grazhdanRF'->>'nomReshPriob' is not null or ri.info->'svedGrazhdanRF'->'grazhdanRF'->>'osnVyh' is not null)
|
||||
AND r.system_update_date >= '${UP_D}'</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -141,11 +141,6 @@
|
|||
<rename>information</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>period_office</name>
|
||||
<rename>period_office</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>deputy</name>
|
||||
<rename>deputy</rename>
|
||||
|
|
@ -174,14 +169,13 @@
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>select r.id recruit_id,
|
||||
ri.info->'svedDeputat'->'deputat'->>'srokiPolnomochii' period_office,
|
||||
to_date(ri.info->'svedDeputat'->'deputat'->>'dataDosrochPrekr', 'YYYY-MM-DD') end_date,
|
||||
ri.info->'svedDeputat'->'deputat'->>'svedIzbrDeputatom' information,
|
||||
true deputy
|
||||
ri.info->'svedFL'->'svedDeputat'->'deputat'->>'srokiPolnomochii' period_office,
|
||||
to_date(ri.info->'svedFL'->'svedDeputat'->'deputat'->>'dataDosrochPrekr', 'YYYY-MM-DD') end_date,
|
||||
ri.info->'svedFL'->'svedDeputat'->'deputat'->>'svedIzbrDeputatom' information
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where ri.info->'svedDeputat'->'deputat'->>'svedIzbrDeputatom' is not null
|
||||
AND r.system_update_date >= '${UP_D}'</sql>
|
||||
join public.recruits r ON ri.recruit_id = r.id
|
||||
where ri.info->'svedFL'->'svedDeputat'->'deputat'->>'svedIzbrDeputatom' is not null
|
||||
AND r.system_update_date >= '${UP_D}'</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -204,13 +198,13 @@ AND r.system_update_date >= '${UP_D}'</sql>
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>select r.id recruit_id,
|
||||
to_date(ri.info->'svedKandidat'->'kandidat'->>'dataSnyatiyaKandidatury', 'YYYY-MM-DD') end_date,
|
||||
ri.info->'svedKandidat'->'kandidat'->>'svedRegKandidata' information,
|
||||
to_date(ri.info->'svedFL'->'svedKandidat'->'kandidat'->>'dataSnyatKandidat', 'YYYY-MM-DD') end_date,
|
||||
ri.info->'svedFL'->'svedKandidat'->'kandidat'->>'svedRegKandidata' information,
|
||||
false deputy
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where ri.info->'svedKandidat'->'kandidat'->>'svedRegKandidata' is not null
|
||||
AND r.system_update_date >= '${UP_D}'</sql>
|
||||
join public.recruits r ON ri.recruit_id = r.id
|
||||
where ri.info->'svedFL'->'svedKandidat'->>'kandidat' is not null
|
||||
AND r.system_update_date >= '${UP_D}'</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -180,21 +180,20 @@
|
|||
<limit>0</limit>
|
||||
<sql>select
|
||||
r.id recruit_id,
|
||||
case when ri.info->'svedInvalid'->'invalid'->>'gruppa'='1' then 'I группа'
|
||||
when ri.info->'svedInvalid'->'invalid'->>'gruppa'='2' then 'II группа'
|
||||
when ri.info->'svedInvalid'->'invalid'->>'gruppa'='3' then 'III группа'
|
||||
when ri.info->'svedInvalid'->'invalid'->>'gruppa'='4' then 'ребенок-инвалид'
|
||||
case when ri.info->'svedFL'->'svedInvalid'->'invalid'->>'gruppa'='1' then 'I группа'
|
||||
when ri.info->'svedFL'->'svedInvalid'->'invalid'->>'gruppa'='2' then 'II группа'
|
||||
when ri.info->'svedFL'->'svedInvalid'->'invalid'->>'gruppa'='3' then 'III группа'
|
||||
when ri.info->'svedFL'->'svedInvalid'->'invalid'->>'gruppa'='4' then 'ребенок-инвалид'
|
||||
end disability_group,
|
||||
ri.info->'svedInvalid'->'invalid'->>'ustanOrg' organization_name,
|
||||
to_date(ri.info->'svedInvalid'->'invalid'->'ustanInvalid'->>'dataUstan', 'YYYY-MM-DD') start_date,
|
||||
to_date(ri.info->'svedInvalid'->'invalid'->'ustanInvalid'->>'dataSnyat', 'YYYY-MM-DD') close_date,
|
||||
to_date(ri.info->'svedInvalid'->'invalid'->'ustanInvalid'->>'dataPodtverzhdPlan', 'YYYY-MM-DD') confirmation_date,
|
||||
ri.info->'svedFL'->'svedInvalid'->'invalid'->>'ustanOrg' organization_name,
|
||||
to_date(ri.info->'svedFL'->'svedInvalid'->'invalid'->'ustanInvalid'->>'dataUstan', 'YYYY-MM-DD') start_date,
|
||||
to_date(ri.info->'svedFL'->'svedInvalid'->'invalid'->'ustanInvalid'->>'dataSnyat', 'YYYY-MM-DD') close_date,
|
||||
to_date(ri.info->'svedFL'->'svedInvalid'->'invalid'->'ustanInvalid'->>'dataPodtverzhdPlan', 'YYYY-MM-DD') confirmation_date,
|
||||
true disability
|
||||
from public.recruits r
|
||||
join public.recruits_info ri on r.id = ri.recruit_id
|
||||
where ri.info->'svedInvalid'->'invalid'->>'gruppa' is not null
|
||||
and
|
||||
r.system_update_date >= '${UP_D}';</sql>
|
||||
where ri.info->'svedFL'->'svedInvalid'->'invalid'->>'gruppa' is not null
|
||||
AND r.system_update_date >= '${UP_D}'</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -224,8 +223,7 @@ r.system_update_date >= '${UP_D}';</sql>
|
|||
from public.recruits r
|
||||
join public.recruits_info ri on r.id = ri.recruit_id
|
||||
where ri.info->'svedNedeesp'->'nedeesposob'->>'naimSud' is not null
|
||||
and
|
||||
r.system_update_date >= '${UP_D}';</sql>
|
||||
AND r.system_update_date >= '${UP_D}'</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -100,21 +100,19 @@
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>with zdorov as
|
||||
(select jsonb_array_elements(ri.info->'svedSostZdorov'->'svedZdorov'->'sostZdorov') z,
|
||||
(select jsonb_array_elements(ri.info->'svedFL'->'svedSostZdorov'->'svedZdorov'->'sostZdorov') z,
|
||||
ri.recruit_id
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedSostZdorov'->'svedZdorov'->'sostZdorov') = 'array')
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedFL'->'svedSostZdorov'->'svedZdorov'->'sostZdorov') = 'array')
|
||||
select
|
||||
r.id recruit_id,
|
||||
z->>'kodZabol' code,
|
||||
z->>'naimZabol' name,
|
||||
to_date(z->>'dataDiagn', 'YYYY-MM-DD') reg_date
|
||||
--registered - поставлен на учет по заболеванию
|
||||
from public.recruits r
|
||||
join zdorov on r.id = zdorov.recruit_id
|
||||
where
|
||||
r.system_update_date >= '${UP_D}';</sql>
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -59,16 +59,13 @@
|
|||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>start_date</field>
|
||||
<name>start_date</name>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>tractor_driver</field>
|
||||
<name>tractor_driver</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>drivers_licence</table>
|
||||
|
|
@ -87,11 +84,6 @@
|
|||
<rename>close_date</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>licence_number</name>
|
||||
<rename>licence_number</rename>
|
||||
<update>Y</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>licence_series</name>
|
||||
<rename>licence_series</rename>
|
||||
|
|
@ -102,11 +94,6 @@
|
|||
<rename>start_date</rename>
|
||||
<update>N</update>
|
||||
</value>
|
||||
<value>
|
||||
<name>tractor_driver</name>
|
||||
<rename>tractor_driver</rename>
|
||||
<update>N</update>
|
||||
</value>
|
||||
</lookup>
|
||||
<update_bypassed>N</update_bypassed>
|
||||
<attributes/>
|
||||
|
|
@ -219,21 +206,20 @@
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>select
|
||||
r.id recruit_id,
|
||||
false as tractor_driver,
|
||||
ri.info->'svedVoditUdost'->'voditUdost'->>'serVodUd' licence_series,
|
||||
ri.info->'svedVoditUdost'->'voditUdost'->>'nomVodUd' licence_number,
|
||||
to_date(ri.info->'svedVoditUdost'->'voditUdost'->>'dataVodUd', 'YYYY-MM-DD') start_date,
|
||||
to_date(ri.info->'svedVoditUdost'->'voditUdost'->>'srokVodUd', 'YYYY-MM-DD') close_date,
|
||||
ri.recruit_id recruit_id,
|
||||
ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->>'serNomDok' licence_series,
|
||||
--ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->>'nomVodUd' licence_number,
|
||||
to_date(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->>'dataVydDok', 'YYYY-MM-DD') start_date,
|
||||
to_date(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->>'srokDeistvDok', 'YYYY-MM-DD') close_date,
|
||||
array_to_string(array(
|
||||
select kat->>'kategoriya'
|
||||
from jsonb_array_elements(ri.info->'svedVoditUdost'->'voditUdost'->'svedKat') as kat
|
||||
where jsonb_typeof(ri.info->'svedVoditUdost'->'voditUdost'->'svedKat') = 'array'), ',') categories
|
||||
select kat->>'naimKatTS'
|
||||
from jsonb_array_elements(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->'svedKat') as kat
|
||||
where jsonb_typeof(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->'svedKat') = 'array'), ',') categories
|
||||
from public.recruits r
|
||||
join public.recruits_info ri on r.id = ri.recruit_id
|
||||
where ri.info->'svedVoditUdost'->'voditUdost'->>'serVodUd' is not null
|
||||
and
|
||||
r.system_update_date >= '${UP_D}';</sql>
|
||||
where jsonb_typeof(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->'svedKat') = 'array'
|
||||
AND r.system_update_date >= '${UP_D}'
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -257,22 +243,22 @@ r.system_update_date >= '${UP_D}';</sql>
|
|||
<limit>0</limit>
|
||||
<sql>select
|
||||
r.id recruit_id,
|
||||
ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'serUTM' licence_series,
|
||||
ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'nomUTM' licence_number,
|
||||
to_date(ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'dataVydUTM', 'YYYY-MM-DD') start_date,
|
||||
to_date(ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'dataOkonchUTM', 'YYYY-MM-DD') close_date,
|
||||
to_date(ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'dataIztUTM', 'YYYY-MM-DD') seizure_date,
|
||||
to_date(ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'dataZamUTM', 'YYYY-MM-DD') replacement_date,
|
||||
to_date(ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'dataVozUTM', 'YYYY-MM-DD') return_date,
|
||||
ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'serUTM' licence_series,
|
||||
ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'nomUTM' licence_number,
|
||||
to_date(ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'dataVydUTM', 'YYYY-MM-DD') start_date,
|
||||
to_date(ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'dataOkonchUTM', 'YYYY-MM-DD') close_date,
|
||||
to_date(ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'dataIztUTM', 'YYYY-MM-DD') seizure_date, --
|
||||
to_date(ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'dataZameny', 'YYYY-MM-DD') replacement_date,--
|
||||
to_date(ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'dataVozvr', 'YYYY-MM-DD') return_date,--
|
||||
array_to_string(array(
|
||||
select kat->>'kategoriya'
|
||||
from jsonb_array_elements(ri.info->'svedVoditUdost'->'voditUdost'->'svedKat') as kat
|
||||
where jsonb_typeof(ri.info->'svedVoditUdost'->'voditUdost'->'svedKat') = 'array'), ',') categories,
|
||||
select kat->>'naimKatTS'
|
||||
from jsonb_array_elements(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->'svedKat') as kat
|
||||
where jsonb_typeof(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->'svedKat') = 'array'), ',') categories,
|
||||
true tractor_driver
|
||||
from public.recruits r
|
||||
join public.recruits_info ri on r.id = ri.recruit_id
|
||||
where ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'serUTM' is not null
|
||||
AND r.system_update_date >= '${UP_D}';
|
||||
where ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM' is not null
|
||||
AND r.system_update_date >= '${UP_D}'
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
|
|
|
|||
|
|
@ -314,17 +314,291 @@ type_place_stay</note>
|
|||
<connection>ervu_person_registry</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>WITH extracted_children AS (
|
||||
<sql>WITH
|
||||
base_recruit_data AS (
|
||||
SELECT
|
||||
r.full_name,
|
||||
r.last_name,
|
||||
r.first_name,
|
||||
r.middle_name,
|
||||
r.gender,
|
||||
ri.info->'svedFL'->'svedBS'->'snils'->'aktSNILS'->>'snils' AS snils,
|
||||
ri.info->'svedFL'->'svedBS'->'inn'->'aktINN'->>'inn' AS inn,
|
||||
r.birth_date,
|
||||
EXTRACT(YEAR FROM AGE(r.birth_date)) AS age,
|
||||
r.birth_place,
|
||||
r.phone,
|
||||
r.email,
|
||||
ri.recruit_id,
|
||||
ri.info,
|
||||
r.vu_current_info,
|
||||
ri.info->'svedFL'->'svedSemPolozh'->>'semPolozhNaim' AS marital_status,
|
||||
ri.info->'svedFL'->'pasportRF'->'aktPasportRF'->>'nomDok' AS passport_number,
|
||||
ri.info->'svedFL'->'pasportRF'->'aktPasportRF'->>'serDok' AS passport_series,
|
||||
ri.info->'svedFL'->'svedVoin'->'voin'->>'dataReg' AS issue_date,
|
||||
r.system_update_date AS update_date,
|
||||
CASE
|
||||
WHEN r.vu_current_info->>'recruitmentCommercialInfo' = 'true' THEN 'CONVICT'
|
||||
ELSE 'NOTCONVICT'
|
||||
END AS convicts,
|
||||
COALESCE(r.current_recruitment_id, r.target_recruitment_id) AS recruitment_id,
|
||||
CASE
|
||||
WHEN jsonb_typeof(ri.info->'svedFL'->'svedPND'->'svedUchetDisp'->'svedUchet') = 'array' THEN
|
||||
EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedFL'->'svedPND'->'svedUchetDisp'->'svedUchet') AS uchet_pnd
|
||||
WHERE uchet_pnd->>'dataSnyatUchet' <= current_date::text
|
||||
)
|
||||
ELSE
|
||||
false
|
||||
END AS uchet_pnd,
|
||||
CASE
|
||||
WHEN ddd.hidden IS false THEN ddd.hidden
|
||||
ELSE true
|
||||
END AS deferment_liberation, -- когда фолс отсрочка есть, когда тру или нулл - нет
|
||||
|
||||
CASE
|
||||
WHEN
|
||||
-- Условия для "true" (спортивная категория)
|
||||
ri.info->'svedFL'->'svedSport' ? 'sport' -- Проверяем, что ключ 'sport' существует
|
||||
AND jsonb_typeof(ri.info->'svedFL'->'svedSport'->'sport') = 'array' -- Проверяем, что 'sport' это массив
|
||||
AND jsonb_array_length(ri.info->'svedFL'->'svedSport'->'sport') > 0 -- И массив не пустой
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedFL'->'svedSport'->'sport') AS sport_elem
|
||||
WHERE
|
||||
(
|
||||
-- Проверяем, что 'sportRazr' существует и срок действия актуален
|
||||
jsonb_typeof(sport_elem->'sportRazr') = 'object'
|
||||
AND sport_elem->'sportRazr'->>'dataDeistvSportRazr' IS NOT NULL
|
||||
AND TO_DATE(sport_elem->'sportRazr'->>'dataDeistvSportRazr', 'YYYY-MM-DD') > CURRENT_DATE
|
||||
)
|
||||
OR (
|
||||
-- Проверяем, что 'sportZvan' существует и не пусто
|
||||
sport_elem->>'sportZvan' IS NOT NULL
|
||||
AND sport_elem->>'sportZvan' <> ''
|
||||
)
|
||||
OR (
|
||||
-- Проверяем, что 'sportRazr' существует и срок действия истек
|
||||
jsonb_typeof(sport_elem->'sportRazr') = 'object'
|
||||
AND sport_elem->'sportRazr'->>'dataDeistvSportRazr' IS NOT NULL
|
||||
AND TO_DATE(sport_elem->'sportRazr'->>'dataDeistvSportRazr', 'YYYY-MM-DD') <= CURRENT_DATE
|
||||
)
|
||||
)
|
||||
AND ri.info->'svedFL'->'svedSport'->>'prOtsSvedSport' IS NULL
|
||||
THEN true
|
||||
|
||||
WHEN
|
||||
-- Условия для "false" (не является спортивной категорией)
|
||||
(
|
||||
ri.info->'svedFL'->'svedSport'->'sport' IS NULL -- Если 'sport' = NULL
|
||||
OR (
|
||||
ri.info->'svedSport' ? 'sport' -- Проверяем, что ключ 'sport' существует
|
||||
AND jsonb_typeof(ri.info->'svedFL'->'svedSport'->'sport') = 'array' -- Поле 'sport' должно быть массивом
|
||||
AND jsonb_array_length(ri.info->'svedFL'->'svedSport'->'sport') > 0 -- И массив не пустой
|
||||
)
|
||||
)
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedFL'->'svedSport'->'sport') AS sport_elem
|
||||
WHERE
|
||||
(
|
||||
-- Проверяем 'sportZvan' и если оно не существует или пусто
|
||||
sport_elem->>'sportZvan' IS NULL OR sport_elem->>'sportZvan' = ''
|
||||
)
|
||||
OR (
|
||||
-- Проверяем 'sportRazr' и срок действия истек
|
||||
jsonb_typeof(sport_elem->'sportRazr') = 'object'
|
||||
AND sport_elem->'sportRazr'->>'dataDeistvSportRazr' IS NOT NULL
|
||||
AND TO_DATE(sport_elem->'sportRazr'->>'dataDeistvSportRazr', 'YYYY-MM-DD') > CURRENT_DATE
|
||||
-- И 'sportZvan' также не должно существовать или быть пустым
|
||||
AND (sport_elem->>'sportZvan' IS NULL OR sport_elem->>'sportZvan' = '')
|
||||
)
|
||||
)
|
||||
AND ri.info->'svedFL'->'svedSport'->>'prOtsSvedSport' IS NULL
|
||||
THEN false
|
||||
|
||||
WHEN
|
||||
-- Условия для "null" (нет информации)
|
||||
ri.info->'svedSport'->>'prOtsSvedSport' = '1'
|
||||
OR ri.info->'svedSport' IS NULL -- Проверяем, что 'svedSport' отсутствует
|
||||
THEN null
|
||||
|
||||
ELSE null -- Неопределенное значение для всех других случаев
|
||||
END AS sports_category,
|
||||
|
||||
mrr.value AS reason_registration,
|
||||
|
||||
CASE
|
||||
WHEN ri.info->'svedFL'->'svedInvalid'->'invalid'->>'gruppa' IS NOT NULL
|
||||
AND ri.info->'svedFL'->'svedInvalid'->>'prOtsSvedInvalid' IS NULL
|
||||
AND (ri.info->'svedFL'->'sportRazr'->>'dataSnyat' IS NULL
|
||||
OR TO_DATE(ri.info->'svedFL'->'sportRazr'->>'dataSnyat', 'YYYY-MM-DD') <= CURRENT_DATE)
|
||||
THEN ri.info->'svedFL'->'svedInvalid'->'invalid'->>'gruppa'
|
||||
WHEN ri.info->'svedFL'->'svedInvalid'->>'prOtsSvedInvalid' = '1' THEN 'Нет информации об инвалидности'
|
||||
ELSE 'Нет информации об инвалидности'
|
||||
END AS disability_group,
|
||||
|
||||
CASE
|
||||
WHEN ri.info->'svedFL'->'svedUdostTraktMash'->>'udostTraktMash' IS NOT NULL
|
||||
AND TO_DATE(ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'dataOkonchUTM', 'YYYY-MM-DD') > CURRENT_DATE
|
||||
THEN true
|
||||
WHEN ri.info->'svedFL'->'svedUdostTraktMash'->>'udostTraktMash' IS NOT NULL
|
||||
AND TO_DATE(ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'dataOkonchUTM', 'YYYY-MM-DD') <= CURRENT_DATE
|
||||
THEN false
|
||||
WHEN ri.info->'svedFL'->'svedUdostTraktMash'->>'prOtsSvedUTM' = '1' THEN null
|
||||
ELSE null
|
||||
END AS tractor_license,
|
||||
|
||||
CASE
|
||||
WHEN
|
||||
jsonb_typeof(ri.info->'svedFL'->'svedUgolovPresl'->'faktyUgolovPresl') = 'array' -- проверяем, что 'faktyUgolovPresl' это массив
|
||||
AND jsonb_array_length(ri.info->'svedFL'->'svedUgolovPresl'->'faktyUgolovPresl') > 0 -- массив не пустой
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedFL'->'svedUgolovPresl'->'faktyUgolovPresl') AS criminal_prosecution
|
||||
WHERE
|
||||
criminal_prosecution->>'dataPrekrashh' IS NULL -- дата прекращения отсутствует
|
||||
)
|
||||
AND ri.info->'svedFL'->'svedUgolovPresl'->>'prOtsSvedUgolovPresl' IS NULL
|
||||
THEN true
|
||||
|
||||
WHEN
|
||||
jsonb_typeof(ri.info->'svedFL'->'svedUgolovPresl'->'faktyUgolovPresl') = 'array' -- проверяем, что 'faktyUgolovPresl' это массив
|
||||
AND jsonb_array_length(ri.info->'svedFL'->'svedUgolovPresl'->'faktyUgolovPresl') > 0 -- массив не пустой
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedFL'->'svedUgolovPresl'->'faktyUgolovPresl') AS criminal_prosecution
|
||||
WHERE
|
||||
criminal_prosecution->>'dataPrekrashh' IS NOT NULL -- дата прекращения не отсутствует
|
||||
)
|
||||
AND ri.info->'svedFL'->'svedUgolovPresl'->>'prOtsSvedUgolovPresl' IS NULL
|
||||
THEN false
|
||||
|
||||
WHEN
|
||||
ri.info->'svedFL'->'svedUgolovPresl'->>'prOtsSvedUgolovPresl' = '1'
|
||||
THEN NULL
|
||||
|
||||
ELSE NULL
|
||||
END AS criminal_prosecution,
|
||||
|
||||
COALESCE(
|
||||
CASE
|
||||
WHEN (
|
||||
jsonb_typeof(info->'svedFL'->'svedVUZ'->'vuz') = 'array'
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(info->'svedFL'->'svedVUZ'->'vuz') AS vuz
|
||||
WHERE vuz->>'kodStatus' IN ('1', '2', '4')
|
||||
)
|
||||
) OR (
|
||||
jsonb_typeof(info->'svedFL'->'svedKolledzh'->'kolledzh') = 'array'
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(info->'svedFL'->'svedKolledzh'->'kolledzh') AS kolledzh
|
||||
WHERE kolledzh->>'kodStatus' IN ('1', '2', '4')
|
||||
)
|
||||
) THEN 'Обучается'
|
||||
ELSE NULL
|
||||
END ||
|
||||
CASE
|
||||
WHEN jsonb_typeof(info->'svedFL'->'svedTrud'->'trudDeyat') = 'array'
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(info->'svedFL'->'svedTrud'->'trudDeyat') AS trud
|
||||
WHERE trud->>'prAktMestRab' = '1'
|
||||
) THEN
|
||||
CASE
|
||||
WHEN (
|
||||
jsonb_typeof(info->'svedFL'->'svedVUZ'->'vuz') = 'array'
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(info->'svedFL'->'svedVUZ'->'vuz') AS vuz
|
||||
WHERE vuz->>'kodStatus' IN ('1', '2', '4')
|
||||
)
|
||||
) OR (
|
||||
jsonb_typeof(info->'svedFL'->'svedKolledzh'->'kolledzh') = 'array'
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(info->'svedFL'->'svedKolledzh'->'kolledzh') AS kolledzh
|
||||
WHERE kolledzh->>'kodStatus' IN ('1', '2', '4')
|
||||
)
|
||||
) THEN ', Работает'
|
||||
ELSE 'Работает'
|
||||
END
|
||||
ELSE NULL
|
||||
END,
|
||||
CASE
|
||||
WHEN
|
||||
info->'svedFL'->'svedVUZ'->>'prOtsSvedVUZ' = '1' -- Отсутствие сведений о вузе
|
||||
AND info->'svedFL'->'svedKolledzh'->>'prOtsSvedKolledzh' = '1' -- Отсутствие сведений о колледже
|
||||
AND info->'svedFL'->'svedTrud'->>'prOtsSvedTrud' = '1' -- Отсутствие сведений о работе
|
||||
THEN 'Нет информации'
|
||||
ELSE 'Нет информации'
|
||||
END
|
||||
) AS employment_status,
|
||||
|
||||
CASE
|
||||
WHEN (EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedFL'->'svedRObr'->'robr') AS education
|
||||
WHERE jsonb_typeof(ri.info->'svedFL'->'svedRObr'->'robr') = 'array'
|
||||
AND education->>'kodUrObr' IN ('1', '2', '3', '4', '5'))
|
||||
OR EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedFL'->'svedInObr'->'inObr') AS education
|
||||
WHERE jsonb_typeof(ri.info->'svedFL'->'svedInObr'->'inObr') = 'array'
|
||||
AND education->>'kodUrObr' IN ('1', '2', '3', '4', '5')
|
||||
)) THEN 'Высшее'
|
||||
WHEN (EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedFL'->'svedRObr'->'robr') AS education
|
||||
WHERE jsonb_typeof(ri.info->'svedFL'->'svedRObr'->'robr') = 'array'
|
||||
AND education->>'kodUrObr' = '10')
|
||||
OR EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedFL'->'svedInObr'->'inObr') AS education
|
||||
WHERE jsonb_typeof(ri.info->'svedFL'->'svedInObr'->'inObr') = 'array'
|
||||
AND education->>'kodUrObr' = '10'
|
||||
)) THEN 'Среднее профессиональное'
|
||||
WHEN (EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedFL'->'svedRObr'->'robr') AS education
|
||||
WHERE jsonb_typeof(ri.info->'svedFL'->'svedRObr'->'robr') = 'array'
|
||||
AND education->>'kodUrObr' IN ('7', '9'))
|
||||
OR EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedFL'->'svedInObr'->'inObr') AS education
|
||||
WHERE jsonb_typeof(ri.info->'svedFL'->'svedInObr'->'inObr') = 'array'
|
||||
AND education->>'kodUrObr' IN ('7', '9')
|
||||
)) THEN 'Общее'
|
||||
WHEN ((ri.info->'svedFL'->'svedRObr'->>'prOtsRObr' = '1' OR ri.info->'svedFL'->'svedInObr'->>'prOtsInObr' = '1')) THEN 'Нет данных'
|
||||
ELSE 'Не указано' -- Добавлено условие по умолчанию
|
||||
END AS education,
|
||||
|
||||
(
|
||||
SELECT COUNT(*)
|
||||
FROM jsonb_array_elements(ri.info->'svedFL'->'svedDeti'->'rebenok') AS childs
|
||||
WHERE jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array'
|
||||
AND age(make_date(NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
|
||||
NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'mesyacz','')::int,
|
||||
NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'den','')::int)) < make_interval(years => 18)
|
||||
) AS number_children
|
||||
|
||||
FROM public.recruits AS r
|
||||
JOIN public.recruits_info AS ri ON ri.recruit_id = r.id
|
||||
JOIN public.military_registration_reason AS mrr ON r.registration_reasons::jsonb @> to_jsonb(mrr.code::text)
|
||||
--JOIN public.recruits_history rh on rh.recruit_id=r.id
|
||||
LEFT JOIN public.decision_deferment_dto ddd ON ddd.recruit_id = r.id
|
||||
WHERE r.system_update_date >= '${UP_D}'
|
||||
),
|
||||
extracted_children AS (
|
||||
SELECT
|
||||
ri.recruit_id,
|
||||
jsonb_array_elements_text(ri.info->'svedDeti'->'rebenok') AS child
|
||||
FROM
|
||||
public.recruits_info ri
|
||||
JOIN
|
||||
public.recruits r ON ri.recruit_id = r.id
|
||||
jsonb_array_elements_text(ri.info->'svedFL'->'svedDeti'->'rebenok') AS child
|
||||
FROM base_recruit_data ri
|
||||
WHERE
|
||||
jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
|
||||
AND r.system_update_date >= '${UP_D}'
|
||||
jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array'
|
||||
),
|
||||
children_birth_dates AS (
|
||||
SELECT
|
||||
|
|
@ -332,8 +606,7 @@ children_birth_dates AS (
|
|||
(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
|
||||
FROM extracted_children
|
||||
),
|
||||
children_count AS (
|
||||
SELECT
|
||||
|
|
@ -346,287 +619,56 @@ children_count AS (
|
|||
GROUP BY
|
||||
recruit_id
|
||||
),
|
||||
registration_reasons AS (
|
||||
SELECT mrr.value AS reason_registration,
|
||||
r.id AS recruit_id
|
||||
FROM public.recruits AS r
|
||||
JOIN public.military_registration_reason AS mrr
|
||||
ON r.registration_reasons::jsonb @> to_jsonb(mrr.code::text)
|
||||
WHERE r.system_update_date >= '${UP_D}'
|
||||
),
|
||||
|
||||
driver_license AS (
|
||||
SELECT
|
||||
ri.recruit_id,
|
||||
COALESCE(
|
||||
string_agg(sved_vodit->>'kategoriya', ', '),
|
||||
string_agg(sved_vodit->>'naimKatTS', ', '),
|
||||
'Нет информации'
|
||||
) AS driver_license
|
||||
FROM
|
||||
public.recruits_info ri
|
||||
JOIN
|
||||
public.recruits r ON ri.recruit_id = r.id
|
||||
FROM base_recruit_data ri
|
||||
LEFT JOIN LATERAL
|
||||
jsonb_array_elements(ri.info->'svedVoditUdost'->'voditUdost'->'svedKat') AS sved_vodit
|
||||
jsonb_array_elements(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->'svedKat') AS sved_vodit
|
||||
ON true
|
||||
WHERE r.system_update_date >= '${UP_D}'
|
||||
GROUP BY ri.recruit_id
|
||||
),
|
||||
|
||||
sports_category AS ( -- проверка на наличие спортивного разряда или звания
|
||||
SELECT
|
||||
ri.recruit_id,
|
||||
CASE
|
||||
WHEN
|
||||
-- Условия для "true" (спортивная категория)
|
||||
ri.info->'svedSport' ? 'sport' -- Проверяем, что ключ 'sport' существует
|
||||
AND jsonb_typeof(ri.info->'svedSport'->'sport') = 'array' -- Проверяем, что 'sport' это массив
|
||||
AND jsonb_array_length(ri.info->'svedSport'->'sport') > 0 -- И массив не пустой
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedSport'->'sport') AS sport_elem
|
||||
WHERE
|
||||
(
|
||||
-- Проверяем, что 'sportRazr' существует и срок действия актуален
|
||||
jsonb_typeof(sport_elem->'sportRazr') = 'object'
|
||||
AND sport_elem->'sportRazr'->>'dataDeistvSportRazr' IS NOT NULL
|
||||
AND TO_DATE(sport_elem->'sportRazr'->>'dataDeistvSportRazr', 'YYYY-MM-DD') > CURRENT_DATE
|
||||
)
|
||||
OR (
|
||||
-- Проверяем, что 'sportZvan' существует и не пусто
|
||||
sport_elem->>'sportZvan' IS NOT NULL
|
||||
AND sport_elem->>'sportZvan' <> ''
|
||||
)
|
||||
OR (
|
||||
-- Проверяем, что 'sportRazr' существует и срок действия истек
|
||||
jsonb_typeof(sport_elem->'sportRazr') = 'object'
|
||||
AND sport_elem->'sportRazr'->>'dataDeistvSportRazr' IS NOT NULL
|
||||
AND TO_DATE(sport_elem->'sportRazr'->>'dataDeistvSportRazr', 'YYYY-MM-DD') <= CURRENT_DATE
|
||||
)
|
||||
)
|
||||
AND ri.info->'svedSport'->>'prOtsSvedSport' IS NULL
|
||||
THEN true
|
||||
|
||||
WHEN
|
||||
-- Условия для "false" (не является спортивной категорией)
|
||||
(
|
||||
ri.info->'svedSport'->'sport' IS NULL -- Если 'sport' = NULL
|
||||
OR (
|
||||
ri.info->'svedSport' ? 'sport' -- Проверяем, что ключ 'sport' существует
|
||||
AND jsonb_typeof(ri.info->'svedSport'->'sport') = 'array' -- Поле 'sport' должно быть массивом
|
||||
AND jsonb_array_length(ri.info->'svedSport'->'sport') > 0 -- И массив не пустой
|
||||
)
|
||||
)
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedSport'->'sport') AS sport_elem
|
||||
WHERE
|
||||
(
|
||||
-- Проверяем 'sportZvan' и если оно не существует или пусто
|
||||
sport_elem->>'sportZvan' IS NULL OR sport_elem->>'sportZvan' = ''
|
||||
)
|
||||
OR (
|
||||
-- Проверяем 'sportRazr' и срок действия истек
|
||||
jsonb_typeof(sport_elem->'sportRazr') = 'object'
|
||||
AND sport_elem->'sportRazr'->>'dataDeistvSportRazr' IS NOT NULL
|
||||
AND TO_DATE(sport_elem->'sportRazr'->>'dataDeistvSportRazr', 'YYYY-MM-DD') > CURRENT_DATE
|
||||
-- И 'sportZvan' также не должно существовать или быть пустым
|
||||
AND (sport_elem->>'sportZvan' IS NULL OR sport_elem->>'sportZvan' = '')
|
||||
)
|
||||
)
|
||||
AND ri.info->'svedSport'->>'prOtsSvedSport' IS NULL
|
||||
THEN false
|
||||
|
||||
WHEN
|
||||
-- Условия для "null" (нет информации)
|
||||
ri.info->'svedSport'->>'prOtsSvedSport' = '1'
|
||||
OR ri.info->'svedSport' IS NULL -- Проверяем, что 'svedSport' отсутствует
|
||||
THEN null
|
||||
|
||||
ELSE null -- Неопределенное значение для всех других случаев
|
||||
END AS sports_category
|
||||
FROM public.recruits_info ri
|
||||
JOIN public.recruits r ON ri.recruit_id = r.id
|
||||
WHERE r.system_update_date >= '${UP_D}'
|
||||
),
|
||||
|
||||
disability_group AS (
|
||||
SELECT
|
||||
ri.recruit_id,
|
||||
CASE
|
||||
WHEN ri.info->'svedInvalid'->'invalid'->>'gruppa' IS NOT NULL
|
||||
AND ri.info->'svedInvalid'->>'prOtsSvedInvalid' IS NULL
|
||||
AND (ri.info->'sportRazr'->>'dataSnyat' IS NULL
|
||||
OR TO_DATE(ri.info->'sportRazr'->>'dataSnyat', 'YYYY-MM-DD') <= CURRENT_DATE)
|
||||
THEN ri.info->'svedInvalid'->'invalid'->>'gruppa'
|
||||
WHEN ri.info->'svedInvalid'->>'prOtsSvedInvalid' = '1' THEN 'Нет информации об инвалидности'
|
||||
ELSE 'Нет информации об инвалидности'
|
||||
END AS disability_group
|
||||
FROM public.recruits_info ri
|
||||
JOIN public.recruits r ON ri.recruit_id = r.id
|
||||
WHERE r.system_update_date >= '${UP_D}'
|
||||
),
|
||||
|
||||
tractor_license AS (
|
||||
SELECT
|
||||
ri.recruit_id,
|
||||
CASE
|
||||
WHEN ri.info->'svedUdostrTraktMash'->>'udostrTraktMash' IS NOT NULL
|
||||
AND TO_DATE(ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'dataOkonchUTM', 'YYYY-MM-DD') > CURRENT_DATE
|
||||
THEN true
|
||||
WHEN ri.info->'svedUdostrTraktMash'->>'udostrTraktMash' IS NOT NULL
|
||||
AND TO_DATE(ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'dataOkonchUTM', 'YYYY-MM-DD') <= CURRENT_DATE
|
||||
THEN false
|
||||
WHEN ri.info->'svedUdostrTraktMash'->>'prOtsSvedUTM' = '1' THEN null
|
||||
ELSE null
|
||||
END AS tractor_license
|
||||
FROM public.recruits_info ri
|
||||
JOIN public.recruits r ON ri.recruit_id = r.id
|
||||
WHERE r.system_update_date >= '${UP_D}'
|
||||
),
|
||||
|
||||
is_wanted AS (
|
||||
SELECT
|
||||
ri.recruit_id,
|
||||
CASE
|
||||
WHEN
|
||||
jsonb_typeof(ri.info->'svedUgolovPresl'->'faktyUgolovPresl') = 'array' -- проверяем, что 'faktyUgolovPresl' это массив
|
||||
AND jsonb_array_length(ri.info->'svedUgolovPresl'->'faktyUgolovPresl') > 0 -- массив не пустой
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedUgolovPresl'->'faktyUgolovPresl') AS criminal_prosecution
|
||||
WHERE
|
||||
criminal_prosecution->>'dataPrekrashh' IS NULL -- дата прекращения отсутствует
|
||||
)
|
||||
AND ri.info->'svedUgolovPresl'->>'prOtsSvedUgolovPresl' IS NULL
|
||||
THEN true
|
||||
|
||||
WHEN
|
||||
jsonb_typeof(ri.info->'svedUgolovPresl'->'faktyUgolovPresl') = 'array' -- проверяем, что 'faktyUgolovPresl' это массив
|
||||
AND jsonb_array_length(ri.info->'svedUgolovPresl'->'faktyUgolovPresl') > 0 -- массив не пустой
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedUgolovPresl'->'faktyUgolovPresl') AS criminal_prosecution
|
||||
WHERE
|
||||
criminal_prosecution->>'dataPrekrashh' IS NOT NULL -- дата прекращения не отсутствует
|
||||
)
|
||||
AND ri.info->'svedUgolovPresl'->>'prOtsSvedUgolovPresl' IS NULL
|
||||
THEN false
|
||||
|
||||
WHEN
|
||||
ri.info->'svedUgolovPresl'->>'prOtsSvedUgolovPresl' = '1'
|
||||
THEN NULL
|
||||
|
||||
ELSE NULL
|
||||
END AS criminal_prosecution
|
||||
FROM public.recruits_info ri
|
||||
JOIN public.recruits r ON ri.recruit_id = r.id
|
||||
WHERE r.system_update_date >= '${UP_D}'
|
||||
),
|
||||
|
||||
employment AS (
|
||||
SELECT
|
||||
ri.recruit_id,
|
||||
COALESCE(
|
||||
CASE
|
||||
WHEN (
|
||||
jsonb_typeof(info->'svedVUZ'->'vuz') = 'array'
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(info->'svedVUZ'->'vuz') AS vuz
|
||||
WHERE vuz->>'kodStatus' IN ('1', '2', '4')
|
||||
)
|
||||
) OR (
|
||||
jsonb_typeof(info->'svedKolledzh'->'kolledzh') = 'array'
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(info->'svedKolledzh'->'kolledzh') AS kolledzh
|
||||
WHERE kolledzh->>'kodStatus' IN ('1', '2', '4')
|
||||
)
|
||||
) THEN 'Обучается'
|
||||
ELSE NULL
|
||||
END ||
|
||||
CASE
|
||||
WHEN jsonb_typeof(info->'svedTrud'->'trudDeyat') = 'array'
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(info->'svedTrud'->'trudDeyat') AS trud
|
||||
WHERE trud->>'prAktMestRab' = '1'
|
||||
) THEN
|
||||
CASE
|
||||
WHEN (
|
||||
jsonb_typeof(info->'svedVUZ'->'vuz') = 'array'
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(info->'svedVUZ'->'vuz') AS vuz
|
||||
WHERE vuz->>'kodStatus' IN ('1', '2', '4')
|
||||
)
|
||||
) OR (
|
||||
jsonb_typeof(info->'svedKolledzh'->'kolledzh') = 'array'
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(info->'svedKolledzh'->'kolledzh') AS kolledzh
|
||||
WHERE kolledzh->>'kodStatus' IN ('1', '2', '4')
|
||||
)
|
||||
) THEN ', Работает'
|
||||
ELSE 'Работает'
|
||||
END
|
||||
ELSE NULL
|
||||
END,
|
||||
CASE
|
||||
WHEN
|
||||
info->'svedVUZ'->>'prOtsSvedVUZ' = '1' -- Отсутствие сведений о вузе
|
||||
AND info->'svedKolledzh'->>'prOtsSvedKolledzh' = '1' -- Отсутствие сведений о колледже
|
||||
AND info->'svedTrud'->>'prOtsSvedTrud' = '1' -- Отсутствие сведений о работе
|
||||
THEN 'Нет информации'
|
||||
ELSE 'Нет информации'
|
||||
END
|
||||
) AS employment_status
|
||||
FROM public.recruits_info ri
|
||||
JOIN public.recruits r ON ri.recruit_id = r.id
|
||||
WHERE r.system_update_date >= '${UP_D}'
|
||||
)
|
||||
|
||||
SELECT
|
||||
r.full_name,
|
||||
r.last_name,
|
||||
r.first_name,
|
||||
r.middle_name,
|
||||
r.gender,
|
||||
r.gender,
|
||||
r.snils,
|
||||
r.inn,
|
||||
r.birth_date,
|
||||
EXTRACT(YEAR FROM AGE(r.birth_date)) AS age,
|
||||
r.age,
|
||||
r.birth_place,
|
||||
r.phone,
|
||||
r.conscription AS deferment_liberation,
|
||||
|
||||
r.email,
|
||||
r.deferment_liberation,
|
||||
CASE
|
||||
WHEN (EXTRACT(YEAR FROM AGE(NOW(), r.birth_date)) BETWEEN 18 AND 70 AND r.gender = 'MALE' AND
|
||||
(r.conscription IS NULL OR r.conscription = false) AND
|
||||
COALESCE(cc.children_under_16, 0) < 5
|
||||
AND r.vu_current_info ->> 'isMilitaryRegistered' = 'true')
|
||||
OR
|
||||
(EXTRACT(YEAR FROM AGE(NOW(), r.birth_date)) BETWEEN 18 AND 45 AND r.gender = 'FEMALE' AND
|
||||
(r.conscription IS NULL OR r.conscription = false) AND
|
||||
COALESCE(cc.children_under_16, 0) < 5
|
||||
AND r.vu_current_info ->> 'isMilitaryRegistered' = 'true')
|
||||
WHEN (EXTRACT(YEAR FROM AGE(NOW(), r.birth_date)) BETWEEN 30 AND 50 AND r.gender = 'MALE') -- мужчины от 30 до 50 лет
|
||||
OR (EXTRACT(YEAR FROM AGE(NOW(), r.birth_date)) BETWEEN 30 AND 45 AND r.gender = 'FEMALE') -- женщины от 30 до 45 лет
|
||||
AND COALESCE(cc.children_under_16, 0) < 5
|
||||
THEN true
|
||||
ELSE false
|
||||
END AS mobilization,
|
||||
|
||||
CASE
|
||||
WHEN (EXTRACT(YEAR FROM AGE(NOW(), birth_date)) BETWEEN 18 AND 30
|
||||
AND gender = 'MALE' -- мужчины от 18 до 30 лет
|
||||
AND (conscription IS NULL OR conscription = false)
|
||||
AND r.vu_current_info ->> 'isMilitaryRegistered' = 'true')
|
||||
CASE
|
||||
WHEN EXTRACT(YEAR FROM AGE(NOW(), r.birth_date)) BETWEEN 18 AND 30
|
||||
AND r.gender = 'MALE'
|
||||
AND r.deferment_liberation IS true -- нет отсрочки и нет освобождения от службы
|
||||
THEN true
|
||||
ELSE false
|
||||
END AS urgent_service,
|
||||
|
||||
CASE WHEN (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' -- признак отсутствия данных о судимости
|
||||
AND r.vu_current_info ->> 'isMilitaryRegistered' = 'true')
|
||||
CASE
|
||||
WHEN EXTRACT(YEAR FROM AGE(NOW(), r.birth_date)) BETWEEN 18 AND 50
|
||||
AND r.gender = 'MALE'
|
||||
AND (r.info->'svedFL'->'svedPND'->>'prOtsSvedPND' = '1'
|
||||
OR uchet_pnd IS false)
|
||||
AND r.info->'svedFL'->'svedUchetVICH'->>'prOtsSvedUchetVICH' = '1' -- признак отсутствия сведений о заболевании ВИЧ
|
||||
THEN true
|
||||
ELSE false
|
||||
END AS contract_service,
|
||||
|
|
@ -637,100 +679,33 @@ SELECT
|
|||
ELSE 'Нет информации'
|
||||
END AS is_registered,
|
||||
|
||||
CASE
|
||||
WHEN (EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedRObr'->'robr') AS education
|
||||
WHERE jsonb_typeof(ri.info->'svedRObr'->'robr') = 'array'
|
||||
AND education->>'kodUrObr' IN ('1', '2', '3', '4', '5'))
|
||||
OR EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedInObr'->'inObr') AS education
|
||||
WHERE jsonb_typeof(ri.info->'svedInObr'->'inObr') = 'array'
|
||||
AND education->>'kodUrObr' IN ('1', '2', '3', '4', '5')
|
||||
)) THEN 'Высшее'
|
||||
WHEN (EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedRObr'->'robr') AS education
|
||||
WHERE jsonb_typeof(ri.info->'svedRObr'->'robr') = 'array'
|
||||
AND education->>'kodUrObr' = '10')
|
||||
OR EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedInObr'->'inObr') AS education
|
||||
WHERE jsonb_typeof(ri.info->'svedInObr'->'inObr') = 'array'
|
||||
AND education->>'kodUrObr' = '10'
|
||||
)) THEN 'Среднее профессиональное'
|
||||
WHEN (EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedRObr'->'robr') AS education
|
||||
WHERE jsonb_typeof(ri.info->'svedRObr'->'robr') = 'array'
|
||||
AND education->>'kodUrObr' IN ('7', '9'))
|
||||
OR EXISTS (
|
||||
SELECT 1
|
||||
FROM jsonb_array_elements(ri.info->'svedInObr'->'inObr') AS education
|
||||
WHERE jsonb_typeof(ri.info->'svedInObr'->'inObr') = 'array'
|
||||
AND education->>'kodUrObr' IN ('7', '9')
|
||||
)) THEN 'Общее'
|
||||
WHEN ((ri.info->'svedRObr'->>'prOtsRObr' = '1' OR ri.info->'svedInObr'->>'prOtsInObr' = '1')) THEN 'Нет данных'
|
||||
ELSE 'Не указано' -- Добавлено условие по умолчанию
|
||||
END AS education,
|
||||
|
||||
ri.info->'svedSemPolozh'->>'semPolozhNaim' AS marital_status,
|
||||
r.education,
|
||||
r.marital_status,
|
||||
r.number_children,
|
||||
|
||||
(SELECT COUNT(*)
|
||||
FROM jsonb_array_elements(ri.info->'svedDeti'->'rebenok') AS childs
|
||||
WHERE jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
|
||||
AND age(make_date(NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
|
||||
NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'mesyacz','')::int,
|
||||
NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'den','')::int)) < make_interval(years => 18)
|
||||
) AS number_children,
|
||||
|
||||
(SELECT COUNT(*)
|
||||
FROM jsonb_array_elements(ri.info->'svedDeti'->'rebenok') AS childs
|
||||
WHERE jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array'
|
||||
FROM jsonb_array_elements(r.info->'svedFL'->'svedDeti'->'rebenok') AS childs
|
||||
WHERE jsonb_typeof(r.info->'svedFL'->'svedDeti'->'rebenok') = 'array'
|
||||
AND age(make_date(NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
|
||||
NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'mesyacz','')::int,
|
||||
NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'den','')::int)) >= make_interval(years => 18)
|
||||
) AS number_children_18_old,
|
||||
|
||||
ri.info->'pasportRF'->'aktPasportRF'->>'nomDok' AS passport_number,
|
||||
ri.info->'pasportRF'->'aktPasportRF'->>'serDok' AS passport_series,
|
||||
ri.info->'svedVoin'->'voin'->>'dataReg' AS issue_date,
|
||||
ri.recruit_id, -- ID рекрута
|
||||
r.target_recruitment_id AS recruitment_id,
|
||||
rr.reason_registration, -- причина постановки на учет char
|
||||
sc.sports_category, -- наличие спортивной категории bool
|
||||
r.passport_number,
|
||||
r.passport_series,
|
||||
r.issue_date,
|
||||
r.recruit_id, -- ID рекрута
|
||||
r.recruitment_id,
|
||||
r.reason_registration, -- причина постановки на учет char
|
||||
r.sports_category, -- наличие спортивной категории bool
|
||||
dl.driver_license, -- категории водительских удостоверений char
|
||||
dg.disability_group, -- группа инвалидности char
|
||||
tl.tractor_license, -- наличие удостоверения тракториста bool
|
||||
iw.criminal_prosecution AS is_wanted, -- наличие уголовного преследования bool
|
||||
em.employment_status AS employment, -- занятость char
|
||||
r.system_update_date AS update_date
|
||||
FROM
|
||||
public.recruits_info ri
|
||||
JOIN
|
||||
public.recruits r ON ri.recruit_id = r.id
|
||||
LEFT JOIN
|
||||
children_count cc ON r.id = cc.recruit_id -- Присоединение для получения количества детей
|
||||
JOIN
|
||||
registration_reasons rr ON rr.recruit_id = ri.recruit_id
|
||||
JOIN
|
||||
sports_category sc ON sc.recruit_id = ri.recruit_id
|
||||
JOIN
|
||||
driver_license dl ON dl.recruit_id = ri.recruit_id
|
||||
JOIN
|
||||
disability_group dg ON dg.recruit_id = ri.recruit_id
|
||||
JOIN
|
||||
tractor_license tl ON tl.recruit_id = ri.recruit_id
|
||||
JOIN
|
||||
is_wanted iw ON iw.recruit_id = ri.recruit_id
|
||||
JOIN
|
||||
employment em ON em.recruit_id = ri.recruit_id
|
||||
WHERE
|
||||
/*r.target_recruitment_id IS NOT NULL
|
||||
AND r.current_recruitment_id IS NOT NULL
|
||||
AND*/
|
||||
r.system_update_date >= '${UP_D}';</sql>
|
||||
r.disability_group, -- группа инвалидности char
|
||||
r.tractor_license, -- наличие удостоверения тракториста bool
|
||||
r.criminal_prosecution AS is_wanted, -- наличие уголовного преследования bool
|
||||
r.employment_status AS employment, -- занятость char
|
||||
r.update_date
|
||||
FROM base_recruit_data r
|
||||
LEFT JOIN children_count cc ON r.recruit_id = cc.recruit_id -- Присоединение для получения количества детей
|
||||
JOIN driver_license dl ON dl.recruit_id = r.recruit_id</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -164,11 +164,11 @@
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>with uchet as
|
||||
(select jsonb_array_elements(ri.info->'svedPND'->'svedUchetDisp'->'svedUchet') u,
|
||||
(select jsonb_array_elements(ri.info->'svedFL'->'svedPND'->'svedUchetDisp'->'svedUchet') u,
|
||||
ri.recruit_id
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedPND'->'svedUchetDisp'->'svedUchet') = 'array')
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedFL'->'svedPND'->'svedUchetDisp'->'svedUchet') = 'array')
|
||||
select
|
||||
r.id recruit_id,
|
||||
u->>'dataPostUchet' start_date,
|
||||
|
|
@ -176,8 +176,8 @@ select
|
|||
u->>'dataPlan' change_date
|
||||
from public.recruits r
|
||||
join uchet on r.id = uchet.recruit_id
|
||||
where
|
||||
r.system_update_date >= '${UP_D}';</sql>
|
||||
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -200,11 +200,11 @@ r.system_update_date >= '${UP_D}';</sql>
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>with uchet as
|
||||
(select jsonb_array_elements(ri.info->'svedUchetVICH'->'uchetVICH') u,
|
||||
(select jsonb_array_elements(ri.info->'svedFL'->'svedUchetVICH'->'uchetVICH') u,
|
||||
ri.recruit_id
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedUchetVICH'->'uchetVICH') = 'array')
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedFL'->'svedUchetVICH'->'uchetVICH') = 'array')
|
||||
select
|
||||
r.id recruit_id,
|
||||
to_date(u->>'dataPostUchet', 'YYYY-MM-DD') start_date,
|
||||
|
|
@ -212,8 +212,7 @@ select
|
|||
true HIV
|
||||
from public.recruits r
|
||||
join uchet on r.id = uchet.recruit_id
|
||||
where
|
||||
r.system_update_date >= '${UP_D}';</sql>
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -95,11 +95,11 @@
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>with person as
|
||||
(select jsonb_array_elements(ri.info->'svedOpekun'->'svedSoczPod') ch,
|
||||
(select jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') ch,
|
||||
ri.recruit_id
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedOpekun'->'svedSoczPod') = 'array')
|
||||
where jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array')
|
||||
select
|
||||
r.id recruit_id,
|
||||
concat_ws(' ', ch->'fioOpek'->>'familiya',
|
||||
|
|
@ -110,9 +110,7 @@ select
|
|||
NULLIF(ch->'dataRozhdDok'->>'den','')::int) birth_date,
|
||||
ch->>'snils' snils
|
||||
from public.recruits r
|
||||
join person on r.id = person.recruit_id
|
||||
where
|
||||
r.system_update_date >= '${UP_D}'</sql>
|
||||
join person on r.id = person.recruit_id</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -203,18 +203,24 @@
|
|||
<connection>ervu_person_registry</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>select r.id recruit_id,
|
||||
ri.info->'pasportRF'->'aktPasportRF'->>'nomDok' passport_number,
|
||||
ri.info->'pasportRF'->'aktPasportRF'->>'serDok' passport_series,
|
||||
ri.info->'pasportRF'->'aktPasportRF'->>'vydDok' organization_name,
|
||||
ri.info->'pasportRF'->'aktPasportRF'->>'kodVydDok' unit_code,
|
||||
to_date(ri.info->'pasportRF'->'aktPasportRF'->>'dataDok', 'YYYY-MM-DD') issue_date,
|
||||
case when ri.info->'pasportRF'->'aktPasportRF'->>'kodStatus'='1' then true
|
||||
else false
|
||||
end actual
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where ri.info->'pasportRF'->'aktPasportRF'->>'nomDok' is not null;</sql>
|
||||
<sql>SELECT
|
||||
r.id AS recruit_id,
|
||||
ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'nomDok' AS passport_number,
|
||||
ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'serDok' AS passport_series,
|
||||
ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'vydDok' AS organization_name,
|
||||
ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'kodVydDok' AS unit_code,
|
||||
TO_DATE(ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'dataDok', 'YYYY-MM-DD') AS issue_date,
|
||||
CASE
|
||||
WHEN ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'kodStatus' = '1'
|
||||
THEN TRUE ELSE FALSE
|
||||
END AS actual
|
||||
FROM public.recruits_info ri
|
||||
JOIN public.recruits r ON ri.recruit_id = r.id
|
||||
WHERE ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'nomDok' IS NOT NULL
|
||||
AND LENGTH(ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'serDok') = 4
|
||||
AND LENGTH(ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'nomDok') = 6
|
||||
AND r.system_update_date >= '${UP_D}'
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -367,11 +367,13 @@
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>with prop as
|
||||
(select jsonb_array_elements(ri.info->'svedVozTS'->'vozTS') u,
|
||||
(select jsonb_array_elements(ri.info->'svedFL'->'svedVozTS'->'vozTS') u,
|
||||
ri.recruit_id
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedVozTS'->'vozTS') = 'array')
|
||||
join public.recruits r ON r.id = ri.recruit_id
|
||||
where jsonb_typeof(ri.info->'svedFL'->'svedVozTS'->'vozTS') = 'array'
|
||||
AND r.system_update_date >= '${UP_D}'
|
||||
)
|
||||
select
|
||||
r.id recruit_id,
|
||||
u->>'naimVid' vehicle_type,
|
||||
|
|
@ -381,7 +383,7 @@ select
|
|||
'air_vehicles' type_property
|
||||
from public.recruits r
|
||||
join prop on r.id = prop.recruit_id
|
||||
WHERE r.system_update_date >= '${UP_D}';</sql>
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -404,11 +406,13 @@ WHERE r.system_update_date >= '${UP_D}';</sql>
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>with prop as
|
||||
(select jsonb_array_elements(ri.info->'svedNazTS'->'nazTS') u,
|
||||
(select jsonb_array_elements(ri.info->'svedFL'->'svedNazTS'->'nazTS') u,
|
||||
ri.recruit_id
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedNazTS'->'nazTS') = 'array')
|
||||
join public.recruits r ON r.id = ri.recruit_id
|
||||
where jsonb_typeof(ri.info->'svedFL'->'svedNazTS'->'nazTS') = 'array'
|
||||
AND r.system_update_date >= '${UP_D}'
|
||||
)
|
||||
select
|
||||
r.id recruit_id,
|
||||
u->>'vidTS' vehicle_type,
|
||||
|
|
@ -421,7 +425,7 @@ select
|
|||
'ground_transportation' type_property
|
||||
from public.recruits r
|
||||
join prop on r.id = prop.recruit_id
|
||||
WHERE r.system_update_date >= '${UP_D}';</sql>
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -444,11 +448,13 @@ WHERE r.system_update_date >= '${UP_D}';</sql>
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>with prop as
|
||||
(select jsonb_array_elements(ri.info->'svedON'->'on') u,
|
||||
(select jsonb_array_elements(ri.info->'svedFL'->'svedON'->'on') u,
|
||||
ri.recruit_id
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedON'->'on') = 'array')
|
||||
join public.recruits r ON r.id = ri.recruit_id
|
||||
where jsonb_typeof(ri.info->'svedFL'->'svedON'->'on') = 'array'
|
||||
AND r.system_update_date >= '${UP_D}'
|
||||
)
|
||||
select
|
||||
r.id recruit_id,
|
||||
u->>'naimVidPrav' kind_right,
|
||||
|
|
@ -458,8 +464,7 @@ select
|
|||
'realty' type_property
|
||||
from public.recruits r
|
||||
join prop on r.id = prop.recruit_id
|
||||
where
|
||||
r.system_update_date >= '${UP_D}';</sql>
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
@ -482,11 +487,13 @@ r.system_update_date >= '${UP_D}';</sql>
|
|||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>with prop as
|
||||
(select jsonb_array_elements(ri.info->'svedVodTS'->'vodTS') u,
|
||||
(select jsonb_array_elements(ri.info->'svedFL'->'svedVodTS'->'vodTS') u,
|
||||
ri.recruit_id
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedVodTS'->'vodTS') = 'array')
|
||||
join public.recruits r ON r.id = ri.recruit_id
|
||||
where jsonb_typeof(ri.info->'svedFL'->'svedVodTS'->'vodTS') = 'array'
|
||||
AND r.system_update_date >= '${UP_D}'
|
||||
)
|
||||
select
|
||||
r.id recruit_id,
|
||||
u->>'naimVid' vehicle_type,
|
||||
|
|
@ -496,7 +503,8 @@ select
|
|||
'water_vehicles' type_property
|
||||
from public.recruits r
|
||||
join prop on r.id = prop.recruit_id
|
||||
WHERE r.system_update_date >= '${UP_D}';</sql>
|
||||
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -49,13 +49,11 @@
|
|||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>create_date</field>
|
||||
<name>create_date</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>prosecution</table>
|
||||
|
|
@ -116,23 +114,27 @@
|
|||
<connection>ervu_person_registry</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>with ugol as
|
||||
(select jsonb_array_elements(ri.info->'svedUgolovPresl'->'faktyUgolovPresl') u,
|
||||
ri.recruit_id
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedUgolovPresl'->'faktyUgolovPresl') = 'array')
|
||||
select
|
||||
r.id recruit_id,
|
||||
u->>'vidPreslNaim' kind,
|
||||
to_date(u->>'dataSved', 'YYYY-MM-DD') create_date,
|
||||
to_date(u->>'dataPrekrashh', 'YYYY-MM-DD') close_date,
|
||||
u->>'naimOrgan' authority_name,
|
||||
u->>'ugolovZakon' law_point,
|
||||
u->>'osnovPrekrashh' termination_basis
|
||||
from public.recruits r
|
||||
join ugol on r.id = ugol.recruit_id
|
||||
where r.system_update_date >= '${UP_D}'</sql>
|
||||
<sql>WITH ugol AS (
|
||||
SELECT
|
||||
jsonb_array_elements(ri.info->'svedFL'->'svedUgolovPresl'->'faktyUgolovPresl') AS u,
|
||||
ri.recruit_id
|
||||
FROM public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id
|
||||
WHERE jsonb_typeof(ri.info->'svedFL'->'svedUgolovPresl'->'faktyUgolovPresl') = 'array'
|
||||
AND r.system_update_date >= '${UP_D}'
|
||||
)
|
||||
SELECT
|
||||
r.id AS recruit_id,
|
||||
u->'sledSud'->>'naimSud' AS kind,
|
||||
TO_DATE(u->'sledSud'->>'dataVozbUD', 'YYYY-MM-DD') AS create_date,
|
||||
TO_DATE(u->'sledSud'->'svedSnyat'->>'dataSnyatSud', 'YYYY-MM-DD') AS close_date,
|
||||
u->'sledSud'->>'naimOrgan' AS authority_name,
|
||||
STRING_AGG(TRIM(BOTH ' "' FROM law.f), ', ') AS law_point,
|
||||
u->'sledSud'->'svedSnyat'->>'osnSnyatSud' AS termination_basis
|
||||
FROM public.recruits r
|
||||
JOIN ugol ON r.id = ugol.recruit_id
|
||||
LEFT JOIN LATERAL jsonb_array_elements_text(u->'sledSud'->'statiUK') AS law(f) ON true
|
||||
GROUP BY r.id, kind, create_date, close_date, authority_name, termination_basis</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -31,83 +31,6 @@
|
|||
<enabled>Y</enabled>
|
||||
</hop>
|
||||
</order>
|
||||
<transform>
|
||||
<name>Table input</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<connection>ervu_person_registry</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>with ugol as
|
||||
(select jsonb_array_elements(ri.info->'svedSudim'->'sudim'->'osuzhdenie') u,
|
||||
ri.recruit_id
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
where jsonb_typeof(ri.info->'svedSudim'->'sudim'->'osuzhdenie') = 'array')
|
||||
select
|
||||
r.id recruit_id,
|
||||
u->>'naimSuda' authority_name,
|
||||
u->>'srokNakaz' sentence,
|
||||
u->>'adresNakaz' sentence_place,
|
||||
u->>'kodVidNakaz' punishment_code,
|
||||
u->>'izmSrokNakaz' sentence_changed,
|
||||
u->>'naimVidNakaz' punishment_type,
|
||||
to_date(u->>'dataNachSrok', 'YYYY-MM-DD') start_date,
|
||||
to_date(u->>'dataOsvobozhd', 'YYYY-MM-DD') release_date,
|
||||
to_date(u->>'dataOsuzhd', 'YYYY-MM-DD') sentense_date,
|
||||
u->>'ugolovZakon' law_point,
|
||||
u->>'osnovOsvobozhd' release_reason
|
||||
from public.recruits r
|
||||
join ugol on r.id = ugol.recruit_id
|
||||
where r.system_update_date >= '${UP_D}';</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>528</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Table output</name>
|
||||
<type>TableOutput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>1000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<fields>
|
||||
</fields>
|
||||
<ignore_errors>N</ignore_errors>
|
||||
<only_when_have_rows>N</only_when_have_rows>
|
||||
<partitioning_daily>N</partitioning_daily>
|
||||
<partitioning_enabled>N</partitioning_enabled>
|
||||
<partitioning_monthly>Y</partitioning_monthly>
|
||||
<return_keys>N</return_keys>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<specify_fields>N</specify_fields>
|
||||
<table>punishment</table>
|
||||
<tablename_in_field>N</tablename_in_field>
|
||||
<tablename_in_table>Y</tablename_in_table>
|
||||
<truncate>N</truncate>
|
||||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>752</xloc>
|
||||
<yloc>176</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Insert / update</name>
|
||||
<type>InsertUpdate</type>
|
||||
|
|
@ -126,7 +49,6 @@ where r.system_update_date >= '${UP_D}';</sql>
|
|||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>punishment</table>
|
||||
|
|
@ -198,6 +120,84 @@ where r.system_update_date >= '${UP_D}';</sql>
|
|||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Table input</name>
|
||||
<type>TableInput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<connection>ervu_person_registry</connection>
|
||||
<execute_each_row>N</execute_each_row>
|
||||
<limit>0</limit>
|
||||
<sql>with ugol as
|
||||
(select jsonb_array_elements(ri.info->'svedFL'->'svedSudim'->'sudim'->'osuzhdenie') u,
|
||||
ri.recruit_id
|
||||
from public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id
|
||||
where jsonb_typeof(ri.info->'svedFL'->'svedSudim'->'sudim'->'osuzhdenie') = 'array'
|
||||
AND r.system_update_date >= '${UP_D}'
|
||||
)
|
||||
select
|
||||
r.id recruit_id,
|
||||
u->>'naimSuda' authority_name,
|
||||
u->>'srokNakaz' sentence,
|
||||
u->>'adresNakaz' sentence_place,
|
||||
u->>'kodVidNakaz' punishment_code,
|
||||
u->>'izmSrokNakaz' sentence_changed,
|
||||
u->>'naimVidNakaz' punishment_type,
|
||||
to_date(u->>'dataNachSrok', 'YYYY-MM-DD') start_date,
|
||||
to_date(u->>'dataOsvobozhd', 'YYYY-MM-DD') release_date,
|
||||
to_date(u->>'dataOsuzhd', 'YYYY-MM-DD') sentense_date,
|
||||
u->>'ugolovZakon' law_point,
|
||||
u->>'osnovOsvobozhd' release_reason
|
||||
from public.recruits r
|
||||
join ugol on r.id = ugol.recruit_id</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>528</xloc>
|
||||
<yloc>304</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform>
|
||||
<name>Table output</name>
|
||||
<type>TableOutput</type>
|
||||
<description/>
|
||||
<distribute>Y</distribute>
|
||||
<custom_distribution/>
|
||||
<copies>1</copies>
|
||||
<partitioning>
|
||||
<method>none</method>
|
||||
<schema_name/>
|
||||
</partitioning>
|
||||
<commit>1000</commit>
|
||||
<connection>ervu-dashboard</connection>
|
||||
<fields>
|
||||
</fields>
|
||||
<ignore_errors>N</ignore_errors>
|
||||
<only_when_have_rows>N</only_when_have_rows>
|
||||
<partitioning_daily>N</partitioning_daily>
|
||||
<partitioning_enabled>N</partitioning_enabled>
|
||||
<partitioning_monthly>Y</partitioning_monthly>
|
||||
<return_keys>N</return_keys>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<specify_fields>N</specify_fields>
|
||||
<table>punishment</table>
|
||||
<tablename_in_field>N</tablename_in_field>
|
||||
<tablename_in_table>Y</tablename_in_table>
|
||||
<truncate>N</truncate>
|
||||
<use_batch>Y</use_batch>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
<xloc>752</xloc>
|
||||
<yloc>176</yloc>
|
||||
</GUI>
|
||||
</transform>
|
||||
<transform_error_handling>
|
||||
</transform_error_handling>
|
||||
<attributes/>
|
||||
|
|
|
|||
|
|
@ -54,13 +54,11 @@
|
|||
<condition>=</condition>
|
||||
<field>recruit_id</field>
|
||||
<name>recruit_id</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<key>
|
||||
<condition>=</condition>
|
||||
<field>full_name</field>
|
||||
<name>full_name</name>
|
||||
<name2/>
|
||||
</key>
|
||||
<schema>ervu_dashboard</schema>
|
||||
<table>citizen_spouse</table>
|
||||
|
|
@ -198,20 +196,20 @@
|
|||
<sql>WITH suprug AS (
|
||||
SELECT
|
||||
supr.supri AS supr,
|
||||
ri.info->'svedSemPolozh'->'svedAZBrak'->>'nomerZapis' AS marriage_az_number,
|
||||
ri.info->'svedSemPolozh'->'svedAZBrak'->>'dataBrakKalend' AS marriage_date,
|
||||
ri.info->'svedSemPolozh'->'svedAZRazvod'->>'nomerZapis' AS divorce_az_number,
|
||||
ri.info->'svedSemPolozh'->'svedAZRazvod'->>'dataRastBrakKalend' AS divorce_date,
|
||||
ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'nomerZapis' AS marriage_az_number,
|
||||
ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'dataBrakKalend' AS marriage_date,
|
||||
ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'nomerZapis' AS divorce_az_number,
|
||||
ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'dataRastBrakKalend' AS divorce_date,
|
||||
CASE
|
||||
WHEN (ri.info->'svedSemPolozh'->>'svedSuprIskl' = '1') THEN true
|
||||
WHEN (ri.info->'svedFL'->'svedSemPolozh'->>'svedSuprIskl' = '1') THEN true
|
||||
ELSE false
|
||||
END AS information_excluded,
|
||||
ri.recruit_id
|
||||
FROM public.recruits_info ri
|
||||
join public.recruits r ON r.id = ri.recruit_id AND r.system_update_date >= '${UP_D}'
|
||||
LEFT JOIN LATERAL (
|
||||
SELECT jsonb_array_elements(ri.info->'svedSemPolozh'->'suprugi') AS supri
|
||||
WHERE jsonb_typeof(ri.info->'svedSemPolozh'->'suprugi') = 'array'
|
||||
JOIN LATERAL (
|
||||
SELECT jsonb_array_elements(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') AS supri
|
||||
WHERE jsonb_typeof(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') = 'array'
|
||||
) AS supr ON true
|
||||
)
|
||||
SELECT
|
||||
|
|
@ -227,11 +225,7 @@ SELECT
|
|||
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'mesyacz','')::int,
|
||||
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'den','')::int
|
||||
) AS birth_date,
|
||||
MAKE_DATE(
|
||||
NULLIF(supr->'svedSmert'->>'god', '')::int,
|
||||
NULLIF(supr->'svedSmert'->>'mesyacz','')::int,
|
||||
NULLIF(supr->'svedSmert'->>'den','')::int
|
||||
) AS death_date,
|
||||
(supr->'svedSmert'->'extend'->>'dataSmert')::date AS death_date,
|
||||
supr->'svedSmert'->>'nomerZapis' AS death_az_number,
|
||||
marriage_az_number,
|
||||
marriage_date,
|
||||
|
|
@ -240,8 +234,8 @@ SELECT
|
|||
information_excluded
|
||||
FROM public.recruits r
|
||||
JOIN suprug ON r.id = suprug.recruit_id
|
||||
where
|
||||
r.system_update_date >= '${UP_D}';</sql>
|
||||
|
||||
</sql>
|
||||
<variables_active>Y</variables_active>
|
||||
<attributes/>
|
||||
<GUI>
|
||||
|
|
|
|||
|
|
@ -164,21 +164,21 @@
|
|||
<hop>
|
||||
<from>job_info_recruits.hwf</from>
|
||||
<to>job_last_recording_date</to>
|
||||
<enabled>N</enabled>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>N</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>job_recruitments_all</from>
|
||||
<to>job_info_recruits.hwf</to>
|
||||
<enabled>N</enabled>
|
||||
<enabled>Y</enabled>
|
||||
<evaluation>N</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
<hop>
|
||||
<from>job_recruitments_all</from>
|
||||
<to>job_last_recording_date</to>
|
||||
<enabled>Y</enabled>
|
||||
<enabled>N</enabled>
|
||||
<evaluation>N</evaluation>
|
||||
<unconditional>Y</unconditional>
|
||||
</hop>
|
||||
|
|
|
|||
|
|
@ -583,8 +583,19 @@ base_recruit_data AS (
|
|||
AND age(make_date(NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
|
||||
NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'mesyacz','')::int,
|
||||
NULLIF(childs->'svedFLBS'->'dataRozhdDok'->>'den','')::int)) < make_interval(years => 18)
|
||||
) AS number_children
|
||||
) AS number_children,
|
||||
|
||||
ri.info->'svedFL'->'svedBS'->'bs'->'mestoRozhd'->>'mestoRozhd' AS country_birth, -- страна, город, улица
|
||||
(ri.info->'svedFL'->'svedBS'->'regMZHMVD'->'aktRegMZHMVD'->>'dataReg')::date AS start_date_residence, -- дата регистрации по месту жительства
|
||||
-- '0' AS end_date_residence, -- дата снятия с регистрации
|
||||
'0' AS address_place_stay, -- адрес регистрации по месту пребывания
|
||||
'0' AS start_date_place_stay, -- дата регистрации по месту пребывания
|
||||
'0' AS end_date_place_stay, -- дата снятия с регистрации по месту пребывания
|
||||
'0' AS type_place_stay, -- тип регистрации
|
||||
'0' AS address_actual, -- адрес фактического проживания,
|
||||
'0' AS source_info_actual, -- источник сведений о месте фактического проживания
|
||||
'0' AS date_info_actual, -- дата получения сведений об адресе фактического проживания
|
||||
'0' AS date_loss_info_actual -- дата потери актуальных сведений об адресе фактического проживания
|
||||
FROM public.recruits AS r
|
||||
JOIN public.recruits_info AS ri ON ri.recruit_id = r.id
|
||||
JOIN public.military_registration_reason AS mrr ON r.registration_reasons::jsonb @> to_jsonb(mrr.code::text)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue