USP_SMARTFIELD_GETDONAORRAISEDRETAINED
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ASOF | datetime | IN |
Definition
Copy
CREATE procedure dbo.USP_SMARTFIELD_GETDONAORRAISEDRETAINED
(
@ASOF datetime =null
)
as
;with [EVENTTOTAL_CTE]
as
(
select E.EVENTID AS ID,
sum(isnull([ORIGINAL amount],0)) as [ORIGINALAMOUNT]
,sum(isnull([APPLIED AMOUNT] ,0)) as [APPLIEDAMOUNT]
,TRANSACTIONTYPE as [REVENUETYPE]
from dbo.EVENTEXTENSION E
outer apply [dbo].[UFN_REVENUE_EVENTREVENUEDETAILS](E.EVENTID) R
where R.CONSTITUENTID in (
select FT1.CONSTITUENTID from dbo.FINANCIALTRANSACTION FT1 (nolock)
join dbo.REVENUE_EXT RE1 (nolock) on FT1.ID = RE1.ID
join dbo.EVENT E1 (nolock) on E1.APPEALID = RE1.APPEALID
join dbo.EVENTEXTENSION EX1 (nolock) on EX1.PRIORYEAREVENTID = E1.ID and EX1.EVENTID = E.EVENTID
)
group by E.EVENTID,transactiontype
),
[TotalRaisedByRetainedDonors] as
(
select ECTE.ID, [REVENUETYPE],
case
when [REVENUETYPE] = 'Donation' THEN [ORIGINALAMOUNT]
when [REVENUETYPE] = 'Offline Donation' THEN
case when C.UNCONFIRMEDPARTICIPANTGIFTENTRY=1 then [ORIGINALAMOUNT] ELSE [APPLIEDAMOUNT] END
when [REVENUETYPE] = 'Event registration' then
case when C.ISREGISTRATIONREVENUE = 1 then [ORIGINALAMOUNT] else 0 end
when [REVENUETYPE] = 'Pledge' then
case when C.ISUNPAIDPLEDGES=1 then [ORIGINALAMOUNT] else [APPLIEDAMOUNT] end
when [REVENUETYPE] = 'Event sponsorship' then
case when C.ISSPONSORSHIPREVENUE = 0 then 0 else
case when C.ISUNPAIDSPONSORSHIPREVENUE=1 then [ORIGINALAMOUNT] else [APPLIEDAMOUNT] end
end
when [REVENUETYPE] = 'Matching gift' then
case when C.ISPENDINGMATCHINGGIFTS=1 then [ORIGINALAMOUNT] else [APPLIEDAMOUNT] end
when [REVENUETYPE] = 'Recurring gift' then
case when C.ISUNPAIDRECURRINGGIFTS=1 then [ORIGINALAMOUNT] else [APPLIEDAMOUNT] end
end as [TOTAL]
from [EVENTTOTAL_CTE] ECTE
join FAFEVENTDONATIONOPTIONSCONFIG C on C.EVENTID = ECTE.ID
)
select ID,
SUM([TOTAL]) as VALUE
from [TotalRaisedByRetainedDonors]
where REVENUETYPE not in ('Event registration', 'Event sponsorship')
group by ID