USP_DATALIST_PLANNEDGIFTSTOBERECONCILED
Data list of all planned gifts with adjusted revenue or payments.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@ORGPOSITIONSSELECTIONID | uniqueidentifier | IN | Show for |
@SITEFILTERMODE | tinyint | IN | Sites |
@SITESSELECTED | xml | IN | |
@INCLUDECOMPLETED | bit | IN | Include completed |
@DATAWINDOWOPEN | datetime | IN | |
@DATAWINDOWCLOSE | datetime | IN | |
@SECURITYFEATUREID | uniqueidentifier | IN | Input parameter indicating the ID of the feature to use for site security checking. |
@SECURITYFEATURETYPE | tinyint | IN | Input parameter indicating the type of the feature to use for site security checking. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_PLANNEDGIFTSTOBERECONCILED
(
@CURRENTAPPUSERID uniqueidentifier,
@ORGPOSITIONSSELECTIONID uniqueidentifier = null,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@INCLUDECOMPLETED bit = 0,
@DATAWINDOWOPEN datetime = null,
@DATAWINDOWCLOSE datetime = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
)
as
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
declare @ISSYSADMIN bit;
set @ISSYSADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
declare @IMAGEKEY nvarchar(32) = N'res:check'
if @ORGPOSITIONSSELECTIONID is null
select
PGR.ID,
PGR.PLANNEDGIFTID,
PGR.PLANNEDGIFTADDITIONID,
PGR.REVENUEID,
PROMGR_NF.NAME PROSPECTMANAGER,
PRIMARYMGR_NF.NAME PRIMARYMANAGER,
SECONDARYMGR_NF.NAME SECONDARYMANAGER,
CONSTITUENT_NF.NAME CONSTITUENT,
case when PGR.PLANNEDGIFTADDITIONID is null then PG.GIFTDATE else PGA.GIFTDATE end GIFTDATE,
case when PGR.PLANNEDGIFTADDITIONID is null then PG.GIFTAMOUNT else PGA.GIFTAMOUNT end GIFTAMOUNT,
case when PLANNEDGIFTADDITIONID is null then 'Planned gift' else 'Addition' end +
case REVENUE.TRANSACTIONTYPECODE when 0 then ' payment' else ' revenue' end
GIFTTYPE,
dbo.UFN_PLANNEDGIFT_GETSITELIST(PG.ID) SITES,
PGR.DATECHANGED,
case COMPLETED when 0 then '' else @IMAGEKEY end IMAGEKEY,
case when PGR.PLANNEDGIFTADDITIONID is null then 0 else 1 end ISADDITION,
case REVENUE.TRANSACTIONTYPECODE when 0 then 1 else 0 end ISPAYMENT,
COMPLETED as ISCOMPLETED,
PG.BASECURRENCYID,
PG.TRANSACTIONCURRENCYID,
PG.TRANSACTIONGIFTAMOUNT
from
dbo.PLANNEDGIFTRECONCILE PGR
inner join dbo.PLANNEDGIFT PG on PGR.PLANNEDGIFTID = PG.ID
inner join dbo.PROSPECT P on PG.CONSTITUENTID = P.ID
left join dbo.PLANNEDGIFTADDITION PGA on PGR.PLANNEDGIFTADDITIONID = PGA.ID
left join dbo.REVENUE on PGR.REVENUEID = REVENUE.ID
left join dbo.PROSPECTPLAN PP on PG.PROSPECTPLANID = PP.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PG.CONSTITUENTID) CONSTITUENT_NF
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PP.PRIMARYMANAGERFUNDRAISERID) PRIMARYMGR_NF
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PP.SECONDARYMANAGERFUNDRAISERID) SECONDARYMGR_NF
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(P.PROSPECTMANAGERFUNDRAISERID) PROMGR_NF
where
(@INCLUDECOMPLETED = 1 or PGR.COMPLETED = 0)
and (@DATAWINDOWOPEN is null or @DATAWINDOWCLOSE is null or PGR.DATECHANGED between @DATAWINDOWOPEN and @DATAWINDOWCLOSE)
and (
select count(*)
from dbo.UFN_SITEID_MAPFROM_PLANNEDGIFTID(PG.ID) as PLANNEDGIFTSITE
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[PLANNEDGIFTSITE].[SITEID] or (SITEID is null and [PLANNEDGIFTSITE].[SITEID] is null)))
) > 0
and
@SITEFILTERMODE = 0
or PG.ID in (
select PLANNEDGIFTSITE.PLANNEDGIFTID
from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) as SITEFILTER
inner join dbo.PLANNEDGIFTSITE on PLANNEDGIFTSITE.SITEID = SITEFILTER.SITEID
)
and (
@ISSYSADMIN = 1
or
dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_FORCONSTIT(@CURRENTAPPUSERID,'0c24bdb7-ca86-46be-a0b2-4b853e29acb6',PG.CONSTITUENTID) = 1
)
else
begin
declare @TODAY datetime;
set @TODAY = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
declare @IDS as table(ID uniqueidentifier);
insert into @IDS exec USP_ORGANIZATIONHIERARCHY_IDSET_POSITIONHOLDERS @ORGPOSITIONSSELECTIONID, @CURRENTAPPUSERID;
select
PGR.ID,
PGR.PLANNEDGIFTID,
PGR.PLANNEDGIFTADDITIONID,
PGR.REVENUEID,
PROMGR_NF.NAME PROSPECTMANAGER,
PRIMARYMGR_NF.NAME PRIMARYMANAGER,
SECONDARYMGR_NF.NAME SECONDARYMANAGER,
CONSTITUENT_NF.NAME CONSTITUENT,
case when PGR.PLANNEDGIFTADDITIONID is null then PG.GIFTDATE else PGA.GIFTDATE end GIFTDATE,
case when PGR.PLANNEDGIFTADDITIONID is null then PG.GIFTAMOUNT else PGA.GIFTAMOUNT end GIFTAMOUNT,
case when PLANNEDGIFTADDITIONID is null then 'Planned gift' else 'Addition' end GIFTTYPE,
dbo.UFN_PLANNEDGIFT_GETSITELIST(PG.ID) SITES,
PGR.DATECHANGED,
case COMPLETED when 0 then '' else @IMAGEKEY end IMAGEKEY,
case when PGR.PLANNEDGIFTADDITIONID is null then 0 else 1 end ISADDITION,
case REVENUE.TRANSACTIONTYPECODE when 0 then 1 else 0 end ISPAYMENT,
COMPLETED as ISCOMPLETED,
PG.BASECURRENCYID,
PG.TRANSACTIONCURRENCYID,
PG.TRANSACTIONGIFTAMOUNT
from
dbo.PLANNEDGIFTRECONCILE PGR
inner join dbo.PLANNEDGIFT PG on PGR.PLANNEDGIFTID = PG.ID
inner join dbo.PROSPECT P on PG.CONSTITUENTID = P.ID
left join dbo.PLANNEDGIFTADDITION PGA on PGR.PLANNEDGIFTADDITIONID = PGA.ID
left join dbo.PROSPECTPLAN PP on PG.PROSPECTPLANID = PP.ID
inner join dbo.ORGANIZATIONPOSITIONHOLDER OPH
on OPH.CONSTITUENTID = P.PROSPECTMANAGERFUNDRAISERID and @TODAY between OPH.DATEFROM and coalesce(OPH.DATETO, @TODAY)
inner join @IDS as SELECTION on OPH.[ID] = SELECTION.[ID]
left join dbo.REVENUE on PGR.REVENUEID = REVENUE.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PG.CONSTITUENTID) CONSTITUENT_NF
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PP.PRIMARYMANAGERFUNDRAISERID) PRIMARYMGR_NF
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PP.SECONDARYMANAGERFUNDRAISERID) SECONDARYMGR_NF
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(P.PROSPECTMANAGERFUNDRAISERID) PROMGR_NF
where
(@INCLUDECOMPLETED = 1 or PGR.COMPLETED = 0)
and (@DATAWINDOWOPEN is null or @DATAWINDOWCLOSE is null or PGR.DATECHANGED between @DATAWINDOWOPEN and @DATAWINDOWCLOSE)
and (
select count(*)
from dbo.UFN_SITEID_MAPFROM_PLANNEDGIFTID(PG.ID) as PLANNEDGIFTSITE
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[PLANNEDGIFTSITE].[SITEID] or (SITEID is null and [PLANNEDGIFTSITE].[SITEID] is null)))
) > 0
and
@SITEFILTERMODE = 0
or PG.ID in (
select PLANNEDGIFTSITE.PLANNEDGIFTID
from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) as SITEFILTER
inner join dbo.PLANNEDGIFTSITE on PLANNEDGIFTSITE.SITEID = SITEFILTER.SITEID
)
and (
@ISSYSADMIN = 1
or
dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_FORCONSTIT(@CURRENTAPPUSERID,'0c24bdb7-ca86-46be-a0b2-4b853e29acb6',PG.CONSTITUENTID) = 1
)
end