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


left join lateral (
    select
        opd.id,
        opd.decision_payment_type_code,
        opd.date as decision_date
    from back_office.ops_payment_decision opd
    where opd.ops_pension_assignment_application_id = opaa.id
      and opd.decision_payment_type_code in ('01', '16')
      and opd.rejected is null
      and opd.canceled is null
    order by
        opd.date desc nulls last,
        opd.id desc
    limit 1
) ev_decision on true

join ourpension.decision_payment_type dpt
    on dpt.code = case
        when opaa.ops_payment_type_code = '01'
            then opaa.decision_payment_type_code
        else ev_decision.decision_payment_type_code
    end




where (
        (
            opaa.ops_payment_type_code = '01'
            and opaa.appeal_date between :start_date and :end_date
        )
        or
        (
            opaa.ops_payment_type_code = '02'
            and ev_decision.id is not null
            and (
                opaa.appeal_date between :start_date and :end_date
                or ev_decision.decision_date between :start_date and :end_date
            )
        )
    )
    and aibd.accepted = coalesce(:br_date, aibd.accepted)