USP_MERGETWOCONSTITUENTS_PRIVATEFOUNDATION
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SOURCEID | uniqueidentifier | IN | |
@TARGETID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_MERGETWOCONSTITUENTS_PRIVATEFOUNDATION
(
@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 TARGETPRIVATEFOUNDATION
set
[CONFIRMED] = SOURCEPRIVATEFOUNDATION.CONFIRMED
,[DATECONFIRMED] = SOURCEPRIVATEFOUNDATION.DATECONFIRMED
,[CONFIRMEDBYAPPUSERID] = SOURCEPRIVATEFOUNDATION.CONFIRMEDBYAPPUSERID
,[REJECTED] = SOURCEPRIVATEFOUNDATION.REJECTED
,[DATEREJECTED] = SOURCEPRIVATEFOUNDATION.DATEREJECTED
,[REJECTEDBYAPPUSERID] = SOURCEPRIVATEFOUNDATION.REJECTEDBYAPPUSERID
,[SOURCE] = SOURCEPRIVATEFOUNDATION.SOURCE
,[FAID] = SOURCEPRIVATEFOUNDATION.FAID
,[REVISION] = SOURCEPRIVATEFOUNDATION.REVISION
,[ORIGINALID] = SOURCEPRIVATEFOUNDATION.ORIGINALID
,[NEWROW] = SOURCEPRIVATEFOUNDATION.NEWROW
,[CDATE] = SOURCEPRIVATEFOUNDATION.CDATE
,[CVALUE] = SOURCEPRIVATEFOUNDATION.CVALUE
,[CNOTES] = case SOURCEPRIVATEFOUNDATION.CNOTES when '' then TARGETPRIVATEFOUNDATION.CNOTES else TARGETPRIVATEFOUNDATION.CNOTES + (case when TARGETPRIVATEFOUNDATION.CNOTES = '' then '' else (char(13) + char(10)) end) + SOURCEPRIVATEFOUNDATION.CNOTES end
,[FULLHASH] = SOURCEPRIVATEFOUNDATION.FULLHASH
,[PARTIALHASH] = SOURCEPRIVATEFOUNDATION.PARTIALHASH
,[MC] = SOURCEPRIVATEFOUNDATION.MC
,[RULING_YEAR] = SOURCEPRIVATEFOUNDATION.RULING_YEAR
,[YEAR_ENDING] = SOURCEPRIVATEFOUNDATION.YEAR_ENDING
,[EIN] = SOURCEPRIVATEFOUNDATION.EIN
,[COMPANY] = SOURCEPRIVATEFOUNDATION.COMPANY
,[LINE1] = SOURCEPRIVATEFOUNDATION.LINE1
,[CITY] = SOURCEPRIVATEFOUNDATION.CITY
,[STATE] = SOURCEPRIVATEFOUNDATION.STATE
,[ZIP] = SOURCEPRIVATEFOUNDATION.ZIP
,[PHONE] = SOURCEPRIVATEFOUNDATION.PHONE
,[DESCRIPTION] = SOURCEPRIVATEFOUNDATION.DESCRIPTION
,[TOTALASSETS_FMV] = SOURCEPRIVATEFOUNDATION.TOTALASSETS_FMV
,[FULLNAME] = SOURCEPRIVATEFOUNDATION.FULLNAME
,[TITLE] = SOURCEPRIVATEFOUNDATION.TITLE
,[COMP] = SOURCEPRIVATEFOUNDATION.COMP
,[VIEWED] = SOURCEPRIVATEFOUNDATION.VIEWED
,[CHANGEDBYID] = @CHANGEAGENTID
,[DATECHANGED] = @CURRENTDATE
,[RECURSIVEMATCH] = SOURCEPRIVATEFOUNDATION.RECURSIVEMATCH
,[FORMYEAR] = SOURCEPRIVATEFOUNDATION.FORMYEAR
,[FILEDDATE] = SOURCEPRIVATEFOUNDATION.FILEDDATE
,[WPRELATIONSHIP_PF_ID] = SOURCEPRIVATEFOUNDATION.WPRELATIONSHIP_PF_ID
,[FAIRMARKETVALUEASSETS] = SOURCEPRIVATEFOUNDATION.FAIRMARKETVALUEASSETS
,[LOCATION] = SOURCEPRIVATEFOUNDATION.LOCATION
,[REVENUE] = SOURCEPRIVATEFOUNDATION.REVENUE
,[ORGFORMYEAR] = SOURCEPRIVATEFOUNDATION.ORGFORMYEAR
,[WEBSITE] = SOURCEPRIVATEFOUNDATION.WEBSITE
,[HCITY] = SOURCEPRIVATEFOUNDATION.HCITY
,[HSTATE] = SOURCEPRIVATEFOUNDATION.HSTATE
,[HZIP] = SOURCEPRIVATEFOUNDATION.HZIP
,[SPOUSEFLAG] = SOURCEPRIVATEFOUNDATION.SPOUSEFLAG
from dbo.WPPRIVATEFOUNDATION TARGETPRIVATEFOUNDATION
inner join dbo.WPPRIVATEFOUNDATION SOURCEPRIVATEFOUNDATION ON SOURCEPRIVATEFOUNDATION.PARTIALHASH = TARGETPRIVATEFOUNDATION.PARTIALHASH
where SOURCEPRIVATEFOUNDATION.WEALTHID = @SOURCEID
and TARGETPRIVATEFOUNDATION.WEALTHID = @TARGETID
and not (TARGETPRIVATEFOUNDATION.CONFIRMED = 1 or TARGETPRIVATEFOUNDATION.REJECTED = 1)
and (SOURCEPRIVATEFOUNDATION.CONFIRMED = 1 or SOURCEPRIVATEFOUNDATION.REJECTED = 1)
and SOURCEPRIVATEFOUNDATION.PARTIALHASH <> ''
-- For all other cases when Source and Target match on hash codes, only notes will be appended.
update TARGETPRIVATEFOUNDATION
set
[CNOTES] = TARGETPRIVATEFOUNDATION.CNOTES + (case when TARGETPRIVATEFOUNDATION.CNOTES = '' then '' else (char(13) + char(10)) end) + SOURCEPRIVATEFOUNDATION.CNOTES
,[CHANGEDBYID] = @CHANGEAGENTID
,[DATECHANGED] = @CURRENTDATE
from dbo.WPPRIVATEFOUNDATION TARGETPRIVATEFOUNDATION
inner join dbo.WPPRIVATEFOUNDATION SOURCEPRIVATEFOUNDATION ON SOURCEPRIVATEFOUNDATION.PARTIALHASH = TARGETPRIVATEFOUNDATION.PARTIALHASH
where SOURCEPRIVATEFOUNDATION.WEALTHID = @SOURCEID
and TARGETPRIVATEFOUNDATION.WEALTHID = @TARGETID
and ((TARGETPRIVATEFOUNDATION.CONFIRMED = 1 or TARGETPRIVATEFOUNDATION.REJECTED = 1)
or (SOURCEPRIVATEFOUNDATION.CONFIRMED = 0 and SOURCEPRIVATEFOUNDATION.REJECTED = 0))
and SOURCEPRIVATEFOUNDATION.PARTIALHASH <> ''
and SOURCEPRIVATEFOUNDATION.CNOTES <> ''
-- If unique record in Source that came from wealth screening (will have hash code), move it to Target.
update SOURCEPRIVATEFOUNDATION
set
[WEALTHID] = @TARGETID,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
from dbo.WPPRIVATEFOUNDATION SOURCEPRIVATEFOUNDATION
left join dbo.WPPRIVATEFOUNDATION TARGETPRIVATEFOUNDATION ON TARGETPRIVATEFOUNDATION.PARTIALHASH = SOURCEPRIVATEFOUNDATION.PARTIALHASH and TARGETPRIVATEFOUNDATION.WEALTHID = @TARGETID
where SOURCEPRIVATEFOUNDATION.WEALTHID = @SOURCEID
and (SOURCEPRIVATEFOUNDATION.PARTIALHASH is not null and SOURCEPRIVATEFOUNDATION.PARTIALHASH <> '')
and TARGETPRIVATEFOUNDATION.ID is null
-- If unique record in Source which is entered manually, move it to Target.
update dbo.WPPRIVATEFOUNDATION
set
[WEALTHID] = @TARGETID,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where WEALTHID = @SOURCEID
and (PARTIALHASH is null or PARTIALHASH = '')
exec dbo.USP_WEALTHPOINT_UPDATEWEALTHSUMMARY_PRIVATEFOUNDATION @TARGETID, @CHANGEAGENTID;
exec dbo.USP_WEALTHPOINT_UPDATEWEALTHSUMMARY_PRIVATEFOUNDATION @SOURCEID, @CHANGEAGENTID;
end