USP_DATALIST_CONSTITUENTPROFILEDASHBOARDPROSPECTPLANS

This datalist returns prospect plan information that is used by the constituent profile dashboard.

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN Constituent
@ISVISIBLE bit IN Visible
@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.
@SELECTEDCURRENCYID uniqueidentifier IN Selected currencyID

Definition

Copy


                    CREATE procedure dbo.USP_DATALIST_CONSTITUENTPROFILEDASHBOARDPROSPECTPLANS
                    (
                        @CONSTITUENTID uniqueidentifier,
                        @ISVISIBLE bit = 1,
                        @CURRENTAPPUSERID uniqueidentifier,
                        @SECURITYFEATUREID uniqueidentifier = null,
                        @SECURITYFEATURETYPE tinyint = null,
                        @SELECTEDCURRENCYID uniqueidentifier = null
                    )
                    as
                        set nocount on;

                        if @ISVISIBLE = 1
                        begin

                            select
                                dbo.UFN_PROSPECTPLAN_GETSITELIST(PP.ID) as SITE,
                                PSC.DESCRIPTION CURRENTSTAGE,
                                LI.ACTUALDATE LASTDATE,
                                LIO_NF.NAME LASTSTEPOWNER,
                                LI.OBJECTIVE LASTSTEPOBJECTIVE,
                                NI.EXPECTEDDATE NEXTDATE,
                                NIO_NF.NAME NEXTSTEPOWNER,
                                NI.OBJECTIVE NEXTSTEPOBJECTIVE,
                                PM_NF.NAME PRIMARYMANAGER,
                                PF_NF.NAME SECONDARYMANAGER,
                                dbo.UFN_OPPORTUNITY_DESIGNATIONLIST(o.ID) DESIGNATIONS,
                                dbo.UFN_OPPORTUNITY_AMOUNTINCURRENCY(o.ID, @SELECTEDCURRENCYID) OPPORTUNITYAMOUNT,
                                o.ASKDATE,
                                STC.DESCRIPTION,
                                PP.NAME as PROSPECTPLANNAME
                            from
                                dbo.PROSPECTPLAN PP
                                left outer join dbo.INTERACTION LI on LI.ID=dbo.UFN_PROSPECTPLAN_GETLASTSTEP(PP.ID)
                                outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(LI.FUNDRAISERID) LIO_NF
                                left outer join dbo.INTERACTION NI on NI.ID=dbo.UFN_PROSPECTPLAN_GETNEXTSTEP(PP.ID)
                                outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(NI.FUNDRAISERID) NIO_NF
                                outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PP.PRIMARYMANAGERFUNDRAISERID) PM_NF
                                outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PP.SECONDARYMANAGERFUNDRAISERID) PF_NF
                                left outer join dbo.PROSPECTPLANTYPECODE STC on STC.ID=PP.PROSPECTPLANTYPECODEID
                                left outer join dbo.PROSPECTPLANSTATUSCODE PSC on PSC.ID=PP.PROSPECTPLANSTATUSCODEID
                                left outer join dbo.OPPORTUNITY o on o.PROSPECTPLANID = pp.ID
                            where
                                PP.PROSPECTID = @CONSTITUENTID
                                and
                                (
                                    o.ID is null
                                    or o.ID in (select top(1) ID from dbo.OPPORTUNITY where PROSPECTPLANID = pp.ID and STATUSCODE in (1,2))
                                    or o.ID in (select top(1) ID from dbo.OPPORTUNITY where PROSPECTPLANID = pp.ID order by coalesce(RESPONSEDATE, ASKDATE, EXPECTEDASKDATE, DATEADDED) desc)
                                )
                                and (
                                    select count(*
                                    from dbo.UFN_SITEID_MAPFROM_PROSPECTPLANID(PP.ID) as PROSPECTPLANSITE 
                                    where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[PROSPECTPLANSITE].[SITEID] or (SITEID is null and [PROSPECTPLANSITE].[SITEID] is null)))
                                ) > 0
                        end