USP_DATALIST_WEALTHINFORMATIONDASHBOARDSPOUSEDETAILS

This datalist returns WealthPoint spouse information that is used by the wealth information 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.

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_WEALTHINFORMATIONDASHBOARDSPOUSEDETAILS
                (
                    @CONSTITUENTID uniqueidentifier,
                    @ISVISIBLE bit = 1,
                    @CURRENTAPPUSERID uniqueidentifier = null
                )
                as
                    set nocount on;

                    declare @ISADMIN bit;
                    declare @APPUSER_IN_NONRACROLE bit;
                    declare @APPUSER_IN_NOSECGROUPROLE bit;

                    set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
                    set @APPUSER_IN_NONRACROLE = dbo.UFN_SECURITY_APPUSER_IN_NONRACROLE(@CURRENTAPPUSERID);
                    set @APPUSER_IN_NOSECGROUPROLE = dbo.UFN_SECURITY_APPUSER_IN_NO_SECURITY_GROUP_ROLE(@CURRENTAPPUSERID);

                    declare @CURRENTDATE datetime;
                    set @CURRENTDATE = getdate();

                if @ISVISIBLE = 1
                begin
                    select
                        c.MAIDENNAME,
                        gc.DESCRIPTION GENDER,
                        c.BIRTHDATE,
                        c.LOOKUPID,
                        case when c.BIRTHDATE <> '00000000' and not substring(c.BIRTHDATE,1,4) = '0000' then c.AGE else null end as AGE,
                        rji.JOBTITLE as POSITION,
                        org.NAME as PRIMARYBUSINESS
                     from dbo.RELATIONSHIP R
                    inner join dbo.CONSTITUENT C 
                        on R.RECIPROCALCONSTITUENTID = C.ID
                    left outer join dbo.RELATIONSHIP rpb
                        on rpb.RELATIONSHIPCONSTITUENTID = c.ID and rpb.ISPRIMARYBUSINESS = 1
                    left join dbo.RELATIONSHIPSET rs 
                        on rpb.RELATIONSHIPSETID = rs.ID
                    left join dbo.RELATIONSHIPJOBINFO rji 
                        on rji.RELATIONSHIPSETID = rs.ID
                        and (rji.STARTDATE is NULL or rji.STARTDATE <= @CURRENTDATE)
                        and (rji.ENDDATE is NULL or rji.ENDDATE >= @CURRENTDATE)
                    left outer join dbo.CONSTITUENT org
                        on rpb.RECIPROCALCONSTITUENTID = org.ID
                    left outer join dbo.GENDERCODE gc
                        on c.GENDERCODEID = gc.ID
                    where
                        R.ISSPOUSE = 1
                        and R.RELATIONSHIPCONSTITUENTID = @CONSTITUENTID
                        and (@ISADMIN = 1 or 
                            @APPUSER_IN_NONRACROLE = 1 or
                            dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, c.ID, @APPUSER_IN_NOSECGROUPROLE) = 1);
                end
                else
                begin
                    select top 1
                        c.MAIDENNAME,
                        gc.DESCRIPTION GENDER,
                        c.BIRTHDATE,
                        c.LOOKUPID,
                        case when c.BIRTHDATE <> '00000000' and not substring(c.BIRTHDATE,1,4) = '0000' then c.AGE else null end as AGE,
                        rji.JOBTITLE as POSITION,
                        org.NAME as PRIMARYBUSINESS
                    from dbo.RELATIONSHIP R
                    inner join dbo.CONSTITUENT C 
                        on R.RECIPROCALCONSTITUENTID = C.ID
                    left outer join dbo.RELATIONSHIP rpb
                        on rpb.RELATIONSHIPCONSTITUENTID = c.ID and rpb.ISPRIMARYBUSINESS = 1
                    left join dbo.RELATIONSHIPSET rs 
                        on rpb.RELATIONSHIPSETID = rs.ID
                    left join dbo.RELATIONSHIPJOBINFO rji 
                        on rji.RELATIONSHIPSETID = rs.ID
                    left outer join dbo.CONSTITUENT org
                        on rpb.RECIPROCALCONSTITUENTID = org.ID
                    left outer join dbo.GENDERCODE gc
                        on c.GENDERCODEID = gc.ID
                    where
                        R.ISSPOUSE = 1
                        and R.RELATIONSHIPCONSTITUENTID = @CONSTITUENTID
                end