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


SELECT
    io.individual_id AS client_id,
    io.contract_id AS contract_id,
    ind.insurance_number AS snils,
    c.service_type AS contract_type,
    c.number AS contract_number,
    c.date AS contract_date,
    SUM(t.value) AS contributions_amount
FROM back_office.incoming_order io
JOIN back_office.incoming_order_operation ioo
    ON ioo.incoming_order_id = io.id
JOIN back_office.operation o
    ON o.id = ioo.operation_id
JOIN back_office."transaction" t
    ON t.operation_id = ioo.operation_id
JOIN back_office.account a
    ON a.id = t.credit_account_id
JOIN back_office.account_type at
    ON at.id = a.account_type_id
JOIN ourpension.contract c
    ON c.id = io.contract_id
JOIN ourpension.individual ind
    ON ind.id = io.individual_id
WHERE io.payment_return IS NOT TRUE
  AND EXTRACT(YEAR FROM o.operation_date) = 2026
  AND (
        (c.service_type = 'NPO' AND at.mnemonics = 'ИПС_ФЛ')
        OR
        (c.service_type = 'PDS' AND at.mnemonics = 'ПДС СВ')
      )
  AND NULLIF(TRIM(ind.insurance_number), '') IS NOT NULL
GROUP BY
    io.individual_id,
    io.contract_id,
    ind.insurance_number,
    c.service_type,
    c.number,
    c.date
HAVING SUM(t.value) > 0
ORDER BY io.individual_id, io.contract_id
LIMIT 1;