USP_DATALIST_FAFGIFTCLAIMS
List of gift claims in FAF Event.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@GIFTCLAIMDATEFROM | datetime | IN | Date from |
@GIFTCLAIMDATETO | datetime | IN | To |
@DONORNAME | nvarchar(210) | IN | Donor |
@REGISTRANTNAME | nvarchar(210) | IN | Registrant name |
@MAXROWS | int | IN | Input parameter indicating the maximum number of rows to return. |
@SITEFILTERMODE | tinyint | IN | |
@SITESSELECTED | xml | IN | |
@SECURITYFEATUREID | uniqueidentifier | IN | |
@SECURITYFEATURETYPE | tinyint | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@SHOWUNPAID | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_FAFGIFTCLAIMS
(
@EVENTID uniqueidentifier,
@GIFTCLAIMDATEFROM datetime = null,
@GIFTCLAIMDATETO datetime = null,
@DONORNAME nvarchar(210) = null,
@REGISTRANTNAME nvarchar(210) = null,
@MAXROWS int = 1000,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null,
@CURRENTAPPUSERID uniqueidentifier = null,
@SHOWUNPAID bit = 1
)
as
;with Donors as
(
select R.ID as REVENUEID, RS.ID as REVENUESPLITID, DONS.NAME as DONORNAME, RS.AMOUNT ,RPM.PAYMENTMETHOD, R.LOOKUPID, R.DATEADDED, RR.CONSTITUENTID as RECOGNITIONCONSTITUENTID
from dbo.EVENT E With (NOLOCK)
join dbo.REVENUE R With (NOLOCK) on E.APPEALID = R.APPEALID and E.ID = @EVENTID
join dbo.REVENUESPLIT RS With (NOLOCK) on R.ID = RS.REVENUEID and R.TRANSACTIONTYPECODE = 9
join dbo.CONSTITUENT DONS With (NOLOCK) on R.CONSTITUENTID = DONS.ID
left join dbo.REVENUEPAYMENTMETHOD RPM With (NOLOCK) on RPM.REVENUEID = R.ID
left join dbo.REVENUERECOGNITION RR (nolock) on RR.REVENUESPLITID = RS.ID
where
-- Check site security
(
exists
(
select 1 from (select dbo.UFN_SITEID_MAPFROM_DESIGNATIONID(RS.DESIGNATIONID) as SITEID) REVENUESITE
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[REVENUESITE].[SITEID] or (SITEID is null and [REVENUESITE].[SITEID] is null)))
)
)
-- Site filter
and
(
@SITEFILTERMODE = 0
or
dbo.UFN_SITEID_MAPFROM_DESIGNATIONID(RS.DESIGNATIONID) in
(
select FilterSite.SITEID from dbo.UFN_SITE_BUILDDATALISTSITEFILTER(@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) FilterSite
)
)
),
EventMembers as
(
select TFT.ID as RECORDID, TFT.NAME, TX.TYPECODE, TX.[TYPE], TX.TEAMCONSTITUENTID as CONSTITUENTID
from dbo.TEAMEXTENSION TX With (NOLOCK)
join dbo.TEAMFUNDRAISINGTEAM TFT With (NOLOCK) on TX.TEAMFUNDRAISINGTEAMID = TFT.ID
where TX.EVENTID = @EVENTID
union all
select R.ID as RECORDID, C.NAME, 0 as TYPECODE, 'REGISTRANT' as [TYPE], C.ID as CONSTITUENTID
from dbo.REGISTRANT R With (NOLOCK)
join dbo.CONSTITUENT C With (NOLOCK) on R.CONSTITUENTID = C.ID
where R.EVENTID = @EVENTID
)
select top (@MAXROWS) D.REVENUEID as ID,
D.REVENUESPLITID,
ROD.EXPECTEDDATE AS DATESENT,
D.DONORNAME as DONORNAME,
D.AMOUNT AS TRANSACTIONAMOUNT,
D.PAYMENTMETHOD AS paymenttype,
isnull(tISP.CHECKNUMBER, ROD.CHECKNUMBER) CHECKNUMBER,
tISP.AMOUNT as TOTALAMOUNTRECEIVED,
case when tISP.PLEDGEID is not null and tISP.AMOUNT = D.AMOUNT then 1 else 0 end as FULLYAPPLIED,
R.NAME as RECOGNITIONREGISTRANT,
case when R.TYPECODE = 0 then RL.Role else R.[TYPE] end as [ROLE],
case when R.TYPECODE <> 0 then R.NAME else (Select TEAMNAME from dbo.UFN_FAF_GETTEAMINFO_BY_REGISTRANT(R.CONSTITUENTID,@EVENTID)) end GROUPNAME
from Donors D
left join EventMembers R on D.RECOGNITIONCONSTITUENTID = R.CONSTITUENTID
left join dbo.UFN_REGISTRANT_GETFAFROLE(@EVENTID, NULL) RL ON RL.REGISTRANTID = R.RECORDID AND R.[TYPE] = 'REGISTRANT'
left join ( select ISP.PLEDGEID, SUM(pRS.AMOUNT) as AMOUNT, dbo.UDA_BUILDLIST(CPM.CHECKNUMBER) CHECKNUMBER from
dbo.INSTALLMENTSPLITPAYMENT ISP (nolock)
join dbo.REVENUESPLIT pRS (nolock) on pRS.ID = ISP.PAYMENTID and pRS.APPLICATIONCODE = 17
join dbo.REVENUE R (nolock) on R.ID = ISP.PLEDGEID
join dbo.EVENT E (nolock) on E.APPEALID = R.APPEALID and E.ID = @EVENTID
left join dbo.REVENUEPAYMENTMETHOD RPM With (NOLOCK) on RPM.REVENUEID = pRS.REVENUEID
left join dbo.CHECKPAYMENTMETHODDETAIL CPM With (nolock) on RPM.ID = CPM.ID
group by ISP.PLEDGEID
) tISP on tISP.PLEDGEID = D.REVENUEID
left join dbo.REVENUEOFFLINEDONATION ROD on D.REVENUEID = ROD.ID
left join dbo.ADDRESSBOOKFAF AD (nolock) on AD.ID = ROD.ADDRESSBOOKFAFID
where (@GIFTCLAIMDATEFROM is null or ([ROD].[EXPECTEDDATE] is not null and convert(datetime, dbo.fnFormatDateTime([ROD].[EXPECTEDDATE], 'MM/DD/YY')) >= @GIFTCLAIMDATEFROM))
and (@GIFTCLAIMDATETO is null or ([ROD].[EXPECTEDDATE] is not null and convert(datetime, dbo.fnFormatDateTime([ROD].[EXPECTEDDATE], 'MM/DD/YY')) <= @GIFTCLAIMDATETO) )
and (nullif(@DONORNAME, '') is null or ROD.DONORNAME like '%' + @DONORNAME + '%')
and (nullif(@REGISTRANTNAME, '') is null or R.NAME like '%' + @REGISTRANTNAME + '%')
-- add filter of show unpaid
and (@SHOWUNPAID = 0 or (@SHOWUNPAID = 1 and D.AMOUNT > isnull(tISP.AMOUNT, 0)))