USP_WEALTHPOINT_GENERATESEARCHHISTORY_RESEARCHGROUP

Creates a row in the WealthPoint Search History table for a research group search.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@CHANGEAGENTID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@REQUESTID int IN
@STATUSCODE int IN
@STATUSDETAILS nvarchar(500) IN
@RESEARCHGROUPID uniqueidentifier IN

Definition

Copy


            CREATE procedure dbo.USP_WEALTHPOINT_GENERATESEARCHHISTORY_RESEARCHGROUP(
                @ID uniqueidentifier = null output,
                @CHANGEAGENTID uniqueidentifier = null,
                @CURRENTAPPUSERID uniqueidentifier = null,
                @REQUESTID int = 0,
                @STATUSCODE int = 0,
                @STATUSDETAILS nvarchar(500)='',
                @RESEARCHGROUPID uniqueidentifier
            ) as begin
                set nocount on;

                declare @CURRENTDATE datetime;

                set @CURRENTDATE = getdate();

                if @CHANGEAGENTID is null
                    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

                if @ID is null
                    set @ID = newid();

                declare @RECORDCOUNT integer;
                select 
                    @RECORDCOUNT = count(RGM.ID)
                from
                    dbo.RESEARCHGROUPMEMBER RGM
                left outer join dbo.DISABLEDWEALTHUPDATES DWU on DWU.ID = RGM.CONSTITUENTID
                where
                    RGM.RESEARCHGROUPID = @RESEARCHGROUPID and DWU.ID is null;

                insert into dbo.WPSEARCHHISTORY    (
                    ID,
                    RESEARCHGROUPID,
                    REQUESTID,
                    STATUSCODE,
                    STATUSDETAILS,
                    DATESUBMITTED,
                    SEARCHTYPECODE,
                    RECORDCOUNT,
                    APPUSERID,
                    CHANGEDBYID,
                    ADDEDBYID,
                    DATEADDED,
                    DATECHANGED
                ) values (
                    @ID,
                    @RESEARCHGROUPID,
                    @REQUESTID,
                    @STATUSCODE,
                    @STATUSDETAILS,
                    @CURRENTDATE,
                    1, --Research Group Search Type Code

                    @RECORDCOUNT,
                    @CURRENTAPPUSERID,
                    @CHANGEAGENTID,
                    @CHANGEAGENTID,
                    @CURRENTDATE,
                    @CURRENTDATE
                )

                update
                     dbo.WEALTH
                set 
                    PENDINGSEARCH =1,
                    CHANGEDBYID = @CHANGEAGENTID,
                    DATECHANGED    = @CURRENTDATE
                from
                    dbo.RESEARCHGROUPMEMBER RGM
                inner join dbo.WEALTH on
                    WEALTH.ID = RGM.CONSTITUENTID
                left outer join dbo.DISABLEDWEALTHUPDATES DWU on
                    DWU.ID = WEALTH.ID
                where 
                    RESEARCHGROUPID = @RESEARCHGROUPID and DWU.ID is null

                insert into dbo.WEALTH (
                    ID,
                    PENDINGSEARCH,
                    CHANGEDBYID,
                    ADDEDBYID,
                    DATEADDED,
                    DATECHANGED    
                )
                select
                    RESEARCHGROUPMEMBER.CONSTITUENTID,
                    1,
                    @CHANGEAGENTID,
                    @CHANGEAGENTID,
                    @CURRENTDATE,
                    @CURRENTDATE               
                from
                    dbo.RESEARCHGROUPMEMBER
                left outer join dbo.WEALTH on
                    RESEARCHGROUPMEMBER.CONSTITUENTID = WEALTH.ID
                left outer join dbo.DISABLEDWEALTHUPDATES DWU on
                    DWU.ID = RESEARCHGROUPMEMBER.CONSTITUENTID
                where 
                    RESEARCHGROUPID = @RESEARCHGROUPID and
                    WEALTH.ID is null and DWU.ID is null

                --Update any records who are non-constituents to be constituents

                update
                    dbo.CONSTITUENT
                set
                    ISCONSTITUENT = 1,
                    CHANGEDBYID = @CHANGEAGENTID,
                    DATECHANGED = @CURRENTDATE
                from
                    dbo.RESEARCHGROUPMEMBER RGM
                left join dbo.CONSTITUENT on
                    CONSTITUENT.ID = RGM.CONSTITUENTID
                left join dbo.DISABLEDWEALTHUPDATES DWU on
                    DWU.ID = CONSTITUENT.ID
                where
                    RGM.RESEARCHGROUPID = @RESEARCHGROUPID and
                    DWU.ID is null and
                    CONSTITUENT.ISCONSTITUENT = 0;

                return 0;
            end;