USP_DATALIST_RECONCILE_MATCHINGGIFTSCLAIMS
This datalist displays unapplied matching gift claims for an organization
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | Constituent ID |
@COMMITMENTS | smallint | IN | Commitments |
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_RECONCILE_MATCHINGGIFTSCLAIMS
(
@CONSTITUENTID uniqueidentifier = null,
@COMMITMENTS smallint = 0,
@CURRENTAPPUSERID uniqueidentifier = null
)
as
set nocount on;
declare @NOW datetime = getdate();
declare @STARTDATE datetime;
declare @ENDDATE datetime;
if @COMMITMENTS = 0 --Past 6 months
begin
set @ENDDATE = dbo.UFN_DATE_GETLATESTTIME(@NOW);
set @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(DATEADD(month,-6, @NOW));
end
else if @COMMITMENTS = 1 --This year
begin
set @STARTDATE = dbo.UFN_DATE_THISCALENDARYEAR_FIRSTDAY(@NOW,0);
set @ENDDATE = dbo.UFN_DATE_THISCALENDARYEAR_LASTDAY(@NOW,1);
end
else if @COMMITMENTS = 2 --Last year
begin
set @STARTDATE = dbo.UFN_DATE_LASTCALENDARYEAR_FIRSTDAY(@NOW,0);
set @ENDDATE = dbo.UFN_DATE_LASTCALENDARYEAR_LASTDAY(@NOW,1);
end
declare @FILTERED_REVENUESPLIT table
(
REVENUEID uniqueidentifier,
REVENUESPLITID uniqueidentifier,
CONSTITUENTID uniqueidentifier,
TRANSACTIONTYPECODE tinyint,
CONSTITUENTNAME nvarchar(400),
APPLIED money,
CLAIMAMOUNT money,
DATE datetime,
DESIGNATIONLOOKUPID nvarchar(512),
DESIGNATIONID uniqueidentifier,
CONSTITUENTLOOKUPID nvarchar(200),
TRANSACTIONCURRENCYID uniqueidentifier,
DATEADDED datetime
);
insert into @FILTERED_REVENUESPLIT
(
REVENUEID,
REVENUESPLITID,
CONSTITUENTID,
TRANSACTIONTYPECODE,
CONSTITUENTNAME,
APPLIED,
DATE,
DESIGNATIONLOOKUPID,
DESIGNATIONID,
CONSTITUENTLOOKUPID,
TRANSACTIONCURRENCYID,
DATEADDED
)
select
R.ID,
RS.ID as REVENUESPLITID,
C.ID as CONSTITUENTID,
R.TRANSACTIONTYPECODE,
C1.NAME as CONSTITUENTNAME,
0 as APPLIED,
R.DATE as DATE,
D.USERID as DESIGNATIONLOOKUPID,
RS.DESIGNATIONID,
C1.LOOKUPID as CONSTITUENTLOOKUPID,
RS.TRANSACTIONCURRENCYID,
RS.DATEADDED
from
dbo.REVENUE R
inner join
dbo.REVENUESPLIT RS on R.ID = RS.REVENUEID
inner join
dbo.CONSTITUENT C on R.CONSTITUENTID = C.ID
inner join
dbo.DESIGNATION D on RS.DESIGNATIONID = D.ID
left join
dbo.REVENUEMATCHINGGIFT MG1 on MG1.ID = R.ID
left join
dbo.REVENUE R1 on R1.ID = MG1.MGSOURCEREVENUEID
left join
dbo.CONSTITUENT C1 on C1.ID = R1.CONSTITUENTID
where
R.TRANSACTIONTYPECODE = 3 and
R.DATE >= @STARTDATE and
R.DATE <= @ENDDATE and
(
C.ID = @CONSTITUENTID
-- AdamBu - Bug 16530 - Include matching gift claims from orgs to which the given constituent is a parent corp.
or c.ID in
(
select ID
from ORGANIZATIONDATA
where PARENTCORPID = @CONSTITUENTID
)
);
select
RS.REVENUESPLITID,
RS.CONSTITUENTID,
RS.TRANSACTIONTYPECODE,
RS.CONSTITUENTNAME,
RS.APPLIED,
INSTALLMENTSPLIT.BALANCE as CLAIMAMOUNT,
RS.DATE,
RS.DESIGNATIONLOOKUPID,
RS.DESIGNATIONID,
RS.CONSTITUENTLOOKUPID,
RS.TRANSACTIONCURRENCYID,
RS.DATEADDED
from
@FILTERED_REVENUESPLIT RS
--JamesWill WI180281 2012-01-03 Only return records to which the user has site access
inner join
dbo.UFN_REVENUE_USERHASDESIGNATIONSITEACCESS_BULK(@CURRENTAPPUSERID) ALLOWED on ALLOWED.ID = RS.REVENUEID
inner join
dbo.UFN_INSTALLMENT_GETINSTALLMENTSPLITBALANCE_BULK() as INSTALLMENTSPLIT
on INSTALLMENTSPLIT.PLEDGEID = RS.REVENUEID and INSTALLMENTSPLIT.DESIGNATIONID = RS.DESIGNATIONID
where
ALLOWED.ACCESSGRANTED = 1 and
INSTALLMENTSPLIT.BALANCE > 0
order by
RS.DATE,RS.DATEADDED;