USP_DATALIST_UNASSIGNEDPROSPECTS
List of prospects without a primary manager assigned.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@ORGPOSITIONSSELECTIONID | uniqueidentifier | IN | Show for |
@PROSPECTSTATUSCODEID | uniqueidentifier | IN | Prospect status |
@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_UNASSIGNEDPROSPECTS
(
@CURRENTAPPUSERID uniqueidentifier,
@ORGPOSITIONSSELECTIONID uniqueidentifier = null,
@PROSPECTSTATUSCODEID uniqueidentifier = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
) as begin
set nocount on;
declare @TODAY datetime;
set @TODAY = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
declare @UPPERBOUND datetime;
set @UPPERBOUND = dbo.UFN_DATE_GETLATESTTIME(@CURRENTDATE);
declare @LOWERBOUND datetime;
set @LOWERBOUND = dbo.UFN_DATE_GETEARLIESTTIME(@CURRENTDATE);
declare @ISSYSADMIN bit;
set @ISSYSADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
if @ORGPOSITIONSSELECTIONID is null
select
PC.ID,
PP.ID,
PC_NF.NAME,
case when PP.ID is null then '' else
dbo.UFN_PROSPECTPLANTYPECODE_GETDESCRIPTION(PP.PROSPECTPLANTYPECODEID) + ' - '
+ dbo.UFN_PROSPECTPLANSTATUSCODE_GETDESCRIPTION(PP.PROSPECTPLANSTATUSCODEID)
end,
LCI.OBJECTIVE,
LCI.ACTUALDATE,
NPI.ID,
NPI.OBJECTIVE,
NPI.EXPECTEDDATE,
PROMGR_NF.NAME,
dbo.UFN_PROSPECTSTATUSCODE_GETDESCRIPTION(P.PROSPECTSTATUSCODEID),
(case when PP.SECONDARYMANAGERFUNDRAISERID is null then 0 else 1 end) HASSECONDARYMANAGER
from
dbo.CONSTITUENT PC
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PC.ID) PC_NF
inner join dbo.PROSPECTDATERANGE PDR on PDR.CONSTITUENTID = PC.ID and
(PDR.DATEFROM <= @UPPERBOUND or PDR.DATEFROM is null) and
(PDR.DATETO >= @LOWERBOUND or PDR.DATETO is null)
left outer join dbo.PROSPECT P on P.ID=PC.ID
left outer join dbo.PROSPECTPLAN PP on PP.PROSPECTID=PC.ID
left outer join dbo.INTERACTION LCI on LCI.ID = dbo.UFN_PROSPECTPLAN_GETLASTSTEP(PP.ID)
left outer join dbo.INTERACTION NPI on NPI.ID = dbo.UFN_PROSPECTPLAN_GETNEXTSTEP(PP.ID)
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(P.PROSPECTMANAGERFUNDRAISERID) PROMGR_NF
where
PP.PRIMARYMANAGERFUNDRAISERID is null
and (
@PROSPECTSTATUSCODEID is null
or @PROSPECTSTATUSCODEID = P.PROSPECTSTATUSCODEID
)
and (
@ISSYSADMIN = 1
or (
dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_FORCONSTIT(@CURRENTAPPUSERID, 'B47A172B-3DF8-4a04-9B34-696112F65B04', PC.ID) = 1
and
(
(
select count(*)
from dbo.UFN_SITEID_MAPFROM_PROSPECTPLANID(PP.ID) as SITE
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[SITE].[SITEID] or (SITEID is null and [SITE].[SITEID] is null)))
) > 0
or
(
select count(*)
from dbo.UFN_SITEID_MAPFROM_CONSTITUENTID(PC.ID) as SITE
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[SITE].[SITEID] or (SITEID is null and [SITE].[SITEID] is null)))
) > 0
)
)
)
order by
PC.KEYNAME, PC_NF.NAME
else
begin
declare @IDS as table(ID uniqueidentifier);
insert into @IDS exec USP_ORGANIZATIONHIERARCHY_IDSET_POSITIONHOLDERS @ORGPOSITIONSSELECTIONID, @CURRENTAPPUSERID;
select
PC.ID,
PP.ID,
PC_NF.NAME,
case when PP.ID is null then '' else
dbo.UFN_PROSPECTPLANTYPECODE_GETDESCRIPTION(PP.PROSPECTPLANTYPECODEID) + ' - '
+ dbo.UFN_PROSPECTPLANSTATUSCODE_GETDESCRIPTION(PP.PROSPECTPLANSTATUSCODEID)
end,
LCI.OBJECTIVE,
LCI.ACTUALDATE,
NPI.ID,
NPI.OBJECTIVE,
NPI.EXPECTEDDATE,
PROMGR_NF.NAME,
dbo.UFN_PROSPECTSTATUSCODE_GETDESCRIPTION(P.PROSPECTSTATUSCODEID),
(case when PP.SECONDARYMANAGERFUNDRAISERID is null then 0 else 1 end) HASSECONDARYMANAGER
from
dbo.CONSTITUENT PC
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PC.ID) PC_NF
inner join dbo.PROSPECTDATERANGE PDR on PDR.CONSTITUENTID = PC.ID and
(PDR.DATEFROM <= @UPPERBOUND or PDR.DATEFROM is null) and
(PDR.DATETO >= @LOWERBOUND or PDR.DATETO is null)
inner join dbo.PROSPECT P on P.ID=PC.ID
left outer join dbo.PROSPECTPLAN PP on PP.PROSPECTID=PC.ID
left outer join dbo.INTERACTION LCI on LCI.ID = dbo.UFN_PROSPECTPLAN_GETLASTSTEP(PP.ID)
left outer join dbo.INTERACTION NPI on NPI.ID = dbo.UFN_PROSPECTPLAN_GETNEXTSTEP(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]
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(P.PROSPECTMANAGERFUNDRAISERID) PROMGR_NF
where
PP.PRIMARYMANAGERFUNDRAISERID is null
and (
@PROSPECTSTATUSCODEID is null
or @PROSPECTSTATUSCODEID = P.PROSPECTSTATUSCODEID
)
and (
@ISSYSADMIN = 1
or (
dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_FORCONSTIT(@CURRENTAPPUSERID, 'B47A172B-3DF8-4a04-9B34-696112F65B04', PC.ID) = 1
and
(
(
select count(*)
from dbo.UFN_SITEID_MAPFROM_PROSPECTPLANID(PP.ID) as SITE
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[SITE].[SITEID] or (SITEID is null and [SITE].[SITEID] is null)))
) > 0
or
(
select count(*)
from dbo.UFN_SITEID_MAPFROM_CONSTITUENTID(PC.ID) as SITE
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[SITE].[SITEID] or (SITEID is null and [SITE].[SITEID] is null)))
) > 0
)
)
)
order by
PC.KEYNAME, PC_NF.NAME
end
end