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