Загрузка данных
WITH tessa AS MATERIALIZED (
SELECT value AS path
FROM tools.npf360_settings
WHERE "name" = 'TESSA_API'
),
base AS MATERIALIZED (
SELECT
td.canceled AS actual,
'<a target="_blank" href="view?viewCode=Client_list&id=' || contract.individual_id || '">'
|| ind.last_name || ' ' || ind.first_name || COALESCE(' ' || ind.middle_name, '')
|| '</a>' AS client_full_name,
td.number AS document_number,
td.year AS year,
to_char(td.version, 'DD.MM.YYYY') AS created_at,
to_char(td.date, 'DD.MM.YYYY') AS certificate_date,
uat.activity_rus_type AS contract_activity_type,
contract.number AS contract_number,
'<a target="_blank" href="view?viewCode=7HPZX8vF&id=' || contract.id || '">'
|| contract.number
|| '</a>' AS contract_number_link,
to_char(contract.date, 'DD.MM.YYYY') AS contract_date,
'<a target="_blank" href="view?viewCode=Pzbmp8Pg&id=' || sh.id || '">'
|| sh.number
|| '</a>' AS account_number_link,
sh.number AS sh_number,
sh.id AS sh_id,
a.last_name || ' ' || a.first_name || ' ' || a.middle_name AS created_by_username,
info.name AS info_name,
'<a target="_blank" href="view?viewCode=application_rd_npo_pds&id=' || atc.id || '">'
|| atc.number
|| '</a>' AS application_id,
td.comment AS comment_text,
atc.number AS atc_number,
atc.id AS atc_id,
ind.id AS i_id,
'<a target="_blank" href="' || tessa.path || 'card/' || td.tessa_card_id || '" target="_blank">'
|| td.tessa_card_id
|| '</a>' AS tessa_card_id,
coalesce(apdi.last_name, ind.last_name) || ' ' || coalesce(apdi.first_name, ind.first_name) || ' ' || COALESCE(apdi.middle_name, ind.middle_name, '') AS full_fl_name,
to_char(td.accepted, 'DD.MM.YYYY HH24:MI:SS') AS accepted,
to_char(td.canceled, 'DD.MM.YYYY HH24:MI:SS') AS canceled,
td.id AS id,
td.tessa_card_id AS tessa_id_pure,
contract.id AS contract_id,
td.canceled IS NOT NULL AS sort_canceled,
td.version AS sort_version
FROM ourpension.year_tax_deduction td
LEFT JOIN ourpension.application_termination_contract atc
ON atc.id = td.application_termination_contract_id
LEFT JOIN ourpension.application_personal_data_individual apdi
ON apdi.id = atc.application_personal_data_individual_id
LEFT JOIN LATERAL (
SELECT atcd.*
FROM ourpension.application_termination_contract_data atcd
WHERE atcd.application_termination_contract_id = atc.id
ORDER BY atcd.id DESC
LIMIT 1
) atcd ON TRUE
LEFT JOIN ourpension.individual ind
ON ind.id = COALESCE(td.individual_id, apdi.individual_id)
LEFT JOIN ourpension.sharer sh
ON sh.id = atcd.sharer_id
LEFT JOIN ourpension.contract contract
ON contract.id = sh.contract_id
LEFT JOIN ourpension.uv_activity_type uat
ON uat.activity_eng_type = contract.service_type
AND uat.client_type = contract.client_type
LEFT JOIN ourpension.agent a
ON td.agent_id = a.id
LEFT JOIN ourpension.information_source info
ON info.id = atc.information_source_id
CROSS JOIN tessa
WHERE td.type != 'NONE'
and 1 = 1
and 1 = 0
ORDER BY
td.canceled IS NOT NULL,
td.version DESC
)
SELECT
case
when b.actual is null then '<span class="glyphicon glyphicon-ok" style="color: green; align-items: center; justify-content: center;"></span>'
when b.actual is not null then '<span class="glyphicon glyphicon-remove" style="color: red; align-items: center; justify-content: center;"></span>'
else 'не определено>'
end as actual,
b.client_full_name as client_full_name,
b.document_number as document_number,
b.year as year,
b.created_at as created_at,
b.certificate_date as certificate_date,
b.contract_activity_type as contract_activity_type,
b.contract_number as contract_number,
b.contract_number_link as contract_number_link,
b.contract_date as contract_date,
b.account_number_link as account_number,
b.created_by_username as created_by_username,
CASE
WHEN fj_resp.has_response_received THEN 'ФНС'
ELSE b.info_name
END as receive_method,
b.application_id as application_id,
b.comment_text as comment_text,
b.atc_number as atc_number,
b.atc_id as atc_id,
b.i_id as i_id,
b.tessa_card_id as tessa_card_id,
'<a target="_blank" href="/ourpension/view?viewCode=7K6FKG8e&id=' || fj_last.smevRegisterId || '">'
|| sr.number
|| '</a>' as request_number_link,
b.full_fl_name as full_fl_name,
b.sh_number as sh_number,
b.sh_id as sh_id,
b.accepted as accepted,
b.canceled as canceled,
b.id as id,
b.tessa_id_pure as tessa_id_pure,
b.contract_id as contract_id
FROM base b
LEFT JOIN LATERAL (
SELECT
fj.model_file_to_verification_id,
fj.smevRegisterId
FROM report.fns_reference_request_journal fj
WHERE fj.contract_number = b.contract_number
ORDER BY fj.request_date DESC
LIMIT 1
) fj_last ON TRUE
LEFT JOIN LATERAL (
SELECT true AS has_response_received
FROM report.fns_reference_request_journal fj
WHERE fj.contract_number = b.contract_number
AND fj.response_received = true
LIMIT 1
) fj_resp ON TRUE
LEFT JOIN dev.model_file_to_verification mfc
ON mfc.id = fj_last.model_file_to_verification_id
LEFT JOIN report.smev_register sr
ON sr.id = mfc.register_id