USP_REPORT_DEFAULTCREDITCARDRECEIPT

Parameters

Parameter Parameter Type Mode Description
@ORDERID uniqueidentifier IN
@CREDITCARDPAYMENTMETHODDETAILID uniqueidentifier IN
@ISMERCHANTCOPY bit IN
@SHOULDPRINTMERCHANTANDCUSTOMERCOPIES bit IN

Definition

Copy

create procedure [dbo].[USP_REPORT_DEFAULTCREDITCARDRECEIPT]
(
    @ORDERID uniqueidentifier,
    @CREDITCARDPAYMENTMETHODDETAILID uniqueidentifier,
    @ISMERCHANTCOPY bit = 1,
    @SHOULDPRINTMERCHANTANDCUSTOMERCOPIES bit = 0
)
as
    set nocount on;
    set transaction isolation level read uncommitted;

    declare @COPIES table (ISMERCHANTCOPY bit)

    if @SHOULDPRINTMERCHANTANDCUSTOMERCOPIES = 1 begin
        insert into @COPIES
        values (1),(0);
    end else begin
        insert into @COPIES
        values (@ISMERCHANTCOPY);
    end

    select
        SALESORDER.SEQUENCEID ORDERNUMBER,
        cast(cast(SALESORDERPAYMENT.PAYMENTDATEWITHTIMEOFFSET as datetime) as nvarchar) PAYMENTDATE,
        dbo.UFN_CREDITTYPECODE_GETDESCRIPTION(CREDITCARDPAYMENTMETHODDETAIL.CREDITTYPECODEID) CARDTYPE,
        '************' + CREDITCARDPAYMENTMETHODDETAIL.CREDITCARDPARTIALNUMBER CARDNUMBER,
        dbo.UFN_DATE_EARLIESTFROMFUZZYDATE(CREDITCARDPAYMENTMETHODDETAIL.EXPIRESON)
        EXPIRATION,
        CREDITCARDPAYMENTMETHODDETAIL.AUTHORIZATIONCODE,
        CREDITCARDPAYMENTMETHODDETAIL.CARDHOLDERNAME,
        SALESORDERPAYMENT.AMOUNT PAYMENTTOTAL,
        COPIES.ISMERCHANTCOPY
    from
        dbo.SALESORDER
    inner join (
        select ID, SALESORDERID, PAYMENTID, PAYMENTDATEWITHTIMEOFFSET, AMOUNT from dbo.SALESORDERPAYMENT
        union all
        select ID, RESERVATIONID as SALESORDERID, PAYMENTID, PAYMENTDATEWITHTIMEOFFSET, AMOUNT from dbo.RESERVATIONSECURITYDEPOSITPAYMENT
    ) as SALESORDERPAYMENT
        on SALESORDER.ID = SALESORDERPAYMENT.SALESORDERID
    inner join dbo.REVENUEPAYMENTMETHOD
        on REVENUEPAYMENTMETHOD.REVENUEID = SALESORDERPAYMENT.PAYMENTID
    inner join dbo.CREDITCARDPAYMENTMETHODDETAIL
        on CREDITCARDPAYMENTMETHODDETAIL.ID = REVENUEPAYMENTMETHOD.ID
    outer apply
        @COPIES as COPIES
    where
        SALESORDER.ID = @ORDERID and
        CREDITCARDPAYMENTMETHODDETAIL.ID = @CREDITCARDPAYMENTMETHODDETAILID
    order by
        COPIES.ISMERCHANTCOPY desc;

    return 0;