USP_DATALIST_PROSPECTPLAN_COMPLETEDSTEWARDSHIPSTEPS
List of completed stewardship steps associated with a given prospect plan.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PLANID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@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. |
@SITEFILTERMODE | tinyint | IN | Sites |
@SITESSELECTED | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_PROSPECTPLAN_COMPLETEDSTEWARDSHIPSTEPS
(
@PLANID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@SECURITYFEATUREID uniqueidentifier,
@SECURITYFEATURETYPE tinyint,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null
)
as begin
set nocount on;
select
STEP.ID,
STEP.PLANID,
CATEGORYCODE.DESCRIPTION as CATEGORY,
STEP.OBJECTIVE,
STEP.ACTUALDATE,
NF_CONTACT.NAME as CONTACTPERSON,
INTERACTIONTYPECODE.DESCRIPTION as CONTACTMETHOD,
NF_ASSIGNEDTO.NAME as ASSIGNEDTO,
STEP.TEMPLATE,
case when exists(select 1 from dbo.STEWARDSHIPNOTE where STEWARDSHIPNOTE.STEPID = STEP.ID)
or exists(select 1 from dbo.STEWARDSHIPATTACHMENT where STEWARDSHIPATTACHMENT.STEPID = STEP.ID)
or exists(select 1 from dbo.STEWARDSHIPMEDIALINK where STEWARDSHIPMEDIALINK.STEPID = STEP.ID)
then convert(bit,1) else convert(bit,0) end as HASDOCUMENTATION,
STEP.DATEADDED,
(
select dbo.UDA_BUILDLIST(distinct SITE.NAME)
from dbo.UFN_STEWARDSHIPPLAN_GETSITES([PLAN].ID) PLANSITE
inner join dbo.SITE on SITE.ID = PLANSITE.SITEID
) SITES,
STEP.ACTUALSTARTTIME,
STEP.ACTUALENDTIME,
case when (select count(ID) from dbo.STEWARDSHIPSTEPASSOCIATEDPLAN where STEPID = STEP.ID) > 1
then convert(nvarchar(50), (select count(ID) from dbo.STEWARDSHIPSTEPASSOCIATEDPLAN where STEPID = STEP.ID))
else (
select
PROSPECTPLAN.NAME
from
dbo.STEWARDSHIPSTEPASSOCIATEDPLAN
inner join dbo.PROSPECTPLAN
on STEWARDSHIPSTEPASSOCIATEDPLAN.PROSPECTPLANID = PROSPECTPLAN.ID
where STEWARDSHIPSTEPASSOCIATEDPLAN.STEPID = STEP.ID
)
end as ASSOCIATEDPLANS,
STEP.STATUS
from
dbo.STEWARDSHIPSTEPASSOCIATEDPLAN ASSOCIATEDPLANS
inner join dbo.STEWARDSHIPPLANSTEP STEP
on ASSOCIATEDPLANS.STEPID = STEP.ID
inner join dbo.STEWARDSHIPPLAN [PLAN]
on [PLAN].ID = STEP.PLANID
left outer join dbo.STEWARDSHIPSTEPCATEGORYCODE CATEGORYCODE
on STEP.CATEGORYCODEID = CATEGORYCODE.ID
left outer join dbo.INTERACTIONTYPECODE
on STEP.CONTACTMETHODCODEID = INTERACTIONTYPECODE.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(STEP.CONTACTPERSONID) NF_CONTACT
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(STEP.CONSTITUENTID) NF_ASSIGNEDTO
where
ASSOCIATEDPLANS.PROSPECTPLANID = @PLANID
and STEP.COMPLETED = 1
and
(
select count(*)
from dbo.UFN_SITEID_MAPFROM_STEWARDSHIPPLANID([PLAN].ID) as STEWARDSHIPPLANSITE
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[STEWARDSHIPPLANSITE].[SITEID] or (SITEID is null and [STEWARDSHIPPLANSITE].[SITEID] is null)))
) > 0
and (
@SITEFILTERMODE = 0
or
exists
(
select top 1
STEWARDSHIPPLANSITE.ID
from
dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) SITEFILTER
inner join dbo.STEWARDSHIPPLANSITE on STEWARDSHIPPLANSITE.SITEID = SITEFILTER.SITEID
where STEWARDSHIPPLANSITE.STEWARDSHIPPLANID = [PLAN].ID
)
)
order by
STEP.TARGETDATE, STEP.DATEADDED
end