USP_DATALIST_CONSTITUENTPROFILEDASHBOARDPROSPECTSUMMARY

This datalist returns prospect summary 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 currency ID

Definition

Copy


                    CREATE procedure dbo.USP_DATALIST_CONSTITUENTPROFILEDASHBOARDPROSPECTSUMMARY
                    (
                        @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 top(1)
                                case 
                                    when o.ID is not null then dbo.UFN_PROSPECTPLANTYPECODE_GETDESCRIPTION(pp.PROSPECTPLANTYPECODEID)
                                    else ''
                                end LATESTOPPORTUNITY,
                                dbo.UFN_OPPORTUNITY_GETASKAMOUNTINCURRENCY(o.ID, @SELECTEDCURRENCYID) ASKAMOUNT,
                                o.ASKDATE,
                                dbo.UFN_OPPORTUNITY_AMOUNTINCURRENCY(o.ID, @SELECTEDCURRENCYID) AMOUNT,
                                (select top(1
                                    ACTUALDATE 
                                 from 
                                    dbo.INTERACTION 
                                 where CONSTITUENTID = @CONSTITUENTID 
                                 and PROSPECTPLANID is not null
                                 and ACTUALDATE is not null 
                                 order by ACTUALDATE desc) LASTINTERACTION,
                                (select top(1
                                    DATE 
                                 from dbo.REVENUE 
                                 where 
                                    CONSTITUENTID = @CONSTITUENTID 
                                 order by DATE desc) LASTGAVE,
                                MODELINGANDPROPENSITY.ANNUALGIFTLIKELIHOOD,
                                MODELINGANDPROPENSITY.ANNUITYLIKELIHOOD,
                                MODELINGANDPROPENSITY.BEQUESTLIKELIHOOD,
                                MODELINGANDPROPENSITY.CRTLIKELIHOOD,
                                MODELINGANDPROPENSITY.MAJORGIVINGLIKELIHOOD,
                                MODELINGANDPROPENSITY.PLANNEDGIFTLIKELIHOOD,
                                '',
                                '',
                                case when exists 
                                (select top(1) ID 
                                 from PROSPECTDATERANGE 
                                 where CONSTITUENTID = @CONSTITUENTID 
                                 and DATETO is null) then 'Yes' else 'No' end ISACTIVE,
                                PROSPECTMANAGER_NF.NAME PROSPECTMANAGER
                            from 
                                dbo.PROSPECT p
                            left join 
                                dbo.MODELINGANDPROPENSITY on p.ID = MODELINGANDPROPENSITY.ID
                            left join 
                                dbo.PROSPECTPLAN pp on p.ID = pp.PROSPECTID
                            left join 
                                dbo.OPPORTUNITY o on pp.ID = o.PROSPECTPLANID 
                                    and o.ASKDATE is not null
                            outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(p.PROSPECTMANAGERFUNDRAISERID) PROSPECTMANAGER_NF
                            where 
                                p.ID = @CONSTITUENTID 
                                and (pp.ID is null
                                    or(
                                        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
                                )
                            order by 
                                o.ASKDATE desc
                        end