USP_MERGETWOCONSTITUENTS_NONPROFITAFFILIATION

Parameters

Parameter Parameter Type Mode Description
@SOURCEID uniqueidentifier IN
@TARGETID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


            create procedure dbo.USP_MERGETWOCONSTITUENTS_NONPROFITAFFILIATION
            (
                @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 TARGETNONPROFITAFFILIATION
                set
                    [CONFIRMED] = SOURCENONPROFITAFFILIATION.CONFIRMED
                    ,[DATECONFIRMED] = SOURCENONPROFITAFFILIATION.DATECONFIRMED
                    ,[CONFIRMEDBYAPPUSERID] = SOURCENONPROFITAFFILIATION.CONFIRMEDBYAPPUSERID
                    ,[REJECTED] = SOURCENONPROFITAFFILIATION.REJECTED
                    ,[DATEREJECTED] = SOURCENONPROFITAFFILIATION.DATEREJECTED
                    ,[REJECTEDBYAPPUSERID] = SOURCENONPROFITAFFILIATION.REJECTEDBYAPPUSERID
                    ,[SOURCE] = SOURCENONPROFITAFFILIATION.SOURCE
                    ,[GSID] = SOURCENONPROFITAFFILIATION.GSID
                    ,[REVISION] = SOURCENONPROFITAFFILIATION.REVISION
                    ,[ORIGINALID] = SOURCENONPROFITAFFILIATION.ORIGINALID
                    ,[NEWROW] = SOURCENONPROFITAFFILIATION.NEWROW
                    ,[FULLHASH] = SOURCENONPROFITAFFILIATION.FULLHASH
                    ,[PARTIALHASH] = SOURCENONPROFITAFFILIATION.PARTIALHASH
                    ,[MC] = SOURCENONPROFITAFFILIATION.MC
                    ,[FULLNAME] = SOURCENONPROFITAFFILIATION.FULLNAME
                    ,[TITLE] = SOURCENONPROFITAFFILIATION.TITLE
                    ,[SALARY] = SOURCENONPROFITAFFILIATION.SALARY
                    ,[DN_ORGANIZATION] = SOURCENONPROFITAFFILIATION.DN_ORGANIZATION
                    ,[DN_ZIP5] = SOURCENONPROFITAFFILIATION.DN_ZIP5
                    ,[EIN] = SOURCENONPROFITAFFILIATION.EIN
                    ,[LINE1] = SOURCENONPROFITAFFILIATION.LINE1
                    ,[CITY] = SOURCENONPROFITAFFILIATION.CITY
                    ,[ZIP] = SOURCENONPROFITAFFILIATION.ZIP
                    ,[REVENUE] = SOURCENONPROFITAFFILIATION.REVENUE
                    ,[STATE] = SOURCENONPROFITAFFILIATION.STATE
                    ,[PHONE] = SOURCENONPROFITAFFILIATION.PHONE
                    ,[CNOTES] = case SOURCENONPROFITAFFILIATION.CNOTES when '' then TARGETNONPROFITAFFILIATION.CNOTES else TARGETNONPROFITAFFILIATION.CNOTES + (case when TARGETNONPROFITAFFILIATION.CNOTES = '' then '' else (char(13) + char(10)) end) + SOURCENONPROFITAFFILIATION.CNOTES end
                    ,[VIEWED] = SOURCENONPROFITAFFILIATION.VIEWED
                    ,[CHANGEDBYID] = @CHANGEAGENTID
                    ,[DATECHANGED] = @CURRENTDATE
                    ,[RECURSIVEMATCH] = SOURCENONPROFITAFFILIATION.RECURSIVEMATCH
                    ,[FORMYEAR] = SOURCENONPROFITAFFILIATION.FORMYEAR
                    ,[FILEDDATE] = SOURCENONPROFITAFFILIATION.FILEDDATE
                    ,[WPRELATIONSHIP_NPA_ID] = SOURCENONPROFITAFFILIATION.WPRELATIONSHIP_NPA_ID
                    ,[DESCRIPTION] = SOURCENONPROFITAFFILIATION.DESCRIPTION
                    ,[TOTALASSETS] = SOURCENONPROFITAFFILIATION.TOTALASSETS
                    ,[WEBSITE] = SOURCENONPROFITAFFILIATION.WEBSITE
                    ,[ORGFORMYEAR] = SOURCENONPROFITAFFILIATION.ORGFORMYEAR
                    ,[RULINGYEAR] = SOURCENONPROFITAFFILIATION.RULINGYEAR
                    ,[LOCATION] = SOURCENONPROFITAFFILIATION.LOCATION
                    ,[HCITY] = SOURCENONPROFITAFFILIATION.HCITY
                    ,[HSTATE] = SOURCENONPROFITAFFILIATION.HSTATE
                    ,[HZIP] = SOURCENONPROFITAFFILIATION.HZIP
                    ,[SPOUSEFLAG] = SOURCENONPROFITAFFILIATION.SPOUSEFLAG
                from dbo.WPNONPROFITAFFILIATION TARGETNONPROFITAFFILIATION
                inner join dbo.WPNONPROFITAFFILIATION SOURCENONPROFITAFFILIATION ON SOURCENONPROFITAFFILIATION.PARTIALHASH = TARGETNONPROFITAFFILIATION.PARTIALHASH
                where SOURCENONPROFITAFFILIATION.WEALTHID = @SOURCEID
                    and TARGETNONPROFITAFFILIATION.WEALTHID = @TARGETID
                    and not (TARGETNONPROFITAFFILIATION.CONFIRMED = 1 or TARGETNONPROFITAFFILIATION.REJECTED = 1)
                    and (SOURCENONPROFITAFFILIATION.CONFIRMED = 1 or SOURCENONPROFITAFFILIATION.REJECTED = 1)
                    and SOURCENONPROFITAFFILIATION.PARTIALHASH <> ''

                -- For all other cases when Source and Target match on hash codes, only notes will be appended.

                update TARGETNONPROFITAFFILIATION
                set
                    [CNOTES] = TARGETNONPROFITAFFILIATION.CNOTES + (case when TARGETNONPROFITAFFILIATION.CNOTES = '' then '' else (char(13) + char(10)) end) + SOURCENONPROFITAFFILIATION.CNOTES
                    ,[CHANGEDBYID] = @CHANGEAGENTID
                    ,[DATECHANGED] = @CURRENTDATE
                from dbo.WPNONPROFITAFFILIATION TARGETNONPROFITAFFILIATION
                inner join dbo.WPNONPROFITAFFILIATION SOURCENONPROFITAFFILIATION ON SOURCENONPROFITAFFILIATION.PARTIALHASH = TARGETNONPROFITAFFILIATION.PARTIALHASH
                where SOURCENONPROFITAFFILIATION.WEALTHID = @SOURCEID
                    and TARGETNONPROFITAFFILIATION.WEALTHID = @TARGETID
                    and ((TARGETNONPROFITAFFILIATION.CONFIRMED = 1 or TARGETNONPROFITAFFILIATION.REJECTED = 1)
                        or (SOURCENONPROFITAFFILIATION.CONFIRMED = 0 and SOURCENONPROFITAFFILIATION.REJECTED = 0))
                    and SOURCENONPROFITAFFILIATION.PARTIALHASH <> ''
                    and SOURCENONPROFITAFFILIATION.CNOTES <> ''

                -- If unique record in Source that came from wealth screening (will have hash code), move it to Target.

                update SOURCENONPROFITAFFILIATION
                set
                    [WEALTHID] = @TARGETID,
                    [CHANGEDBYID] = @CHANGEAGENTID,
                    [DATECHANGED] = @CURRENTDATE
                from dbo.WPNONPROFITAFFILIATION SOURCENONPROFITAFFILIATION
                left join dbo.WPNONPROFITAFFILIATION TARGETNONPROFITAFFILIATION ON TARGETNONPROFITAFFILIATION.PARTIALHASH = SOURCENONPROFITAFFILIATION.PARTIALHASH and TARGETNONPROFITAFFILIATION.WEALTHID = @TARGETID
                where SOURCENONPROFITAFFILIATION.WEALTHID = @SOURCEID
                    and (SOURCENONPROFITAFFILIATION.PARTIALHASH is not null and SOURCENONPROFITAFFILIATION.PARTIALHASH <> '')
                    and TARGETNONPROFITAFFILIATION.ID is null

                -- If unique record in Source which is entered manually, move it to Target.

                update dbo.WPNONPROFITAFFILIATION
                set
                    [WEALTHID] = @TARGETID,
                    [CHANGEDBYID] = @CHANGEAGENTID,
                    [DATECHANGED] = @CURRENTDATE
                where WEALTHID = @SOURCEID
                    and (PARTIALHASH is null or PARTIALHASH = '')

                exec dbo.USP_WEALTHPOINT_UPDATEWEALTHSUMMARY_NONPROFITAFFILIATION @TARGETID, @CHANGEAGENTID;
                exec dbo.USP_WEALTHPOINT_UPDATEWEALTHSUMMARY_NONPROFITAFFILIATION @SOURCEID, @CHANGEAGENTID;
            end