USP_MERGETWOCONSTITUENTS_AFFLUENCEINDICATOR
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SOURCEID | uniqueidentifier | IN | |
@TARGETID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_MERGETWOCONSTITUENTS_AFFLUENCEINDICATOR
(
@SOURCEID uniqueidentifier,
@TARGETID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null
)
as
begin
set nocount on;
declare @CURRENTDATE datetime = getdate();
-- If Source and Target match on hash code and Source is Rejected/Confirmed, but Target is not Rejected/Confirmed, update the Target record values with Source record values. Notes will always be appended.
update TARGETAFFLUENCEINDICATOR
set
[CONFIRMED] = SOURCEAFFLUENCEINDICATOR.CONFIRMED
,[DATECONFIRMED] = SOURCEAFFLUENCEINDICATOR.DATECONFIRMED
,[CONFIRMEDBYAPPUSERID] = SOURCEAFFLUENCEINDICATOR.CONFIRMEDBYAPPUSERID
,[REJECTED] = SOURCEAFFLUENCEINDICATOR.REJECTED
,[DATEREJECTED] = SOURCEAFFLUENCEINDICATOR.DATEREJECTED
,[REJECTEDBYAPPUSERID] = SOURCEAFFLUENCEINDICATOR.REJECTEDBYAPPUSERID
,[SOURCE] = SOURCEAFFLUENCEINDICATOR.SOURCE
,[LSID] = SOURCEAFFLUENCEINDICATOR.LSID
,[REVISION] = SOURCEAFFLUENCEINDICATOR.REVISION
,[ORIGINALID] = SOURCEAFFLUENCEINDICATOR.ORIGINALID
,[NEWROW] = SOURCEAFFLUENCEINDICATOR.NEWROW
,[FULLHASH] = SOURCEAFFLUENCEINDICATOR.FULLHASH
,[PARTIALHASH] = SOURCEAFFLUENCEINDICATOR.PARTIALHASH
,[MC] = SOURCEAFFLUENCEINDICATOR.MC
,[PHONE] = SOURCEAFFLUENCEINDICATOR.PHONE
,[GENDERCODE] = SOURCEAFFLUENCEINDICATOR.GENDERCODE
,[MULTIMILLN] = SOURCEAFFLUENCEINDICATOR.MULTIMILLN
,[WEALTHIND] = SOURCEAFFLUENCEINDICATOR.WEALTHIND
,[RPASSETS] = SOURCEAFFLUENCEINDICATOR.RPASSETS
,[FULLNAME] = SOURCEAFFLUENCEINDICATOR.FULLNAME
,[CNOTES] = case SOURCEAFFLUENCEINDICATOR.CNOTES when '' then TARGETAFFLUENCEINDICATOR.CNOTES else TARGETAFFLUENCEINDICATOR.CNOTES + (case when TARGETAFFLUENCEINDICATOR.CNOTES = '' then '' else (char(13) + char(10)) end) + SOURCEAFFLUENCEINDICATOR.CNOTES end
,[VIEWED] = SOURCEAFFLUENCEINDICATOR.VIEWED
,[CHANGEDBYID] = @CHANGEAGENTID
,[DATECHANGED] = @CURRENTDATE
,[RECURSIVEMATCH] = SOURCEAFFLUENCEINDICATOR.RECURSIVEMATCH
,[ADDRESSTYPE] = SOURCEAFFLUENCEINDICATOR.ADDRESSTYPE
,[LINE1] = SOURCEAFFLUENCEINDICATOR.LINE1
,[CITY] = SOURCEAFFLUENCEINDICATOR.CITY
,[STATE] = SOURCEAFFLUENCEINDICATOR.STATE
,[ZIP] = SOURCEAFFLUENCEINDICATOR.ZIP
,[ZIP4] = SOURCEAFFLUENCEINDICATOR.ZIP4
,[COUNTY] = SOURCEAFFLUENCEINDICATOR.COUNTY
,[TITLE] = SOURCEAFFLUENCEINDICATOR.TITLE
,[COMPANY] = SOURCEAFFLUENCEINDICATOR.COMPANY
,[WEBSITE] = SOURCEAFFLUENCEINDICATOR.WEBSITE
,[SALES] = SOURCEAFFLUENCEINDICATOR.SALES
,[EMPLOYMENT] = SOURCEAFFLUENCEINDICATOR.EMPLOYMENT
,[NAICS] = SOURCEAFFLUENCEINDICATOR.NAICS
,[AGE] = SOURCEAFFLUENCEINDICATOR.AGE
,[DONOR] = SOURCEAFFLUENCEINDICATOR.DONOR
,[HOMEOWNER] = SOURCEAFFLUENCEINDICATOR.HOMEOWNER
,[MARITAL] = SOURCEAFFLUENCEINDICATOR.MARITAL
,[DWELLING] = SOURCEAFFLUENCEINDICATOR.DWELLING
,[LENGTHOFRESIDENCE] = SOURCEAFFLUENCEINDICATOR.LENGTHOFRESIDENCE
,[CHILDRENINDICATOR] = SOURCEAFFLUENCEINDICATOR.CHILDRENINDICATOR
,[INCOME] = SOURCEAFFLUENCEINDICATOR.INCOME
,[NEWPROSPECT] = SOURCEAFFLUENCEINDICATOR.NEWPROSPECT
,[DONOTCALL] = SOURCEAFFLUENCEINDICATOR.DONOTCALL
,[METROPOLITANSTATISTICALAREA] = SOURCEAFFLUENCEINDICATOR.METROPOLITANSTATISTICALAREA
,[CONTRIBUTOR] = SOURCEAFFLUENCEINDICATOR.CONTRIBUTOR
,[POLITICALAFFILIATION] = SOURCEAFFLUENCEINDICATOR.POLITICALAFFILIATION
,[RELIGIOUSAFFILIATION] = SOURCEAFFLUENCEINDICATOR.RELIGIOUSAFFILIATION
,[ETHNIC] = SOURCEAFFLUENCEINDICATOR.ETHNIC
from dbo.WPAFFLUENCEINDICATOR TARGETAFFLUENCEINDICATOR
inner join dbo.WPAFFLUENCEINDICATOR SOURCEAFFLUENCEINDICATOR ON SOURCEAFFLUENCEINDICATOR.PARTIALHASH = TARGETAFFLUENCEINDICATOR.PARTIALHASH
where SOURCEAFFLUENCEINDICATOR.WEALTHID = @SOURCEID
and TARGETAFFLUENCEINDICATOR.WEALTHID = @TARGETID
and not (TARGETAFFLUENCEINDICATOR.CONFIRMED = 1 or TARGETAFFLUENCEINDICATOR.REJECTED = 1)
and (SOURCEAFFLUENCEINDICATOR.CONFIRMED = 1 or SOURCEAFFLUENCEINDICATOR.REJECTED = 1)
and SOURCEAFFLUENCEINDICATOR.PARTIALHASH <> ''
-- For all other cases when Source and Target match on hash codes, only notes will be appended.
update TARGETAFFLUENCEINDICATOR
set
[CNOTES] = TARGETAFFLUENCEINDICATOR.CNOTES + (case when TARGETAFFLUENCEINDICATOR.CNOTES = '' then '' else (char(13) + char(10)) end) + SOURCEAFFLUENCEINDICATOR.CNOTES
,[CHANGEDBYID] = @CHANGEAGENTID
,[DATECHANGED] = @CURRENTDATE
from dbo.WPAFFLUENCEINDICATOR TARGETAFFLUENCEINDICATOR
inner join dbo.WPAFFLUENCEINDICATOR SOURCEAFFLUENCEINDICATOR ON SOURCEAFFLUENCEINDICATOR.PARTIALHASH = TARGETAFFLUENCEINDICATOR.PARTIALHASH
where SOURCEAFFLUENCEINDICATOR.WEALTHID = @SOURCEID
and TARGETAFFLUENCEINDICATOR.WEALTHID = @TARGETID
and ((TARGETAFFLUENCEINDICATOR.CONFIRMED = 1 or TARGETAFFLUENCEINDICATOR.REJECTED = 1)
or (SOURCEAFFLUENCEINDICATOR.CONFIRMED = 0 and SOURCEAFFLUENCEINDICATOR.REJECTED = 0))
and SOURCEAFFLUENCEINDICATOR.PARTIALHASH <> ''
and SOURCEAFFLUENCEINDICATOR.CNOTES <> ''
-- If unique record in Source that came from wealth screening (will have hash code), move it to Target.
update SOURCEAFFLUENCEINDICATOR
set
[WEALTHID] = @TARGETID,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
from dbo.WPAFFLUENCEINDICATOR SOURCEAFFLUENCEINDICATOR
left join dbo.WPAFFLUENCEINDICATOR TARGETAFFLUENCEINDICATOR ON TARGETAFFLUENCEINDICATOR.PARTIALHASH = SOURCEAFFLUENCEINDICATOR.PARTIALHASH and TARGETAFFLUENCEINDICATOR.WEALTHID = @TARGETID
where SOURCEAFFLUENCEINDICATOR.WEALTHID = @SOURCEID
and (SOURCEAFFLUENCEINDICATOR.PARTIALHASH is not null and SOURCEAFFLUENCEINDICATOR.PARTIALHASH <> '')
and TARGETAFFLUENCEINDICATOR.ID is null
-- If unique record in Source which is entered manually, move it to Target.
update dbo.WPAFFLUENCEINDICATOR
set
[WEALTHID] = @TARGETID,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where WEALTHID = @SOURCEID
and (PARTIALHASH is null or PARTIALHASH = '')
exec dbo.USP_WEALTHPOINT_UPDATEWEALTHSUMMARY_AFFLUENCEINDICATOR @TARGETID, @CHANGEAGENTID;
exec dbo.USP_WEALTHPOINT_UPDATEWEALTHSUMMARY_AFFLUENCEINDICATOR @SOURCEID, @CHANGEAGENTID;
end