diff --git a/v1_apache-hop dash mapping/jobs_once_a_day/citizen_work_activity_once.hpl b/v1_apache-hop dash mapping/jobs_once_a_day/citizen_work_activity_once.hpl
index 07baeea..a992ab9 100644
--- a/v1_apache-hop dash mapping/jobs_once_a_day/citizen_work_activity_once.hpl
+++ b/v1_apache-hop dash mapping/jobs_once_a_day/citizen_work_activity_once.hpl
@@ -20,7 +20,271 @@
+
+ Table input
+ Table output
+ Y
+
+
+ Table output
+ Update
+ Y
+
+
+ Table input
+ TableInput
+
+ Y
+
+ 1
+
+ none
+
+
+ ervu_person_registry
+ N
+ 0
+ WITH trud_info AS (
+ SELECT
+ ri.info,
+ ri.recruit_id::uuid,
+ case when ri.info->'svedFL'->'svedTrud'->'trudDeyat' IS NULL THEN NULL
+ WHEN jsonb_typeof(ri.info->'svedFL'->'svedTrud'->'trudDeyat') = 'array' THEN
+ (ri.info->'svedFL'->'svedTrud'->'trudDeyat'->0) end as trud_deyat,
+ case when ri.info->'svedFL'->'svedTrud'->'trudDeyat' IS NULL THEN NULL
+ WHEN jsonb_typeof(ri.info->'svedFL'->'svedTrud'->'trudDeyat'->0->'svedUhodReb') = 'array'
+ then ri.info->'svedFL'->'svedTrud'->'trudDeyat'->0->'svedUhodReb'->0 end AS parental_leave_info,
+ coalesce(
+ ri.info->'svedFL'->'svedRabotodat'->'rabotodat'->'aktRabotodat',
+ ri.info->'svedFL'->'svedRabotodat'->'rabotodat'->'predRabotodat'
+ ) AS employer,
+ (CASE
+ WHEN info->'svedFL'->'svedRegIP'->'regIP' IS NULL THEN NULL
+ WHEN jsonb_typeof(info->'svedFL'->'svedRegIP'->'regIP'->'aktRegIP') = 'array' THEN
+ (info->'svedFL'->'svedRegIP'->'regIP'->'aktRegIP'->0)
+ ELSE
+ info->'svedFL'->'svedRegIP'->'regIP'->'predRegIP'
+ END) AS reg_ip,
+ COALESCE(
+ ri.info->'svedFL'->'svedNPD'->'npd'->'aktNPD',
+ ri.info->'svedFL'->'svedNPD'->'npd'->'predNPD'
+ ) AS self_employment
+ FROM public.recruits_info ri
+ join public.recruits r
+ ON r.id = ri.recruit_id
+ AND (r.target_recruitment_id= '${RCRT_C}' or r.current_recruitment_id = '${RCRT_C}')
+)
+SELECT
+ ti.recruit_id::uuid,
+ (ti.trud_deyat->>'dataMeropr')::date AS personnel_event_date,
+ ti.trud_deyat->>'naimTipKadrMeropr' AS personnel_event_type,
+ case when ti.trud_deyat->>'prAktMestRab' = '1' then true else false end AS current_workplace,
+ ti.trud_deyat->>'trudFunkcziya' AS position,
+ ti.trud_deyat->'svedOrg'->>'naimOrg' AS employer_name,
+ ti.employer->'svedYUL'->>'kpp' AS employer_kpp,
+ CASE
+ WHEN ti.employer->>'svedYUL' != 'null' THEN 'Юридическое лицо'
+ WHEN ti.employer->>'svedIP' != 'null' THEN 'Индивидуальный предприниматель'
+ END AS employer_category,
+ COALESCE(
+ ti.employer->'svedYUL'->>'innyul',
+ ti.employer->'svedIP'->>'innyfl'
+ ) AS employer_inn,
+ ti.employer->'svedYUL'->'svedOPK'->>'region' AS employer_address,
+ COALESCE(
+ ti.employer->'svedIP'->>'ogrnip',
+ ti.employer->'svedYUL'->'extend'->>'ogrn'
+ ) AS employer_ogrnip,
+ ti.employer->'extend'->>'tipPodrazdRabotodat' as employer_unit_type,
+ ti.employer->'extend'->>'adresPodrazdRabotodat' as employer_unit_address,
+ (ti.parental_leave_info->>'dataNachUhodReb')::date as parental_leave_start_date,
+ (ti.parental_leave_info->>'dataKonUhodReb')::date as parental_leave_end_date,
+ case when (ti.parental_leave_info->>'dataNachUhodReb')::date <= current_date
+ and ((ti.parental_leave_info->>'dataKonUhodReb')::date is null
+ or (ti.parental_leave_info->>'dataKonUhodReb')::date > current_date)
+ then true
+ else false end as parental_leave_active,
+ (ti.reg_ip->>'dataRegIP')::date as reg_ip_date,
+ (ti.reg_ip->>'dataINNNed')::date as dereg_ip_date,
+ ti.reg_ip->>'ogrnip' as ogrnip_ip,
+ case when ti.reg_ip != 'null'
+ then true else false end as active_ip,
+ ti.self_employment->>'dataUchNPD' as reg_self_employment_date,
+ ti.self_employment->>'dataSnUchNPD' as dereg_self_employment_date,
+ case when ti.self_employment != 'null'
+ then true else false end as active_self_employment
+FROM trud_info ti
+
+ Y
+
+
+ 0
+ 0
+
+
+
+ Table output
+ TableOutput
+
+ Y
+
+ 1
+
+ none
+
+
+ 1000
+ ervu-dashboard
+
+
+ recruit_id
+ recruit_id
+
+
+ employer_category
+ employer_category
+
+
+ organization_name
+ employer_name
+
+
+ inn
+ employer_inn
+
+
+ ogrn
+ employer_ogrnip
+
+
+ kpp
+ employer_kpp
+
+
+ organization_address
+ employer_address
+
+
+ type_separate_division
+ employer_unit_type
+
+
+ address_separate_division
+ employer_unit_address
+
+
+ type_hr_event
+ personnel_event_type
+
+
+ date_hr_event
+ personnel_event_date
+
+
+ job_title
+ position
+
+
+ start_date_parental_leave
+ parental_leave_start_date
+
+
+ end_date_parental_leave
+ parental_leave_end_date
+
+
+ ogrn_ip
+ ogrnip_ip
+
+
+ date_reg_ip
+ reg_ip_date
+
+
+ date_dereg_ip
+ dereg_ip_date
+
+
+ date_reg_self
+ reg_self_employment_date
+
+
+ date_dereg_self
+ dereg_self_employment_date
+
+
+ N
+ N
+ N
+ N
+
+ Y
+
+ N
+ ervu_dashboard
+ Y
+
+
+ N
+ Y
+ N
+ Y
+
+
+ 144
+ 0
+
+
+
+ Update
+ Update
+
+ Y
+
+ 1
+
+ none
+
+
+ 1000
+ ervu-dashboard
+ Y
+
+
+
+ =
+ recruit_id
+ recruit_id
+
+
+ ervu_dashboard
+
+
+ employed
+ current_workplace
+
+
+ active_reg_ip
+ active_ip
+
+
+ active_parental_leave
+ parental_leave_active
+
+
+ self_employed
+ active_self_employment
+
+
+ N
+ Y
+
+
+ 320
+ 0
+
+
diff --git a/v1_apache-hop dash mapping/jobs_once_a_day/disability_once.hpl b/v1_apache-hop dash mapping/jobs_once_a_day/disability_once.hpl
index 96bc428..7138007 100644
--- a/v1_apache-hop dash mapping/jobs_once_a_day/disability_once.hpl
+++ b/v1_apache-hop dash mapping/jobs_once_a_day/disability_once.hpl
@@ -30,6 +30,16 @@
Table output 2
Y
+
+ Table output 2
+ Update 2
+ Y
+
+
+ Table output
+ Update
+ Y
+
Table input
@@ -45,21 +55,24 @@
ervu_person_registry
N
0
- select
- r.id recruit_id,
- 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->'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
+ select
+ recruit_id,
+ 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->'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_info ri
-join public.recruits r ON r.id = ri.recruit_id AND (r.target_recruitment_id= '${RCRT_C}' or r.current_recruitment_id = '${RCRT_C}')
-where ri.info->'svedFL'->'svedInvalid'->'invalid'->>'gruppa' is not null;
+ join public.recruits r
+ ON r.id = ri.recruit_id
+ AND (r.target_recruitment_id = '${RCRT_C}' or
+ r.current_recruitment_id = '${RCRT_C}')
+where ri.info->'svedFL'->'svedInvalid'->>'invalid' != 'null';
Y
@@ -81,14 +94,19 @@ where ri.info->'svedFL'->'svedInvalid'->'invalid'->>'gruppa' is not null;
ervu_person_registry
N
0
- select
- r.id recruit_id,
- ri.info->'svedNedeesp'->'nedeesposob'->>'naimSud' organization_name,
- to_date(ri.info->'svedNedeesp'->'nedeesposob'->>'dataPrisv', 'YYYY-MM-DD') start_date,
- to_date(ri.info->'svedNedeesp'->'nedeesposob'->>'dataOtmeny', 'YYYY-MM-DD') close_date
+ select
+ recruit_id,
+ ri.info->'svedNedeesp'->'nedeesposob'->>'naimOrg' organization_name,
+ to_date(ri.info->'svedNedeesp'->'nedeesposob'->>'dataPrisv', 'YYYY-MM-DD') start_date,
+ to_date(ri.info->'svedNedeesp'->'nedeesposob'->>'dataOtmeny', 'YYYY-MM-DD') close_date,
+ false disability,
+ true is_incompetent
from public.recruits_info ri
-join public.recruits r ON r.id = ri.recruit_id AND (r.target_recruitment_id= '${RCRT_C}' or r.current_recruitment_id = '${RCRT_C}')
-where ri.info->'svedNedeesp'->'nedeesposob'->>'naimSud' is not null;
+ join public.recruits r
+ ON r.id = ri.recruit_id
+ AND (r.target_recruitment_id = '${RCRT_C}' or
+ r.current_recruitment_id = '${RCRT_C}')
+where ri.info->'svedNedeesp'->>'nedeesposob' != 'null';
Y
@@ -110,16 +128,47 @@ where ri.info->'svedNedeesp'->'nedeesposob'->>'naimSud' is not null;
1000
ervu-dashboard
-
+
+ recruit_id
+ recruit_id
+
+
+ disability_group
+ disability_group
+
+
+ organization_name
+ organization_name
+
+
+ start_date
+ start_date
+
+
+ close_date
+ close_date
+
+
+ confirmation_date
+ confirmation_date
+
+
+ disability
+ disability
+
+
N
N
N
N
+
Y
+
N
ervu_dashboard
- N
+ Y
+
N
Y
N
@@ -144,7 +193,27 @@ where ri.info->'svedNedeesp'->'nedeesposob'->>'naimSud' is not null;
1000
ervu-dashboard
-
+
+ recruit_id
+ recruit_id
+
+
+ organization_name
+ organization_name
+
+
+ start_date
+ start_date
+
+
+ close_date
+ close_date
+
+
+ disability
+ disability
+
+
N
N
N
@@ -152,7 +221,7 @@ where ri.info->'svedNedeesp'->'nedeesposob'->>'naimSud' is not null;
Y
N
ervu_dashboard
- N
+ Y
N
Y
@@ -164,6 +233,78 @@ where ri.info->'svedNedeesp'->'nedeesposob'->>'naimSud' is not null;
304
+
+ Update
+ Update
+
+ Y
+
+ 1
+
+ none
+
+
+ 1000
+ ervu-dashboard
+ Y
+
+
+ =
+ recruit_id
+ recruit_id
+
+ ervu_dashboard
+
+
+ has_disability
+ disability
+
+
+ N
+ Y
+
+
+ 576
+ 208
+
+
+
+ Update 2
+ Update
+
+ Y
+
+ 1
+
+ none
+
+
+ 1000
+ ervu-dashboard
+ Y
+
+
+
+ =
+ recruit_id
+ recruit_id
+
+
+ ervu_dashboard
+
+
+ is_incompetent
+ is_incompetent
+
+
+ N
+ Y
+
+
+ 576
+ 304
+
+
diff --git a/v1_apache-hop dash mapping/jobs_once_a_day/disease_once.hpl b/v1_apache-hop dash mapping/jobs_once_a_day/disease_once.hpl
index 3349254..9ab97af 100644
--- a/v1_apache-hop dash mapping/jobs_once_a_day/disease_once.hpl
+++ b/v1_apache-hop dash mapping/jobs_once_a_day/disease_once.hpl
@@ -25,6 +25,11 @@
Table output
Y
+
+ Table output
+ Update
+ Y
+
Table input
@@ -40,21 +45,28 @@
ervu_person_registry
N
0
- with zdorov as
-(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.target_recruitment_id= '${RCRT_C}' or r.current_recruitment_id = '${RCRT_C}')
-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
-from public.recruits r
-join zdorov on r.id = zdorov.recruit_id;
+ with zdorov as (select ri.recruit_id,
+ jsonb_array_elements(
+ ri.info -> 'svedFL' -> 'svedSostZdorov' -> 'svedZdorov' ->
+ 'sostZdorov') z,
+ case
+ when ri.info -> 'svedFL' -> 'svedSostZdorov' -> 'svedZdorov' ->>
+ 'priznakNalichSved' = '1'
+ then true
+ else false end as has_disease
+ from public.recruits_info ri
+ join public.recruits r
+ ON r.id = ri.recruit_id
+ AND (r.target_recruitment_id = '${RCRT_C}' or
+ r.current_recruitment_id = '${RCRT_C}')
+ where jsonb_typeof(ri.info -> 'svedFL' -> 'svedSostZdorov' -> 'svedZdorov' ->
+ 'sostZdorov') = 'array')
+select recruit_id,
+ z ->> 'kodZabol' code,
+ z ->> 'naimZabol' name,
+ has_disease,
+ to_date(z ->> 'dataDiagn', 'YYYY-MM-DD') reg_date
+from zdorov;
Y
@@ -76,7 +88,23 @@ join zdorov on r.id = zdorov.recruit_id;
1000
ervu-dashboard
-
+
+ recruit_id
+ recruit_id
+
+
+ code
+ code
+
+
+ name
+ name
+
+
+ reg_date
+ reg_date
+
+
N
N
N
@@ -84,7 +112,7 @@ join zdorov on r.id = zdorov.recruit_id;
Y
N
ervu_dashboard
- N
+ Y
N
Y
@@ -96,6 +124,43 @@ join zdorov on r.id = zdorov.recruit_id;
208
+
+ Update
+ Update
+
+ Y
+
+ 1
+
+ none
+
+
+ 1000
+ ervu-dashboard
+ Y
+
+
+
+ =
+ recruit_id
+ recruit_id
+
+
+ ervu_dashboard
+
+
+ has_disease
+ has_disease
+
+
+ N
+ Y
+
+
+ 592
+ 208
+
+
diff --git a/v1_apache-hop dash mapping/jobs_once_a_day/job_info_recruits_once.hwf b/v1_apache-hop dash mapping/jobs_once_a_day/job_info_recruits_once.hwf
index fe7f747..a69c6a4 100644
--- a/v1_apache-hop dash mapping/jobs_once_a_day/job_info_recruits_once.hwf
+++ b/v1_apache-hop dash mapping/jobs_once_a_day/job_info_recruits_once.hwf
@@ -1183,11 +1183,14 @@
N
Y
${PROJECT_HOME}/jobs_once_a_day/citizen_education_diplomas_received_once.hpl
+
+
Basic
RCRT_C
RECRUITMENT_CITIZEN
+
Y
@@ -1209,15 +1212,22 @@
N
N
N
- Y
+ N
N
- N
+ Y
${PROJECT_HOME}/jobs_once_a_day/citizen_work_activity_once.hpl
+
+
Basic
+
+ RCRT_C
+ RECRUITMENT_CITIZEN
+
+
Y
- N
+ Y
local
N
N
@@ -2097,6 +2107,13 @@
Y
Y
+
+ recruitment_rows.hpl
+ SQL.citizen_work_activity
+ Y
+ Y
+ N
+
diff --git a/v1_apache-hop dash mapping/jobs_once_a_day/medical_authorities_once.hpl b/v1_apache-hop dash mapping/jobs_once_a_day/medical_authorities_once.hpl
index fd02821..8c28b03 100644
--- a/v1_apache-hop dash mapping/jobs_once_a_day/medical_authorities_once.hpl
+++ b/v1_apache-hop dash mapping/jobs_once_a_day/medical_authorities_once.hpl
@@ -30,6 +30,16 @@
Table output 2
Y
+
+ Table output
+ Update
+ Y
+
+
+ Table output 2
+ Update 2
+ Y
+
Table input 2
@@ -46,20 +56,24 @@
N
0
with uchet as
-(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.target_recruitment_id= '${RCRT_C}' or r.current_recruitment_id = '${RCRT_C}')
-where jsonb_typeof(ri.info->'svedFL'->'svedPND'->'svedUchetDisp'->'svedUchet') = 'array'
-)
-select
- r.id recruit_id,
- u->>'dataPostUchet' start_date,
- u->>'dataSnyatUchet' close_date,
- u->>'dataPlan' change_date
-from public.recruits r
-join uchet on r.id = uchet.recruit_id;
+ (select ri.recruit_id,
+ jsonb_array_elements(ri.info -> 'svedFL' -> 'svedPND' -> 'svedUchetDisp' ->
+ 'svedUchet') u,
+ ri.info -> 'svedFL' -> 'svedPND' -> 'svedUchetDisp' -> 'svedUchet' ->>
+ 'priznakNalichSved' = '1' as registered_in_pnd
+ from public.recruits_info ri
+ join public.recruits r
+ ON r.id = ri.recruit_id
+ AND (r.target_recruitment_id = '${RCRT_C}' or
+ r.current_recruitment_id = '${RCRT_C}')
+ where jsonb_typeof(ri.info -> 'svedFL' -> 'svedPND' -> 'svedUchetDisp' -> 'svedUchet') =
+ 'array')
+select recruit_id,
+ u ->> 'dataPostUchet' start_date,
+ u ->> 'dataSnyatUchet' close_date,
+ u ->> 'dataPlan' change_date,
+ registered_in_pnd
+from uchet;
Y
@@ -82,20 +96,21 @@ join uchet on r.id = uchet.recruit_id;
N
0
with uchet as
-(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.target_recruitment_id= '${RCRT_C}' or r.current_recruitment_id = '${RCRT_C}')
-where jsonb_typeof(ri.info->'svedFL'->'svedUchetVICH'->'uchetVICH') = 'array'
-)
-select
- r.id recruit_id,
- to_date(u->>'dataPostUchet', 'YYYY-MM-DD') start_date,
- to_date(u->>'dataSnyat', 'YYYY-MM-DD') close_date,
- true HIV
-from public.recruits r
-join uchet on r.id = uchet.recruit_id;
+ (select ri.recruit_id,
+ jsonb_array_elements(ri.info->'svedFL'->'svedUchetVICH'->'uchetVICH') u,
+ ri.info->'svedFL'->'svedUchetVICH'->>'priznakNalichSved' = '1' has_vich
+ from public.recruits_info ri
+ join public.recruits r
+ ON r.id = ri.recruit_id
+ AND (r.target_recruitment_id = '${RCRT_C}' or
+ r.current_recruitment_id = '${RCRT_C}')
+ where jsonb_typeof(ri.info->'svedFL'->'svedUchetVICH'->'uchetVICH') = 'array')
+select
+ recruit_id,
+ to_date(u->>'dataPostUchet', 'YYYY-MM-DD') start_date,
+ to_date(u->>'dataSnyat', 'YYYY-MM-DD') close_date,
+ true HIV
+from uchet;
Y
@@ -117,16 +132,35 @@ join uchet on r.id = uchet.recruit_id;
1000
ervu-dashboard
-
+
+ recruit_id
+ recruit_id
+
+
+ start_date
+ start_date
+
+
+ close_date
+ close_date
+
+
+ hiv
+ has_vich
+
+
N
N
N
N
+
Y
+
N
ervu_dashboard
- N
+ Y
+
N
Y
N
@@ -151,16 +185,35 @@ join uchet on r.id = uchet.recruit_id;
1000
ervu-dashboard
-
+
+ recruit_id
+ recruit_id
+
+
+ start_date
+ start_date
+
+
+ close_date
+ close_date
+
+
+ change_date
+ change_date
+
+
N
N
N
N
+
Y
+
N
ervu_dashboard
- N
+ Y
+
N
Y
N
@@ -171,6 +224,80 @@ join uchet on r.id = uchet.recruit_id;
352
+
+ Update
+ Update
+
+ Y
+
+ 1
+
+ none
+
+
+ 1000
+ ervu-dashboard
+ Y
+
+
+
+ =
+ recruit_id
+ recruit_id
+
+
+ ervu_dashboard
+
+
+ has_vich
+ has_vich
+
+
+ N
+ Y
+
+
+ 576
+ 208
+
+
+
+ Update 2
+ Update
+
+ Y
+
+ 1
+
+ none
+
+
+ 1000
+ ervu-dashboard
+ Y
+
+
+
+ =
+ recruit_id
+ recruit_id
+
+
+ ervu_dashboard
+
+
+ registered_in_pnd
+ registered_in_pnd
+
+
+ N
+ Y
+
+
+ 576
+ 352
+
+