USE [FastMoneyPro_Remit] GO /****** Object: StoredProcedure [dbo].[PROC_GENERATE_MEMBERSHIP_ID] Script Date: 8/29/2023 1:04:46 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --DECLARE @MEMBESHIP_ID VARCHAR(20) --EXEC PROC_GENERATE_MEMBERSHIP_ID @USER = 'mobile', @CUSTOMERID = NULL, @MEMBESHIP_ID = NULL ALTER PROC [dbo].[PROC_GENERATE_MEMBERSHIP_ID] ( @USER VARCHAR(40) ,@CUSTOMERID BIGINT ,@MEMBESHIP_ID VARCHAR(15) OUT ,@loginBranchId BIGINT = NULL ) AS ; SET NOCOUNT ON; SET XACT_ABORT ON; BEGIN DECLARE @AGENTID VARCHAR(10), @RANDOM_NUMBER VARCHAR(12), @AGENTTYPE VARCHAR(5), @BRANCHCODE CHAR(3), @maxValue INT, @USERTYPE VARCHAR(5) IF @USER IN ('online','mobile') BEGIN IF @USER ='online' BEGIN SET @BRANCHCODE='ONL' END ELSE BEGIN SET @BRANCHCODE='MOB' END SELECT @maxValue = ISNULL(maxValue, 1) FROM agentMaster (NOLOCK) WHERE agentId = '394395' PRINT @maxValue; UPDATE agentMaster SET MAXVALUE = @maxValue + 1 WHERE AGENTID = 394395 END ELSE BEGIN IF @user like 'jme%' BEGIN DECLARE @BRANCHID VARCHAR(50) SELECT @BRANCHID = BRANCH_ID FROM REFERRAL_AGENT_WISE WHERE REFERRAL_CODE = @USER SELECT @AGENTID = AM.AGENTID, @AGENTTYPE = AM.agentType, @BRANCHCODE = 'AGT', @maxValue = ISNULL(maxValue, 1), @USERTYPE = 'REF' FROM APPLICATIONUSERS AU(NOLOCK) INNER JOIN agentMaster AM(NOLOCK) ON AM.AGENTID = AU.agentId WHERE AU.AGENTID = @BRANCHID END ELSE BEGIN SELECT @AGENTID = AM.AGENTID, @AGENTTYPE = AM.agentType, @BRANCHCODE = BRANCHCODE, @maxValue = ISNULL(maxValue, 1), @USERTYPE = ISNULL(AU.USERTYPE, 'HO') FROM APPLICATIONUSERS AU(NOLOCK) INNER JOIN agentMaster AM(NOLOCK) ON AM.AGENTID = AU.agentId WHERE userName = @USER END IF @loginBranchId <> 0 BEGIN SET @AGENTID = @loginBranchId SELECT @AGENTID = AGENTID, @AGENTTYPE = agentType, @BRANCHCODE = BRANCHCODE, @maxValue = ISNULL(maxValue, 1), @USERTYPE = 'A' FROM agentMaster (NOLOCK) WHERE AGENTID = @AGENTID END IF @USERTYPE NOT IN ('HO') BEGIN IF @AGENTTYPE = '2904' BEGIN SELECT @BRANCHCODE = BRANCHCODE, @maxValue = ISNULL(maxValue, 1), @AGENTID = AGENTID FROM agentMaster (NOLOCK) WHERE PARENTID = @AGENTID END UPDATE agentMaster SET MAXVALUE = @maxValue + 1 WHERE AGENTID = @AGENTID END ELSE IF @USERTYPE = 'REF' BEGIN SELECT @BRANCHCODE = @BRANCHCODE, @maxValue = ISNULL(maxValue, 1), @AGENTID = AGENTID FROM agentMaster (NOLOCK) WHERE PARENTID = @AGENTID --main HO UPDATE agentMaster SET MAXVALUE = @maxValue + 1 WHERE AGENTID = @AGENTID END ELSE BEGIN SELECT @BRANCHCODE = BRANCHCODE, @maxValue = ISNULL(maxValue, 1), @AGENTID = AGENTID FROM agentMaster (NOLOCK) WHERE PARENTID = @AGENTID --main HO UPDATE agentMaster SET MAXVALUE = @maxValue + 1 WHERE AGENTID = @AGENTID END END PRINT @RANDOM_NUMBER; SELECT @RANDOM_NUMBER = RIGHT('0000000' + CAST(@maxValue AS VARCHAR), 6) SET @MEMBESHIP_ID = @BRANCHCODE + @RANDOM_NUMBER END;