USE [FastMoneyPro_Remit] GO /****** Object: StoredProcedure [dbo].[proc_applicationUsersMigration] Script Date: 9/27/2019 1:30:14 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /* exec [proc_applicationUsers] 'i', NULL, NULL, 'admin', 'admin', @isActive = 'Y',@pwdChangeDays = 20,@pwdChangeWarningDays = 10 exec [proc_applicationUsers] 'l', NULL, NULL, 'admin', 'admin' exec [proc_applicationUsers] @flag = 'lfg', @userName ='admin', @pwd = 'admin' */ CREATE proc [dbo].[proc_applicationUsersMigration] @flag VARCHAR(50) = NULL ,@userId INT = NULL ,@user VARCHAR(30) = NULL ,@userName VARCHAR(30) = NULL ,@agentName VARCHAR(100) = NULL ,@agentCode VARCHAR(20) = NULL ,@firstName VARCHAR(30) = NULL ,@middleName VARCHAR(30) = NULL ,@lastName VARCHAR(30) = NULL ,@salutation VARCHAR(10) = NULL ,@gender VARCHAR(10) = NULL ,@telephoneNo VARCHAR(15) = NULL ,@address VARCHAR(50) = NULL ,@city VARCHAR(30) = NULL ,@countryId INT = NULL ,@state INT = NULL ,@district INT = NULL ,@zip VARCHAR(10) = NULL ,@mobileNo VARCHAR(15) = NULL ,@email VARCHAR(255) = NULL ,@pwd VARCHAR(255) = NULL ,@isActive CHAR(1) = NULL ,@isLocked CHAR(1) = NULL ,@agentId INT = NULL ,@sessionTimeOutPeriod INT = NULL ,@tranApproveLimit MONEY = NULL ,@agentCrLimitAmt MONEY = NULL ,@loginTime VARCHAR(10) = NULL ,@logoutTime VARCHAR(10) = NULL ,@userAccessLevel CHAR(1) = NULL ,@perDayTranLimit INT = NULL ,@fromSendTrnTime TIME = NULL ,@toSendTrnTime TIME = NULL ,@fromPayTrnTime TIME = NULL ,@toPayTrnTime TIME = NULL ,@fromRptViewTime TIME = NULL ,@toRptViewTime TIME = NULL ,@isDeleted CHAR(1) = NULL ,@lastLoginTs DATETIME = NULL ,@pwdChangeDays INT = NULL ,@pwdChangeWarningDays INT = NULL ,@lastPwdChangedOn DATETIME = NULL ,@forceChangePwd CHAR(1) = NULL ,@oldPwd VARCHAR(255) = NULL ,@name VARCHAR(50) = NULL ,@file VARCHAR(500) = NULL ,@changesApprovalQueueRowId BIGINT = NULL ,@haschanged CHAR(1) = NULL ,@sortBy VARCHAR(50) = NULL ,@sortOrder VARCHAR(5) = NULL ,@pageSize INT = NULL ,@pageNumber INT = NULL ,@UserInfoDetail VARCHAR(MAX) = NULL ,@maxReportViewDays INT = NULL ,@lockReason VARCHAR(500) = NULL ,@employeeId VARCHAR(10) = NULL ,@userType VARCHAR(20) = NULL ,@createdBy VARCHAR(50) = NULL ,@createdDate DATETIME = NULL ,@approvedBy VARCHAR(50) = NULL ,@approvedDate DATETIME = NULL AS /* @flag s = select all (with dynamic filters) i = insert u = update a = select by role id d = delete by role id l = login r = reset password --@custodian_id, @user, @pwd cp = change password --@user, @pwd, @oldPwd loc = Lock cu = check user lo = Log Out [custodian] */ SET NOCOUNT ON; SET XACT_ABORT ON; BEGIN TRY CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT) DECLARE @sql VARCHAR(MAX) ,@oldValue VARCHAR(MAX) ,@newValue VARCHAR(MAX) ,@tableName VARCHAR(50) ,@logIdentifier VARCHAR(100) ,@logParamMain VARCHAR(100) ,@tableAlias VARCHAR(100) ,@modType VARCHAR(6) ,@module INT ,@select_field_list VARCHAR(MAX) ,@extra_field_list VARCHAR(MAX) ,@table VARCHAR(MAX) ,@sql_filter VARCHAR(MAX) ,@ApprovedFunctionId INT ,@msg VARCHAR(200) ,@parentAgentId int SELECT @logIdentifier = 'userId' ,@logParamMain = 'applicationUsers' ,@tableAlias = 'User Setup' ,@module = 10 ,@ApprovedFunctionId = 10101130 IF @flag = 'i' BEGIN IF NOT EXISTS(SELECT 'X' FROM agentMaster WITH(NOLOCK) WHERE agentId = @agentId) BEGIN SET @msg = 'Branch not exists' EXEC proc_errorHandler 1, @msg, @employeeId RETURN END IF EXISTS (SELECT 'X' FROM applicationUsers WITH(NOLOCK) WHERE [userName] = @userName ) BEGIN SET @msg = 'User Name ' + @userName + ' already exist' EXEC proc_errorHandler 1, @msg, @employeeId RETURN END BEGIN TRANSACTION INSERT INTO applicationUsers ( [userName] ,agentCode ,firstName ,middleName ,lastName ,salutation ,gender ,countryId ,state ,district ,zip ,city ,[address] ,telephoneNo ,mobileNo ,email ,pwd ,agentId ,sessionTimeOutPeriod ,tranApproveLimit ,agentCrLimitAmt ,loginTime ,logoutTime ,userAccessLevel ,perDayTranLimit ,fromSendTrnTime ,toSendTrnTime ,fromPayTrnTime ,toPayTrnTime ,fromRptViewTime ,toRptViewTime ,isDeleted ,lastLoginTs ,pwdChangeDays ,pwdChangeWarningDays ,lastPwdChangedOn ,forceChangePwd ,maxReportViewDays ,createdBy ,createdDate ,approvedBy ,approvedDate ,employeeId ,userType ,isActive ) SELECT @userName ,@agentCode ,@firstName ,@middleName ,@lastName ,@salutation ,@gender ,@countryId ,@state ,@district ,@zip ,@city ,@address ,@telephoneNo ,@mobileNo ,@email ,dbo.FNAEncryptString(@pwd) ,@agentId ,@sessionTimeOutPeriod ,@tranApproveLimit ,@agentCrLimitAmt ,@loginTime ,@logoutTime ,@userAccessLevel ,@perDayTranLimit ,@fromSendTrnTime ,@toSendTrnTime ,@fromPayTrnTime ,@toPayTrnTime ,@fromRptViewTime ,@toRptViewTime ,@isDeleted ,@lastLoginTs ,@pwdChangeDays ,@pwdChangeWarningDays ,@lastPwdChangedOn ,'Y' ,@maxReportViewDays ,'bivash' ,GETDATE() ,'raju' ,GETDATE() ,@employeeId ,@userType ,'Y' SET @userId = SCOPE_IDENTITY() --Keep Password History-------------------------------------- INSERT INTO passwordHistory( userName ,pwd ,createdDate ) SELECT @userName ,dbo.FNAEncryptString(@pwd) ,GETDATE() -------------------------------------------------------------- COMMIT TRANSACTION SELECT 0 errorCode, 'Record has been added successfully with User Code ' + CAST(@employeeId AS VARCHAR) mes, @userId id END ELSE IF @flag = 'approve' BEGIN DECLARE @baseChanges CHAR(1) = 'N' ,@roleChanges CHAR(1) = 'N' ,@functionChanges CHAR(1) = 'N' IF EXISTS(SELECT 'X' FROM applicationUsers WITH(NOLOCK) WHERE userId = @userId AND approvedBy IS NULL) OR EXISTS(SELECT 'X' FROM applicationUsersMod WITH(NOLOCK) WHERE userId = @userId) BEGIN SET @baseChanges = 'Y' END IF EXISTS(SELECT 'X' FROM applicationUserRolesMod WITH(NOLOCK) WHERE userId = @userId) BEGIN SET @roleChanges = 'Y' END IF EXISTS(SELECT 'X' FROM applicationUserFunctionsMod WITH(NOLOCK) WHERE userId = @userId) BEGIN SET @functionChanges = 'Y' END IF @baseChanges <> 'Y' AND @roleChanges <> 'Y' AND @functionChanges <> 'Y' BEGIN EXEC proc_errorHandler 1, '