USP_DATAFORMTEMPLATE_DATALIST_FUNDRAISERSUMMARYOPPORTUNITIES2
Fetches summary information for a fundraiser's opportunities and asks.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@FUNDRAISERID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@PROSPECTPLANTYPECODEID | uniqueidentifier | 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_FUNDRAISERSUMMARYOPPORTUNITIES2
(
@FUNDRAISERID uniqueidentifier,
@PROSPECTPLANTYPECODEID uniqueidentifier = null,
@CURRENTAPPUSERID uniqueidentifier = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
)
as begin
set nocount on;
declare @OVERDUERESPONSESCOUNT int;
declare @OVERDUERESPONSESAMOUNT money;
declare @OVERDUEASKSCOUNT int;
declare @OVERDUEASKSAMOUNT money;
declare @FUZZYTODAY dbo.UDT_FUZZYDATE;
set @FUZZYTODAY = convert(nvarchar(8), getdate(), 112);
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
@OVERDUEASKSCOUNT = count(*),
@OVERDUEASKSAMOUNT = 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 (@PROSPECTPLANTYPECODEID is null or PP.PROSPECTPLANTYPECODEID = @PROSPECTPLANTYPECODEID)
and O.ASKDATE<@FUZZYTODAY
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
--and PP.PRIMARYMANAGERFUNDRAISERID=@FUNDRAISERID;
select
@OVERDUERESPONSESCOUNT = count(*),
@OVERDUERESPONSESAMOUNT = 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 (@PROSPECTPLANTYPECODEID is null or PP.PROSPECTPLANTYPECODEID = @PROSPECTPLANTYPECODEID)
and O.RESPONSEDATE<@FUZZYTODAY
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
--and PP.PRIMARYMANAGERFUNDRAISERID=@FUNDRAISERID;
select
@OVERDUEASKSCOUNT,
@OVERDUEASKSAMOUNT,
@OVERDUERESPONSESCOUNT,
@OVERDUERESPONSESAMOUNT,
@CURRENCYID
return 0;
end