USP_DATALIST_PROSPECT_PROSPECTPLANS

List of prospect plans.

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@PROSPECTID uniqueidentifier IN Input parameter indicating the context ID for the data list.
@INCLUDEINACTIVEPLANS bit IN Include historical plans
@SITEFILTERMODE tinyint IN Sites
@SITESSELECTED xml IN
@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_PROSPECT_PROSPECTPLANS
(
    @CURRENTAPPUSERID uniqueidentifier,
    @PROSPECTID uniqueidentifier,
    @INCLUDEINACTIVEPLANS bit = 0,
    @SITEFILTERMODE tinyint = 0,
    @SITESSELECTED xml = null,
    @SECURITYFEATUREID uniqueidentifier = null,
    @SECURITYFEATURETYPE tinyint = null
) as begin
    set nocount on;


    declare @PROSPECTIDS table
    (
      ID uniqueidentifier,
      NAME nvarchar(700),
      PLANID uniqueidentifier
    );

    insert into @PROSPECTIDS
    select distinct
        PROSPECTPLAN.PROSPECTID ID,
        NF.NAME NAME,
        PROSPECTPLAN.ID PLANID
    from
        dbo.PROSPECTPLAN 
        outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PROSPECTPLAN.PROSPECTID) NF
    where
        PROSPECTPLAN.PROSPECTID = @PROSPECTID

    union all

    select distinct
        PROSPECTPLAN.PROSPECTID ID,
        NF.NAME NAME,
        PROSPECTPLAN.ID PLANID
    from dbo.PLANPARTICIPANT
        inner join dbo.PROSPECTPLAN on PLANPARTICIPANT.PROSPECTPLANID = PROSPECTPLAN.ID
        outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PROSPECTPLAN.PROSPECTID) NF
    where PLANPARTICIPANT.CONSTITUENTID = @PROSPECTID

    declare @STEWARDIDS table
    (
      ID uniqueidentifier,
      NAME nvarchar(700),
      PLANID uniqueidentifier
    );

    insert into @STEWARDIDS
    select distinct
        STEWARDSHIPPLAN.CONSTITUENTID ID,
        NF.NAME NAME,
        STEWARDSHIPPLAN.ID PLANID
    from
        dbo.STEWARDSHIPPLAN 
        outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(STEWARDSHIPPLAN.CONSTITUENTID) NF
    where
        STEWARDSHIPPLAN.CONSTITUENTID = @PROSPECTID

    union all

    select distinct
        STEWARDSHIPPLAN.CONSTITUENTID ID,
        NF.NAME NAME,
        STEWARDSHIPPLAN.ID PLANID
    from dbo.STEWARDSHIPPLANSTEWARD 
        left join dbo.STEWARDSHIPPLAN on STEWARDSHIPPLANSTEWARD.PLANID = STEWARDSHIPPLAN.ID
        outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(STEWARDSHIPPLAN.CONSTITUENTID) NF
    where STEWARDSHIPPLANSTEWARD.CONSTITUENTID = @PROSPECTID

    select distinct
        PP.ID,
        'C48113CC-888F-44da-ACE1-F22A4420CC90' as VIEWDATAFORMID,
        NI.ID as NEXTINTERACTIONID,
        PP.ISACTIVE,
        0 as ISSTEWARDSHIPPLAN,
        dbo.UFN_PROSPECTPLANTYPECODE_GETDESCRIPTION(PP.PROSPECTPLANTYPECODEID) as PLANTYPE,
        PP.NAME as PLANNAME,
        dbo.UFN_PROSPECTPLAN_GETSITELIST(PP.ID) SITES,
        PROSPECT.NAME CONSTITUENTNAME,
        PP.STARTDATE,
        PP.DATEADDED
    from dbo.PROSPECTPLAN PP
    inner join @PROSPECTIDS PROSPECT on PP.PROSPECTID = PROSPECT.ID and PROSPECT.PLANID = PP.ID
    left outer join dbo.INTERACTION NI on NI.ID = dbo.UFN_PROSPECTPLAN_GETNEXTSTEP(PP.ID)
    where
        (@INCLUDEINACTIVEPLANS=1 or PP.ISACTIVE=1
        and (
            select count(*
            from dbo.UFN_SITEID_MAPFROM_PROSPECTPLANID(PP.ID) as PLANSITE 
            where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[PLANSITE].[SITEID] or (SITEID is null and [PLANSITE].[SITEID] is null)))
        ) > 0
        and (
            @SITEFILTERMODE = 0
                or PP.ID in (
                    select PROSPECTPLANSITE.PROSPECTPLANID
                    from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) SITEFILTER
                        inner join dbo.PROSPECTPLANSITE on PROSPECTPLANSITE.SITEID = SITEFILTER.SITEID
                )
        )

    union all

    select distinct
        STEWARDSHIPPLAN.ID,
        '30D20C5C-DF18-4DBD-AFDF-4A4034834563' as VIEWDATAFORMID,
        null as NEXTINTERACTIONID,
        STEWARDSHIPPLAN.ISACTIVE as ISACTIVE,
        1 as ISSTEWARDSHIPPLAN,
        'Stewardship' as PLANTYPE,
        STEWARDSHIPPLAN.NAME as PLANNAME,
        dbo.UFN_STEWARDSHIPPLAN_GETSITELIST(STEWARDSHIPPLAN.ID) SITES,
        STEWARD.NAME CONSTITUENTNAME,
        STEWARDSHIPPLAN.STARTDATE,
        STEWARDSHIPPLAN.DATEADDED
    from dbo.STEWARDSHIPPLAN
    inner join @STEWARDIDS STEWARD on STEWARDSHIPPLAN.CONSTITUENTID = STEWARD.ID and STEWARD.PLANID = STEWARDSHIPPLAN.ID
    where
        (@INCLUDEINACTIVEPLANS=1 or STEWARDSHIPPLAN.ISACTIVE=1
        and (
            select count(*
            from dbo.UFN_SITEID_MAPFROM_STEWARDSHIPPLANID(STEWARDSHIPPLAN.ID) as PLANSITE 
            where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[PLANSITE].[SITEID] or (SITEID is null and [PLANSITE].[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
                )
        )
    order by PLANTYPE, CONSTITUENTNAME

end