USP_DATALIST_STEWARDSHIPPLAN_COMPLETEDSTEPS_GROUP
List of completed steps for a group's stewardship 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. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_STEWARDSHIPPLAN_COMPLETEDSTEPS_GROUP
(
@PLANID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@SECURITYFEATUREID uniqueidentifier,
@SECURITYFEATURETYPE tinyint
)
as begin
set nocount on;
declare @CONSTITUENTID uniqueidentifier;
select @CONSTITUENTID = [PLAN].CONSTITUENTID
from
dbo.STEWARDSHIPPLAN [PLAN]
where
[PLAN].ID = @PLANID;
select
STEP.ID,
0 as ISMEMBERSTEP,
0 as ISGROUPORGSTEP,
STEWARDSHIPSTEPCATEGORYCODE.DESCRIPTION as CATEGORY,
STEP.OBJECTIVE,
STEP.ACTUALDATE,
STEP.ACTUALSTARTTIME,
STEP.ACTUALENDTIME,
NF_CONTACT.NAME as CONTACTPERSON,
INTERACTIONTYPECODE.DESCRIPTION as CONTACTMETHOD,
NF.NAME as ASSIGNEDTO,
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.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,
NF_STEPOWNER.NAME as STEPOWNERNAME,
STEP.STATUS
from
dbo.STEWARDSHIPPLANSTEP STEP
inner join dbo.STEWARDSHIPPLAN [PLAN]
on STEP.PLANID = [PLAN].ID
left outer join dbo.INTERACTIONTYPECODE
on STEP.CONTACTMETHODCODEID = INTERACTIONTYPECODE.ID
left outer join dbo.STEWARDSHIPSTEPCATEGORYCODE
on STEP.CATEGORYCODEID = STEWARDSHIPSTEPCATEGORYCODE.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(STEP.CONSTITUENTID) NF
cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME([PLAN].CONSTITUENTID) NF_STEPOWNER
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(STEP.CONTACTPERSONID) NF_CONTACT
where
(STEP.PLANID = @PLANID
or CONTACTPERSONID = @CONSTITUENTID
or [PLAN].CONSTITUENTID in (select ID from dbo.UFN_GROUP_GETCURRENTMEMBERSNOPERMISSIONCHECK(@CONSTITUENTID))
)
and STEP.COMPLETED = 1
and (
not exists(select ID from dbo.STEWARDSHIPSTEPASSOCIATEDPLAN where STEPID = STEP.ID)
or
exists(
select STEWARDSHIPSTEPASSOCIATEDPLAN.ID
from dbo.STEWARDSHIPSTEPASSOCIATEDPLAN
inner join dbo.PROSPECTPLAN
on PROSPECTPLAN.ID = STEWARDSHIPSTEPASSOCIATEDPLAN.PROSPECTPLANID
where STEWARDSHIPSTEPASSOCIATEDPLAN.STEPID = STEP.ID
and (
select count(*)
from dbo.UFN_SITEID_MAPFROM_PROSPECTPLANID(PROSPECTPLAN.ID) as PROSPECTPLANSITE
where dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, PROSPECTPLANSITE.SITEID) = 1
) > 0
)
)
order by
STEP.ACTUALDATE, STEP.DATEADDED
end