USP_DATALIST_SALESRECONCILIATIONREPORT_PAYMENTDETAILS
Returns list of payments linked to a reconciliation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@RECONCILIATIONID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@ISSUPERVISOR | bit | IN | Is supervisor |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_SALESRECONCILIATIONREPORT_PAYMENTDETAILS
(
@RECONCILIATIONID uniqueidentifier = null,
@ISSUPERVISOR bit = 0
)
as
set nocount on;
select
[REVENUEPAYMENTMETHOD].[ID] as [PAYMENTID],
[REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE],
[REVENUEPAYMENTMETHOD].[PAYMENTMETHOD],
convert(nvarchar(20), SALESORDER.SEQUENCEID) as [SALESORDERNUMBER],
'http://' + CONVERT(nvarchar(36),SALESORDER.ID) as [SALESORDERLINK],
cast([SALESORDERPAYMENT].[PAYMENTDATEWITHTIMEOFFSET] as datetime) as [TRANSACTIONDATE],
[SALESORDERPAYMENT].[AMOUNT] as [AMOUNTPAID],
case [REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE]
when 1 then (
select [CHECKNUMBER]
from dbo.[CHECKPAYMENTMETHODDETAIL]
where ID = [REVENUEPAYMENTMETHOD].[ID]
)
when 2 then (
select dbo.UFN_CREDITTYPECODE_GETDESCRIPTION(CREDITTYPECODEID) + ' #' + [CREDITCARDPAYMENTMETHODDETAIL].[CREDITCARDPARTIALNUMBER]
from dbo.[CREDITCARDPAYMENTMETHODDETAIL]
where ID = [REVENUEPAYMENTMETHOD].[ID]
)
when 10 then (
select dbo.UFN_OTHERPAYMENTMETHODCODE_GETDESCRIPTION(OTHERPAYMENTMETHODCODEID)
from dbo.[OTHERPAYMENTMETHODDETAIL]
where ID = [REVENUEPAYMENTMETHOD].[ID]
)
end as [PAYMENTDETAILS],
case [REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE]
when 2 then (
select dbo.UFN_CREDITTYPECODE_GETDESCRIPTION(CREDITTYPECODEID)
from dbo.[CREDITCARDPAYMENTMETHODDETAIL]
where ID = [REVENUEPAYMENTMETHOD].[ID]
)
when 10 then (
select dbo.UFN_OTHERPAYMENTMETHODCODE_GETDESCRIPTION(OTHERPAYMENTMETHODCODEID)
from dbo.[OTHERPAYMENTMETHODDETAIL]
where ID = [REVENUEPAYMENTMETHOD].[ID]
)
else ''
end as [PAYMENTTYPE],
dbo.UFN_CONSTITUENT_BUILDNAME(SALESORDER.CONSTITUENTID) as [PATRONNAME],
'http://www.blackbaud.com/ORDERID?ORDERID=' + CONVERT(nvarchar(36),SALESORDER.ID) as [SALESORDERREPORTLINK],
case [REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE]
when 1 then
(select case when [CHECKDATE] = '00000000' then null else dbo.UFN_DATE_FROMFUZZYDATE([CHECKDATE]) end from dbo.[CHECKPAYMENTMETHODDETAIL] where ID = [REVENUEPAYMENTMETHOD].[ID])
end as [CHECKDATE]
from dbo.[REVENUE]
inner join dbo.[REVENUEPAYMENTMETHOD]
on [REVENUE].[ID] = [REVENUEPAYMENTMETHOD].[REVENUEID]
inner join (select ID, SALESORDERID, PAYMENTID, RECONCILIATIONID, AMOUNT, PAYMENTDATEWITHTIMEOFFSET from dbo.SALESORDERPAYMENT where [RECONCILIATIONID] = @RECONCILIATIONID and [DONOTRECONCILE] = 0
union all
select ID, RESERVATIONID as SALESORDERID, PAYMENTID, RECONCILIATIONID, AMOUNT, PAYMENTDATEWITHTIMEOFFSET from dbo.RESERVATIONSECURITYDEPOSITPAYMENT where [RECONCILIATIONID] = @RECONCILIATIONID
) as SALESORDERPAYMENT
on [REVENUE].[ID] = [SALESORDERPAYMENT].[PAYMENTID]
inner join dbo.[SALESORDER]
on [SALESORDERPAYMENT].[SALESORDERID] = [SALESORDER].[ID]
where
[SALESORDERPAYMENT].[RECONCILIATIONID] = @RECONCILIATIONID and
-- LeeCh, 05/26/2009
-- If @ISSUPERVISOR is true, include cash payments
([REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE] <> 0 or @ISSUPERVISOR = 1)and
(not ([REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE] = 2 and (select [CREDITTYPECODEID] from dbo.[CREDITCARDPAYMENTMETHODDETAIL] where [ID] = [REVENUEPAYMENTMETHOD].[ID]) is null))
order by
[REVENUEPAYMENTMETHOD].[PAYMENTMETHOD] ASC,
[SALESORDERNUMBER] ASC,
[SALESORDERPAYMENT].[AMOUNT] ASC;
return 0;