USP_REVENUE_GETREVENUEFORPLEDGEPAYMENTRECEIPTUPDATE

Parameters

Parameter Parameter Type Mode Description
@REVENUESELECTIONID uniqueidentifier IN

Definition

Copy


create procedure dbo.USP_REVENUE_GETREVENUEFORPLEDGEPAYMENTRECEIPTUPDATE
(
    @REVENUESELECTIONID uniqueidentifier
)
as
begin
    select
        FINANCIALTRANSACTION.ID as FINANCIALTRANSACTIONID,
        FINANCIALTRANSACTIONLINEITEM.ID as FINANCIALTRANSACTIONLINEITEMID,
        INSTALLMENTPAYMENT.PLEDGEID,
        sum(INSTALLMENTPAYMENT.AMOUNT) as APPLIEDTOPLEDGE,
        coalesce(
        (
            select sum(TRANSACTIONAMOUNT)
            from dbo.FINANCIALTRANSACTIONLINEITEM
                inner join REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
            where
                FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID and
                REVENUESPLIT_EXT.APPLICATIONCODE <> 2
        ), 0) as APPLIEDTOOTHER,
        coalesce(sum(REVENUEBENEFIT.TRANSACTIONTOTALVALUE), 0) as BENEFITAMOUNT,
        REVENUE_EXT.RECEIPTAMOUNT
    from dbo.INSTALLMENTPAYMENT
        inner join dbo.FINANCIALTRANSACTIONLINEITEM on INSTALLMENTPAYMENT.PAYMENTID = FINANCIALTRANSACTIONLINEITEM.ID
        inner join dbo.UFN_IDSETREADER_GETRESULTS_GUID(@REVENUESELECTIONID) as SELECTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = SELECTION.ID
        inner join dbo.FINANCIALTRANSACTION on SELECTION.ID = FINANCIALTRANSACTION.ID
        inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
        left join dbo.REVENUEBENEFIT on FINANCIALTRANSACTION.ID = REVENUEBENEFIT.REVENUEID
    where
        FINANCIALTRANSACTION.TYPECODE = 0 --Verify revenue is a donation.

        and REVENUE_EXT.DONOTRECEIPT = 0 --Verify payment is receiptable.

        and not exists
        (
            select FINANCIALTRANSACTIONLINEITEM.ID
            from dbo.FINANCIALTRANSACTIONLINEITEM
                inner join dbo.REVENUESPLIT_EXT on REVENUESPLIT_EXT.ID = FINANCIALTRANSACTIONLINEITEM.ID
            where
                FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
                and REVENUESPLIT_EXT.APPLICATIONCODE in (1, 12) -- Event registration, auction purchase

        )-- Exclude types of revenue that have their own receipt amount

    group by
        FINANCIALTRANSACTION.ID,
        FINANCIALTRANSACTIONLINEITEM.ID,
        INSTALLMENTPAYMENT.PLEDGEID,
        REVENUEBENEFIT.TRANSACTIONTOTALVALUE,
        REVENUE_EXT.RECEIPTAMOUNT
end