USP_DUPLICATESEARCH_PROSPECTSEARCHADDINDIVIDUAL

Parameters

Parameter Parameter Type Mode Description
@LASTNAME nvarchar(100) IN
@FIRSTNAME nvarchar(50) IN
@ADDRESS_POSTCODE nvarchar(12) IN
@ADDRESS_ADDRESSBLOCK nvarchar(150) IN
@MAXROWS smallint IN
@MIDDLENAME nvarchar(50) IN
@TITLECODEID uniqueidentifier IN
@SUFFIXCODEID uniqueidentifier IN
@ADDRESS_COUNTRYID uniqueidentifier IN
@ADDRESS_STATEID uniqueidentifier IN
@ADDRESS_CITY nvarchar(50) IN
@BIRTHDATE UDT_FUZZYDATE IN
@EMAILADDRESS_EMAILADDRESS UDT_EMAILADDRESS IN
@PHONE_NUMBER nvarchar(100) IN
@ADDRESS_ADDRESSTYPECODEID uniqueidentifier IN
@EMAILADDRESS_EMAILADDRESSTYPECODEID uniqueidentifier IN
@PHONE_PHONETYPECODEID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@CONSTITUENTDUPLICATEMATCHINGENABLED bit IN

Definition

Copy


                CREATE procedure dbo.USP_DUPLICATESEARCH_PROSPECTSEARCHADDINDIVIDUAL (
                    @LASTNAME nvarchar(100) = '',
                    @FIRSTNAME nvarchar(50) = '',
                    @ADDRESS_POSTCODE nvarchar(12) = '',
                    @ADDRESS_ADDRESSBLOCK nvarchar(150) = '',
          @MAXROWS smallint = 100,
          @MIDDLENAME nvarchar(50) = null,
          @TITLECODEID uniqueidentifier = null,
          @SUFFIXCODEID uniqueidentifier = null,
          @ADDRESS_COUNTRYID uniqueidentifier  = null,
          @ADDRESS_STATEID uniqueidentifier  = null,
          @ADDRESS_CITY nvarchar(50)  = null,
          @BIRTHDATE dbo.UDT_FUZZYDATE = '00000000',
          @EMAILADDRESS_EMAILADDRESS dbo.UDT_EMAILADDRESS = '',
          @PHONE_NUMBER nvarchar(100) = '',
          @ADDRESS_ADDRESSTYPECODEID uniqueidentifier = null,
          @EMAILADDRESS_EMAILADDRESSTYPECODEID uniqueidentifier = null,
          @PHONE_PHONETYPECODEID uniqueidentifier = null,
          @CURRENTAPPUSERID uniqueidentifier = null,
          @CONSTITUENTDUPLICATEMATCHINGENABLED bit = null
          ) as begin

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

                    select top(@MAXROWS)
                        C.ID,
                        DC.MATCHPERCENTAGE,
                        C.NAME,
                        A.ADDRESSBLOCK,
                        A.CITY,
                        S.DESCRIPTION,
                        A.POSTCODE,
                        C.LOOKUPID,
            A.ID ADDRESSID,
            DC.EMAILADDRESSID,
            DC.PHONEID,
            DC.STREETNUMBERRESULT,
            DC.STREETNAMERESULT,
            DC.POSTCODERESULT,
            case when ADDRESSID is not null then dbo.UFN_BUILDFULLADDRESS(ADDRESSID,a.ADDRESSBLOCK,a.CITY,a.STATEID,a.POSTCODE,a.COUNTRYID) else dbo.UFN_CONSTITUENTDUPLICATESEARCH_DEFAULTADDRESS(C.ID,@ADDRESS_ADDRESSTYPECODEID) end as FULLADDRESS             
            from
            dbo.UFN_FINDCONSTITUENTMATCHES_COMPOSITETHRESHOLD_3 (
              @TITLECODEID,
              @FIRSTNAME,
              @MIDDLENAME,
              @LASTNAME,
              @SUFFIXCODEID,
              @ADDRESS_ADDRESSBLOCK,
              @ADDRESS_POSTCODE,
              @ADDRESS_COUNTRYID,
              0,
              0,
              null,
              null,
              @EMAILADDRESS_EMAILADDRESS,
              @PHONE_NUMBER,
              null,
              null,
              @CURRENTAPPUSERID,
              @CONSTITUENTDUPLICATEMATCHINGENABLED
                        ) DC
                    left outer join
                        dbo.CONSTITUENT C on C.ID = DC.CONSTITUENTID
                    left outer join
                        dbo.ADDRESS A on A.ID = DC.ADDRESSID
                    left outer join
                        dbo.STATE S on S.ID = A.STATEID
          where (@ISADMIN = 1 or @CURRENTAPPUSERID is null or @APPUSER_IN_NONRACROLE = 1 or
                        dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, DC.CONSTITUENTID, @APPUSER_IN_NOSECGROUPROLE) = 1)              
                    order by
                        DC.MATCHPERCENTAGE desc

                end