USP_REPORT_DEFAULTREFUNDITEMIZEDRECEIPT_GETPAYMENTINFORMATION

Parameters

Parameter Parameter Type Mode Description
@CREDITID uniqueidentifier IN

Definition

Copy

create procedure [dbo].[USP_REPORT_DEFAULTREFUNDITEMIZEDRECEIPT_GETPAYMENTINFORMATION]
(
    @CREDITID uniqueidentifier
)
as
    set nocount on;
    set transaction isolation level read uncommitted;

    select 
        CREDITPAYMENT.ID,
        CREDITPAYMENT.ID PAYMENTID,                            
        CREDITPAYMENT.AMOUNT AMOUNT,                        
        case CREDITPAYMENT.PAYMENTMETHODCODE
            when 0 then  -- Cash

                'Refund Cash'
            when 1 then  -- Check

                'Refund Check'
            when 2 then  -- Credit card

                'Refund ' + dbo.UFN_CREDITTYPECODE_GETDESCRIPTION(CREDITTYPECODEID)
            when 10 then  -- Other

                'Refund ' + dbo.UFN_OTHERPAYMENTMETHODCODE_GETDESCRIPTION(CREDITPAYMENT.OTHERPAYMENTMETHODCODEID)
        end    PAYMENTTYPE,
        case CREDITPAYMENT.PAYMENTMETHODCODE
            when 0 then  -- Cash

                ''
            when 1 then  -- Check

                CHECKPAYMENTMETHODDETAIL.CHECKNUMBER
            when 2 then  -- Credit card

                '************' + CREDITCARDPAYMENTMETHODDETAIL.CREDITCARDPARTIALNUMBER
            when 10 then  -- Other

                ''
        end    PAYMENTTYPEDETAIL,
        case CREDITPAYMENT.PAYMENTMETHODCODE
            when 0 then  -- Cash

                3
            when 1 then  -- Check

                0
            when 2 then  -- Credit card

                1
            when 10 then  -- Other

                2
        end    SORTFIELD
    from
        dbo.CREDITPAYMENT
    left outer join
        dbo.FINANCIALTRANSACTIONLINEITEM as REFUNDEDLI on REFUNDEDLI.ID = CREDITPAYMENT.REVENUESPLITID and REFUNDEDLI.DELETEDON is null and REFUNDEDLI.TYPECODE <> 1  -- Reversal

    left outer join
        dbo.REVENUEPAYMENTMETHOD on REVENUEPAYMENTMETHOD.REVENUEID = isnull(CREDITPAYMENT.REVENUEID, REFUNDEDLI.FINANCIALTRANSACTIONID)
    left outer join 
        dbo.CHECKPAYMENTMETHODDETAIL on    REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE = 1 and CHECKPAYMENTMETHODDETAIL.ID = REVENUEPAYMENTMETHOD.ID
    left outer join 
        dbo.CREDITCARDPAYMENTMETHODDETAIL on REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE = 2 and CREDITCARDPAYMENTMETHODDETAIL.ID = REVENUEPAYMENTMETHOD.ID                                                                    
    where 
        CREDITPAYMENT.CREDITID = @CREDITID
    order by 
        SORTFIELD, PAYMENTTYPE, CREDITPAYMENT.AMOUNT;

    return 0;