Загрузка данных


select DISTINCT ON (c.number)
  to_char(i.birth_date, 'DD.MM.YYYY') as birth_date,
  i.inn as person_inn,
  i.last_name,
  i.first_name,
  i.middle_name,
  i.certificate_date,
  i.certificate_number || ' ' || i.certificate_series as ser_nom_doc,
  i.certificate_code,
  i.id as smev_register_id,
  to_char(now(), 'DD.MM.YYYY') as date_doc,
  'UT_ZAPRSTRORGNPF_' || i.id || '_' || to_char(i.birth_date,'YYYYMMDD') || '_' || replace(cast(gen_random_uuid() as text),'-','') as file_id,
  '5.02' as vers_form,
  'КОНТУР-ЭКСТЕРН, ВЕРСИЯ 16.0' as vers_prog,
  '7702' as kod_no,
  to_char(now(), 'DD.MM.YYYY') as doc_date,
  '1184042' as knd,
  f.kpp as org_kpp,
  f.inn as org_inn,
  f.name_full as org_name,
  (
    select coalesce(max(cast(request_number as int)), 0) + 1
    from report.fns_reference_request_journal
  ) as req_number,
  c.number as number,
  to_char(c.date, 'DD.MM.YYYY') as contract_date,
  '4' as pr_c,
  '1' as pr_z_cont
from ourpension.application_termination_contract atc
join ourpension.sharer s on s.id = atc.sharer_id
join ourpension.contract c on s.contract_id = c.id
  and (c."service_type" = 'NPO' or c."service_type" = 'PDS')
left join ourpension.individual i on i.id = c.individual_id
left join ourpension.fund f on i.fund_id = f.id
where atc."date" >= to_date(:start_date_app, 'YYYY-MM-DD')
and atc."date" < to_date(:end_date_app, 'YYYY-MM-DD') + interval '1 day'
and ( case when :isChecked = false then exists (select 1 from ourpension.year_tax_deduction td where td.application_termination_contract_id = atc.id and td.type != 'RECEIVED')
		else true
		end)
and i.first_name is not null
ORDER BY c.number, i.id