fix info recruits
This commit is contained in:
parent
28aadf1a59
commit
035005515b
9 changed files with 59 additions and 852 deletions
|
|
@ -110,10 +110,10 @@
|
||||||
<execute_each_row>N</execute_each_row>
|
<execute_each_row>N</execute_each_row>
|
||||||
<limit>0</limit>
|
<limit>0</limit>
|
||||||
<sql>with child as
|
<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
|
ri.recruit_id
|
||||||
from public.recruits_info ri
|
from public.recruits_info ri
|
||||||
where jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array')
|
where jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array')
|
||||||
select
|
select
|
||||||
r.id::uuid recruit_id,
|
r.id::uuid recruit_id,
|
||||||
ch->>'naimRodstvSvyazReb' kinship_type,
|
ch->>'naimRodstvSvyazReb' kinship_type,
|
||||||
|
|
@ -127,7 +127,7 @@ select
|
||||||
NULLIF(ch->'svedSmert'->'dataSmert'->>'mesyacz','')::int,
|
NULLIF(ch->'svedSmert'->'dataSmert'->>'mesyacz','')::int,
|
||||||
NULLIF(ch->'svedSmert'->'dataSmert'->>'den','')::int) death_date,
|
NULLIF(ch->'svedSmert'->'dataSmert'->>'den','')::int) death_date,
|
||||||
ch->'svedSmert'->>'nomerZapis' death_az_number,
|
ch->'svedSmert'->>'nomerZapis' death_az_number,
|
||||||
ch->'svedAZRozhd'->'dataRozhdDok'->>'nomerZapis' birth_az_number
|
ch->'svedAZRozhd'->>'nomerZapis' birth_az_number
|
||||||
from public.recruits r
|
from public.recruits r
|
||||||
join child on r.id = child.recruit_id</sql>
|
join child on r.id = child.recruit_id</sql>
|
||||||
<variables_active>N</variables_active>
|
<variables_active>N</variables_active>
|
||||||
|
|
@ -156,14 +156,11 @@ join child on r.id = child.recruit_id</sql>
|
||||||
<only_when_have_rows>N</only_when_have_rows>
|
<only_when_have_rows>N</only_when_have_rows>
|
||||||
<partitioning_daily>N</partitioning_daily>
|
<partitioning_daily>N</partitioning_daily>
|
||||||
<partitioning_enabled>N</partitioning_enabled>
|
<partitioning_enabled>N</partitioning_enabled>
|
||||||
<partitioning_field/>
|
|
||||||
<partitioning_monthly>Y</partitioning_monthly>
|
<partitioning_monthly>Y</partitioning_monthly>
|
||||||
<return_field/>
|
|
||||||
<return_keys>N</return_keys>
|
<return_keys>N</return_keys>
|
||||||
<schema>ervu_dashboard</schema>
|
<schema>ervu_dashboard</schema>
|
||||||
<specify_fields>N</specify_fields>
|
<specify_fields>N</specify_fields>
|
||||||
<table>citizen_child</table>
|
<table>citizen_child</table>
|
||||||
<tablename_field/>
|
|
||||||
<tablename_in_field>N</tablename_in_field>
|
<tablename_in_field>N</tablename_in_field>
|
||||||
<tablename_in_table>Y</tablename_in_table>
|
<tablename_in_table>Y</tablename_in_table>
|
||||||
<truncate>N</truncate>
|
<truncate>N</truncate>
|
||||||
|
|
|
||||||
|
|
@ -47,19 +47,19 @@
|
||||||
<limit>0</limit>
|
<limit>0</limit>
|
||||||
<sql>select
|
<sql>select
|
||||||
r.id recruit_id,
|
r.id recruit_id,
|
||||||
case when ri.info->'svedInvalid'->'invalid'->>'gruppa'='1' then 'I группа'
|
case when ri.info->'svedFL'->'svedInvalid'->'invalid'->>'gruppa'='1' then 'I группа'
|
||||||
when ri.info->'svedInvalid'->'invalid'->>'gruppa'='2' then 'II группа'
|
when ri.info->'svedFL'->'svedInvalid'->'invalid'->>'gruppa'='2' then 'II группа'
|
||||||
when ri.info->'svedInvalid'->'invalid'->>'gruppa'='3' then 'III группа'
|
when ri.info->'svedFL'->'svedInvalid'->'invalid'->>'gruppa'='3' then 'III группа'
|
||||||
when ri.info->'svedInvalid'->'invalid'->>'gruppa'='4' then 'ребенок-инвалид'
|
when ri.info->'svedFL'->'svedInvalid'->'invalid'->>'gruppa'='4' then 'ребенок-инвалид'
|
||||||
end disability_group,
|
end disability_group,
|
||||||
ri.info->'svedInvalid'->'invalid'->>'ustanOrg' organization_name,
|
ri.info->'svedFL'->'svedInvalid'->'invalid'->>'ustanOrg' organization_name,
|
||||||
to_date(ri.info->'svedInvalid'->'invalid'->'ustanInvalid'->>'dataUstan', 'YYYY-MM-DD') start_date,
|
to_date(ri.info->'svedFL'->'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->'svedFL'->'svedInvalid'->'invalid'->'ustanInvalid'->>'dataSnyat', 'YYYY-MM-DD') close_date,
|
||||||
to_date(ri.info->'svedInvalid'->'invalid'->'ustanInvalid'->>'dataPodtverzhdPlan', 'YYYY-MM-DD') confirmation_date,
|
to_date(ri.info->'svedFL'->'svedInvalid'->'invalid'->'ustanInvalid'->>'dataPodtverzhdPlan', 'YYYY-MM-DD') confirmation_date,
|
||||||
true disability
|
true disability
|
||||||
from public.recruits r
|
from public.recruits r
|
||||||
join public.recruits_info ri on r.id = ri.recruit_id
|
join public.recruits_info ri on r.id = ri.recruit_id
|
||||||
where ri.info->'svedInvalid'->'invalid'->>'gruppa' is not null;</sql>
|
where ri.info->'svedFL'->'svedInvalid'->'invalid'->>'gruppa' is not null;</sql>
|
||||||
<variables_active>N</variables_active>
|
<variables_active>N</variables_active>
|
||||||
<attributes/>
|
<attributes/>
|
||||||
<GUI>
|
<GUI>
|
||||||
|
|
@ -115,14 +115,11 @@ where ri.info->'svedNedeesp'->'nedeesposob'->>'naimSud' is not null;</sql>
|
||||||
<only_when_have_rows>N</only_when_have_rows>
|
<only_when_have_rows>N</only_when_have_rows>
|
||||||
<partitioning_daily>N</partitioning_daily>
|
<partitioning_daily>N</partitioning_daily>
|
||||||
<partitioning_enabled>N</partitioning_enabled>
|
<partitioning_enabled>N</partitioning_enabled>
|
||||||
<partitioning_field/>
|
|
||||||
<partitioning_monthly>Y</partitioning_monthly>
|
<partitioning_monthly>Y</partitioning_monthly>
|
||||||
<return_field/>
|
|
||||||
<return_keys>N</return_keys>
|
<return_keys>N</return_keys>
|
||||||
<schema>ervu_dashboard</schema>
|
<schema>ervu_dashboard</schema>
|
||||||
<specify_fields>N</specify_fields>
|
<specify_fields>N</specify_fields>
|
||||||
<table>disability</table>
|
<table>disability</table>
|
||||||
<tablename_field/>
|
|
||||||
<tablename_in_field>N</tablename_in_field>
|
<tablename_in_field>N</tablename_in_field>
|
||||||
<tablename_in_table>Y</tablename_in_table>
|
<tablename_in_table>Y</tablename_in_table>
|
||||||
<truncate>N</truncate>
|
<truncate>N</truncate>
|
||||||
|
|
@ -152,14 +149,11 @@ where ri.info->'svedNedeesp'->'nedeesposob'->>'naimSud' is not null;</sql>
|
||||||
<only_when_have_rows>N</only_when_have_rows>
|
<only_when_have_rows>N</only_when_have_rows>
|
||||||
<partitioning_daily>N</partitioning_daily>
|
<partitioning_daily>N</partitioning_daily>
|
||||||
<partitioning_enabled>N</partitioning_enabled>
|
<partitioning_enabled>N</partitioning_enabled>
|
||||||
<partitioning_field/>
|
|
||||||
<partitioning_monthly>Y</partitioning_monthly>
|
<partitioning_monthly>Y</partitioning_monthly>
|
||||||
<return_field/>
|
|
||||||
<return_keys>N</return_keys>
|
<return_keys>N</return_keys>
|
||||||
<schema>ervu_dashboard</schema>
|
<schema>ervu_dashboard</schema>
|
||||||
<specify_fields>N</specify_fields>
|
<specify_fields>N</specify_fields>
|
||||||
<table>disability</table>
|
<table>disability</table>
|
||||||
<tablename_field/>
|
|
||||||
<tablename_in_field>N</tablename_in_field>
|
<tablename_in_field>N</tablename_in_field>
|
||||||
<tablename_in_table>Y</tablename_in_table>
|
<tablename_in_table>Y</tablename_in_table>
|
||||||
<truncate>N</truncate>
|
<truncate>N</truncate>
|
||||||
|
|
|
||||||
|
|
@ -41,10 +41,10 @@
|
||||||
<execute_each_row>N</execute_each_row>
|
<execute_each_row>N</execute_each_row>
|
||||||
<limit>0</limit>
|
<limit>0</limit>
|
||||||
<sql>with zdorov as
|
<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
|
ri.recruit_id
|
||||||
from public.recruits_info ri
|
from public.recruits_info ri
|
||||||
where jsonb_typeof(ri.info->'svedSostZdorov'->'svedZdorov'->'sostZdorov') = 'array')
|
where jsonb_typeof(ri.info->'svedFL'->'svedSostZdorov'->'svedZdorov'->'sostZdorov') = 'array')
|
||||||
select
|
select
|
||||||
r.id recruit_id,
|
r.id recruit_id,
|
||||||
z->>'kodZabol' code,
|
z->>'kodZabol' code,
|
||||||
|
|
@ -78,14 +78,11 @@ join zdorov on r.id = zdorov.recruit_id;</sql>
|
||||||
<only_when_have_rows>N</only_when_have_rows>
|
<only_when_have_rows>N</only_when_have_rows>
|
||||||
<partitioning_daily>N</partitioning_daily>
|
<partitioning_daily>N</partitioning_daily>
|
||||||
<partitioning_enabled>N</partitioning_enabled>
|
<partitioning_enabled>N</partitioning_enabled>
|
||||||
<partitioning_field/>
|
|
||||||
<partitioning_monthly>Y</partitioning_monthly>
|
<partitioning_monthly>Y</partitioning_monthly>
|
||||||
<return_field/>
|
|
||||||
<return_keys>N</return_keys>
|
<return_keys>N</return_keys>
|
||||||
<schema>ervu_dashboard</schema>
|
<schema>ervu_dashboard</schema>
|
||||||
<specify_fields>N</specify_fields>
|
<specify_fields>N</specify_fields>
|
||||||
<table>disease</table>
|
<table>disease</table>
|
||||||
<tablename_field/>
|
|
||||||
<tablename_in_field>N</tablename_in_field>
|
<tablename_in_field>N</tablename_in_field>
|
||||||
<tablename_in_table>Y</tablename_in_table>
|
<tablename_in_table>Y</tablename_in_table>
|
||||||
<truncate>N</truncate>
|
<truncate>N</truncate>
|
||||||
|
|
|
||||||
|
|
@ -46,18 +46,18 @@
|
||||||
<execute_each_row>N</execute_each_row>
|
<execute_each_row>N</execute_each_row>
|
||||||
<limit>0</limit>
|
<limit>0</limit>
|
||||||
<sql>select
|
<sql>select
|
||||||
r.id recruit_id,
|
ri.recruit_id recruit_id,
|
||||||
ri.info->'svedVoditUdost'->'voditUdost'->>'serVodUd' licence_series,
|
ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->>'serNomDok' licence_series,
|
||||||
ri.info->'svedVoditUdost'->'voditUdost'->>'nomVodUd' licence_number,
|
--ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->>'nomVodUd' licence_number,
|
||||||
to_date(ri.info->'svedVoditUdost'->'voditUdost'->>'dataVodUd', 'YYYY-MM-DD') start_date,
|
to_date(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->>'dataVydDok', 'YYYY-MM-DD') start_date,
|
||||||
to_date(ri.info->'svedVoditUdost'->'voditUdost'->>'srokVodUd', 'YYYY-MM-DD') close_date,
|
to_date(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->>'srokDeistvDok', 'YYYY-MM-DD') close_date,
|
||||||
array_to_string(array(
|
array_to_string(array(
|
||||||
select kat->>'kategoriya'
|
select kat->>'naimKatTS'
|
||||||
from jsonb_array_elements(ri.info->'svedVoditUdost'->'voditUdost'->'svedKat') as kat
|
from jsonb_array_elements(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->'svedKat') as kat
|
||||||
where jsonb_typeof(ri.info->'svedVoditUdost'->'voditUdost'->'svedKat') = 'array'), ',') categories
|
where jsonb_typeof(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->'svedKat') = 'array'), ',') categories
|
||||||
from public.recruits r
|
from public.recruits r
|
||||||
join public.recruits_info ri on r.id = ri.recruit_id
|
join public.recruits_info ri on r.id = ri.recruit_id
|
||||||
where ri.info->'svedVoditUdost'->'voditUdost'->>'serVodUd' is not null;</sql>
|
where jsonb_typeof(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->'svedKat') = 'array'</sql>
|
||||||
<variables_active>N</variables_active>
|
<variables_active>N</variables_active>
|
||||||
<attributes/>
|
<attributes/>
|
||||||
<GUI>
|
<GUI>
|
||||||
|
|
@ -81,22 +81,21 @@ where ri.info->'svedVoditUdost'->'voditUdost'->>'serVodUd' is not null;</sql>
|
||||||
<limit>0</limit>
|
<limit>0</limit>
|
||||||
<sql>select
|
<sql>select
|
||||||
r.id recruit_id,
|
r.id recruit_id,
|
||||||
ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'serUTM' licence_series,
|
ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'serUTM' licence_series,
|
||||||
ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'nomUTM' licence_number,
|
ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'nomUTM' licence_number,
|
||||||
to_date(ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'dataVydUTM', 'YYYY-MM-DD') start_date,
|
to_date(ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'dataVydUTM', 'YYYY-MM-DD') start_date,
|
||||||
to_date(ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'dataOkonchUTM', 'YYYY-MM-DD') close_date,
|
to_date(ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'dataOkonchUTM', 'YYYY-MM-DD') close_date,
|
||||||
to_date(ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'dataIztUTM', 'YYYY-MM-DD') seizure_date,
|
to_date(ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'dataIztUTM', 'YYYY-MM-DD') seizure_date, --
|
||||||
to_date(ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'dataZamUTM', 'YYYY-MM-DD') replacement_date,
|
to_date(ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'dataZameny', 'YYYY-MM-DD') replacement_date,--
|
||||||
to_date(ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'dataVozUTM', 'YYYY-MM-DD') return_date,
|
to_date(ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM'->>'dataVozvr', 'YYYY-MM-DD') return_date,--
|
||||||
array_to_string(array(
|
array_to_string(array(
|
||||||
select kat->>'kategoriya'
|
select kat->>'naimKatTS'
|
||||||
from jsonb_array_elements(ri.info->'svedVoditUdost'->'voditUdost'->'svedKat') as kat
|
from jsonb_array_elements(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->'svedKat') as kat
|
||||||
where jsonb_typeof(ri.info->'svedVoditUdost'->'voditUdost'->'svedKat') = 'array'), ',') categories,
|
where jsonb_typeof(ri.info->'svedFL'->'svedVoditUdost'->'voditUdost'->'svedKat') = 'array'), ',') categories,
|
||||||
true tractor_driver
|
true tractor_driver
|
||||||
from public.recruits r
|
from public.recruits r
|
||||||
join public.recruits_info ri on r.id = ri.recruit_id
|
join public.recruits_info ri on r.id = ri.recruit_id
|
||||||
where ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'serUTM' is not null;
|
where ri.info->'svedFL'->'svedUdostTraktMash'->'udostTraktMash'->'aktUTM' is not null</sql>
|
||||||
</sql>
|
|
||||||
<variables_active>N</variables_active>
|
<variables_active>N</variables_active>
|
||||||
<attributes/>
|
<attributes/>
|
||||||
<GUI>
|
<GUI>
|
||||||
|
|
@ -123,14 +122,11 @@ where ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'serUTM' is not null;
|
||||||
<only_when_have_rows>N</only_when_have_rows>
|
<only_when_have_rows>N</only_when_have_rows>
|
||||||
<partitioning_daily>N</partitioning_daily>
|
<partitioning_daily>N</partitioning_daily>
|
||||||
<partitioning_enabled>N</partitioning_enabled>
|
<partitioning_enabled>N</partitioning_enabled>
|
||||||
<partitioning_field/>
|
|
||||||
<partitioning_monthly>Y</partitioning_monthly>
|
<partitioning_monthly>Y</partitioning_monthly>
|
||||||
<return_field/>
|
|
||||||
<return_keys>N</return_keys>
|
<return_keys>N</return_keys>
|
||||||
<schema>ervu_dashboard</schema>
|
<schema>ervu_dashboard</schema>
|
||||||
<specify_fields>N</specify_fields>
|
<specify_fields>N</specify_fields>
|
||||||
<table>drivers_licence</table>
|
<table>drivers_licence</table>
|
||||||
<tablename_field/>
|
|
||||||
<tablename_in_field>N</tablename_in_field>
|
<tablename_in_field>N</tablename_in_field>
|
||||||
<tablename_in_table>Y</tablename_in_table>
|
<tablename_in_table>Y</tablename_in_table>
|
||||||
<truncate>N</truncate>
|
<truncate>N</truncate>
|
||||||
|
|
@ -160,14 +156,11 @@ where ri.info->'svedUdostrTraktMash'->'udostrTraktMash'->>'serUTM' is not null;
|
||||||
<only_when_have_rows>N</only_when_have_rows>
|
<only_when_have_rows>N</only_when_have_rows>
|
||||||
<partitioning_daily>N</partitioning_daily>
|
<partitioning_daily>N</partitioning_daily>
|
||||||
<partitioning_enabled>N</partitioning_enabled>
|
<partitioning_enabled>N</partitioning_enabled>
|
||||||
<partitioning_field/>
|
|
||||||
<partitioning_monthly>Y</partitioning_monthly>
|
<partitioning_monthly>Y</partitioning_monthly>
|
||||||
<return_field/>
|
|
||||||
<return_keys>N</return_keys>
|
<return_keys>N</return_keys>
|
||||||
<schema>ervu_dashboard</schema>
|
<schema>ervu_dashboard</schema>
|
||||||
<specify_fields>N</specify_fields>
|
<specify_fields>N</specify_fields>
|
||||||
<table>drivers_licence</table>
|
<table>drivers_licence</table>
|
||||||
<tablename_field/>
|
|
||||||
<tablename_in_field>N</tablename_in_field>
|
<tablename_in_field>N</tablename_in_field>
|
||||||
<tablename_in_table>Y</tablename_in_table>
|
<tablename_in_table>Y</tablename_in_table>
|
||||||
<truncate>N</truncate>
|
<truncate>N</truncate>
|
||||||
|
|
|
||||||
|
|
@ -1,759 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<pipeline>
|
|
||||||
<info>
|
|
||||||
<name>info_recruits</name>
|
|
||||||
<name_sync_with_filename>Y</name_sync_with_filename>
|
|
||||||
<description/>
|
|
||||||
<extended_description/>
|
|
||||||
<pipeline_version/>
|
|
||||||
<pipeline_type>Normal</pipeline_type>
|
|
||||||
<parameters>
|
|
||||||
</parameters>
|
|
||||||
<capture_transform_performance>N</capture_transform_performance>
|
|
||||||
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
|
|
||||||
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
|
|
||||||
<created_user>-</created_user>
|
|
||||||
<created_date>2024/08/15 14:02:51.713</created_date>
|
|
||||||
<modified_user>-</modified_user>
|
|
||||||
<modified_date>2024/08/15 14:02:51.713</modified_date>
|
|
||||||
</info>
|
|
||||||
<notepads>
|
|
||||||
<notepad>
|
|
||||||
<backgroundcolorblue>251</backgroundcolorblue>
|
|
||||||
<backgroundcolorgreen>232</backgroundcolorgreen>
|
|
||||||
<backgroundcolorred>201</backgroundcolorred>
|
|
||||||
<bordercolorblue>90</bordercolorblue>
|
|
||||||
<bordercolorgreen>58</bordercolorgreen>
|
|
||||||
<bordercolorred>14</bordercolorred>
|
|
||||||
<fontbold>N</fontbold>
|
|
||||||
<fontcolorblue>90</fontcolorblue>
|
|
||||||
<fontcolorgreen>58</fontcolorgreen>
|
|
||||||
<fontcolorred>14</fontcolorred>
|
|
||||||
<fontitalic>N</fontitalic>
|
|
||||||
<fontname>Segoe UI</fontname>
|
|
||||||
<fontsize>9</fontsize>
|
|
||||||
<height>394</height>
|
|
||||||
<xloc>960</xloc>
|
|
||||||
<yloc>16</yloc>
|
|
||||||
<note>acquired_citizenship
|
|
||||||
address_actual
|
|
||||||
address_place_stay
|
|
||||||
city_birth
|
|
||||||
date_info_actual
|
|
||||||
date_loss_info_actual
|
|
||||||
died_date
|
|
||||||
dispensary_registration_code
|
|
||||||
email
|
|
||||||
end_date_place_stay
|
|
||||||
end_date_residence
|
|
||||||
inn
|
|
||||||
is_in_prison
|
|
||||||
medic
|
|
||||||
medical_requirements
|
|
||||||
region_birth
|
|
||||||
residence
|
|
||||||
right_deferment
|
|
||||||
snils
|
|
||||||
source_info_actual
|
|
||||||
start_date_place_stay
|
|
||||||
start_date_residence
|
|
||||||
took_break
|
|
||||||
type_place_stay</note>
|
|
||||||
<width>163</width>
|
|
||||||
</notepad>
|
|
||||||
</notepads>
|
|
||||||
<order>
|
|
||||||
<hop>
|
|
||||||
<from>Select values 4</from>
|
|
||||||
<to>Table output</to>
|
|
||||||
<enabled>N</enabled>
|
|
||||||
</hop>
|
|
||||||
<hop>
|
|
||||||
<from>Table input</from>
|
|
||||||
<to>Select values 4</to>
|
|
||||||
<enabled>Y</enabled>
|
|
||||||
</hop>
|
|
||||||
<hop>
|
|
||||||
<from>Select values 4</from>
|
|
||||||
<to>Insert / update</to>
|
|
||||||
<enabled>Y</enabled>
|
|
||||||
</hop>
|
|
||||||
</order>
|
|
||||||
<transform>
|
|
||||||
<name>Insert / update</name>
|
|
||||||
<type>InsertUpdate</type>
|
|
||||||
<description/>
|
|
||||||
<distribute>Y</distribute>
|
|
||||||
<custom_distribution/>
|
|
||||||
<copies>1</copies>
|
|
||||||
<partitioning>
|
|
||||||
<method>none</method>
|
|
||||||
<schema_name/>
|
|
||||||
</partitioning>
|
|
||||||
<commit>100</commit>
|
|
||||||
<connection>ervu-dashboard</connection>
|
|
||||||
<lookup>
|
|
||||||
<key>
|
|
||||||
<condition>=</condition>
|
|
||||||
<field>recruit_id</field>
|
|
||||||
<name>recruit_id</name>
|
|
||||||
</key>
|
|
||||||
<schema>ervu_dashboard</schema>
|
|
||||||
<table>citizen</table>
|
|
||||||
<value>
|
|
||||||
<name>recruit_id</name>
|
|
||||||
<rename>recruit_id</rename>
|
|
||||||
<update>N</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>age</name>
|
|
||||||
<rename>age</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>birth_date</name>
|
|
||||||
<rename>birth_date</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>birth_place</name>
|
|
||||||
<rename>birth_place</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>contract_service</name>
|
|
||||||
<rename>contract_service</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>deferment_liberation</name>
|
|
||||||
<rename>deferment_liberation</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>disability_group</name>
|
|
||||||
<rename>disability_group</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>driver_license</name>
|
|
||||||
<rename>driver_license</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>education</name>
|
|
||||||
<rename>education</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>employment</name>
|
|
||||||
<rename>employment</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>first_name</name>
|
|
||||||
<rename>first_name</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>full_name</name>
|
|
||||||
<rename>full_name</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>gender</name>
|
|
||||||
<rename>gender</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>is_registered</name>
|
|
||||||
<rename>is_registered</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>is_wanted</name>
|
|
||||||
<rename>is_wanted</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>issue_date</name>
|
|
||||||
<rename>issue_date</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>last_name</name>
|
|
||||||
<rename>last_name</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>marital_status</name>
|
|
||||||
<rename>marital_status</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>middle_name</name>
|
|
||||||
<rename>middle_name</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>mobilization</name>
|
|
||||||
<rename>mobilization</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>number_children</name>
|
|
||||||
<rename>number_children</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>number_children_18_old</name>
|
|
||||||
<rename>number_children_18_old</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>passport_number</name>
|
|
||||||
<rename>passport_number</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>passport_series</name>
|
|
||||||
<rename>passport_series</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>phone</name>
|
|
||||||
<rename>phone</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>reason_registration</name>
|
|
||||||
<rename>reason_registration</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>recruitment_id</name>
|
|
||||||
<rename>recruitment_id</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>sports_category</name>
|
|
||||||
<rename>sports_category</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>tractor_license</name>
|
|
||||||
<rename>tractor_license</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>update_date</name>
|
|
||||||
<rename>update_date</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
<value>
|
|
||||||
<name>urgent_service</name>
|
|
||||||
<rename>urgent_service</rename>
|
|
||||||
<update>Y</update>
|
|
||||||
</value>
|
|
||||||
</lookup>
|
|
||||||
<update_bypassed>N</update_bypassed>
|
|
||||||
<attributes/>
|
|
||||||
<GUI>
|
|
||||||
<xloc>688</xloc>
|
|
||||||
<yloc>208</yloc>
|
|
||||||
</GUI>
|
|
||||||
</transform>
|
|
||||||
<transform>
|
|
||||||
<name>Select values 4</name>
|
|
||||||
<type>SelectValues</type>
|
|
||||||
<description/>
|
|
||||||
<distribute>Y</distribute>
|
|
||||||
<custom_distribution/>
|
|
||||||
<copies>1</copies>
|
|
||||||
<partitioning>
|
|
||||||
<method>none</method>
|
|
||||||
<schema_name/>
|
|
||||||
</partitioning>
|
|
||||||
<fields>
|
|
||||||
<select_unspecified>N</select_unspecified>
|
|
||||||
<meta>
|
|
||||||
<name>issue_date</name>
|
|
||||||
<rename>issue_date</rename>
|
|
||||||
<type>Date</type>
|
|
||||||
<length>-2</length>
|
|
||||||
<precision>-2</precision>
|
|
||||||
<conversion_mask>yyyy-MM-dd</conversion_mask>
|
|
||||||
<date_format_lenient>false</date_format_lenient>
|
|
||||||
<date_format_locale/>
|
|
||||||
<date_format_timezone/>
|
|
||||||
<lenient_string_to_number>false</lenient_string_to_number>
|
|
||||||
<encoding/>
|
|
||||||
<decimal_symbol/>
|
|
||||||
<grouping_symbol/>
|
|
||||||
<currency_symbol/>
|
|
||||||
<storage_type/>
|
|
||||||
</meta>
|
|
||||||
</fields>
|
|
||||||
<attributes/>
|
|
||||||
<GUI>
|
|
||||||
<xloc>448</xloc>
|
|
||||||
<yloc>208</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 extracted_children AS (
|
|
||||||
SELECT
|
|
||||||
ri.recruit_id,
|
|
||||||
jsonb_array_elements_text(ri.info->'svedDeti'->'rebenok') AS child
|
|
||||||
FROM
|
|
||||||
public.recruits_info 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
|
|
||||||
),
|
|
||||||
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)
|
|
||||||
),
|
|
||||||
|
|
||||||
driver_license AS (
|
|
||||||
SELECT
|
|
||||||
ri.recruit_id,
|
|
||||||
COALESCE(
|
|
||||||
string_agg(sved_vodit->>'kategoriya', ', '),
|
|
||||||
'Нет информации'
|
|
||||||
) AS driver_license
|
|
||||||
FROM
|
|
||||||
public.recruits_info ri
|
|
||||||
LEFT JOIN LATERAL
|
|
||||||
jsonb_array_elements(ri.info->'svedVoditUdost'->'voditUdost'->'svedKat') AS sved_vodit
|
|
||||||
ON true
|
|
||||||
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
|
|
||||||
),
|
|
||||||
|
|
||||||
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
|
|
||||||
),
|
|
||||||
|
|
||||||
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
|
|
||||||
),
|
|
||||||
|
|
||||||
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
|
|
||||||
),
|
|
||||||
|
|
||||||
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
|
|
||||||
)
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
r.full_name,
|
|
||||||
r.last_name,
|
|
||||||
r.first_name,
|
|
||||||
r.middle_name,
|
|
||||||
r.gender,
|
|
||||||
r.birth_date,
|
|
||||||
EXTRACT(YEAR FROM AGE(r.birth_date)) AS age,
|
|
||||||
r.birth_place,
|
|
||||||
r.phone,
|
|
||||||
r.conscription AS 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')
|
|
||||||
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')
|
|
||||||
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')
|
|
||||||
THEN true
|
|
||||||
ELSE false
|
|
||||||
END AS contract_service,
|
|
||||||
|
|
||||||
CASE
|
|
||||||
WHEN r.vu_current_info ->> 'isMilitaryRegistered' = 'true' THEN 'Состоит на воинском учете'
|
|
||||||
WHEN r.vu_current_info ->> 'isMilitaryRegistered' = 'false' THEN 'Не состоит на воинском учете'
|
|
||||||
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,
|
|
||||||
|
|
||||||
(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'
|
|
||||||
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
|
|
||||||
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;</sql>
|
|
||||||
<variables_active>Y</variables_active>
|
|
||||||
<attributes/>
|
|
||||||
<GUI>
|
|
||||||
<xloc>208</xloc>
|
|
||||||
<yloc>208</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>citizen</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>656</xloc>
|
|
||||||
<yloc>64</yloc>
|
|
||||||
</GUI>
|
|
||||||
</transform>
|
|
||||||
<transform_error_handling>
|
|
||||||
</transform_error_handling>
|
|
||||||
<attributes/>
|
|
||||||
</pipeline>
|
|
||||||
|
|
@ -46,10 +46,10 @@
|
||||||
<execute_each_row>N</execute_each_row>
|
<execute_each_row>N</execute_each_row>
|
||||||
<limit>0</limit>
|
<limit>0</limit>
|
||||||
<sql>with uchet as
|
<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
|
ri.recruit_id
|
||||||
from public.recruits_info ri
|
from public.recruits_info ri
|
||||||
where jsonb_typeof(ri.info->'svedPND'->'svedUchetDisp'->'svedUchet') = 'array')
|
where jsonb_typeof(ri.info->'svedFL'->'svedPND'->'svedUchetDisp'->'svedUchet') = 'array')
|
||||||
select
|
select
|
||||||
r.id recruit_id,
|
r.id recruit_id,
|
||||||
u->>'dataPostUchet' start_date,
|
u->>'dataPostUchet' start_date,
|
||||||
|
|
@ -79,10 +79,10 @@ join uchet on r.id = uchet.recruit_id;</sql>
|
||||||
<execute_each_row>N</execute_each_row>
|
<execute_each_row>N</execute_each_row>
|
||||||
<limit>0</limit>
|
<limit>0</limit>
|
||||||
<sql>with uchet as
|
<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
|
ri.recruit_id
|
||||||
from public.recruits_info ri
|
from public.recruits_info ri
|
||||||
where jsonb_typeof(ri.info->'svedUchetVICH'->'uchetVICH') = 'array')
|
where jsonb_typeof(ri.info->'svedFL'->'svedUchetVICH'->'uchetVICH') = 'array')
|
||||||
select
|
select
|
||||||
r.id recruit_id,
|
r.id recruit_id,
|
||||||
to_date(u->>'dataPostUchet', 'YYYY-MM-DD') start_date,
|
to_date(u->>'dataPostUchet', 'YYYY-MM-DD') start_date,
|
||||||
|
|
@ -116,14 +116,11 @@ join uchet on r.id = uchet.recruit_id;</sql>
|
||||||
<only_when_have_rows>N</only_when_have_rows>
|
<only_when_have_rows>N</only_when_have_rows>
|
||||||
<partitioning_daily>N</partitioning_daily>
|
<partitioning_daily>N</partitioning_daily>
|
||||||
<partitioning_enabled>N</partitioning_enabled>
|
<partitioning_enabled>N</partitioning_enabled>
|
||||||
<partitioning_field/>
|
|
||||||
<partitioning_monthly>Y</partitioning_monthly>
|
<partitioning_monthly>Y</partitioning_monthly>
|
||||||
<return_field/>
|
|
||||||
<return_keys>N</return_keys>
|
<return_keys>N</return_keys>
|
||||||
<schema>ervu_dashboard</schema>
|
<schema>ervu_dashboard</schema>
|
||||||
<specify_fields>N</specify_fields>
|
<specify_fields>N</specify_fields>
|
||||||
<table>medical_authorities</table>
|
<table>medical_authorities</table>
|
||||||
<tablename_field/>
|
|
||||||
<tablename_in_field>N</tablename_in_field>
|
<tablename_in_field>N</tablename_in_field>
|
||||||
<tablename_in_table>Y</tablename_in_table>
|
<tablename_in_table>Y</tablename_in_table>
|
||||||
<truncate>N</truncate>
|
<truncate>N</truncate>
|
||||||
|
|
@ -153,14 +150,11 @@ join uchet on r.id = uchet.recruit_id;</sql>
|
||||||
<only_when_have_rows>N</only_when_have_rows>
|
<only_when_have_rows>N</only_when_have_rows>
|
||||||
<partitioning_daily>N</partitioning_daily>
|
<partitioning_daily>N</partitioning_daily>
|
||||||
<partitioning_enabled>N</partitioning_enabled>
|
<partitioning_enabled>N</partitioning_enabled>
|
||||||
<partitioning_field/>
|
|
||||||
<partitioning_monthly>Y</partitioning_monthly>
|
<partitioning_monthly>Y</partitioning_monthly>
|
||||||
<return_field/>
|
|
||||||
<return_keys>N</return_keys>
|
<return_keys>N</return_keys>
|
||||||
<schema>ervu_dashboard</schema>
|
<schema>ervu_dashboard</schema>
|
||||||
<specify_fields>N</specify_fields>
|
<specify_fields>N</specify_fields>
|
||||||
<table>medical_authorities</table>
|
<table>medical_authorities</table>
|
||||||
<tablename_field/>
|
|
||||||
<tablename_in_field>N</tablename_in_field>
|
<tablename_in_field>N</tablename_in_field>
|
||||||
<tablename_in_table>Y</tablename_in_table>
|
<tablename_in_table>Y</tablename_in_table>
|
||||||
<truncate>N</truncate>
|
<truncate>N</truncate>
|
||||||
|
|
|
||||||
|
|
@ -95,10 +95,10 @@
|
||||||
<execute_each_row>N</execute_each_row>
|
<execute_each_row>N</execute_each_row>
|
||||||
<limit>0</limit>
|
<limit>0</limit>
|
||||||
<sql>with person as
|
<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
|
ri.recruit_id
|
||||||
from public.recruits_info ri
|
from public.recruits_info ri
|
||||||
where jsonb_typeof(ri.info->'svedOpekun'->'svedSoczPod') = 'array')
|
where jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array')
|
||||||
select
|
select
|
||||||
r.id recruit_id,
|
r.id recruit_id,
|
||||||
concat_ws(' ', ch->'fioOpek'->>'familiya',
|
concat_ws(' ', ch->'fioOpek'->>'familiya',
|
||||||
|
|
@ -106,7 +106,7 @@ select
|
||||||
ch->'fioOpek'->>'otchestvo') full_name,
|
ch->'fioOpek'->>'otchestvo') full_name,
|
||||||
make_date(NULLIF(ch->'dataRozhdDok'->>'god', '')::int,
|
make_date(NULLIF(ch->'dataRozhdDok'->>'god', '')::int,
|
||||||
NULLIF(ch->'dataRozhdDok'->>'mesyacz','')::int,
|
NULLIF(ch->'dataRozhdDok'->>'mesyacz','')::int,
|
||||||
NULLIF(ch->'dataRozhdDok'->>'den','')::int) birth_date,
|
NULLIF(ch->'dataRozhdDok'->>'den','')::int) birth_date,
|
||||||
ch->>'snils' snils
|
ch->>'snils' snils
|
||||||
from public.recruits r
|
from public.recruits r
|
||||||
join person on r.id = person.recruit_id</sql>
|
join person on r.id = person.recruit_id</sql>
|
||||||
|
|
@ -136,14 +136,11 @@ join person on r.id = person.recruit_id</sql>
|
||||||
<only_when_have_rows>N</only_when_have_rows>
|
<only_when_have_rows>N</only_when_have_rows>
|
||||||
<partitioning_daily>N</partitioning_daily>
|
<partitioning_daily>N</partitioning_daily>
|
||||||
<partitioning_enabled>N</partitioning_enabled>
|
<partitioning_enabled>N</partitioning_enabled>
|
||||||
<partitioning_field/>
|
|
||||||
<partitioning_monthly>Y</partitioning_monthly>
|
<partitioning_monthly>Y</partitioning_monthly>
|
||||||
<return_field/>
|
|
||||||
<return_keys>N</return_keys>
|
<return_keys>N</return_keys>
|
||||||
<schema>ervu_dashboard</schema>
|
<schema>ervu_dashboard</schema>
|
||||||
<specify_fields>N</specify_fields>
|
<specify_fields>N</specify_fields>
|
||||||
<table>citizen_guardianship</table>
|
<table>citizen_guardianship</table>
|
||||||
<tablename_field/>
|
|
||||||
<tablename_in_field>N</tablename_in_field>
|
<tablename_in_field>N</tablename_in_field>
|
||||||
<tablename_in_table>Y</tablename_in_table>
|
<tablename_in_table>Y</tablename_in_table>
|
||||||
<truncate>N</truncate>
|
<truncate>N</truncate>
|
||||||
|
|
|
||||||
|
|
@ -46,17 +46,18 @@
|
||||||
<execute_each_row>N</execute_each_row>
|
<execute_each_row>N</execute_each_row>
|
||||||
<limit>0</limit>
|
<limit>0</limit>
|
||||||
<sql>select r.id recruit_id,
|
<sql>select r.id recruit_id,
|
||||||
ri.info->'pasportRF'->'aktPasportRF'->>'nomDok' passport_number,
|
ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'nomDok' passport_number,
|
||||||
ri.info->'pasportRF'->'aktPasportRF'->>'serDok' passport_series,
|
ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'serDok' passport_series,
|
||||||
ri.info->'pasportRF'->'aktPasportRF'->>'vydDok' organization_name,
|
ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'vydDok' organization_name,
|
||||||
ri.info->'pasportRF'->'aktPasportRF'->>'kodVydDok' unit_code,
|
ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'kodVydDok' unit_code,
|
||||||
to_date(ri.info->'pasportRF'->'aktPasportRF'->>'dataDok', 'YYYY-MM-DD') issue_date,
|
to_date(ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'dataDok', 'YYYY-MM-DD') issue_date,
|
||||||
case when ri.info->'pasportRF'->'aktPasportRF'->>'kodStatus'='1' then true
|
case when ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'kodStatus'='1' then true
|
||||||
else false
|
else false
|
||||||
end actual
|
end actual
|
||||||
from public.recruits_info ri
|
from public.recruits_info ri
|
||||||
join public.recruits r ON ri.recruit_id = r.id
|
join public.recruits r ON ri.recruit_id = r.id
|
||||||
where ri.info->'pasportRF'->'aktPasportRF'->>'nomDok' is not null;</sql>
|
where ri.info->'svedFL'->'svedBS'->'pasportRF'->'aktPasportRF'->>'nomDok' is not null
|
||||||
|
</sql>
|
||||||
<variables_active>N</variables_active>
|
<variables_active>N</variables_active>
|
||||||
<attributes/>
|
<attributes/>
|
||||||
<GUI>
|
<GUI>
|
||||||
|
|
|
||||||
|
|
@ -196,19 +196,19 @@
|
||||||
<sql>WITH suprug AS (
|
<sql>WITH suprug AS (
|
||||||
SELECT
|
SELECT
|
||||||
supr.supri AS supr,
|
supr.supri AS supr,
|
||||||
ri.info->'svedSemPolozh'->'svedAZBrak'->>'nomerZapis' AS marriage_az_number,
|
ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'nomerZapis' AS marriage_az_number,
|
||||||
ri.info->'svedSemPolozh'->'svedAZBrak'->>'dataBrakKalend' AS marriage_date,
|
ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'dataBrakKalend' AS marriage_date,
|
||||||
ri.info->'svedSemPolozh'->'svedAZRazvod'->>'nomerZapis' AS divorce_az_number,
|
ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'nomerZapis' AS divorce_az_number,
|
||||||
ri.info->'svedSemPolozh'->'svedAZRazvod'->>'dataRastBrakKalend' AS divorce_date,
|
ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'dataRastBrakKalend' AS divorce_date,
|
||||||
CASE
|
CASE
|
||||||
WHEN (ri.info->'svedSemPolozh'->>'svedSuprIskl' = '1') THEN true
|
WHEN (ri.info->'svedFL'->'svedSemPolozh'->>'svedSuprIskl' = '1') THEN true
|
||||||
ELSE false
|
ELSE false
|
||||||
END AS information_excluded,
|
END AS information_excluded,
|
||||||
ri.recruit_id
|
ri.recruit_id
|
||||||
FROM public.recruits_info ri
|
FROM public.recruits_info ri
|
||||||
LEFT JOIN LATERAL (
|
JOIN LATERAL (
|
||||||
SELECT jsonb_array_elements(ri.info->'svedSemPolozh'->'suprugi') AS supri
|
SELECT jsonb_array_elements(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') AS supri
|
||||||
WHERE jsonb_typeof(ri.info->'svedSemPolozh'->'suprugi') = 'array'
|
WHERE jsonb_typeof(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') = 'array'
|
||||||
) AS supr ON true
|
) AS supr ON true
|
||||||
)
|
)
|
||||||
SELECT
|
SELECT
|
||||||
|
|
@ -224,11 +224,7 @@ SELECT
|
||||||
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'mesyacz','')::int,
|
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'mesyacz','')::int,
|
||||||
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'den','')::int
|
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'den','')::int
|
||||||
) AS birth_date,
|
) AS birth_date,
|
||||||
MAKE_DATE(
|
(supr->'svedSmert'->'extend'->>'dataSmert')::date AS death_date,
|
||||||
NULLIF(supr->'svedSmert'->>'god', '')::int,
|
|
||||||
NULLIF(supr->'svedSmert'->>'mesyacz','')::int,
|
|
||||||
NULLIF(supr->'svedSmert'->>'den','')::int
|
|
||||||
) AS death_date,
|
|
||||||
supr->'svedSmert'->>'nomerZapis' AS death_az_number,
|
supr->'svedSmert'->>'nomerZapis' AS death_az_number,
|
||||||
marriage_az_number,
|
marriage_az_number,
|
||||||
marriage_date,
|
marriage_date,
|
||||||
|
|
@ -236,7 +232,7 @@ SELECT
|
||||||
divorce_date,
|
divorce_date,
|
||||||
information_excluded
|
information_excluded
|
||||||
FROM public.recruits r
|
FROM public.recruits r
|
||||||
JOIN suprug ON r.id = suprug.recruit_id;</sql>
|
JOIN suprug ON r.id = suprug.recruit_id</sql>
|
||||||
<variables_active>N</variables_active>
|
<variables_active>N</variables_active>
|
||||||
<attributes/>
|
<attributes/>
|
||||||
<GUI>
|
<GUI>
|
||||||
|
|
@ -263,14 +259,11 @@ JOIN suprug ON r.id = suprug.recruit_id;</sql>
|
||||||
<only_when_have_rows>N</only_when_have_rows>
|
<only_when_have_rows>N</only_when_have_rows>
|
||||||
<partitioning_daily>N</partitioning_daily>
|
<partitioning_daily>N</partitioning_daily>
|
||||||
<partitioning_enabled>N</partitioning_enabled>
|
<partitioning_enabled>N</partitioning_enabled>
|
||||||
<partitioning_field/>
|
|
||||||
<partitioning_monthly>Y</partitioning_monthly>
|
<partitioning_monthly>Y</partitioning_monthly>
|
||||||
<return_field/>
|
|
||||||
<return_keys>N</return_keys>
|
<return_keys>N</return_keys>
|
||||||
<schema>ervu_dashboard</schema>
|
<schema>ervu_dashboard</schema>
|
||||||
<specify_fields>N</specify_fields>
|
<specify_fields>N</specify_fields>
|
||||||
<table>citizen_spouse</table>
|
<table>citizen_spouse</table>
|
||||||
<tablename_field/>
|
|
||||||
<tablename_in_field>N</tablename_in_field>
|
<tablename_in_field>N</tablename_in_field>
|
||||||
<tablename_in_table>Y</tablename_in_table>
|
<tablename_in_table>Y</tablename_in_table>
|
||||||
<truncate>N</truncate>
|
<truncate>N</truncate>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue