USP_DATALIST_PROSPECTTEAM
List of members for (possibly cross-site) prospect team
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PROSPECTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@VIEWINACTIVE | bit | IN | Show prior team members |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_PROSPECTTEAM
(
@PROSPECTID uniqueidentifier,
@VIEWINACTIVE bit = 0
)
as
begin
set nocount on;
declare @now DateTime = GetDate()
declare @minCompareResult int = case @viewinactive when 0 then 0 else 1 end
select
PROSPECTTEAM.ID,
PROSPECTTEAM.MEMBERID,
PROSPECTTEAM.NAME,
PROSPECTTEAM.ROLEDESCRIPTION,
PROSPECTTEAM.DATEFROM,
PROSPECTTEAM.DATETO,
PROSPECTTEAM.ORGANIZATIONALSITE,
PROSPECTTEAM.TIMEFRAME,
PROSPECTTEAM.ISFUNDRAISER,
PROSPECTTEAM.ISUSERDEFINED,
PROSPECTTEAM.ROLETIMEFRAME,
PROSPECTTEAM.PLANNAME
from
(
select
ID,
MEMBERID,
NAME,
ROLEDESCRIPTION,
DATEFROM,
DATETO,
ORGANIZATIONALSITE,
TIMEFRAME,
1 as ISFUNDRAISER,
1 as ISUSERDEFINED,
ROLEDESCRIPTION + ' - ' + TIMEFRAME as ROLETIMEFRAME,
null as PLANNAME
from
dbo.UFN_PROSPECTTEAM_SELECT(@PROSPECTID, @VIEWINACTIVE)
union all
--add primary plan managers as current unless plan is historical (historical managers will be added separately)
select
PROSPECTPLAN.ID,
PROSPECTPLAN.PRIMARYMANAGERFUNDRAISERID as MEMBERID,
PM_NF.NAME,
'Primary plan manager' as ROLEDESCRIPTION,
PROSPECTPLAN.PRIMARYMANAGERSTARTDATE as DATEFROM,
PROSPECTPLAN.PRIMARYMANAGERENDDATE as DATETO,
dbo.UFN_FUNDRAISER_GETDEFAULTSITENAME(PROSPECTPLAN.PRIMARYMANAGERFUNDRAISERID) as ORGANIZATIONALSITE,
case when PROSPECTPLAN.ISACTIVE = 1 then 'Current' else 'Prior' end as TIMEFRAME,
1 as ISFUNDRAISER,
0 as ISUSERDEFINED,
'Primary plan manager - ' + case when PROSPECTPLAN.ISACTIVE = 1 then 'Current' else 'Prior' end as ROLETIMEFRAME,
PROSPECTPLAN.NAME as PLANNAME
from
dbo.PROSPECTPLAN
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PROSPECTPLAN.PRIMARYMANAGERFUNDRAISERID) PM_NF
where
PROSPECTPLAN.PROSPECTID = @PROSPECTID and
PROSPECTPLAN.PRIMARYMANAGERFUNDRAISERID is not null and
((@VIEWINACTIVE = 0 and PROSPECTPLAN.ISACTIVE = 1) or (@VIEWINACTIVE = 1))
union all
--add secondary plan managers as current unless plan is historical (historical managers will be added separately)
select
PROSPECTPLAN.ID,
PROSPECTPLAN.SECONDARYMANAGERFUNDRAISERID as MEMBERID,
PM_NF.NAME,
'Secondary plan manager' as ROLEDESCRIPTION,
PROSPECTPLAN.SECONDARYMANAGERSTARTDATE as DATEFROM,
PROSPECTPLAN.SECONDARYMANAGERENDDATE as DATETO,
dbo.UFN_FUNDRAISER_GETDEFAULTSITENAME(PROSPECTPLAN.SECONDARYMANAGERFUNDRAISERID) as ORGANIZATIONALSITE,
case when PROSPECTPLAN.ISACTIVE = 1 then 'Current' else 'Prior' end as TIMEFRAME,
1 as ISFUNDRAISER,
0 as ISUSERDEFINED,
'Secondary plan manager - ' + case when PROSPECTPLAN.ISACTIVE = 1 then 'Current' else 'Prior' end as ROLETIMEFRAME,
PROSPECTPLAN.NAME as PLANNAME
from
dbo.PROSPECTPLAN
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PROSPECTPLAN.SECONDARYMANAGERFUNDRAISERID) PM_NF
where
PROSPECTPLAN.PROSPECTID = @PROSPECTID and
PROSPECTPLAN.SECONDARYMANAGERFUNDRAISERID is not null and
((@VIEWINACTIVE = 0 and PROSPECTPLAN.ISACTIVE = 1) or (@VIEWINACTIVE = 1))
union all
--add historical plan managers
select
PROSPECTPLANMANAGERHISTORY.ID,
PROSPECTPLANMANAGERHISTORY.FUNDRAISERID as MEMBERID,
NF.NAME,
case when PROSPECTPLANMANAGERHISTORY.ISPRIMARYMANAGER = 1 then 'Primary plan manager' else 'Secondary plan manager' end as ROLEDESCRIPTION,
PROSPECTPLANMANAGERHISTORY.DATEFROM as DATEFROM,
PROSPECTPLANMANAGERHISTORY.DATETO as DATETO,
dbo.UFN_FUNDRAISER_GETDEFAULTSITENAME(PROSPECTPLANMANAGERHISTORY.FUNDRAISERID) as ORGANIZATIONALSITE,
'Prior' as TIMEFRAME,
1 as ISFUNDRAISER,
0 as ISUSERDEFINED,
case when PROSPECTPLANMANAGERHISTORY.ISPRIMARYMANAGER = 1 then 'Primary plan manager' else 'Secondary plan manager' end + ' - Prior' as ROLETIMEFRAME,
PROSPECTPLAN.NAME as PLANNAME
from
dbo.PROSPECTPLANMANAGERHISTORY
inner join dbo.PROSPECTPLAN on PROSPECTPLANMANAGERHISTORY.PROSPECTPLANID = PROSPECTPLAN.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PROSPECTPLANMANAGERHISTORY.FUNDRAISERID) NF
where
@VIEWINACTIVE = 1 and
PROSPECTPLAN.PROSPECTID = @PROSPECTID
union all
--add secondary solicitors
select
SECONDARYFUNDRAISER.ID,
SECONDARYFUNDRAISER.FUNDRAISERID as MEMBERID,
NF.NAME,
case when SOLICITORROLECODE.ID is null then 'Secondary solicitor' else SOLICITORROLECODE.DESCRIPTION end as ROLEDESCRIPTION,
SECONDARYFUNDRAISER.DATEFROM as DATEFROM,
SECONDARYFUNDRAISER.DATETO as DATETO,
dbo.UFN_FUNDRAISER_GETDEFAULTSITENAME(SECONDARYFUNDRAISER.FUNDRAISERID) as ORGANIZATIONALSITE,
case when PROSPECTPLAN.ISACTIVE = 1 then SECONDARYFUNDRAISER.STATUS else 'Prior' end as TIMEFRAME,
1 as ISFUNDRAISER,
0 as ISUSERDEFINED,
'Secondary solicitor - ' + case when PROSPECTPLAN.ISACTIVE = 1 then SECONDARYFUNDRAISER.STATUS else 'Prior' end as ROLETIMEFRAME,
PROSPECTPLAN.NAME as PLANNAME
from
dbo.SECONDARYFUNDRAISER
inner join dbo.PROSPECTPLAN on SECONDARYFUNDRAISER.PROSPECTPLANID = PROSPECTPLAN.ID
left join dbo.SOLICITORROLECODE on SECONDARYFUNDRAISER.SOLICITORROLECODEID = SOLICITORROLECODE.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(SECONDARYFUNDRAISER.FUNDRAISERID) NF
where
((@VIEWINACTIVE = 0 and SECONDARYFUNDRAISER.STATUS <> 'Prior' and PROSPECTPLAN.ISACTIVE = 1) or (@VIEWINACTIVE = 1)) and
PROSPECTPLAN.PROSPECTID = @PROSPECTID
union all
--add stewardship plan managers as Current (historical managers will be added separately)
select
STEWARDSHIPPLAN.ID,
STEWARDSHIPPLAN.MANAGERID as MEMBERID,
NF.NAME,
'Stewardship plan manager' as ROLEDESCRIPTION,
STEWARDSHIPPLAN.MANAGERSTARTDATE as DATEFROM,
STEWARDSHIPPLAN.MANAGERENDDATE as DATETO,
dbo.UFN_FUNDRAISER_GETDEFAULTSITENAME(STEWARDSHIPPLAN.MANAGERID) as ORGANIZATIONALSITE,
'Current' as TIMEFRAME,
0 as ISFUNDRAISER,
0 as ISUSERDEFINED,
'Stewardship plan manager - Current' as ROLETIMEFRAME,
STEWARDSHIPPLAN.NAME as PLANNAME
from
dbo.STEWARDSHIPPLAN
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(STEWARDSHIPPLAN.MANAGERID) NF
where
STEWARDSHIPPLAN.CONSTITUENTID = @PROSPECTID and
STEWARDSHIPPLAN.MANAGERID is not null and
((@VIEWINACTIVE = 0 and STEWARDSHIPPLAN.ISACTIVE = 1) or (@VIEWINACTIVE = 1))
union all
--add historical stewardship plan managers
select
STEWARDSHIPPLANMANAGERHISTORY.ID,
STEWARDSHIPPLANMANAGERHISTORY.MANAGERID as MEMBERID,
NF.NAME,
'Stewardship plan manager' as ROLEDESCRIPTION,
STEWARDSHIPPLANMANAGERHISTORY.STARTDATE as DATEFROM,
STEWARDSHIPPLANMANAGERHISTORY.ENDDATE as DATETO,
dbo.UFN_FUNDRAISER_GETDEFAULTSITENAME(STEWARDSHIPPLANMANAGERHISTORY.MANAGERID) as ORGANIZATIONALSITE,
'Prior' as TIMEFRAME,
0 as ISFUNDRAISER,
0 as ISUSERDEFINED,
'Stewardship plan manager - Prior' as ROLETIMEFRAME,
STEWARDSHIPPLAN.NAME as PLANNAME
from
dbo.STEWARDSHIPPLANMANAGERHISTORY
inner join dbo.STEWARDSHIPPLAN on STEWARDSHIPPLANMANAGERHISTORY.STEWARDSHIPPLANID = STEWARDSHIPPLAN.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(STEWARDSHIPPLANMANAGERHISTORY.MANAGERID) NF
where
@VIEWINACTIVE = 1 and
STEWARDSHIPPLAN.CONSTITUENTID = @PROSPECTID
union all
--add stewards
select
STEWARDSHIPPLANSTEWARD.ID,
STEWARDSHIPPLANSTEWARD.CONSTITUENTID as MEMBERID,
NF.NAME,
case when STEWARDSHIPSTEWARDROLECODE.ID is null then 'Steward' else STEWARDSHIPSTEWARDROLECODE.DESCRIPTION end as ROLEDESCRIPTION,
STEWARDSHIPPLANSTEWARD.STARTDATE as DATEFROM,
STEWARDSHIPPLANSTEWARD.ENDDATE as DATETO,
dbo.UFN_FUNDRAISER_GETDEFAULTSITENAME(STEWARDSHIPPLANSTEWARD.CONSTITUENTID) as ORGANIZATIONALSITE,
case dbo.UFN_DATE_COMPARETODATERANGE(@now, STEWARDSHIPPLANSTEWARD.STARTDATE, STEWARDSHIPPLANSTEWARD.ENDDATE) when -1 then 'Future' when 0 then 'Current' when 1 then 'Prior' else '' end as TIMEFRAME,
0 as ISFUNDRAISER,
0 as ISUSERDEFINED,
'Steward - ' + case dbo.UFN_DATE_COMPARETODATERANGE(@now, STEWARDSHIPPLANSTEWARD.STARTDATE, STEWARDSHIPPLANSTEWARD.ENDDATE) when -1 then 'Future' when 0 then 'Current' when 1 then 'Prior' else '' end as ROLETIMEFRAME,
STEWARDSHIPPLAN.NAME as PLANNAME
from
dbo.STEWARDSHIPPLANSTEWARD
inner join dbo.STEWARDSHIPPLAN on STEWARDSHIPPLANSTEWARD.PLANID = STEWARDSHIPPLAN.ID
left join dbo.STEWARDSHIPSTEWARDROLECODE on STEWARDSHIPPLANSTEWARD.ROLECODEID = STEWARDSHIPSTEWARDROLECODE.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(STEWARDSHIPPLANSTEWARD.CONSTITUENTID) NF
where
((@VIEWINACTIVE = 0 and STEWARDSHIPPLAN.ISACTIVE = 1 and dbo.UFN_DATE_COMPARETODATERANGE(@now, STEWARDSHIPPLANSTEWARD.STARTDATE, STEWARDSHIPPLANSTEWARD.ENDDATE)<=0) or (@VIEWINACTIVE = 1)) and
STEWARDSHIPPLAN.CONSTITUENTID = @PROSPECTID
) PROSPECTTEAM
left join dbo.CONSTITUENT on PROSPECTTEAM.MEMBERID = CONSTITUENT.ID
order by PROSPECTTEAM.TIMEFRAME, PROSPECTTEAM.PLANNAME, PROSPECTTEAM.ROLEDESCRIPTION, CONSTITUENT.KEYNAME
end