USP_DATAFORMTEMPLATE_DATALIST_FUNDRAISERSUMMARYFUTURE2
Fetches summary information for a fundraiser's outstanding asks.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@DATEFILTER | tinyint | IN | |
@FUNDRAISERID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@PROSPECTPLANTYPECODEID | uniqueidentifier | IN | |
@STARTDATE | datetime | IN | |
@ENDDATE | datetime | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@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_DATAFORMTEMPLATE_DATALIST_FUNDRAISERSUMMARYFUTURE2
(
@DATEFILTER tinyint,
@FUNDRAISERID uniqueidentifier,
@PROSPECTPLANTYPECODEID uniqueidentifier = null,
@STARTDATE datetime = null,
@ENDDATE datetime = null,
@CURRENTAPPUSERID uniqueidentifier = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
)
as begin
set nocount on;
declare @QUALIFIEDASKSCOUNT int;
declare @QUALIFIEDASKSAMOUNT money;
declare @UNQUALIFIEDASKSCOUNT int;
declare @UNQUALIFIEDASKSAMOUNT money;
declare @RESPONSEPENDINGASKCOUNT int;
declare @RESPONSEPENDINGASKAMOUNT money;
exec dbo.USP_RESOLVEDATEFILTER @DATEFILTER, @STARTDATE output, @ENDDATE output
declare @CURRENCYID uniqueidentifier;
select @CURRENCYID = dbo.UFN_APPUSER_GETBASECURRENCY(APPUSER.ID) from dbo.APPUSER where APPUSER.CONSTITUENTID = @FUNDRAISERID;
if @CURRENCYID is null
set @CURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
select @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
select
@QUALIFIEDASKSCOUNT = count(*),
@QUALIFIEDASKSAMOUNT = coalesce(sum(OPPORTUNITYBULK.AMOUNTINCURRENCY), 0)
from
dbo.OPPORTUNITY O
inner join dbo.UFN_OPPORTUNITY_AMOUNTINCURRENCY_BULK(@CURRENCYID, @ORGANIZATIONCURRENCYID) OPPORTUNITYBULK on O.ID = OPPORTUNITYBULK.ID
inner join dbo.PROSPECTPLAN PP on PP.ID = O.PROSPECTPLANID
where
O.STATUSCODE=1
and exists (select 1 from dbo.V_OPPORTUNITYSOLICITOR OS where OS.FUNDRAISERID = @FUNDRAISERID AND OS.OPPORTUNITYID = O.ID)
--and PP.PRIMARYMANAGERFUNDRAISERID=@FUNDRAISERID
and (@PROSPECTPLANTYPECODEID is null or PP.PROSPECTPLANTYPECODEID = @PROSPECTPLANTYPECODEID)
and (O.ASKDATE is null
and (O.EXPECTEDASKDATE>=convert(nvarchar(8), @STARTDATE, 112)
and O.EXPECTEDASKDATE<=convert(nvarchar(8), @ENDDATE, 112))
or (O.ASKDATE>=convert(nvarchar(8), @STARTDATE, 112)
and O.ASKDATE<=convert(nvarchar(8), @ENDDATE, 112))
or (O.ASKDATE is null and O.EXPECTEDASKDATE is null and @DATEFILTER in (10,26))
)
and (
select count(*)
from dbo.UFN_SITEID_MAPFROM_PROSPECTPLANID(PP.ID) as PROSPECTPLANSITE
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[PROSPECTPLANSITE].[SITEID] or (SITEID is null and [PROSPECTPLANSITE].[SITEID] is null)))
) > 0;
select
@RESPONSEPENDINGASKCOUNT = count(*),
@RESPONSEPENDINGASKAMOUNT = coalesce(sum(OPPORTUNITYBULK.AMOUNTINCURRENCY), 0)
from
dbo.OPPORTUNITY O
inner join dbo.UFN_OPPORTUNITY_AMOUNTINCURRENCY_BULK(@CURRENCYID, @ORGANIZATIONCURRENCYID) OPPORTUNITYBULK on O.ID = OPPORTUNITYBULK.ID
inner join dbo.PROSPECTPLAN PP on PP.ID = O.PROSPECTPLANID
where
O.STATUSCODE=2
and exists (select 1 from dbo.V_OPPORTUNITYSOLICITOR OS where OS.FUNDRAISERID = @FUNDRAISERID AND OS.OPPORTUNITYID = O.ID)
--and PP.PRIMARYMANAGERFUNDRAISERID=@FUNDRAISERID
and (@PROSPECTPLANTYPECODEID is null or PP.PROSPECTPLANTYPECODEID = @PROSPECTPLANTYPECODEID)
and (O.ASKDATE is null
and (O.EXPECTEDASKDATE>=convert(nvarchar(8), @STARTDATE, 112)
and O.EXPECTEDASKDATE<=convert(nvarchar(8), @ENDDATE, 112))
or (O.ASKDATE>=convert(nvarchar(8), @STARTDATE, 112)
and O.ASKDATE<=convert(nvarchar(8), @ENDDATE, 112))
or (O.ASKDATE is null and O.EXPECTEDASKDATE is null and @DATEFILTER in (10,26))
)
and (
select count(*)
from dbo.UFN_SITEID_MAPFROM_PROSPECTPLANID(PP.ID) as PROSPECTPLANSITE
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[PROSPECTPLANSITE].[SITEID] or (SITEID is null and [PROSPECTPLANSITE].[SITEID] is null)))
) > 0;
select
@UNQUALIFIEDASKSCOUNT = count(*),
@UNQUALIFIEDASKSAMOUNT = coalesce(sum(OPPORTUNITYBULK.AMOUNTINCURRENCY), 0)
from
dbo.OPPORTUNITY O
inner join dbo.UFN_OPPORTUNITY_AMOUNTINCURRENCY_BULK(@CURRENCYID, @ORGANIZATIONCURRENCYID) OPPORTUNITYBULK on O.ID = OPPORTUNITYBULK.ID
inner join dbo.PROSPECTPLAN PP on PP.ID = O.PROSPECTPLANID
where
O.STATUSCODE=0
and exists (select 1 from dbo.V_OPPORTUNITYSOLICITOR OS where OS.FUNDRAISERID = @FUNDRAISERID AND OS.OPPORTUNITYID = O.ID)
--and PP.PRIMARYMANAGERFUNDRAISERID=@FUNDRAISERID
and (@PROSPECTPLANTYPECODEID is null or PP.PROSPECTPLANTYPECODEID = @PROSPECTPLANTYPECODEID)
and ((O.EXPECTEDASKDATE>=convert(nvarchar(8), @STARTDATE, 112) and O.EXPECTEDASKDATE<=convert(nvarchar(8), @ENDDATE, 112))
or (O.EXPECTEDASKDATE is null and @DATEFILTER in (10,26)))
and (
select count(*)
from dbo.UFN_SITEID_MAPFROM_PROSPECTPLANID(PP.ID) as PROSPECTPLANSITE
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[PROSPECTPLANSITE].[SITEID] or (SITEID is null and [PROSPECTPLANSITE].[SITEID] is null)))
) > 0;
select
@QUALIFIEDASKSCOUNT,
@QUALIFIEDASKSAMOUNT,
@RESPONSEPENDINGASKCOUNT,
@RESPONSEPENDINGASKAMOUNT,
@CURRENCYID,
@UNQUALIFIEDASKSCOUNT,
@UNQUALIFIEDASKSAMOUNT;
return 0;
end