UFN_QUERY_RESEARCHGROUPMEMBERSLIST

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@SECURITYFEATUREID uniqueidentifier IN
@SECURITYFEATURETYPE tinyint IN

Definition

Copy


CREATE function [dbo].[UFN_QUERY_RESEARCHGROUPMEMBERSLIST]
(
  @ID uniqueidentifier,
    @CURRENTAPPUSERID uniqueidentifier,

    @SECURITYFEATUREID uniqueidentifier = '696F7786-E5DD-401F-B5B2-086168339FA8',
    @SECURITYFEATURETYPE tinyint = 10
)
returns table
as
  return 
                select
                    RESEARCHGROUPMEMBER.ID,
                    RESEARCHGROUPMEMBER.CONSTITUENTID,
                    CONSTITUENT.NAME as MEMBERNAME,
                    ADDRESS.ADDRESSBLOCK as ADDRESSBLOCK,
          ADDRESS.CITY,
          STATE.ABBREVIATION STATEID_ABBREVIATION,
          ADDRESS.POSTCODE,
          dbo.UFN_BUILDFULLADDRESS(ADDRESS.ID, ADDRESS.ADDRESSBLOCK,ADDRESS.CITY,STATE.ID,ADDRESS.POSTCODE,ADDRESS.COUNTRYID) as [FULLADDRESS],
          WEALTH.WEALTHPOINTDATE,
          WEALTH.BUSINESSOWNERSHIPASSETSCONFIRMED,
          WEALTH.BUSINESSOWNERSHIPASSETS,
          WEALTH.TOTALASSETSCONFIRMED,
          WEALTH.TOTALASSETS,
          WEALTH.INCOMECOMPENSATIONASSETSCONFIRMED,
          WEALTH.INCOMECOMPENSATIONASSETS,
          WEALTH.OTHERASSETSCONFIRMED,
          WEALTH.REALESTATEASSETSCONFIRMED,
          WEALTH.REALESTATEASSETS,
          WEALTH.SECURITIESASSETSCONFIRMED,
          WEALTH.SECURITIESASSETS,
          WEALTH.PHILANTHROPICGIFTNUMBERCONFIRMED,
          WEALTH.PHILANTHROPICGIFTNUMBER,
          WEALTH.POLITICALDONATIONNUMBERCONFIRMED,
          WEALTH.POLITICALDONATIONNUMBER,
          nullif(CONSTITUENT.AGE, 0) AGE,
          CONSTITUENT.DATEADDED,
          RE7INTEGRATIONCONSTITUENTMAP.LASTSYNCDATE,
          case when RE7INTEGRATIONCONSTITUENTMAP.ID is null then 0 else 1 end RE7LINKED,
          BUSINESSRELATIONSHIP.RECIPROCALCONSTITUENTID BUSINESSID,
          BUSINESS.NAME BUSINESSNAME,
          PRIMARYBUSINESSJOBINFO.JOBTITLE,
          PROSPECTMANAGERID = case when PROSPECT.PROSPECTMANAGERENDDATE < dbo.UFN_DATE_GETEARLIESTTIME(getdate()) then null else PROSPECT.PROSPECTMANAGERFUNDRAISERID end ,
          PROSPECTMANAGERNAME = case when PROSPECT.PROSPECTMANAGERENDDATE < dbo.UFN_DATE_GETEARLIESTTIME(getdate()) then null else PROSPECTMANAGER.NAME end,
          SPOUSERELATIONSHIP.RECIPROCALCONSTITUENTID SPOUSEID,
          SPOUSE.NAME SPOUSENAME,
          PRIMARYEDUCATION.CLASSOF PRIMARYEDUCATIONCLASSOF,
          EDUCATIONALDEGREECODE.DESCRIPTION PRIMARYEDUCATIONDEGREE,
          EDUCATIONALPROGRAMCODE.DESCRIPTION PRIMARYEDUCATIONPROGRAM,
          PRIMARYEDUCATIONINSTITUTION.NAME PRIMARYEDUCATIONINSTITUTION,
          RE7INTEGRATIONGIVINGSUMMARY.FIRSTGIFTAMOUNT,
          RE7INTEGRATIONGIVINGSUMMARY.FIRSTGIFTDATE,
          RE7INTEGRATIONGIVINGSUMMARY.LARGESTGIFTAMOUNT,
          RE7INTEGRATIONGIVINGSUMMARY.LARGESTGIFTDATE,
          RE7INTEGRATIONGIVINGSUMMARY.LATESTGIFTAMOUNT,
          RE7INTEGRATIONGIVINGSUMMARY.LATESTGIFTDATE,
          RE7INTEGRATIONGIVINGSUMMARY.TOTALGIFTSGIVEN,
          RE7INTEGRATIONGIVINGSUMMARY.TOTALGIFTAMOUNT,
          WEALTHCAPACITY.MAJORGIVINGCAPACITYVALUE,
          WEALTHCAPACITY.ESTIMATEDWEALTHVALUE,
          nullif(MODELINGANDPROPENSITY.ANNUALGIFTLIKELIHOOD, -1) as ANNUALGIFTLIKELIHOOD,
          nullif(MODELINGANDPROPENSITY.ANNUITYLIKELIHOOD, -1) as ANNUITYLIKELIHOOD,
          nullif(MODELINGANDPROPENSITY.BEQUESTLIKELIHOOD, -1) as BEQUESTLIKELIHOOD,
          nullif(MODELINGANDPROPENSITY.CRTLIKELIHOOD, -1) as CRTLIKELIHOOD,
          nullif(MODELINGANDPROPENSITY.MAJORGIVINGLIKELIHOOD, -1) as MAJORGIVINGLIKELIHOOD,
          nullif(MODELINGANDPROPENSITY.MEMBERSHIPLIKELIHOOD, -1) as MEMBERSHIPLIKELIHOOD,
          nullif(MODELINGANDPROPENSITY.ONLINEGIVINGLIKELIHOOD, -1) as ONLINEGIVINGLIKELIHOOD,
          nullif(MODELINGANDPROPENSITY.PATIENTRESPONSELIKELIHOOD, -1) as PATIENTRESPONSELIKELIHOOD,
          nullif(MODELINGANDPROPENSITY.PLANNEDGIFTLIKELIHOOD, -1) as PLANNEDGIFTLIKELIHOOD,
          SUGGESTEDMEMBERSHIPLEVEL.RANGE as SUGGESTEDMEMBERSHIPLEVEL,
          SUGGESTEDMEMBERSHIPLEVEL.SCORE as SUGGESTEDMEMBERSHIPLEVELSCORE,
          TARGETGIFTRANGE.RANGE as TARGETGIFTRANGE,
          TARGETGIFTRANGE.SCORE as TARGETGIFTRANGESCORE,
          RESEARCHGROUPMEMBER.DATEADDED RESEARCHGROUPMEMBERDATEADDED,
          WEALTH.AFFLUENCEINDICATORNUMBERCONFIRMED,
          WEALTH.AFFLUENCEINDICATORNUMBER,
          case when DISABLEDWEALTHUPDATES.ID is null then 1 else 0 end WPENABLED,
          cast(RE7INTEGRATIONCONSTITUENTMAP.ID as nvarchar(36)) + '|' + ltrim(rtrim(cast(RE7INTEGRATIONCONSTITUENTMAP.RE7RECORDID as nvarchar(100)))) RE7SYNCKEY,
          CONSTITUENT.LOOKUPID,
          (CONSTITUENT.KEYNAME +
              CASE CONSTITUENT.FIRSTNAME WHEN '' THEN 
                CASE CONSTITUENT.MIDDLENAME WHEN '' THEN '' ELSE ', ' + LEFT(CONSTITUENT.MIDDLENAME,1) + '.' END
              ELSE 
                ', ' + CONSTITUENT.FIRSTNAME + CASE CONSTITUENT.MIDDLENAME WHEN '' THEN '' ELSE ' ' + LEFT(CONSTITUENT.MIDDLENAME,1) + '.' END
              END) as FORMATTEDNAME,
          (select 
                  dbo.UDA_BUILDLIST(SITE.NAME) 
              FROM 
                  dbo.SITE 
                  inner join dbo.CONSTITUENTSITE ON CONSTITUENTSITE.SITEID = SITE.ID
              where
                  CONSTITUENTSITE.CONSTITUENTID = CONSTITUENT.ID
            ) as SITES,
          case when PROSPECT.RESEARCHSTATUSCONFIRMED = 1 then 'Confirmed' else 'Not confirmed' end as RESEARCHSTATUSCONFIRMED


        /*#EXTENSION*/

                from
                    dbo.RESEARCHGROUPMEMBER
          left join dbo.CONSTITUENT on RESEARCHGROUPMEMBER.CONSTITUENTID = CONSTITUENT.ID
          left join dbo.ADDRESS on RESEARCHGROUPMEMBER.CONSTITUENTID = ADDRESS.CONSTITUENTID and ADDRESS.ISPRIMARY = 1
          left join dbo.STATE on STATE.ID = ADDRESS.STATEID
          left join dbo.WEALTH on RESEARCHGROUPMEMBER.CONSTITUENTID = WEALTH.ID
          left join dbo.WEALTHCAPACITY on RESEARCHGROUPMEMBER.CONSTITUENTID = WEALTHCAPACITY.ID
          left join dbo.RE7INTEGRATIONCONSTITUENTMAP on RESEARCHGROUPMEMBER.CONSTITUENTID = RE7INTEGRATIONCONSTITUENTMAP.ID
          left join dbo.RE7INTEGRATIONGIVINGSUMMARY on RESEARCHGROUPMEMBER.CONSTITUENTID = RE7INTEGRATIONGIVINGSUMMARY.ID
          left join dbo.PROSPECT on RESEARCHGROUPMEMBER.CONSTITUENTID = PROSPECT.ID
          left join dbo.RELATIONSHIP BUSINESSRELATIONSHIP on RESEARCHGROUPMEMBER.CONSTITUENTID = BUSINESSRELATIONSHIP.RELATIONSHIPCONSTITUENTID 
              and BUSINESSRELATIONSHIP.ISPRIMARYBUSINESS = 1
          left join dbo.RELATIONSHIPJOBINFO PRIMARYBUSINESSJOBINFO on BUSINESSRELATIONSHIP.RELATIONSHIPSETID = PRIMARYBUSINESSJOBINFO.RELATIONSHIPSETID 
              and (PRIMARYBUSINESSJOBINFO.ENDDATE is null or PRIMARYBUSINESSJOBINFO.ENDDATE > getdate())
          left join dbo.RELATIONSHIP SPOUSERELATIONSHIP on RESEARCHGROUPMEMBER.CONSTITUENTID = SPOUSERELATIONSHIP.RELATIONSHIPCONSTITUENTID 
              and SPOUSERELATIONSHIP.ISSPOUSE = 1
          left join dbo.EDUCATIONALHISTORY PRIMARYEDUCATION on RESEARCHGROUPMEMBER.CONSTITUENTID = PRIMARYEDUCATION.CONSTITUENTID
              and PRIMARYEDUCATION.ISPRIMARYRECORD = 1
          left join dbo.EDUCATIONALDEGREECODE on  PRIMARYEDUCATION.EDUCATIONALDEGREECODEID = EDUCATIONALDEGREECODE.ID
          left join dbo.EDUCATIONALPROGRAMCODE on  PRIMARYEDUCATION.EDUCATIONALPROGRAMCODEID = EDUCATIONALPROGRAMCODE.ID
          left join dbo.MODELINGANDPROPENSITY on RESEARCHGROUPMEMBER.CONSTITUENTID = MODELINGANDPROPENSITY.ID
          left join dbo.SUGGESTEDMEMBERSHIPLEVEL on MODELINGANDPROPENSITY.SUGGESTEDMEMBERSHIPLEVELID = SUGGESTEDMEMBERSHIPLEVEL.ID
          left join dbo.TARGETGIFTRANGE on MODELINGANDPROPENSITY.TARGETGIFTRANGEID = TARGETGIFTRANGE.ID
          left join dbo.DISABLEDWEALTHUPDATES on RESEARCHGROUPMEMBER.CONSTITUENTID = DISABLEDWEALTHUPDATES.ID
          left join dbo.CONSTITUENT BUSINESS on BUSINESS.ID = BUSINESSRELATIONSHIP.RECIPROCALCONSTITUENTID
          left join dbo.CONSTITUENT PROSPECTMANAGER on PROSPECTMANAGER.ID = PROSPECT.PROSPECTMANAGERFUNDRAISERID
   left join dbo.CONSTITUENT SPOUSE on SPOUSE.ID = SPOUSERELATIONSHIP.RECIPROCALCONSTITUENTID
          left join dbo.CONSTITUENT PRIMARYEDUCATIONINSTITUTION on PRIMARYEDUCATIONINSTITUTION.ID = PRIMARYEDUCATION.EDUCATIONALINSTITUTIONID
        where RESEARCHGROUPMEMBER.RESEARCHGROUPID = @ID
          and (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1
                 or
                 ( --Site security

                  exists ( select top 1 1 from dbo.UFN_SITEID_MAPFROM_CONSTITUENTID(CONSTITUENT.ID) as CSITE
                                where exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=CSITE.[SITEID] or (SITEID is null and CSITE.[SITEID] is null)) 
                             )
                   --Constituent security

                  and
                      dbo.UFN_SECURITY_APPUSER_GRANTED_QUERYVIEW_IN_NONRACROLE(@CURRENTAPPUSERID,@SECURITYFEATUREID) = 1
                       or
                      exists(SELECT top 1 1 
                              FROM dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITIDS_FORQUERYVIEW(@CURRENTAPPUSERID,@SECURITYFEATUREID) SEC 
                              where SEC.ID = CONSTITUENT.ID
                            )
                      )
                 )
              )