ERVU-504: fixes

This commit is contained in:
adel.ka 2025-07-30 13:25:22 +03:00
parent 99f890c2ab
commit 6c98121930
18 changed files with 477 additions and 629 deletions

View file

@ -386,55 +386,50 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH child AS (
SELECT
jsonb_array_elements(ri.info->'svedFL'->'svedDeti'->'rebenok') AS ch,
ri.recruit_id
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen r
ON r.recruit_id = ri.recruit_id --AND '${ID_F1}' != '' -- Проверка на пустую строку
--AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F1}'
AND '${M_R_CR_DATE}'::timestamp >= r.recruit_create_date
AND r.update_date >= '${M_R_UP_DATE}'::timestamp
WHERE jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array'
)
SELECT
r.recruit_id::uuid AS recruit_id,
<sql> SELECT
ri.recruit_id::uuid AS recruit_id,
ch->>'id' AS child_external_id,
NULLIF(ch->>'idERN', '') AS child_id_ern,
CASE NULLIF(ch->>'rodstvSvyazReb', '')::int
WHEN 1 THEN 3
WHEN 2 THEN 4
ELSE NULL
END AS kinship_type,
ch->'svedFLBS'->'fio'->>'familiya' AS last_name,
ch->'svedFLBS'->'fio'->>'imya' AS first_name,
ch->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
CONCAT_WS(' ',
ch->'svedFLBS'->'fio'->>'familiya',
ch->'svedFLBS'->'fio'->>'imya',
ch->'svedFLBS'->'fio'->>'otchestvo'
) AS full_name,
MAKE_DATE(
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
MAKE_DATE(
NULLIF(ch->'svedSmert'->'dataSmert'->>'god', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'mesyacz', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'den', '')::int
) AS death_date,
dates.birth_date,
dates.death_date,
ch->'svedSmert'->>'nomerZapis' AS death_az_number,
ch->'svedAZRozhd'->>'nomerZapis' AS birth_az_number
FROM ervu_dashboard.citizen r
JOIN child ON r.recruit_id = child.recruit_id;
ch->'svedAZRozhd'->>'nomerZapis' AS birth_az_number,
(dates.death_date IS NOT NULL) AS is_dead,
(dates.death_date IS NULL AND dates.birth_date > CURRENT_DATE - INTERVAL '18 years') AS is_minor
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen c ON c.recruit_id = ri.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedDeti'->'rebenok') AS ch
CROSS JOIN LATERAL (
SELECT
MAKE_DATE(
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
MAKE_DATE(
NULLIF(ch->'svedSmert'->'dataSmert'->>'god', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'mesyacz', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'den', '')::int
) AS death_date
) AS dates
WHERE
--'${ID_F1}' != ''
--AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F1}'
'${M_R_CR_DATE}'::timestamp >= c.recruit_create_date
AND r.update_date >= '${M_R_UP_DATE}'::timestamp
AND jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array';
</sql>
<variables_active>Y</variables_active>
<attributes/>
@ -457,13 +452,11 @@ JOIN child ON r.recruit_id = child.recruit_id;
<commit>100</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>

View file

@ -483,53 +483,50 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH child AS (
SELECT
ri.recruit_id,
ch AS child_json,
MAKE_DATE(
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
MAKE_DATE(
NULLIF(ch->'svedSmert'->'dataSmert'->>'god', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'mesyacz', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'den', '')::int
) AS death_date
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen c ON c.recruit_id = ri.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedDeti'->'rebenok') AS ch
WHERE
'${ID_F1}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F1}'
AND '${M_R_CR_DATE}'::timestamp >= c.recruit_create_date
AND jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array'
)
SELECT
ctz.recruit_id::uuid AS recruit_id,
child_json->>'id' AS child_external_id,
NULLIF(child_json->>'idERN', '') AS child_id_ern,
CASE NULLIF(child_json->>'rodstvSvyazReb', '')::int
<sql> SELECT
ri.recruit_id::uuid AS recruit_id,
ch->>'id' AS child_external_id,
NULLIF(ch->>'idERN', '') AS child_id_ern,
CASE NULLIF(ch->>'rodstvSvyazReb', '')::int
WHEN 1 THEN 3
WHEN 2 THEN 4
END AS kinship_type,
child_json->'svedFLBS'->'fio'->>'familiya' AS last_name,
child_json->'svedFLBS'->'fio'->>'imya' AS first_name,
child_json->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
END AS kinship_type,
ch->'svedFLBS'->'fio'->>'familiya' AS last_name,
ch->'svedFLBS'->'fio'->>'imya' AS first_name,
ch->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
CONCAT_WS(' ',
child_json->'svedFLBS'->'fio'->>'familiya',
child_json->'svedFLBS'->'fio'->>'imya',
child_json->'svedFLBS'->'fio'->>'otchestvo'
ch->'svedFLBS'->'fio'->>'familiya',
ch->'svedFLBS'->'fio'->>'imya',
ch->'svedFLBS'->'fio'->>'otchestvo'
) AS full_name,
ch.birth_date,
ch.death_date,
child_json->'svedSmert'->>'nomerZapis' AS death_az_number,
child_json->'svedAZRozhd'->>'nomerZapis' AS birth_az_number,
(ch.death_date IS NOT NULL) AS is_dead,
(ch.death_date IS NULL AND ch.birth_date > CURRENT_DATE - INTERVAL '18 years') AS is_minor
FROM ervu_dashboard.citizen ctz
JOIN child ch ON ctz.recruit_id = ch.recruit_id;</sql>
dates.birth_date,
dates.death_date,
ch->'svedSmert'->>'nomerZapis' AS death_az_number,
ch->'svedAZRozhd'->>'nomerZapis' AS birth_az_number,
(dates.death_date IS NOT NULL) AS is_dead,
(dates.death_date IS NULL AND dates.birth_date > CURRENT_DATE - INTERVAL '18 years') AS is_minor
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen c ON c.recruit_id = ri.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedDeti'->'rebenok') AS ch
CROSS JOIN LATERAL (
SELECT
MAKE_DATE(
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
MAKE_DATE(
NULLIF(ch->'svedSmert'->'dataSmert'->>'god', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'mesyacz', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'den', '')::int
) AS death_date
) AS dates
WHERE
'${ID_F1}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F1}'
AND '${M_R_CR_DATE}'::timestamp >= c.recruit_create_date
AND jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array';
</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
@ -551,13 +548,11 @@ FROM ervu_dashboard.citizen ctz
<commit>100</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>

View file

@ -386,53 +386,50 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH child AS (
SELECT
ri.recruit_id,
ch AS child_json,
MAKE_DATE(
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
MAKE_DATE(
NULLIF(ch->'svedSmert'->'dataSmert'->>'god', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'mesyacz', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'den', '')::int
) AS death_date
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen c ON c.recruit_id = ri.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedDeti'->'rebenok') AS ch
WHERE
'${ID_F2}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F2}'
AND '${M_R_CR_DATE}'::timestamp >= c.recruit_create_date
AND jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array'
)
SELECT
ctz.recruit_id::uuid AS recruit_id,
child_json->>'id' AS child_external_id,
NULLIF(child_json->>'idERN', '') AS child_id_ern,
CASE NULLIF(child_json->>'rodstvSvyazReb', '')::int
<sql> SELECT
ri.recruit_id::uuid AS recruit_id,
ch->>'id' AS child_external_id,
NULLIF(ch->>'idERN', '') AS child_id_ern,
CASE NULLIF(ch->>'rodstvSvyazReb', '')::int
WHEN 1 THEN 3
WHEN 2 THEN 4
END AS kinship_type,
child_json->'svedFLBS'->'fio'->>'familiya' AS last_name,
child_json->'svedFLBS'->'fio'->>'imya' AS first_name,
child_json->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
END AS kinship_type,
ch->'svedFLBS'->'fio'->>'familiya' AS last_name,
ch->'svedFLBS'->'fio'->>'imya' AS first_name,
ch->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
CONCAT_WS(' ',
child_json->'svedFLBS'->'fio'->>'familiya',
child_json->'svedFLBS'->'fio'->>'imya',
child_json->'svedFLBS'->'fio'->>'otchestvo'
ch->'svedFLBS'->'fio'->>'familiya',
ch->'svedFLBS'->'fio'->>'imya',
ch->'svedFLBS'->'fio'->>'otchestvo'
) AS full_name,
ch.birth_date,
ch.death_date,
child_json->'svedSmert'->>'nomerZapis' AS death_az_number,
child_json->'svedAZRozhd'->>'nomerZapis' AS birth_az_number,
(ch.death_date IS NOT NULL) AS is_dead,
(ch.death_date IS NULL AND ch.birth_date > CURRENT_DATE - INTERVAL '18 years') AS is_minor
FROM ervu_dashboard.citizen ctz
JOIN child ch ON ctz.recruit_id = ch.recruit_id;</sql>
dates.birth_date,
dates.death_date,
ch->'svedSmert'->>'nomerZapis' AS death_az_number,
ch->'svedAZRozhd'->>'nomerZapis' AS birth_az_number,
(dates.death_date IS NOT NULL) AS is_dead,
(dates.death_date IS NULL AND dates.birth_date > CURRENT_DATE - INTERVAL '18 years') AS is_minor
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen c ON c.recruit_id = ri.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedDeti'->'rebenok') AS ch
CROSS JOIN LATERAL (
SELECT
MAKE_DATE(
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
MAKE_DATE(
NULLIF(ch->'svedSmert'->'dataSmert'->>'god', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'mesyacz', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'den', '')::int
) AS death_date
) AS dates
WHERE
'${ID_F2}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F2}'
AND '${M_R_CR_DATE}'::timestamp >= c.recruit_create_date
AND jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array';
</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
@ -454,13 +451,11 @@ FROM ervu_dashboard.citizen ctz
<commit>100</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>

View file

@ -386,53 +386,50 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH child AS (
SELECT
ri.recruit_id,
ch AS child_json,
MAKE_DATE(
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
MAKE_DATE(
NULLIF(ch->'svedSmert'->'dataSmert'->>'god', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'mesyacz', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'den', '')::int
) AS death_date
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen c ON c.recruit_id = ri.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedDeti'->'rebenok') AS ch
WHERE
'${ID_F3}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F3}'
AND '${M_R_CR_DATE}'::timestamp >= c.recruit_create_date
AND jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array'
)
SELECT
ctz.recruit_id::uuid AS recruit_id,
child_json->>'id' AS child_external_id,
NULLIF(child_json->>'idERN', '') AS child_id_ern,
CASE NULLIF(child_json->>'rodstvSvyazReb', '')::int
<sql> SELECT
ri.recruit_id::uuid AS recruit_id,
ch->>'id' AS child_external_id,
NULLIF(ch->>'idERN', '') AS child_id_ern,
CASE NULLIF(ch->>'rodstvSvyazReb', '')::int
WHEN 1 THEN 3
WHEN 2 THEN 4
END AS kinship_type,
child_json->'svedFLBS'->'fio'->>'familiya' AS last_name,
child_json->'svedFLBS'->'fio'->>'imya' AS first_name,
child_json->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
END AS kinship_type,
ch->'svedFLBS'->'fio'->>'familiya' AS last_name,
ch->'svedFLBS'->'fio'->>'imya' AS first_name,
ch->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
CONCAT_WS(' ',
child_json->'svedFLBS'->'fio'->>'familiya',
child_json->'svedFLBS'->'fio'->>'imya',
child_json->'svedFLBS'->'fio'->>'otchestvo'
ch->'svedFLBS'->'fio'->>'familiya',
ch->'svedFLBS'->'fio'->>'imya',
ch->'svedFLBS'->'fio'->>'otchestvo'
) AS full_name,
ch.birth_date,
ch.death_date,
child_json->'svedSmert'->>'nomerZapis' AS death_az_number,
child_json->'svedAZRozhd'->>'nomerZapis' AS birth_az_number,
(ch.death_date IS NOT NULL) AS is_dead,
(ch.death_date IS NULL AND ch.birth_date > CURRENT_DATE - INTERVAL '18 years') AS is_minor
FROM ervu_dashboard.citizen ctz
JOIN child ch ON ctz.recruit_id = ch.recruit_id;</sql>
dates.birth_date,
dates.death_date,
ch->'svedSmert'->>'nomerZapis' AS death_az_number,
ch->'svedAZRozhd'->>'nomerZapis' AS birth_az_number,
(dates.death_date IS NOT NULL) AS is_dead,
(dates.death_date IS NULL AND dates.birth_date > CURRENT_DATE - INTERVAL '18 years') AS is_minor
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen c ON c.recruit_id = ri.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedDeti'->'rebenok') AS ch
CROSS JOIN LATERAL (
SELECT
MAKE_DATE(
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
MAKE_DATE(
NULLIF(ch->'svedSmert'->'dataSmert'->>'god', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'mesyacz', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'den', '')::int
) AS death_date
) AS dates
WHERE
'${ID_F3}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F3}'
AND '${M_R_CR_DATE}'::timestamp >= c.recruit_create_date
AND jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array';
</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
@ -454,13 +451,11 @@ FROM ervu_dashboard.citizen ctz
<commit>100</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>

View file

@ -386,53 +386,50 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH child AS (
SELECT
ri.recruit_id,
ch AS child_json,
MAKE_DATE(
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
MAKE_DATE(
NULLIF(ch->'svedSmert'->'dataSmert'->>'god', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'mesyacz', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'den', '')::int
) AS death_date
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen c ON c.recruit_id = ri.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedDeti'->'rebenok') AS ch
WHERE
'${ID_F4}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F4}'
AND '${M_R_CR_DATE}'::timestamp >= c.recruit_create_date
AND jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array'
)
SELECT
ctz.recruit_id::uuid AS recruit_id,
child_json->>'id' AS child_external_id,
NULLIF(child_json->>'idERN', '') AS child_id_ern,
CASE NULLIF(child_json->>'rodstvSvyazReb', '')::int
<sql> SELECT
ri.recruit_id::uuid AS recruit_id,
ch->>'id' AS child_external_id,
NULLIF(ch->>'idERN', '') AS child_id_ern,
CASE NULLIF(ch->>'rodstvSvyazReb', '')::int
WHEN 1 THEN 3
WHEN 2 THEN 4
END AS kinship_type,
child_json->'svedFLBS'->'fio'->>'familiya' AS last_name,
child_json->'svedFLBS'->'fio'->>'imya' AS first_name,
child_json->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
END AS kinship_type,
ch->'svedFLBS'->'fio'->>'familiya' AS last_name,
ch->'svedFLBS'->'fio'->>'imya' AS first_name,
ch->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
CONCAT_WS(' ',
child_json->'svedFLBS'->'fio'->>'familiya',
child_json->'svedFLBS'->'fio'->>'imya',
child_json->'svedFLBS'->'fio'->>'otchestvo'
ch->'svedFLBS'->'fio'->>'familiya',
ch->'svedFLBS'->'fio'->>'imya',
ch->'svedFLBS'->'fio'->>'otchestvo'
) AS full_name,
ch.birth_date,
ch.death_date,
child_json->'svedSmert'->>'nomerZapis' AS death_az_number,
child_json->'svedAZRozhd'->>'nomerZapis' AS birth_az_number,
(ch.death_date IS NOT NULL) AS is_dead,
(ch.death_date IS NULL AND ch.birth_date > CURRENT_DATE - INTERVAL '18 years') AS is_minor
FROM ervu_dashboard.citizen ctz
JOIN child ch ON ctz.recruit_id = ch.recruit_id;</sql>
dates.birth_date,
dates.death_date,
ch->'svedSmert'->>'nomerZapis' AS death_az_number,
ch->'svedAZRozhd'->>'nomerZapis' AS birth_az_number,
(dates.death_date IS NOT NULL) AS is_dead,
(dates.death_date IS NULL AND dates.birth_date > CURRENT_DATE - INTERVAL '18 years') AS is_minor
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen c ON c.recruit_id = ri.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedDeti'->'rebenok') AS ch
CROSS JOIN LATERAL (
SELECT
MAKE_DATE(
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
MAKE_DATE(
NULLIF(ch->'svedSmert'->'dataSmert'->>'god', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'mesyacz', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'den', '')::int
) AS death_date
) AS dates
WHERE
'${ID_F4}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F4}'
AND '${M_R_CR_DATE}'::timestamp >= c.recruit_create_date
AND jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array';
</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
@ -454,13 +451,11 @@ FROM ervu_dashboard.citizen ctz
<commit>100</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>

View file

@ -386,53 +386,50 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH child AS (
SELECT
ri.recruit_id,
ch AS child_json,
MAKE_DATE(
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
MAKE_DATE(
NULLIF(ch->'svedSmert'->'dataSmert'->>'god', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'mesyacz', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'den', '')::int
) AS death_date
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen c ON c.recruit_id = ri.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedDeti'->'rebenok') AS ch
WHERE
'${ID_F5}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F5}'
AND '${M_R_CR_DATE}'::timestamp >= c.recruit_create_date
AND jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array'
)
SELECT
ctz.recruit_id::uuid AS recruit_id,
child_json->>'id' AS child_external_id,
NULLIF(child_json->>'idERN', '') AS child_id_ern,
CASE NULLIF(child_json->>'rodstvSvyazReb', '')::int
<sql> SELECT
ri.recruit_id::uuid AS recruit_id,
ch->>'id' AS child_external_id,
NULLIF(ch->>'idERN', '') AS child_id_ern,
CASE NULLIF(ch->>'rodstvSvyazReb', '')::int
WHEN 1 THEN 3
WHEN 2 THEN 4
END AS kinship_type,
child_json->'svedFLBS'->'fio'->>'familiya' AS last_name,
child_json->'svedFLBS'->'fio'->>'imya' AS first_name,
child_json->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
END AS kinship_type,
ch->'svedFLBS'->'fio'->>'familiya' AS last_name,
ch->'svedFLBS'->'fio'->>'imya' AS first_name,
ch->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
CONCAT_WS(' ',
child_json->'svedFLBS'->'fio'->>'familiya',
child_json->'svedFLBS'->'fio'->>'imya',
child_json->'svedFLBS'->'fio'->>'otchestvo'
ch->'svedFLBS'->'fio'->>'familiya',
ch->'svedFLBS'->'fio'->>'imya',
ch->'svedFLBS'->'fio'->>'otchestvo'
) AS full_name,
ch.birth_date,
ch.death_date,
child_json->'svedSmert'->>'nomerZapis' AS death_az_number,
child_json->'svedAZRozhd'->>'nomerZapis' AS birth_az_number,
(ch.death_date IS NOT NULL) AS is_dead,
(ch.death_date IS NULL AND ch.birth_date > CURRENT_DATE - INTERVAL '18 years') AS is_minor
FROM ervu_dashboard.citizen ctz
JOIN child ch ON ctz.recruit_id = ch.recruit_id;</sql>
dates.birth_date,
dates.death_date,
ch->'svedSmert'->>'nomerZapis' AS death_az_number,
ch->'svedAZRozhd'->>'nomerZapis' AS birth_az_number,
(dates.death_date IS NOT NULL) AS is_dead,
(dates.death_date IS NULL AND dates.birth_date > CURRENT_DATE - INTERVAL '18 years') AS is_minor
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen c ON c.recruit_id = ri.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedDeti'->'rebenok') AS ch
CROSS JOIN LATERAL (
SELECT
MAKE_DATE(
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(ch->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
MAKE_DATE(
NULLIF(ch->'svedSmert'->'dataSmert'->>'god', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'mesyacz', '')::int,
NULLIF(ch->'svedSmert'->'dataSmert'->>'den', '')::int
) AS death_date
) AS dates
WHERE
'${ID_F5}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F5}'
AND '${M_R_CR_DATE}'::timestamp >= c.recruit_create_date
AND jsonb_typeof(ri.info->'svedFL'->'svedDeti'->'rebenok') = 'array';
</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
@ -454,13 +451,11 @@ FROM ervu_dashboard.citizen ctz
<commit>100</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>

View file

@ -268,19 +268,7 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH person AS (
SELECT
jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') AS ch,
ri.recruit_id
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen r
ON r.recruit_id = ri.recruit_id --AND '${ID_F1}' != '' -- Проверка на пустую строку
--AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F1}'
AND '${M_R_CR_DATE}'::timestamp >= r.recruit_create_date
AND r.update_date >= '${M_R_UP_DATE}'::timestamp
WHERE jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array'
)
SELECT
<sql>SELECT
r.recruit_id AS recruit_id,
ch->>'id' AS guardianship_external_id,
NULLIF(ch->>'idERN', '') AS guardian_id_ern,
@ -299,7 +287,14 @@ SELECT
) AS birth_date,
ch->>'snils' AS snils
FROM ervu_dashboard.citizen r
JOIN person ON r.recruit_id = person.recruit_id;</sql>
JOIN ervu_dashboard.recruits_info ri ON ri.recruit_id = r.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') AS ch
WHERE
'${ID_F1}' != '' -- Проверка на пустую строку
--AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F1}'
AND '${M_R_CR_DATE}'::timestamp >= r.recruit_create_date
AND r.update_date >= '${M_R_UP_DATE}'::timestamp
AND jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array';</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
@ -321,13 +316,11 @@ FROM ervu_dashboard.citizen r
<commit>100</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>

View file

@ -343,19 +343,7 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH person AS (
SELECT
jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') AS ch,
ri.recruit_id
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen r
ON r.recruit_id = ri.recruit_id
AND '${ID_F1}' != '' -- Проверка на пустую строку
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F1}'
AND '${M_R_CR_DATE}'::timestamp >= ri.created_at
WHERE jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array'
)
SELECT
<sql>SELECT
r.recruit_id AS recruit_id,
ch->>'id' AS guardianship_external_id,
NULLIF(ch->>'idERN', '') AS guardian_id_ern,
@ -374,7 +362,13 @@ SELECT
) AS birth_date,
ch->>'snils' AS snils
FROM ervu_dashboard.citizen r
JOIN person ON r.recruit_id = person.recruit_id;</sql>
JOIN ervu_dashboard.recruits_info ri ON ri.recruit_id = r.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') AS ch
WHERE
'${ID_F1}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F1}'
AND '${M_R_CR_DATE}'::timestamp >= r.recruit_create_date
AND jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array';</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
@ -396,13 +390,11 @@ FROM ervu_dashboard.citizen r
<commit>100</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>

View file

@ -268,19 +268,7 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH person AS (
SELECT
jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') AS ch,
ri.recruit_id
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen r
ON r.recruit_id = ri.recruit_id
AND '${ID_F2}' != '' -- Проверка на пустую строку
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F2}'
AND '${M_R_CR_DATE}'::timestamp >= ri.created_at
WHERE jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array'
)
SELECT
<sql>SELECT
r.recruit_id AS recruit_id,
ch->>'id' AS guardianship_external_id,
NULLIF(ch->>'idERN', '') AS guardian_id_ern,
@ -299,7 +287,13 @@ SELECT
) AS birth_date,
ch->>'snils' AS snils
FROM ervu_dashboard.citizen r
JOIN person ON r.recruit_id = person.recruit_id;</sql>
JOIN ervu_dashboard.recruits_info ri ON ri.recruit_id = r.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') AS ch
WHERE
'${ID_F2}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F2}'
AND '${M_R_CR_DATE}'::timestamp >= r.recruit_create_date
AND jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array';</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
@ -321,13 +315,11 @@ FROM ervu_dashboard.citizen r
<commit>100</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>

View file

@ -268,19 +268,7 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH person AS (
SELECT
jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') AS ch,
ri.recruit_id
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen r
ON r.recruit_id = ri.recruit_id
AND '${ID_F3}' != '' -- Проверка на пустую строку
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F3}'
AND '${M_R_CR_DATE}'::timestamp >= ri.created_at
WHERE jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array'
)
SELECT
<sql>SELECT
r.recruit_id AS recruit_id,
ch->>'id' AS guardianship_external_id,
NULLIF(ch->>'idERN', '') AS guardian_id_ern,
@ -299,7 +287,13 @@ SELECT
) AS birth_date,
ch->>'snils' AS snils
FROM ervu_dashboard.citizen r
JOIN person ON r.recruit_id = person.recruit_id;</sql>
JOIN ervu_dashboard.recruits_info ri ON ri.recruit_id = r.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') AS ch
WHERE
'${ID_F3}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F3}'
AND '${M_R_CR_DATE}'::timestamp >= r.recruit_create_date
AND jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array';</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
@ -321,13 +315,11 @@ FROM ervu_dashboard.citizen r
<commit>100</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>

View file

@ -268,19 +268,7 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH person AS (
SELECT
jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') AS ch,
ri.recruit_id
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen r
ON r.recruit_id = ri.recruit_id
AND '${ID_F4}' != '' -- Проверка на пустую строку
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F4}'
AND '${M_R_CR_DATE}'::timestamp >= ri.created_at
WHERE jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array'
)
SELECT
<sql>SELECT
r.recruit_id AS recruit_id,
ch->>'id' AS guardianship_external_id,
NULLIF(ch->>'idERN', '') AS guardian_id_ern,
@ -299,7 +287,13 @@ SELECT
) AS birth_date,
ch->>'snils' AS snils
FROM ervu_dashboard.citizen r
JOIN person ON r.recruit_id = person.recruit_id;</sql>
JOIN ervu_dashboard.recruits_info ri ON ri.recruit_id = r.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') AS ch
WHERE
'${ID_F4}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F4}'
AND '${M_R_CR_DATE}'::timestamp >= r.recruit_create_date
AND jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array';</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
@ -321,13 +315,11 @@ FROM ervu_dashboard.citizen r
<commit>100</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>

View file

@ -268,19 +268,7 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH person AS (
SELECT
jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') AS ch,
ri.recruit_id
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen r
ON r.recruit_id = ri.recruit_id
AND '${ID_F5}' != '' -- Проверка на пустую строку
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F5}'
AND '${M_R_CR_DATE}'::timestamp >= ri.created_at
WHERE jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array'
)
SELECT
<sql>SELECT
r.recruit_id AS recruit_id,
ch->>'id' AS guardianship_external_id,
NULLIF(ch->>'idERN', '') AS guardian_id_ern,
@ -299,7 +287,13 @@ SELECT
) AS birth_date,
ch->>'snils' AS snils
FROM ervu_dashboard.citizen r
JOIN person ON r.recruit_id = person.recruit_id;</sql>
JOIN ervu_dashboard.recruits_info ri ON ri.recruit_id = r.recruit_id
CROSS JOIN LATERAL jsonb_array_elements(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') AS ch
WHERE
'${ID_F5}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F5}'
AND '${M_R_CR_DATE}'::timestamp >= r.recruit_create_date
AND jsonb_typeof(ri.info->'svedFL'->'svedOpekun'->'svedSoczPod') = 'array';</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
@ -321,13 +315,11 @@ FROM ervu_dashboard.citizen r
<commit>100</commit>
<connection>ervu-dashboard</connection>
<error_ignored>Y</error_ignored>
<ignore_flag_field/>
<lookup>
<key>
<condition>=</condition>
<field>recruit_id</field>
<name>recruit_id</name>
<name2/>
</key>
<schema>ervu_dashboard</schema>
<table>citizen</table>

View file

@ -256,59 +256,46 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH suprug AS (
SELECT
ri.recruit_id,
supr.supri AS supr,
supr.supri->>'id' AS spouse_external_id,
NULLIF(supr.supri->>'idERN', '') AS spouse_id_ern,
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->'svedFL'->'svedSemPolozh'->>'svedSuprIskl' = '1') THEN true
ELSE false
END AS information_excluded
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen r
ON r.recruit_id = ri.recruit_id --AND '${ID_F1}' != '' -- Проверка на пустую строку
--AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F1}'
AND '${M_R_CR_DATE}'::timestamp >= r.recruit_create_date
AND r.update_date >= '${M_R_UP_DATE}'::timestamp
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
<sql>SELECT
r.recruit_id,
supr.spouse_external_id,
supr.spouse_id_ern,
NULLIF(supr.supr->>'rodstvSvyazSuprug', '')::int AS kinship_type,
supr.supr->'svedFLBS'->'fio'->>'familiya' AS last_name,
supr.supr->'svedFLBS'->'fio'->>'imya' AS first_name,
supr.supr->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
supr->>'id' AS spouse_external_id,
NULLIF(supr->>'idERN', '') AS spouse_id_ern,
NULLIF(supr->>'rodstvSvyazSuprug', '')::int AS kinship_type,
supr->'svedFLBS'->'fio'->>'familiya' AS last_name,
supr->'svedFLBS'->'fio'->>'imya' AS first_name,
supr->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
CONCAT_WS(' ',
supr.supr->'svedFLBS'->'fio'->>'familiya',
supr.supr->'svedFLBS'->'fio'->>'imya',
supr.supr->'svedFLBS'->'fio'->>'otchestvo'
supr->'svedFLBS'->'fio'->>'familiya',
supr->'svedFLBS'->'fio'->>'imya',
supr->'svedFLBS'->'fio'->>'otchestvo'
) AS full_name,
MAKE_DATE(
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'mesyacz','')::int,
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'den','')::int
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
(supr.supr->'svedSmert'->'extend'->>'dataSmert')::date AS death_date,
supr.supr->'svedSmert'->>'nomerZapis' AS death_az_number,
marriage_az_number,
marriage_date::date,
divorce_az_number,
divorce_date::date,
information_excluded
(supr->'svedSmert'->'extend'->>'dataSmert')::date AS death_date,
supr->'svedSmert'->>'nomerZapis' AS death_az_number,
ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'nomerZapis' AS marriage_az_number,
(ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'dataBrakKalend')::date AS marriage_date,
ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'nomerZapis' AS divorce_az_number,
(ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'dataRastBrakKalend')::date AS divorce_date,
CASE
WHEN ri.info->'svedFL'->'svedSemPolozh'->>'svedSuprIskl' = '1' THEN true
ELSE false
END AS information_excluded
FROM ervu_dashboard.citizen r
JOIN suprug supr ON r.recruit_id = supr.recruit_id;
</sql>
JOIN ervu_dashboard.recruits_info ri ON ri.recruit_id = r.recruit_id
CROSS JOIN LATERAL (
SELECT supri
FROM jsonb_array_elements(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') AS supri
WHERE jsonb_typeof(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') = 'array'
) AS supr(supr)
WHERE
--'${ID_F1}' != ''
--AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F1}'
'${M_R_CR_DATE}'::timestamp >= r.recruit_create_date
AND r.update_date >= '${M_R_UP_DATE}'::timestamp;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>

View file

@ -331,57 +331,45 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH suprug AS (
SELECT
ri.recruit_id,
supr.supri AS supr,
supr.supri->>'id' AS spouse_external_id,
NULLIF(supr.supri->>'idERN', '') AS spouse_id_ern,
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->'svedFL'->'svedSemPolozh'->>'svedSuprIskl' = '1') THEN true
ELSE false
END AS information_excluded
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id
AND '${ID_F1}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F1}'
AND '${M_R_CR_DATE}'::timestamp >= ri.created_at
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
<sql>SELECT
r.recruit_id,
supr.spouse_external_id,
supr.spouse_id_ern,
NULLIF(supr.supr->>'rodstvSvyazSuprug', '')::int AS kinship_type,
supr.supr->'svedFLBS'->'fio'->>'familiya' AS last_name,
supr.supr->'svedFLBS'->'fio'->>'imya' AS first_name,
supr.supr->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
supr->>'id' AS spouse_external_id,
NULLIF(supr->>'idERN', '') AS spouse_id_ern,
NULLIF(supr->>'rodstvSvyazSuprug', '')::int AS kinship_type,
supr->'svedFLBS'->'fio'->>'familiya' AS last_name,
supr->'svedFLBS'->'fio'->>'imya' AS first_name,
supr->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
CONCAT_WS(' ',
supr.supr->'svedFLBS'->'fio'->>'familiya',
supr.supr->'svedFLBS'->'fio'->>'imya',
supr.supr->'svedFLBS'->'fio'->>'otchestvo'
supr->'svedFLBS'->'fio'->>'familiya',
supr->'svedFLBS'->'fio'->>'imya',
supr->'svedFLBS'->'fio'->>'otchestvo'
) AS full_name,
MAKE_DATE(
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'mesyacz','')::int,
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'den','')::int
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
(supr.supr->'svedSmert'->'extend'->>'dataSmert')::date AS death_date,
supr.supr->'svedSmert'->>'nomerZapis' AS death_az_number,
marriage_az_number,
marriage_date::date,
divorce_az_number,
divorce_date::date,
information_excluded
(supr->'svedSmert'->'extend'->>'dataSmert')::date AS death_date,
supr->'svedSmert'->>'nomerZapis' AS death_az_number,
ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'nomerZapis' AS marriage_az_number,
(ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'dataBrakKalend')::date AS marriage_date,
ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'nomerZapis' AS divorce_az_number,
(ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'dataRastBrakKalend')::date AS divorce_date,
CASE
WHEN ri.info->'svedFL'->'svedSemPolozh'->>'svedSuprIskl' = '1' THEN true
ELSE false
END AS information_excluded
FROM ervu_dashboard.citizen r
JOIN suprug supr ON r.recruit_id = supr.recruit_id;</sql>
JOIN ervu_dashboard.recruits_info ri ON ri.recruit_id = r.recruit_id
CROSS JOIN LATERAL (
SELECT supri
FROM jsonb_array_elements(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') AS supri
WHERE jsonb_typeof(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') = 'array'
) AS supr(supr)
WHERE
'${ID_F1}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F1}'
AND '${M_R_CR_DATE}'::timestamp >= r.recruit_create_date;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>

View file

@ -256,57 +256,45 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH suprug AS (
SELECT
ri.recruit_id,
supr.supri AS supr,
supr.supri->>'id' AS spouse_external_id,
NULLIF(supr.supri->>'idERN', '') AS spouse_id_ern,
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->'svedFL'->'svedSemPolozh'->>'svedSuprIskl' = '1') THEN true
ELSE false
END AS information_excluded
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id
AND '${ID_F2}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F2}'
AND '${M_R_CR_DATE}'::timestamp >= ri.created_at
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
<sql>SELECT
r.recruit_id,
supr.spouse_external_id,
supr.spouse_id_ern,
NULLIF(supr.supr->>'rodstvSvyazSuprug', '')::int AS kinship_type,
supr.supr->'svedFLBS'->'fio'->>'familiya' AS last_name,
supr.supr->'svedFLBS'->'fio'->>'imya' AS first_name,
supr.supr->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
supr->>'id' AS spouse_external_id,
NULLIF(supr->>'idERN', '') AS spouse_id_ern,
NULLIF(supr->>'rodstvSvyazSuprug', '')::int AS kinship_type,
supr->'svedFLBS'->'fio'->>'familiya' AS last_name,
supr->'svedFLBS'->'fio'->>'imya' AS first_name,
supr->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
CONCAT_WS(' ',
supr.supr->'svedFLBS'->'fio'->>'familiya',
supr.supr->'svedFLBS'->'fio'->>'imya',
supr.supr->'svedFLBS'->'fio'->>'otchestvo'
supr->'svedFLBS'->'fio'->>'familiya',
supr->'svedFLBS'->'fio'->>'imya',
supr->'svedFLBS'->'fio'->>'otchestvo'
) AS full_name,
MAKE_DATE(
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'mesyacz','')::int,
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'den','')::int
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
(supr.supr->'svedSmert'->'extend'->>'dataSmert')::date AS death_date,
supr.supr->'svedSmert'->>'nomerZapis' AS death_az_number,
marriage_az_number,
marriage_date::date,
divorce_az_number,
divorce_date::date,
information_excluded
(supr->'svedSmert'->'extend'->>'dataSmert')::date AS death_date,
supr->'svedSmert'->>'nomerZapis' AS death_az_number,
ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'nomerZapis' AS marriage_az_number,
(ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'dataBrakKalend')::date AS marriage_date,
ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'nomerZapis' AS divorce_az_number,
(ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'dataRastBrakKalend')::date AS divorce_date,
CASE
WHEN ri.info->'svedFL'->'svedSemPolozh'->>'svedSuprIskl' = '1' THEN true
ELSE false
END AS information_excluded
FROM ervu_dashboard.citizen r
JOIN suprug supr ON r.recruit_id = supr.recruit_id;</sql>
JOIN ervu_dashboard.recruits_info ri ON ri.recruit_id = r.recruit_id
CROSS JOIN LATERAL (
SELECT supri
FROM jsonb_array_elements(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') AS supri
WHERE jsonb_typeof(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') = 'array'
) AS supr(supr)
WHERE
'${ID_F2}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F2}'
AND '${M_R_CR_DATE}'::timestamp >= r.recruit_create_date;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>

View file

@ -256,57 +256,45 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH suprug AS (
SELECT
ri.recruit_id,
supr.supri AS supr,
supr.supri->>'id' AS spouse_external_id,
NULLIF(supr.supri->>'idERN', '') AS spouse_id_ern,
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->'svedFL'->'svedSemPolozh'->>'svedSuprIskl' = '1') THEN true
ELSE false
END AS information_excluded
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id
AND '${ID_F3}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F3}'
AND '${M_R_CR_DATE}'::timestamp >= ri.created_at
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
<sql>SELECT
r.recruit_id,
supr.spouse_external_id,
supr.spouse_id_ern,
NULLIF(supr.supr->>'rodstvSvyazSuprug', '')::int AS kinship_type,
supr.supr->'svedFLBS'->'fio'->>'familiya' AS last_name,
supr.supr->'svedFLBS'->'fio'->>'imya' AS first_name,
supr.supr->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
supr->>'id' AS spouse_external_id,
NULLIF(supr->>'idERN', '') AS spouse_id_ern,
NULLIF(supr->>'rodstvSvyazSuprug', '')::int AS kinship_type,
supr->'svedFLBS'->'fio'->>'familiya' AS last_name,
supr->'svedFLBS'->'fio'->>'imya' AS first_name,
supr->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
CONCAT_WS(' ',
supr.supr->'svedFLBS'->'fio'->>'familiya',
supr.supr->'svedFLBS'->'fio'->>'imya',
supr.supr->'svedFLBS'->'fio'->>'otchestvo'
supr->'svedFLBS'->'fio'->>'familiya',
supr->'svedFLBS'->'fio'->>'imya',
supr->'svedFLBS'->'fio'->>'otchestvo'
) AS full_name,
MAKE_DATE(
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'mesyacz','')::int,
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'den','')::int
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
(supr.supr->'svedSmert'->'extend'->>'dataSmert')::date AS death_date,
supr.supr->'svedSmert'->>'nomerZapis' AS death_az_number,
marriage_az_number,
marriage_date::date,
divorce_az_number,
divorce_date::date,
information_excluded
(supr->'svedSmert'->'extend'->>'dataSmert')::date AS death_date,
supr->'svedSmert'->>'nomerZapis' AS death_az_number,
ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'nomerZapis' AS marriage_az_number,
(ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'dataBrakKalend')::date AS marriage_date,
ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'nomerZapis' AS divorce_az_number,
(ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'dataRastBrakKalend')::date AS divorce_date,
CASE
WHEN ri.info->'svedFL'->'svedSemPolozh'->>'svedSuprIskl' = '1' THEN true
ELSE false
END AS information_excluded
FROM ervu_dashboard.citizen r
JOIN suprug supr ON r.recruit_id = supr.recruit_id;</sql>
JOIN ervu_dashboard.recruits_info ri ON ri.recruit_id = r.recruit_id
CROSS JOIN LATERAL (
SELECT supri
FROM jsonb_array_elements(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') AS supri
WHERE jsonb_typeof(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') = 'array'
) AS supr(supr)
WHERE
'${ID_F3}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F3}'
AND '${M_R_CR_DATE}'::timestamp >= r.recruit_create_date;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>

View file

@ -256,57 +256,45 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH suprug AS (
SELECT
ri.recruit_id,
supr.supri AS supr,
supr.supri->>'id' AS spouse_external_id,
NULLIF(supr.supri->>'idERN', '') AS spouse_id_ern,
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->'svedFL'->'svedSemPolozh'->>'svedSuprIskl' = '1') THEN true
ELSE false
END AS information_excluded
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id
AND '${ID_F4}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F4}'
AND '${M_R_CR_DATE}'::timestamp >= ri.created_at
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
<sql>SELECT
r.recruit_id,
supr.spouse_external_id,
supr.spouse_id_ern,
NULLIF(supr.supr->>'rodstvSvyazSuprug', '')::int AS kinship_type,
supr.supr->'svedFLBS'->'fio'->>'familiya' AS last_name,
supr.supr->'svedFLBS'->'fio'->>'imya' AS first_name,
supr.supr->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
supr->>'id' AS spouse_external_id,
NULLIF(supr->>'idERN', '') AS spouse_id_ern,
NULLIF(supr->>'rodstvSvyazSuprug', '')::int AS kinship_type,
supr->'svedFLBS'->'fio'->>'familiya' AS last_name,
supr->'svedFLBS'->'fio'->>'imya' AS first_name,
supr->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
CONCAT_WS(' ',
supr.supr->'svedFLBS'->'fio'->>'familiya',
supr.supr->'svedFLBS'->'fio'->>'imya',
supr.supr->'svedFLBS'->'fio'->>'otchestvo'
supr->'svedFLBS'->'fio'->>'familiya',
supr->'svedFLBS'->'fio'->>'imya',
supr->'svedFLBS'->'fio'->>'otchestvo'
) AS full_name,
MAKE_DATE(
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'mesyacz','')::int,
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'den','')::int
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
(supr.supr->'svedSmert'->'extend'->>'dataSmert')::date AS death_date,
supr.supr->'svedSmert'->>'nomerZapis' AS death_az_number,
marriage_az_number,
marriage_date::date,
divorce_az_number,
divorce_date::date,
information_excluded
(supr->'svedSmert'->'extend'->>'dataSmert')::date AS death_date,
supr->'svedSmert'->>'nomerZapis' AS death_az_number,
ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'nomerZapis' AS marriage_az_number,
(ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'dataBrakKalend')::date AS marriage_date,
ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'nomerZapis' AS divorce_az_number,
(ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'dataRastBrakKalend')::date AS divorce_date,
CASE
WHEN ri.info->'svedFL'->'svedSemPolozh'->>'svedSuprIskl' = '1' THEN true
ELSE false
END AS information_excluded
FROM ervu_dashboard.citizen r
JOIN suprug supr ON r.recruit_id = supr.recruit_id;</sql>
JOIN ervu_dashboard.recruits_info ri ON ri.recruit_id = r.recruit_id
CROSS JOIN LATERAL (
SELECT supri
FROM jsonb_array_elements(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') AS supri
WHERE jsonb_typeof(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') = 'array'
) AS supr(supr)
WHERE
'${ID_F4}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F4}'
AND '${M_R_CR_DATE}'::timestamp >= r.recruit_create_date;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>

View file

@ -256,57 +256,45 @@ DO UPDATE SET
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>WITH suprug AS (
SELECT
ri.recruit_id,
supr.supri AS supr,
supr.supri->>'id' AS spouse_external_id,
NULLIF(supr.supri->>'idERN', '') AS spouse_id_ern,
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->'svedFL'->'svedSemPolozh'->>'svedSuprIskl' = '1') THEN true
ELSE false
END AS information_excluded
FROM ervu_dashboard.recruits_info ri
JOIN ervu_dashboard.citizen r ON r.recruit_id = ri.recruit_id
AND '${ID_F5}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F5}'
AND '${M_R_CR_DATE}'::timestamp >= ri.created_at
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
<sql>SELECT
r.recruit_id,
supr.spouse_external_id,
supr.spouse_id_ern,
NULLIF(supr.supr->>'rodstvSvyazSuprug', '')::int AS kinship_type,
supr.supr->'svedFLBS'->'fio'->>'familiya' AS last_name,
supr.supr->'svedFLBS'->'fio'->>'imya' AS first_name,
supr.supr->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
supr->>'id' AS spouse_external_id,
NULLIF(supr->>'idERN', '') AS spouse_id_ern,
NULLIF(supr->>'rodstvSvyazSuprug', '')::int AS kinship_type,
supr->'svedFLBS'->'fio'->>'familiya' AS last_name,
supr->'svedFLBS'->'fio'->>'imya' AS first_name,
supr->'svedFLBS'->'fio'->>'otchestvo' AS middle_name,
CONCAT_WS(' ',
supr.supr->'svedFLBS'->'fio'->>'familiya',
supr.supr->'svedFLBS'->'fio'->>'imya',
supr.supr->'svedFLBS'->'fio'->>'otchestvo'
supr->'svedFLBS'->'fio'->>'familiya',
supr->'svedFLBS'->'fio'->>'imya',
supr->'svedFLBS'->'fio'->>'otchestvo'
) AS full_name,
MAKE_DATE(
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'mesyacz','')::int,
NULLIF(supr.supr->'svedFLBS'->'dataRozhdDok'->>'den','')::int
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'god', '')::int,
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'mesyacz', '')::int,
NULLIF(supr->'svedFLBS'->'dataRozhdDok'->>'den', '')::int
) AS birth_date,
(supr.supr->'svedSmert'->'extend'->>'dataSmert')::date AS death_date,
supr.supr->'svedSmert'->>'nomerZapis' AS death_az_number,
marriage_az_number,
marriage_date::date,
divorce_az_number,
divorce_date::date,
information_excluded
(supr->'svedSmert'->'extend'->>'dataSmert')::date AS death_date,
supr->'svedSmert'->>'nomerZapis' AS death_az_number,
ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'nomerZapis' AS marriage_az_number,
(ri.info->'svedFL'->'svedSemPolozh'->'svedAZBrak'->>'dataBrakKalend')::date AS marriage_date,
ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'nomerZapis' AS divorce_az_number,
(ri.info->'svedFL'->'svedSemPolozh'->'svedAZRazvod'->>'dataRastBrakKalend')::date AS divorce_date,
CASE
WHEN ri.info->'svedFL'->'svedSemPolozh'->>'svedSuprIskl' = '1' THEN true
ELSE false
END AS information_excluded
FROM ervu_dashboard.citizen r
JOIN suprug supr ON r.recruit_id = supr.recruit_id;</sql>
JOIN ervu_dashboard.recruits_info ri ON ri.recruit_id = r.recruit_id
CROSS JOIN LATERAL (
SELECT supri
FROM jsonb_array_elements(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') AS supri
WHERE jsonb_typeof(ri.info->'svedFL'->'svedSemPolozh'->'suprugi') = 'array'
) AS supr(supr)
WHERE
'${ID_F5}' != ''
AND COALESCE(ri.current_recruitment_id, ri.target_recruitment_id) = '${ID_F5}'
AND '${M_R_CR_DATE}'::timestamp >= r.recruit_create_date;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>