UFN_CONSTITUENTSTEWARDSHIPPLANSTEP_GETLIST

Gets the list of all stewardship plan steps associated with a constituent

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN
@STARTDATE datetime IN
@ENDDATE datetime IN
@TYPEFILTER uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@SITEFILTERMODE tinyint IN
@SITESSELECTED xml IN
@SECURITYFEATUREID uniqueidentifier IN
@SECURITYFEATURETYPE tinyint IN

Definition

Copy


create function dbo.UFN_CONSTITUENTSTEWARDSHIPPLANSTEP_GETLIST
(
    @CONSTITUENTID uniqueidentifier,
    @STARTDATE datetime,
    @ENDDATE datetime,
    @TYPEFILTER uniqueidentifier,
    @CURRENTAPPUSERID uniqueidentifier,
    @SITEFILTERMODE tinyint,
    @SITESSELECTED xml,
    @SECURITYFEATUREID uniqueidentifier,
    @SECURITYFEATURETYPE tinyint
)
returns table
as return
(
select
    STEP.ID,
    STEP.[DATE],
    STEP.[STATUS],
    STEP.OBJECTIVE,
    STEP.CONTACTMETHODCODEID INTERACTIONTYPECODEID,
    STEP.CONSTITUENTID ASSIGNEDTOID,
    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 HASDOCUMENTATION,
    STEP.EVENTID,
    CATEGORYCODE.[DESCRIPTION] CATEGORY,
    dbo.UFN_STEWARDSHIPPLAN_GETSITELIST(STEWARDSHIPPLAN.ID) SITES,
    STEP.TARGETSTARTTIME STARTTIME,
    STEP.TARGETENDTIME ENDTIME,
    STEP.TIMEZONEENTRYID
from
    dbo.STEWARDSHIPPLANSTEP STEP
    join dbo.STEWARDSHIPPLAN on STEP.PLANID = STEWARDSHIPPLAN.ID
    left join dbo.STEWARDSHIPSTEPCATEGORYCODE CATEGORYCODE on STEP.CATEGORYCODEID = CATEGORYCODE.ID
where
    (STEP.CONTACTPERSONID = @CONSTITUENTID
    or STEWARDSHIPPLAN.CONSTITUENTID = @CONSTITUENTID)
    and STEP.ISINTERACTION = 1
    and (
        (STEP.[DATE] between @STARTDATE and @ENDDATE)
            or (@STARTDATE is null and @ENDDATE is null)
            or (STEP.[DATE] >= @STARTDATE and @ENDDATE is null)
            or (@STARTDATE is null and STEP.[DATE] <= @ENDDATE)
    )
    and (
        (STEP.CONTACTMETHODCODEID = @TYPEFILTER)
            or (@TYPEFILTER is null)
    ) 
    and (
        select count(*
        from dbo.UFN_SITEID_MAPFROM_STEWARDSHIPPLANID(STEWARDSHIPPLAN.ID) 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 STEWARDSHIPPLAN.ID in (
            select STEWARDSHIPPLANSITE.STEWARDSHIPPLANID
            from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) SITEFILTER
                inner join dbo.STEWARDSHIPPLANSITE on STEWARDSHIPPLANSITE.SITEID = SITEFILTER.SITEID
            )
    )
)