USP_SEARCHLIST_MISCELLANEOUSPAYMENT
Search for a miscellaneous payment.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PAYMENTSOURCE | nvarchar(255) | IN | Reference |
@PAYMENTDATE | datetime | IN | Payment date from |
@PAYMENTMETHOD | tinyint | IN | Payment method |
@DEPOSITNUMBER | nvarchar(64) | IN | Deposit number |
@AMOUNT | decimal(20, 4) | IN | Amount |
@POSTSTATUSCODE | tinyint | IN | Post status |
@POSTDATE | datetime | IN | Post date |
@MAXROWS | smallint | IN | Input parameter indicating the maximum number of rows to return. |
@EXCLUDELINKEDPAYMENTS | bit | IN | Exclude linked payments |
@APPLICATIONCODE | tinyint | IN | Application |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@PDACCOUNTSYSTEMID | uniqueidentifier | IN | Account system |
@NUMSYSTEMS | tinyint | IN | Number of account systems |
@PAYMENTENDDATE | datetime | IN | To |
Definition
Copy
CREATE procedure dbo.USP_SEARCHLIST_MISCELLANEOUSPAYMENT
(
@PAYMENTSOURCE nvarchar(255) = null,
@PAYMENTDATE datetime = null,
--@PAYMENTMETHODCODE tinyint = null,
@PAYMENTMETHOD tinyint = null,
@DEPOSITNUMBER nvarchar(64) = null,
@AMOUNT decimal(20, 4) = null,
@POSTSTATUSCODE tinyint = null,
@POSTDATE datetime = null,
@MAXROWS smallint = 500,
@EXCLUDELINKEDPAYMENTS bit = 0,
@APPLICATIONCODE tinyint = null,
@CURRENTAPPUSERID uniqueidentifier = null,
@PDACCOUNTSYSTEMID uniqueidentifier = null,
@NUMSYSTEMS tinyint = null,
@PAYMENTENDDATE datetime = null
)
as
set nocount on;
declare @NUMBER integer;
if not @DEPOSITNUMBER is null
set @NUMBER = CAST(@DEPOSITNUMBER AS integer);
set @PAYMENTSOURCE = REPLACE(REPLACE(COALESCE(@PAYMENTSOURCE,''), '*', '%'), '?', '_') + '%'
set @NUMSYSTEMS = dbo.UFN_PDACCOUNTSYSTEM_GETNUMBEROFSYSTEMSFORUSER(@CURRENTAPPUSERID);
select top(@MAXROWS)
REVENUE.ID,
REVENUE.DATE,
dbo.REVENUEREFERENCE.REFERENCE as [PAYMENTSOURCE],
REVENUE.TRANSACTIONAMOUNT,
REVENUEPAYMENTMETHOD.PAYMENTMETHOD,
(select TRANSACTIONNUMBER from dbo.BANKACCOUNTTRANSACTION where ID = BANKACCOUNTDEPOSITPAYMENT.DEPOSITID),
(select dbo.UFN_BANKACCOUNT_GETACCOUNTNAME(BANKACCOUNTID) from BANKACCOUNTTRANSACTION where ID = BANKACCOUNTDEPOSITPAYMENT.DEPOSITID),
PDACCOUNTSYSTEM.NAME
,REVENUE.TRANSACTIONCURRENCYID
from
dbo.REVENUE
inner join dbo.REVENUESPLIT on REVENUE.ID = REVENUESPLIT.REVENUEID and REVENUESPLIT.APPLICATIONCODE=11 and
REVENUESPLIT.TYPECODE=8
inner join dbo.REVENUEREFERENCE on REVENUEREFERENCE.ID = REVENUE.ID
inner join dbo.REVENUEPAYMENTMETHOD on REVENUEPAYMENTMETHOD.REVENUEID = REVENUE.ID
left join dbo.BANKACCOUNTDEPOSITPAYMENT on REVENUE.ID = BANKACCOUNTDEPOSITPAYMENT.ID
left join dbo.BANKACCOUNTTRANSACTION on BANKACCOUNTDEPOSITPAYMENT.DEPOSITID = BANKACCOUNTTRANSACTION.ID
left join dbo.REVENUESPLIT R on R.REVENUEID = REVENUE.ID
inner join dbo.PDACCOUNTSYSTEMFORREVENUE on REVENUE.ID = PDACCOUNTSYSTEMFORREVENUE.ID
inner join dbo.UFN_PDACCOUNTSYSTEM_GETSYSTEMIDSFORUSER(@CURRENTAPPUSERID) PDACCOUNTSYSTEMIDSFORUSER on PDACCOUNTSYSTEMFORREVENUE.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEMIDSFORUSER.ID
inner join dbo.PDACCOUNTSYSTEM on PDACCOUNTSYSTEM.ID = PDACCOUNTSYSTEMIDSFORUSER.ID
left outer join dbo.REVENUEPOSTED RP on RP.ID = REVENUE.ID
where
((@PAYMENTSOURCE is null or (REVENUEREFERENCE.REFERENCE like @PAYMENTSOURCE + '%')) and
((@PAYMENTDATE is null or (REVENUE.DATE >= @PAYMENTDATE)) and (@PAYMENTENDDATE is null or (REVENUE.DATE <= @PAYMENTENDDATE))) and
(@PAYMENTMETHOD is null or (REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE = @PAYMENTMETHOD)) and
(@NUMBER is null or (BANKACCOUNTTRANSACTION.TRANSACTIONNUMBER = @NUMBER and BANKACCOUNTTRANSACTION.TRANSACTIONFLAGCODE = 1)) and
(@AMOUNT is null or (REVENUE.TRANSACTIONAMOUNT = @AMOUNT)) and
(@POSTSTATUSCODE is null or (REVENUE.DONOTPOST = (case when @POSTSTATUSCODE = 2 then 1 else 0 end) and @POSTSTATUSCODE != 0 and RP.ID is null) or (@POSTSTATUSCODE = 0 and RP.ID is not null)) and
(@POSTDATE is null or (REVENUE.POSTDATE = @POSTDATE)) and
(@EXCLUDELINKEDPAYMENTS = 0 or (BANKACCOUNTDEPOSITPAYMENT.DEPOSITID is null)) and
(@APPLICATIONCODE is null or R.APPLICATIONCODE = @APPLICATIONCODE))
and
(@PDACCOUNTSYSTEMID is null or (PDACCOUNTSYSTEM.ID = @PDACCOUNTSYSTEMID))
order by
REVENUE.DATE desc