USP_WEALTHPOINT_UPDATESEARCHHISTORY_SELECTEDCONSTITUENTS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@WPSEARCHHISTORYSELECTEDCONSTITUENT | xml | IN | |
@JOBID | nvarchar(50) | IN | |
@STATUSCODE | int | IN | |
@STATUSDETAILS | nvarchar(500) | IN | |
@PARSING | bit | IN | |
@DATESTARTED | datetime | IN | |
@DATEREADY | datetime | IN | |
@DATERETRIEVED | datetime | IN | |
@FORCEOVERRIDE | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_WEALTHPOINT_UPDATESEARCHHISTORY_SELECTEDCONSTITUENTS(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@WPSEARCHHISTORYSELECTEDCONSTITUENT xml = null,
@JOBID nvarchar(50) = null,
@STATUSCODE int = 0,
@STATUSDETAILS nvarchar(500)='',
@PARSING bit = 0,
@DATESTARTED datetime = null,
@DATEREADY datetime = null,
@DATERETRIEVED datetime = null,
@FORCEOVERRIDE bit = 1
) as begin
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
-- There has been an issue surrounding historical real estate when we use the web server's date
-- instead of SQL server time values.
if @DATEREADY is not null
set @DATEREADY = @CURRENTDATE;
if @FORCEOVERRIDE = 0
begin
select @PARSING = PARSING from dbo.WPSEARCHHISTORY where ID = @ID
if @PARSING = 1
select @STATUSDETAILS = STATUSDETAILS from dbo.WPSEARCHHISTORY where ID = @ID
end
update
dbo.WPSEARCHHISTORY
set
STATUSCODE = isnull(@STATUSCODE,STATUSCODE),
STATUSDETAILS = isnull(@STATUSDETAILS,STATUSDETAILS),
PARSING = isnull(@PARSING,PARSING),
DATESTARTED = isnull(@DATESTARTED,DATESTARTED),
DATEREADY = isnull(@DATEREADY,DATEREADY),
DATERETRIEVED = isnull(@DATERETRIEVED,DATERETRIEVED),
JOBID = isnull(@JOBID,JOBID),
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID
if @STATUSCODE in (3,4,5)
begin
update
dbo.WEALTH
set
PENDINGSEARCH = 0,
WEALTHPOINTDATE = case
when @STATUSCODE = 3 and CONSTITUENT.FIRSTNAME <> ''
then @DATERETRIEVED
when @STATUSCODE = 3 and CONSTITUENT.FIRSTNAME = ''
then WEALTHPOINTDATE
when @STATUSCODE = 4
then WEALTHPOINTDATE
when @STATUSCODE = 5
then WEALTHPOINTDATE
end,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from
dbo.WEALTH
inner join dbo.WPSEARCHHISTORYSELECTEDCONSTITUENT WPSELECTED on WEALTH.ID = WPSELECTED.CONSTITUENTID
inner join dbo.WPSEARCHHISTORY WP on WPSELECTED.WPSEARCHHISTORYID = WP.ID
left join dbo.CONSTITUENT on CONSTITUENT.ID = WEALTH.ID
where
WP.ID = @ID
end
return 0;
end;