USP_DATALIST_STEPSCANCELLEDDECLINED
List of cancelled or declined prospect plan steps.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@ORGPOSITIONSSELECTIONID | uniqueidentifier | IN | Show for |
@TIMEPERIOD | tinyint | IN | Time period |
@SITEFILTERMODE | tinyint | IN | Sites |
@SITESSELECTED | xml | 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. |
@ONLYOWNEDINTERACTIONS | bit | IN | Only show steps owned by this fundraiser |
@MAXROWS | int | IN |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_STEPSCANCELLEDDECLINED
(
@CURRENTAPPUSERID uniqueidentifier,
@ORGPOSITIONSSELECTIONID uniqueidentifier = null,
@TIMEPERIOD tinyint = 0,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null,
@ONLYOWNEDINTERACTIONS bit = 0,
@MAXROWS int = null
)
with execute as owner
as begin
set nocount on;declare @TODAY datetime;
set @TODAY = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
if @ORGPOSITIONSSELECTIONID is null
begin
if @MAXROWS is not null
set ROWCOUNT @MAXROWS
select
I.ID,
I.STATUS,
I.STATUSCODE,
I.DATE,
NF_PC.NAME,
NF_FC.NAME,
(select dbo.UDA_BUILDLIST(NF.NAME) from dbo.INTERACTIONADDITIONALFUNDRAISER outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(INTERACTIONADDITIONALFUNDRAISER.FUNDRAISERID) NF where INTERACTIONADDITIONALFUNDRAISER.INTERACTIONID = I.ID) as FUNDRAISER,
I.OBJECTIVE,
dbo.UFN_PROSPECTPLANTYPECODE_GETDESCRIPTION(PP.PROSPECTPLANTYPECODEID),
dbo.UFN_PROSPECTPLANSTATUSCODE_GETDESCRIPTION(PP.PROSPECTPLANSTATUSCODEID),
I.ISINTERACTION,
I.DATEADDED,
dbo.UFN_PROSPECTPLAN_GETSITELIST(PP.ID) SITES,
null as ACTUALDATE,
0 as ISSTEWARDSHIPSTEP,
0 as ISINDIVIDUALSTEP
from dbo.INTERACTION I
inner join dbo.PROSPECTPLAN PP on PP.ID=I.PROSPECTPLANID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(I.CONSTITUENTID) NF_PC
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(I.FUNDRAISERID) NF_FC
where
I.STATUSCODE in (4,5)
and (
@TIMEPERIOD = 0
or (
@TIMEPERIOD <> 0
and datediff(day,I.DATE,@TODAY) < @TIMEPERIOD
)
)
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 (
@SITEFILTERMODE = 0
or PP.ID in (
select PROSPECTPLANSITE.PROSPECTPLANID
from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) SITEFILTER
inner join dbo.PROSPECTPLANSITE on PROSPECTPLANSITE.SITEID = SITEFILTER.SITEID
)
)
union all
select
I.ID as INTERACTIONID,
I.STATUS,
I.STATUSCODE,
I.DATE,
NF_PC.NAME as PROSPECTNAME,
NF_FC.NAME as OWNER,
(select dbo.UDA_BUILDLIST(NF.NAME) from dbo.INTERACTIONADDITIONALFUNDRAISER outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(INTERACTIONADDITIONALFUNDRAISER.FUNDRAISERID) NF where INTERACTIONADDITIONALFUNDRAISER.INTERACTIONID = I.ID) as FUNDRAISER,
I.OBJECTIVE,
dbo.UFN_STEWARDSHIPPLANTYPECODE_GETDESCRIPTION(SP.PLANTYPECODEID) as PLANTYPE,
dbo.UFN_STEWARDSHIPPLANSUBTYPECODE_GETDESCRIPTION(SP.PLANSUBTYPECODEID) as PLANSTAGE,
I.ISINTERACTION,
I.DATEADDED,
dbo.UFN_STEWARDSHIPPLAN_GETSITELIST(SP.ID) SITES,
null as ACTUALDATE,
1 as ISSTEWARDSHIPSTEP,
case
when CONSTITUENT.ISGROUP = 1 then 0
when CONSTITUENT.ISORGANIZATION = 1 then 0
else 1
end as ISINDIVIDUALSTEP
from
dbo.STEWARDSHIPPLANSTEP I
inner join dbo.STEWARDSHIPPLAN SP on SP.ID=I.PLANID
inner join dbo.CONSTITUENT on CONSTITUENT.ID = SP.CONSTITUENTID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(SP.CONSTITUENTID) NF_PC
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(I.CONSTITUENTID) NF_FC
where
I.STATUSCODE in (2,3)
and (
@TIMEPERIOD = 0
or (
@TIMEPERIOD <> 0
and datediff(day,I.DATE,@TODAY) < @TIMEPERIOD
)
)
and (
select count(*)
from dbo.UFN_SITEID_MAPFROM_STEWARDSHIPPLANID(SP.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 (
@SITEFILTERMODE = 0
or SP.ID in (
select STEWARDSHIPPLANSITE.STEWARDSHIPPLANID
from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) SITEFILTER
inner join dbo.STEWARDSHIPPLANSITE on STEWARDSHIPPLANSITE.SITEID = SITEFILTER.SITEID
)
)
order by
I.DATEADDED, I.ID
set rowcount 0;
end
else
begin
declare @IDS as table(ID uniqueidentifier);
insert into @IDS exec USP_ORGANIZATIONHIERARCHY_IDSET_POSITIONHOLDERS @ORGPOSITIONSSELECTIONID, @CURRENTAPPUSERID;
if @MAXROWS is not null
set ROWCOUNT @MAXROWS
select distinct
DATA.INTERACTIONID,
DATA.STATUS,
DATA.STATUSCODE,
DATA.DATE,
DATA.PROSPECTNAME,
DATA.OWNER,
DATA.FUNDRAISER,
DATA.OBJECTIVE,
DATA.PLANTYPE,
DATA.PLANSTAGE,
DATA.ISINTERACTION,
DATA.DATEADDED,
DATA.SITES,
DATA.ACTUALDATE,
DATA.ISSTEWARDSHIPSTEP,
DATA.ISINDIVIDUALSTEP
from
(select
I.ID as INTERACTIONID,
I.STATUS,
I.STATUSCODE,
I.DATE,
NF_PC.NAME as PROSPECTNAME,
NF_FC.NAME as OWNER,
(select dbo.UDA_BUILDLIST(NF.NAME) from dbo.INTERACTIONADDITIONALFUNDRAISER outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(INTERACTIONADDITIONALFUNDRAISER.FUNDRAISERID) NF where INTERACTIONADDITIONALFUNDRAISER.INTERACTIONID = I.ID) as FUNDRAISER,
I.OBJECTIVE,
dbo.UFN_PROSPECTPLANTYPECODE_GETDESCRIPTION(PP.PROSPECTPLANTYPECODEID) as PLANTYPE,
dbo.UFN_PROSPECTPLANSTATUSCODE_GETDESCRIPTION(PP.PROSPECTPLANSTATUSCODEID) as PLANSTAGE,
I.ISINTERACTION,
I.DATEADDED,
dbo.UFN_PROSPECTPLAN_GETSITELIST(PP.ID) SITES,
I.ACTUALDATE,
0 as ISSTEWARDSHIPSTEP,
0 as ISINDIVIDUALSTEP
from
dbo.INTERACTION I
inner join dbo.ORGANIZATIONPOSITIONHOLDER OPH on OPH.CONSTITUENTID = I.FUNDRAISERID and I.DATE between OPH.DATEFROM and coalesce(OPH.DATETO, I.DATE)
inner join @IDS as SELECTION on OPH.[ID] = SELECTION.[ID]
inner join dbo.PROSPECTPLAN PP on PP.ID=I.PROSPECTPLANID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(I.CONSTITUENTID) NF_PC
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(I.FUNDRAISERID) NF_FC
where
I.STATUSCODE in (4,5)
and (
@TIMEPERIOD = 0
or (
@TIMEPERIOD <> 0
and datediff(day,I.DATE,@TODAY) < @TIMEPERIOD
)
)
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 (
@SITEFILTERMODE = 0
or PP.ID in (
select PROSPECTPLANSITE.PROSPECTPLANID
from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) SITEFILTER
inner join dbo.PROSPECTPLANSITE on PROSPECTPLANSITE.SITEID = SITEFILTER.SITEID
)
)
union all
select
I.ID as INTERACTIONID,
I.STATUS,
I.STATUSCODE,
I.DATE,
NF_PC.NAME as PROSPECTNAME,
NF_FC.NAME as OWNER,
(select dbo.UDA_BUILDLIST(NF.NAME) from dbo.INTERACTIONADDITIONALFUNDRAISER outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(INTERACTIONADDITIONALFUNDRAISER.FUNDRAISERID) NF where INTERACTIONADDITIONALFUNDRAISER.INTERACTIONID = I.ID) as FUNDRAISER,
I.OBJECTIVE,
dbo.UFN_PROSPECTPLANTYPECODE_GETDESCRIPTION(PP.PROSPECTPLANTYPECODEID) as PLANTYPE,
dbo.UFN_PROSPECTPLANSTATUSCODE_GETDESCRIPTION(PP.PROSPECTPLANSTATUSCODEID) as PLANSTAGE,
I.ISINTERACTION,
I.DATEADDED,
dbo.UFN_PROSPECTPLAN_GETSITELIST(PP.ID) SITES,
I.ACTUALDATE,
0 as ISSTEWARDSHIPSTEP,
0 as ISINDIVIDUALSTEP
from
dbo.INTERACTION I
inner join dbo.INTERACTIONADDITIONALFUNDRAISER IAF on I.ID = IAF.INTERACTIONID
inner join dbo.ORGANIZATIONPOSITIONHOLDER OPH on OPH.CONSTITUENTID = IAF.FUNDRAISERID and I.DATE between OPH.DATEFROM and coalesce(OPH.DATETO, I.DATE)
inner join @IDS as SELECTION on OPH.[ID] = SELECTION.[ID]
inner join dbo.PROSPECTPLAN PP on PP.ID=I.PROSPECTPLANID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(I.CONSTITUENTID) NF_PC
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(I.FUNDRAISERID) NF_FC
where
@ONLYOWNEDINTERACTIONS = 0
and I.STATUSCODE in (4,5)
and (
@TIMEPERIOD = 0
or (
@TIMEPERIOD <> 0
and datediff(day,I.DATE,@TODAY) < @TIMEPERIOD
)
)
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 (
@SITEFILTERMODE = 0
or PP.ID in (
select PROSPECTPLANSITE.PROSPECTPLANID
from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) SITEFILTER
inner join dbo.PROSPECTPLANSITE on PROSPECTPLANSITE.SITEID = SITEFILTER.SITEID
)
)
union all
select
I.ID as INTERACTIONID,
I.STATUS,
I.STATUSCODE,
I.DATE,
NF_PC.NAME as PROSPECTNAME,
NF_FC.NAME as OWNER,
(select dbo.UDA_BUILDLIST(NF.NAME) from dbo.INTERACTIONADDITIONALFUNDRAISER outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(INTERACTIONADDITIONALFUNDRAISER.FUNDRAISERID) NF where INTERACTIONADDITIONALFUNDRAISER.INTERACTIONID = I.ID) as FUNDRAISER,
I.OBJECTIVE,
dbo.UFN_STEWARDSHIPPLANTYPECODE_GETDESCRIPTION(SP.PLANTYPECODEID) as PLANTYPE,
dbo.UFN_STEWARDSHIPPLANSUBTYPECODE_GETDESCRIPTION(SP.PLANSUBTYPECODEID) as PLANSTAGE,
I.ISINTERACTION,
I.DATEADDED,
dbo.UFN_STEWARDSHIPPLAN_GETSITELIST(SP.ID) SITES,
I.ACTUALDATE,
1 as ISSTEWARDSHIPSTEP,
case
when CONSTITUENT.ISGROUP = 1 then 0
when CONSTITUENT.ISORGANIZATION = 1 then 0
else 1
end as ISINDIVIDUALSTEP
from
dbo.STEWARDSHIPPLANSTEP I
inner join dbo.ORGANIZATIONPOSITIONHOLDER OPH on OPH.CONSTITUENTID = I.CONSTITUENTID and I.DATE between OPH.DATEFROM and coalesce(OPH.DATETO, I.DATE)
inner join @IDS as SELECTION on OPH.[ID] = SELECTION.[ID]
inner join dbo.STEWARDSHIPPLAN SP on SP.ID=I.PLANID
inner join dbo.CONSTITUENT on CONSTITUENT.ID = SP.CONSTITUENTID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(SP.CONSTITUENTID) NF_PC
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(I.CONSTITUENTID) NF_FC
where
I.STATUSCODE in (2,3)
and (
@TIMEPERIOD = 0
or (
@TIMEPERIOD <> 0
and datediff(day,I.DATE,@TODAY) < @TIMEPERIOD
)
)
and (
select count(*)
from dbo.UFN_SITEID_MAPFROM_STEWARDSHIPPLANID(SP.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 (
@SITEFILTERMODE = 0
or SP.ID in (
select STEWARDSHIPPLANSITE.STEWARDSHIPPLANID
from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) SITEFILTER
inner join dbo.STEWARDSHIPPLANSITE on STEWARDSHIPPLANSITE.SITEID = SITEFILTER.SITEID
)
)
) as DATA
order by
DATA.ACTUALDATE, DATA.DATEADDED, DATA.INTERACTIONID
set rowcount 0;
end
end