USP_WPREALESTATE_SETHISTORICALS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@SUCCESSFULLYLOADED | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_WPREALESTATE_SETHISTORICALS (
@ID uniqueidentifier,
@SUCCESSFULLYLOADED bit = true
) as begin
set nocount on;
declare @CHANGEAGENTID uniqueidentifier;
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
declare @CONSTITUENTID uniqueidentifier;
declare @RESEARCHGROUPID uniqueidentifier;
declare @REQUESTEDDATASOURCES nvarchar(250);
if @SUCCESSFULLYLOADED = 1
begin
select
@CONSTITUENTID = CONSTITUENTID,
@RESEARCHGROUPID = RESEARCHGROUPID,
@REQUESTEDDATASOURCES = REQUESTEDDATASOURCES
from
WPSEARCHHISTORY
where
@ID = ID
-- Individual search
if @CONSTITUENTID is not null
begin
update
RE
set
HISTORICCODE = 1,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from
dbo.WPREALESTATE RE
left join
dbo.WPREALESTATE_WPSEARCHHISTORY RE_SH on RE.ID = RE_SH.WPREALESTATEID and RE_SH.WPSEARCHHISTORYID = @ID
where
WEALTHID = @CONSTITUENTID and
HISTORICSET = 0 and
RE_SH.WPSEARCHHISTORYID is null;
-- Group search
end else if @RESEARCHGROUPID is not null
begin
if ISNULL(@REQUESTEDDATASOURCES, '') = '' or @REQUESTEDDATASOURCES LIKE '%CORELOGIC%'
-- WI 481091: This only updates if Corelogic is in the vendors. We need to make this check in SQL for some use cases.
begin
update
RE
set
HISTORICCODE = 1,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from
dbo.WPREALESTATE RE
inner join
dbo.RESEARCHGROUPMEMBER on RE.WEALTHID = RESEARCHGROUPMEMBER.CONSTITUENTID
left join
dbo.WPREALESTATE_WPSEARCHHISTORY RE_SH on RE.ID = RE_SH.WPREALESTATEID and RE_SH.WPSEARCHHISTORYID = @ID
where
RESEARCHGROUPMEMBER.RESEARCHGROUPID = @RESEARCHGROUPID and
RE.HISTORICSET = 0 and
RE_SH.WPSEARCHHISTORYID is null;
end
end else
-- Selection search
begin
update
RE
set
HISTORICCODE = 1,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from
dbo.WPREALESTATE RE
inner join
dbo.WPSEARCHHISTORYSELECTEDCONSTITUENT on RE.WEALTHID = WPSEARCHHISTORYSELECTEDCONSTITUENT.CONSTITUENTID
left join
dbo.WPREALESTATE_WPSEARCHHISTORY RE_SH on RE.ID = RE_SH.WPREALESTATEID and RE_SH.WPSEARCHHISTORYID = @ID
where
WPSEARCHHISTORYSELECTEDCONSTITUENT.WPSEARCHHISTORYID = @ID and
RE.HISTORICSET = 0 and
RE_SH.WPSEARCHHISTORYID is null;
end
end
--All historical values have been set, so now lets clear out the WPREALESTATE_WPSEARCHHISTORY table
delete from dbo.WPREALESTATE_WPSEARCHHISTORY where WPSEARCHHISTORYID = @ID;
return 0;
end