USP_SALESBYPAYMENTMETHODREPORTDATA
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@FROMDATE | datetime | IN | |
@TODATE | datetime | IN | |
@APPUSERID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_SALESBYPAYMENTMETHODREPORTDATA (
@FROMDATE datetime = null,
@TODATE datetime = null,
@APPUSERID uniqueidentifier = null
)
as
set nocount on;
set @FROMDATE = cast(@FROMDATE as date);
set @TODATE = dbo.UFN_DATE_GETLATESTTIME(@TODATE);
--sales order payments
select
[REVENUEPAYMENTMETHOD].[ID] as [PAYMENTID],
dbo.UFN_APPUSER_GETNAME([SALESORDERPAYMENT].[APPUSERID]) as [TRANSACTIONSELLER],
[REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE],
[REVENUEPAYMENTMETHOD].[PAYMENTMETHOD],
convert(nvarchar(20), SALESORDER.SEQUENCEID) as [SALESORDERNUMBER],
'http://www.blackbaud.com/SALESORDERLINK?SALESORDERLINK=' + CONVERT(nvarchar(36),SALESORDER.ID) as [SALESORDERLINK],
cast([SALESORDERPAYMENT].[PAYMENTDATEWITHTIMEOFFSET] as datetime) as [TRANSACTIONDATE],
[SALESORDERPAYMENT].[AMOUNT] as [AMOUNTPAID],
case [REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE]
when 0 then ''
when 1 then (
select [CHECKNUMBER] + ', ' + convert(nvarchar(20), dbo.UFN_DATE_FROMFUZZYDATE(CHECKDATE), 101)
from dbo.[CHECKPAYMENTMETHODDETAIL]
where ID = [REVENUEPAYMENTMETHOD].[ID]
)
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]
)
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],
NF.NAME as [PATRONNAME]
from
dbo.FINANCIALTRANSACTION as FT
inner join
dbo.[REVENUEPAYMENTMETHOD] on [REVENUEPAYMENTMETHOD].[REVENUEID] = FT.ID
inner join
dbo.[SALESORDERPAYMENT] on [SALESORDERPAYMENT].[PAYMENTID] = FT.ID
inner join
dbo.[SALESORDER] on [SALESORDERPAYMENT].[SALESORDERID] = [SALESORDER].[ID]
outer apply
dbo.UFN_CONSTITUENT_DISPLAYNAME(SALESORDER.CONSTITUENTID) as NF
where
(
@APPUSERID is null
or [SALESORDERPAYMENT].[APPUSERID] = @APPUSERID
) and
FT.CALCULATEDDATE between @FROMDATE and @TODATE and
([SALESORDER].[STATUSCODE] = 1 or [SALESORDER].[SALESMETHODTYPECODE] = 3) and
[SALESORDERPAYMENT].[AMOUNT] <> 0
and FT.DELETEDON is null
union all
--refunds
select
[REVENUEPAYMENTMETHOD].[ID] as [PAYMENTID],
dbo.UFN_APPUSER_GETNAME([CREDITPAYMENT].[APPUSERID]) as [APPLICATIONUSER],
[CREDITPAYMENT].[PAYMENTMETHODCODE],
[CREDITPAYMENT].[PAYMENTMETHOD],
'Refund' as [SALESORDERNUMBER],
'http://www.blackbaud.com/REFUNDLINK?REFUNDLINK=' + CONVERT(nvarchar(36), FT.ID) as REFUNDLINK,
cast([CREDITPAYMENT].[CREDITPAYMENTDATEWITHTIMEOFFSET] as datetime),
-[CREDITPAYMENT].[AMOUNT] as [AMOUNTPAID],
case [CREDITPAYMENT].[PAYMENTMETHODCODE]
when 0 then ''
when 1 then ''
when 2 then (
select dbo.UFN_CREDITTYPECODE_GETDESCRIPTION(CREDITTYPECODEID)
from dbo.[CREDITCARDPAYMENTMETHODDETAIL]
where ID = [REVENUEPAYMENTMETHOD].[ID]
)
when 10 then (
dbo.UFN_OTHERPAYMENTMETHODCODE_GETDESCRIPTION([CREDITPAYMENT].[OTHERPAYMENTMETHODCODEID])
)
end as [PAYMENTDETAILS],
case [CREDITPAYMENT].[PAYMENTMETHODCODE]
when 2 then (
select dbo.UFN_CREDITTYPECODE_GETDESCRIPTION(CREDITTYPECODEID)
from dbo.[CREDITCARDPAYMENTMETHODDETAIL]
where ID = [REVENUEPAYMENTMETHOD].[ID]
)
when 10 then (
dbo.UFN_OTHERPAYMENTMETHODCODE_GETDESCRIPTION([CREDITPAYMENT].[OTHERPAYMENTMETHODCODEID])
)
else ''
end as [PAYMENTTYPE],
NF.NAME as [PATRONNAME]
from
dbo.FINANCIALTRANSACTION as FT
inner join
dbo.[CREDITPAYMENT] on [CREDITPAYMENT].[CREDITID] = FT.ID
left join
dbo.FINANCIALTRANSACTIONLINEITEM as REFUNDEDLI on REFUNDEDLI.ID = [CREDITPAYMENT].[REVENUESPLITID]
inner join
dbo.[REVENUEPAYMENTMETHOD] on [REVENUEPAYMENTMETHOD].[REVENUEID] in (CREDITPAYMENT.REVENUEID, REFUNDEDLI.FINANCIALTRANSACTIONID)
outer apply
dbo.UFN_CONSTITUENT_DISPLAYNAME(FT.CONSTITUENTID) as NF
where
(
@APPUSERID is null
or FT.APPUSERID = @APPUSERID
) and
FT.CALCULATEDDATE between @FROMDATE and @TODATE and
[CREDITPAYMENT].[AMOUNT] <> 0 and
FT.TYPECODE = 23 -- Refund
--security deposit payments
union all
select
[REVENUEPAYMENTMETHOD].[ID] as [PAYMENTID],
dbo.UFN_APPUSER_GETNAME([RESERVATIONSECURITYDEPOSITPAYMENT].[APPUSERID]) as [APPLICATIONUSER],
[REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE],
[REVENUEPAYMENTMETHOD].[PAYMENTMETHOD],
convert(nvarchar(20), SALESORDER.SEQUENCEID) as [SALESORDERNUMBER],
'http://www.blackbaud.com/SALESORDERLINK?SALESORDERLINK=' + CONVERT(nvarchar(36), [RESERVATIONSECURITYDEPOSITPAYMENT].RESERVATIONID) as [SALESORDERLINK],
cast([RESERVATIONSECURITYDEPOSITPAYMENT].[PAYMENTDATEWITHTIMEOFFSET] as datetime),
[RESERVATIONSECURITYDEPOSITPAYMENT].[AMOUNT] as [AMOUNTPAID],
case [REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE]
when 0 then ''
when 1 then (
select [CHECKNUMBER] + ', ' + convert(nvarchar(20), dbo.UFN_DATE_FROMFUZZYDATE(CHECKDATE), 101)
from dbo.[CHECKPAYMENTMETHODDETAIL]
where ID = [REVENUEPAYMENTMETHOD].[ID]
)
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]
)
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],
NF.NAME as [PATRONNAME]
from
dbo.[REVENUEPAYMENTMETHOD]
inner join
dbo.[RESERVATIONSECURITYDEPOSITPAYMENT] on [RESERVATIONSECURITYDEPOSITPAYMENT].[PAYMENTID] = [REVENUEPAYMENTMETHOD].[REVENUEID]
inner join
dbo.[SALESORDER] on [RESERVATIONSECURITYDEPOSITPAYMENT].[RESERVATIONID] = [SALESORDER].[ID]
outer apply
dbo.UFN_CONSTITUENT_DISPLAYNAME(SALESORDER.CONSTITUENTID) as NF
where
(
@APPUSERID is null
or [RESERVATIONSECURITYDEPOSITPAYMENT].[APPUSERID] = @APPUSERID
) and
cast([RESERVATIONSECURITYDEPOSITPAYMENT].[PAYMENTDATEWITHTIMEOFFSET] as datetime) between @FROMDATE and @TODATE and
[RESERVATIONSECURITYDEPOSITPAYMENT].[AMOUNT] <> 0
order by
[TRANSACTIONSELLER] ASC,
[REVENUEPAYMENTMETHOD].[PAYMENTMETHOD] ASC,
[SALESORDERNUMBER] ASC,
[AMOUNTPAID] ASC;
return 0;