USP_DATALIST_PLEDGEPAYMENTBYTRANSACTION
Returns a list of payments and writeoffs for a pledge, omitting installment data by transaction.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_PLEDGEPAYMENTBYTRANSACTION
(
@ID uniqueidentifier
)
as
set nocount on;
select
'Payment',
Convert(Date, [PAYMENTREVENUE].DATE) as DATE,
sum(INSTALLMENTPAYMENT.AMOUNT),
CASE CONSTITUENT.ISORGANIZATION WHEN 1 THEN
CASE CONSTITUENT.KEYNAMEPREFIX WHEN '' THEN CONSTITUENT.KEYNAME ELSE CONSTITUENT.KEYNAMEPREFIX + ' ' + CONSTITUENT.KEYNAME END
ELSE
CASE CONSTITUENT.ISGROUP WHEN 1 THEN
CASE CONSTITUENT.DISPLAYNAME WHEN '' THEN CONSTITUENT.KEYNAME ELSE CONSTITUENT.DISPLAYNAME END
ELSE
CASE CONSTITUENT.FIRSTNAME WHEN '' THEN '' ELSE CONSTITUENT.FIRSTNAME + ' ' END
+
CASE CONSTITUENT.MIDDLENAME WHEN '' THEN '' ELSE LEFT(CONSTITUENT.MIDDLENAME,1) + '. ' END
+
CONSTITUENT.KEYNAME
END
END as NAME,
[REVENUEPAYMENTMETHOD].PAYMENTMETHOD,
0 as [TYPECODE],
[PAYMENTREVENUE].ID,
REVENUE.TRANSACTIONCURRENCYID
from dbo.INSTALLMENTPAYMENT
inner join dbo.FINANCIALTRANSACTION as REVENUE on REVENUE.ID = INSTALLMENTPAYMENT.PLEDGEID
inner join dbo.FINANCIALTRANSACTIONLINEITEM as [PAYMENTREVENUESPLIT] on [PAYMENTREVENUESPLIT].ID = INSTALLMENTPAYMENT.PAYMENTID
inner join dbo.FINANCIALTRANSACTION as PAYMENTREVENUE on PAYMENTREVENUE.ID = PAYMENTREVENUESPLIT.FINANCIALTRANSACTIONID
inner join dbo.REVENUEPAYMENTMETHOD on PAYMENTREVENUE.ID = REVENUEPAYMENTMETHOD.REVENUEID
inner join dbo.CONSTITUENT as CONSTITUENT on PAYMENTREVENUE.CONSTITUENTID = CONSTITUENT.ID
where REVENUE.ID = @ID
group by
[PAYMENTREVENUE].DATE,
CASE CONSTITUENT.ISORGANIZATION WHEN 1 THEN
CASE CONSTITUENT.KEYNAMEPREFIX WHEN '' THEN CONSTITUENT.KEYNAME ELSE CONSTITUENT.KEYNAMEPREFIX + ' ' + CONSTITUENT.KEYNAME END
ELSE
CASE CONSTITUENT.ISGROUP WHEN 1 THEN
CASE CONSTITUENT.DISPLAYNAME WHEN '' THEN CONSTITUENT.KEYNAME ELSE CONSTITUENT.DISPLAYNAME END
ELSE
CASE CONSTITUENT.FIRSTNAME WHEN '' THEN '' ELSE CONSTITUENT.FIRSTNAME + ' ' END
+
CASE CONSTITUENT.MIDDLENAME WHEN '' THEN '' ELSE LEFT(CONSTITUENT.MIDDLENAME,1) + '. ' END
+
CONSTITUENT.KEYNAME
END
END,
[REVENUEPAYMENTMETHOD].PAYMENTMETHOD,
[PAYMENTREVENUE].ID,
REVENUE.TRANSACTIONCURRENCYID
union
select
'Write-off',
Convert(Date, WRITEOFF.DATE) as DATE,
sum(INSTALLMENTWRITEOFF.TRANSACTIONAMOUNT),
'',
'',
1 as [TYPECODE],
null,
REVENUE.TRANSACTIONCURRENCYID
from dbo.INSTALLMENTWRITEOFF
inner join dbo.FINANCIALTRANSACTION as WRITEOFF on WRITEOFF.ID = INSTALLMENTWRITEOFF.WRITEOFFID
inner join dbo.FINANCIALTRANSACTION as REVENUE on REVENUE.ID = WRITEOFF.PARENTID
where REVENUE.ID = @ID
group by WRITEOFF.DATE, REVENUE.TRANSACTIONCURRENCYID
order by DATE, [TYPECODE]