This commit is contained in:
Ruslan 2025-04-18 09:42:34 +03:00
parent 3e7d69e882
commit 81e81a8790
2 changed files with 61 additions and 22 deletions

View file

@ -61,6 +61,26 @@ took_break
type_place_stay</note>
<width>163</width>
</notepad>
<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>26</height>
<xloc>687</xloc>
<yloc>482</yloc>
<note>+target_recruitment_id</note>
<width>132</width>
</notepad>
</notepads>
<order>
<hop>
@ -345,7 +365,8 @@ base_recruit_data AS (
WHEN r.vu_current_info->>'recruitmentCommercialInfo' = 'true' THEN 'CONVICT'
ELSE 'NOTCONVICT'
END AS convicts,
COALESCE(r.current_recruitment_id, r.target_recruitment_id) AS recruitment_id,
r.current_recruitment_id AS recruitment_id,
r.target_recruitment_id,
CASE
WHEN jsonb_typeof(ri.info->'svedFL'->'svedPND'->'svedUchetDisp'->'svedUchet') = 'array' THEN
EXISTS (
@ -710,7 +731,8 @@ SELECT
r.passport_series,
r.issue_date,
r.recruit_id, -- ID рекрута
r.recruitment_id,
r.recruitment_id, -- текущий вк
r.target_recruitment_id, -- целевой вк
r.reason_registration, -- причина постановки на учет char
r.date_registration, -- дата постановки на учет date
r.date_deregistration, -- дата снятия с учета date
@ -761,11 +783,14 @@ join adresses adr ON r.recruit_id=adr.recruit_id</sql>
<only_when_have_rows>N</only_when_have_rows>
<partitioning_daily>N</partitioning_daily>
<partitioning_enabled>N</partitioning_enabled>
<partitioning_field/>
<partitioning_monthly>Y</partitioning_monthly>
<return_field/>
<return_keys>N</return_keys>
<schema>ervu_dashboard</schema>
<specify_fields>N</specify_fields>
<table>citizen</table>
<tablename_field/>
<tablename_in_field>N</tablename_in_field>
<tablename_in_table>Y</tablename_in_table>
<truncate>N</truncate>

View file

@ -100,26 +100,40 @@ join ugol on r.id = ugol.recruit_id;</note>
<connection>ervu_person_registry</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>with ugol as
(select jsonb_array_elements(ri.info->'svedFL'->'svedSudim'->'sudim'->'osuzhdenie') u,
ri.recruit_id
from public.recruits_info ri
where jsonb_typeof(ri.info->'svedFL'->'svedSudim'->'sudim'->'osuzhdenie') = 'array')
select
r.id recruit_id,
u->>'naimSuda' authority_name,
u->>'srokNakaz' sentence,
u->>'adresNakaz' sentence_place,
u->>'kodVidNakaz' punishment_code,
u->>'izmSrokNakaz' sentence_changed,
u->>'naimVidNakaz' punishment_type,
to_date(u->>'dataNachSrok', 'YYYY-MM-DD') start_date,
to_date(u->>'dataOsvobozhd', 'YYYY-MM-DD') release_date,
to_date(u->>'dataOsuzhd', 'YYYY-MM-DD') sentense_date,
u->>'ugolovZakon' law_point,
u->>'osnovOsvobozhd' release_reason
from public.recruits r
join ugol on r.id = ugol.recruit_id;</sql>
<sql>WITH
nakaz AS (
SELECT
jsonb_array_elements(ri.info->'svedFL'->'svedNakaz'->'nakaz') AS nz,
ri.recruit_id
FROM public.recruits_info ri
WHERE jsonb_typeof(ri.info->'svedFL'->'svedNakaz'->'nakaz') = 'array'
)
SELECT
r.id AS recruit_id,
--nz->'naimOrg',
nz->>'naimSud' AS authority_name,
--nz->'nomerUD',
STRING_AGG(TRIM(BOTH ' "' FROM law.f), ', ') AS law_point, -- статьи уголовного кодекса
--nz->'adresOrg',
--nz->'dataSved' ,
nz->>'osnOsvob' AS release_reason, -- основание освобождения
nz->>'vidNakaz' AS punishment_type, -- вид наказания
nz->>'dataOsvob' AS release_date, -- дата освобождения
--nz->'katUcheta',
nz->>'srokNakaz' AS sentence,
nz->>'dataOsuzhd' AS sentense_date,
--код вида наказания,
--nz->'naimSubekt',
-- место отбывания наказания??,
nz->>'dataNachSrok' AS start_date, -- дата начала срока отбывания наказания
--nz->'dataOkonchSrok' AS release_date, -- дата освобождения
--nz->'naimPerekvalif',
nz->>'naimIzmSrokNakaz' AS sentence_changed -- изменение срока или размера наказания???
--mandatory_work
FROM public.recruits r
JOIN nakaz nz ON r.id = nz.recruit_id
LEFT JOIN LATERAL jsonb_array_elements_text(nz->'statiUK') AS law(f) ON true
GROUP BY r.id, nz</sql>
<variables_active>N</variables_active>
<attributes/>
<GUI>