USP_SIMPLEDATALIST_CONSTITUENTOPPORTUNITY

List of available opportunities for a specified constituent.

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN Constituent

Definition

Copy


        CREATE procedure dbo.USP_SIMPLEDATALIST_CONSTITUENTOPPORTUNITY
        (
          @CONSTITUENTID uniqueidentifier
        )
        as
            set nocount on;

            declare @CURRENTDATE datetime;
            set @CURRENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());

            -- the record if it's a household, or the household an individual belongs to    

            declare @HOUSEHOLDID uniqueidentifier; 
            if dbo.UFN_CONSTITUENT_ISHOUSEHOLD(@CONSTITUENTID) = 1
                set @HOUSEHOLDID = @CONSTITUENTID;
            else
                select
                    @HOUSEHOLDID = GM.GROUPID
                from
                    dbo.GROUPMEMBER GM
                left outer join
                    dbo.GROUPMEMBERDATERANGE GMDR on GMDR.GROUPMEMBERID = GM.ID
                left outer join
                    dbo.GROUPDATA GD on GD.ID = GM.GROUPID
                where
                    GM.MEMBERID = @CONSTITUENTID
                and
                    GD.GROUPTYPECODE = 0
                and ((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO > @CURRENTDATE))
                    or (GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= @CURRENTDATE)) 
                    or (GMDR.DATEFROM <= @CURRENTDATE and GMDR.DATETO > @CURRENTDATE));

            with HOUSEHOLDANDMEMBERS(ID) as
            (
                select
                    GM.MEMBERID as ID
                from
                    dbo.GROUPMEMBER GM
                left outer join
                    dbo.GROUPMEMBERDATERANGE GMDR on GMDR.GROUPMEMBERID = GM.ID
                where
                    GM.GROUPID = @HOUSEHOLDID
                and ((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO > @CURRENTDATE))
                    or (GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= @CURRENTDATE)) 
                    or (GMDR.DATEFROM <= @CURRENTDATE and GMDR.DATETO > @CURRENTDATE))
                union
                select @HOUSEHOLDID
                union
                select @CONSTITUENTID
            )
            select
                OPPORTUNITY.ID as 'VALUE',
                dbo.UFN_OPPORTUNITY_GETLONGDESCRIPTION(OPPORTUNITY.ID) as 'LABEL'

            from
                dbo.OPPORTUNITY 
                inner join dbo.PROSPECTPLAN on OPPORTUNITY.PROSPECTPLANID = PROSPECTPLAN.ID
            where 
                PROSPECTPLAN.PROSPECTID in (select HOUSEHOLDANDMEMBERS.ID from HOUSEHOLDANDMEMBERS) and
                OPPORTUNITY.STATUSCODE in (1,2,3)