USP_WPNONPROFITAFFILIATION_ADD
Adds WealthPoint Nonprofit Affiliation information for a prospect.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@WEALTHID | uniqueidentifier | IN | |
@SOURCE | nvarchar(100) | IN | |
@GSID | int | IN | |
@REVISION | int | IN | |
@ORIGINALID | int | IN | |
@NEWROW | bit | IN | |
@FULLHASH | nvarchar(32) | IN | |
@PARTIALHASH | nvarchar(32) | IN | |
@MC | nvarchar(3) | IN | |
@FULLNAME | nvarchar(150) | IN | |
@TITLE | nvarchar(100) | IN | |
@SALARY | money | IN | |
@DN_ORGANIZATION | nvarchar(150) | IN | |
@DN_ZIP5 | nvarchar(5) | IN | |
@EIN | nvarchar(30) | IN | |
@LINE1 | nvarchar(150) | IN | |
@CITY | nvarchar(50) | IN | |
@ZIP | nvarchar(10) | IN | |
@REVENUE | money | IN | |
@STATE | nvarchar(100) | IN | |
@PHONE | nvarchar(20) | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@FORMYEAR | UDT_YEAR | IN | |
@FILEDDATE | datetime | IN | |
@RECURSIVEMATCH | bit | IN | |
@DESCRIPTION | nvarchar(200) | IN | |
@TOTALASSETS | money | IN | |
@WEBSITE | UDT_WEBADDRESS | IN | |
@ORGFORMYEAR | UDT_YEAR | IN | |
@RULINGYEAR | UDT_YEAR | IN | |
@LOCATION | nvarchar(100) | IN | |
@HCITY | nvarchar(100) | IN | |
@HSTATE | nvarchar(2) | IN | |
@HZIP | nvarchar(10) | IN | |
@SPOUSEFLAG | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_WPNONPROFITAFFILIATION_ADD (
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@WEALTHID uniqueidentifier,
@SOURCE nvarchar(100),
@GSID int = 0,
@REVISION int = 0,
@ORIGINALID int = 0,
@NEWROW bit = 0,
@FULLHASH nvarchar(32) = '',
@PARTIALHASH nvarchar(32) = '',
@MC nvarchar(3) = '',
@FULLNAME nvarchar(150) = '',
@TITLE nvarchar(100) = '',
@SALARY money = 0,
@DN_ORGANIZATION nvarchar(150) = '',
@DN_ZIP5 nvarchar(5) = '',
@EIN nvarchar(30) = '',
@LINE1 nvarchar(150) = '',
@CITY nvarchar(50) = '',
@ZIP nvarchar(10) = '',
@REVENUE money = 0,
@STATE nvarchar(100) = '',
@PHONE nvarchar(20) = '',
@CURRENTAPPUSERID uniqueidentifier = null,
@FORMYEAR dbo.UDT_YEAR = 0,
@FILEDDATE datetime = null,
@RECURSIVEMATCH bit = 0,
@DESCRIPTION nvarchar(200) = '',
@TOTALASSETS money = 0,
@WEBSITE dbo.UDT_WEBADDRESS = '',
@ORGFORMYEAR dbo.UDT_YEAR = 0,
@RULINGYEAR dbo.UDT_YEAR = 0,
@LOCATION nvarchar(100) = '',
@HCITY nvarchar(100) = '',
@HSTATE nvarchar(2) = '',
@HZIP nvarchar(10) = '',
@SPOUSEFLAG bit = 0
) as begin
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
begin try
declare @NEWRECORD bit;
declare @UPDATEDRECORD bit;
declare @CURRENTDATE datetime;
set @NEWRECORD = 0;
set @UPDATEDRECORD = 0;
set @CURRENTDATE = getdate();
/*Handling Data corruption issue
This has to stay in play until we change data vendors from GuideStar
*/
declare @DELETEMIN datetime = '2010-07-01T00:00:00.000';
declare @DELETEMAX datetime = '2012-03-31T00:00:00.000';
delete from dbo.WPNONPROFITAFFILIATION
where WEALTHID=@WEALTHID and
SOURCE = N'GuideStar' and
DATEADDED between @DELETEMIN and @DELETEMAX and
CONFIRMED = 0 and
REJECTED = 0 and
MC <> '';
/*End Handling Data corruption issue */
--Get any existing ID
select
@ID = ID
from
dbo.WPNONPROFITAFFILIATION
where
WEALTHID=@WEALTHID and PARTIALHASH=@PARTIALHASH;
declare @CONFIRMED bit;
declare @CONFIRMEDBYAPPUSERID uniqueidentifier;
declare @DATECONFIRMED datetime;
declare @REJECTED bit;
declare @REJECTEDBYAPPUSERID uniqueidentifier;
declare @DATEREJECTED datetime;
set @CONFIRMED = 0;
set @REJECTED = 0;
if @CURRENTAPPUSERID is not null
begin
declare @CONFIDENCE int
select
@CONFIDENCE = coalesce(CR.CONFIDENCE,MC.DEFAULTCONFIDENCE)
from
dbo.MATCHCODE MC
left outer join
dbo.WEALTHSOURCE WS on @SOURCE = WS.SOURCE
left outer join
dbo.CONFIDENCERATING CR on CR.MATCHCODEID = MC.ID and CR.WEALTHSOURCEID = WS.ID
where
MC.MATCHCODE = @MC
select
@REJECTED = case @CONFIDENCE
when 5 then 0
when 0 then 1
end,
@DATEREJECTED = case @CONFIDENCE
when 5 then NULL
when 0 then @CURRENTDATE
end,
@REJECTEDBYAPPUSERID = case @CONFIDENCE
when 5 then NULL
when 0 then @CURRENTAPPUSERID
end,
@CONFIRMED = case @CONFIDENCE
when 5 then 1
when 0 then 0
end,
@DATECONFIRMED = case @CONFIDENCE
when 5 then @CURRENTDATE
when 0 then NULL
end,
@CONFIRMEDBYAPPUSERID = case @CONFIDENCE
when 5 then @CURRENTAPPUSERID
when 0 then NULL
end
where
@CONFIDENCE in (0,5);
end
-- Record exists
if @ID is not null
begin
if not exists(select 1 from dbo.WPNONPROFITAFFILIATION where WEALTHID=@WEALTHID and FULLHASH=@FULLHASH)
begin
--Record exists but needs to be updated
set @UPDATEDRECORD = 1
update dbo.WPRELATIONSHIP_NPA set
EIN = coalesce(nullif(@EIN, ''), EIN),
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = (select WPRELATIONSHIP_NPA_ID from dbo.WPNONPROFITAFFILIATION where WEALTHID=@WEALTHID and PARTIALHASH=@PARTIALHASH)
update
dbo.WPNONPROFITAFFILIATION
set
MC = @MC,
RECURSIVEMATCH = @RECURSIVEMATCH,
FULLNAME = coalesce(nullif(@FULLNAME, ''), FULLNAME),
TITLE = coalesce(nullif(@TITLE, ''), TITLE),
SALARY = coalesce(nullif(@SALARY, 0), SALARY),
DN_ORGANIZATION = coalesce(nullif(@DN_ORGANIZATION, ''), DN_ORGANIZATION),
DN_ZIP5 = coalesce(nullif(@DN_ZIP5, ''), DN_ZIP5),
LINE1 = coalesce(nullif(@LINE1, ''), LINE1),
CITY = coalesce(nullif(@CITY, ''), CITY),
ZIP = coalesce(nullif(@ZIP, ''), ZIP),
REVENUE = coalesce(nullif(@REVENUE, 0), REVENUE),
STATE = coalesce(nullif(@STATE, ''), STATE),
PHONE = coalesce(nullif(@PHONE, ''), PHONE),
FORMYEAR = coalesce(nullif(@FORMYEAR, 0), FORMYEAR),
FILEDDATE = coalesce(@FILEDDATE, FILEDDATE),
FULLHASH = @FULLHASH,
DESCRIPTION = coalesce(nullif(@DESCRIPTION, ''), DESCRIPTION),
TOTALASSETS = coalesce(nullif(@TOTALASSETS, 0), TOTALASSETS),
WEBSITE = coalesce(nullif(@WEBSITE, ''), WEBSITE),
ORGFORMYEAR = coalesce(nullif(@ORGFORMYEAR, 0), ORGFORMYEAR),
RULINGYEAR = coalesce(nullif(@RULINGYEAR, 0), RULINGYEAR),
HCITY = coalesce(nullif(@HCITY, ''), HCITY),
HSTATE = coalesce(nullif(@HSTATE, ''), HSTATE),
HZIP = coalesce(nullif(@HZIP, ''), HZIP),
SOURCE = coalesce(nullif(@SOURCE, ''), SOURCE),
SPOUSEFLAG = coalesce(nullif(@SPOUSEFLAG, 0), SPOUSEFLAG),
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE,
CONFIRMED = case when @CONFIRMED = 1 and CONFIRMED = 0 and REJECTED = 0 then 1 else CONFIRMED end,
CONFIRMEDBYAPPUSERID = case when @CONFIRMED = 1 and CONFIRMED = 0 and REJECTED = 0 then @CONFIRMEDBYAPPUSERID else CONFIRMEDBYAPPUSERID end,
DATECONFIRMED = case when @CONFIRMED = 1 and CONFIRMED = 0 and REJECTED = 0 then @DATECONFIRMED else DATECONFIRMED end
where
WEALTHID=@WEALTHID and PARTIALHASH=@PARTIALHASH;
end
end
else
begin
--Record is new and needs to be Added
set @NEWRECORD = 1
if @ID is null
set @ID = newid();
set @CURRENTDATE = getdate();
declare @WPRELATIONSHIP_NPA_ID uniqueidentifier;
--Get common nonprofit association record ID
exec dbo.USP_WPRELATIONSHIP_NPA_ADD @ID = @WPRELATIONSHIP_NPA_ID output, @EIN = @EIN, @CHANGEAGENTID = @CHANGEAGENTID;
insert into dbo.WPNONPROFITAFFILIATION (
ID,
WEALTHID,
SOURCE,
GSID,
REVISION,
ORIGINALID,
NEWROW,
FULLHASH,
PARTIALHASH,
MC,
FULLNAME,
TITLE,
SALARY,
DN_ORGANIZATION,
DN_ZIP5,
LINE1,
CITY,
ZIP,
REVENUE,
STATE,
PHONE,
DESCRIPTION,
TOTALASSETS,
WEBSITE,
ORGFORMYEAR,
RULINGYEAR,
CHANGEDBYID,
ADDEDBYID,
DATEADDED,
DATECHANGED,
CONFIRMED,
CONFIRMEDBYAPPUSERID,
DATECONFIRMED,
REJECTED,
REJECTEDBYAPPUSERID,
DATEREJECTED,
FORMYEAR,
FILEDDATE,
RECURSIVEMATCH,
WPRELATIONSHIP_NPA_ID,
HCITY,
HSTATE,
HZIP,
SPOUSEFLAG
) values (
@ID,
@WEALTHID,
coalesce(@SOURCE, ''),
coalesce(@GSID, 0),
coalesce(@REVISION, 0),
coalesce(@ORIGINALID, 0),
coalesce(@NEWROW, 0),
coalesce(@FULLHASH, ''),
coalesce(@PARTIALHASH, ''),
coalesce(@MC, ''),
coalesce(@FULLNAME, ''),
coalesce(@TITLE, ''),
coalesce(@SALARY, 0),
coalesce(@DN_ORGANIZATION, ''),
coalesce(@DN_ZIP5, ''),
coalesce(@LINE1, ''),
coalesce(@CITY, ''),
coalesce(@ZIP, ''),
coalesce(@REVENUE, 0),
coalesce(@STATE, ''),
coalesce(@PHONE, ''),
coalesce(@DESCRIPTION, ''),
coalesce(@TOTALASSETS, 0),
coalesce(@WEBSITE, ''),
coalesce(@ORGFORMYEAR, 0),
coalesce(@RULINGYEAR, 0),
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@CONFIRMED,
@CONFIRMEDBYAPPUSERID,
@DATECONFIRMED,
@REJECTED,
@REJECTEDBYAPPUSERID,
@DATEREJECTED,
@FORMYEAR,
@FILEDDATE,
@RECURSIVEMATCH,
@WPRELATIONSHIP_NPA_ID,
coalesce(@HCITY, ''),
coalesce(@HSTATE, ''),
coalesce(@HZIP, ''),
coalesce(@SPOUSEFLAG, 0)
);
end
if @NEWRECORD = 1 or @UPDATEDRECORD = 1
begin
--Log record into the history table
insert into dbo.WPNONPROFITAFFILIATIONHISTORY (
WPNONPROFITAFFILIATIONID,
SOURCE,
FULLHASH,
PARTIALHASH,
TITLE,
SALARY,
DN_ORGANIZATION,
LINE1,
CITY,
STATE,
ZIP,
REVENUE,
PHONE,
DESCRIPTION,
TOTALASSETS,
WEBSITE,
ORGFORMYEAR,
RULINGYEAR,
HCITY,
HSTATE,
HZIP,
FORMYEAR,
FILEDDATE,
SPOUSEFLAG,
CHANGEDBYID,
ADDEDBYID,
DATEADDED,
DATECHANGED
) values (
@ID,
coalesce(@SOURCE, ''),
coalesce(@FULLHASH, ''),
coalesce(@PARTIALHASH, ''),
coalesce(@TITLE, ''),
coalesce(@SALARY, 0),
coalesce(@DN_ORGANIZATION, ''),
coalesce(@LINE1, ''),
coalesce(@CITY, ''),
coalesce(@STATE, ''),
coalesce(@ZIP, ''),
coalesce(@REVENUE, 0),
coalesce(@PHONE, ''),
coalesce(@DESCRIPTION, ''),
coalesce(@TOTALASSETS, 0),
coalesce(@WEBSITE, ''),
coalesce(@ORGFORMYEAR, 0),
coalesce(@RULINGYEAR, 0),
coalesce(@HCITY, ''),
coalesce(@HSTATE, ''),
coalesce(@HZIP, ''),
@FORMYEAR,
@FILEDDATE,
coalesce(@SPOUSEFLAG, ''),
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
end catch
return 0;
end;