You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
467 lines
36 KiB
467 lines
36 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_branchUserSetup] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
/*
|
|
|
|
[proc_agentMaster] @flag = 'bc', @agentId = '1'
|
|
[proc_agentMaster] @flag = 's', @user = 'admin', @parentId = 1
|
|
|
|
*/
|
|
CREATE proc [dbo].[proc_branchUserSetup]
|
|
@flag VARCHAR(50) = NULL
|
|
,@userId INT = NULL
|
|
,@user VARCHAR(30) = NULL
|
|
,@userName VARCHAR(30) = NULL
|
|
,@agentCode VARCHAR(10) = 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
|
|
,@approvedDate DATETIME = 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
|
|
,@parentId VARCHAR(30) = NULL
|
|
,@agentName VARCHAR(100) = NULL
|
|
,@agentCountry VARCHAR(100) = NULL
|
|
,@agentLocation INT = NULL
|
|
,@agentType INT = NULL
|
|
,@actAsBranch CHAR(1) = NULL
|
|
,@isSettlingAgent CHAR(1) = NULL
|
|
,@populateBranch CHAR(1) = NULL
|
|
|
|
|
|
AS
|
|
SET NOCOUNT ON
|
|
|
|
DECLARE @glcode VARCHAR(10), @acct_num VARCHAR(20);
|
|
CREATE TABLE #tempACnum (acct_num VARCHAR(20));
|
|
|
|
|
|
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
|
|
|
|
SELECT
|
|
@logIdentifier = 'agentId'
|
|
,@logParamMain = 'agentMaster'
|
|
,@tableAlias = 'Agent Setup'
|
|
,@module = 20
|
|
,@ApprovedFunctionId = 20101030
|
|
|
|
IF @flag = 'su' --Select Users
|
|
BEGIN
|
|
SET @table = '(
|
|
SELECT
|
|
userId = ISNULL(aum.userId, au.userId)
|
|
,[userName] = ISNULL(aum.userName, au.userName)
|
|
,agentCode = ISNULL(aum.agentCode, au.agentCode)
|
|
,firstName = ISNULL(aum.firstName, au.firstName)
|
|
,middleName = ISNULL(aum.middleName, au.middleName)
|
|
,lastName = ISNULL(aum.lastName, au.lastName)
|
|
,salutation = ISNULL(aum.salutation, au.salutation)
|
|
,gender = ISNULL(aum.gender, au.gender)
|
|
,[address] = ISNULL(aum.address, au.address)
|
|
,city = ISNULL(aum.city, au.city)
|
|
,countryId = ISNULL(aum.countryId, au.countryId)
|
|
,state = ISNULL(aum.state, au.state)
|
|
,district = ISNULL(aum.district, au.district)
|
|
,zip = ISNULL(aum.zip, au.zip)
|
|
,telephoneNo = ISNULL(aum.telephoneNo, au.telephoneNo)
|
|
,mobileNo = ISNULL(aum.mobileNo, au.mobileNo)
|
|
,email = ISNULL(aum.email, au.email)
|
|
,pwd = ISNULL(aum.pwd, au.pwd)
|
|
,isActive = ISNULL(aum.isActive, au.isActive)
|
|
,isLocked = au.isLocked
|
|
,agentId = ISNULL(aum.agentId, au.agentId)
|
|
,sessionTimeOutPeriod = ISNULL(aum.sessionTimeOutPeriod, au.sessionTimeOutPeriod)
|
|
,loginTime = ISNULL(aum.loginTime, au.loginTime)
|
|
,logoutTime = ISNULL(aum.logoutTime, au.logoutTime)
|
|
,userAccessLevel = ISNULL(aum.userAccessLevel, au.userAccessLevel)
|
|
,lastLoginTs = ISNULL(aum.lastLoginTs, au.lastLoginTs)
|
|
,pwdChangeDays = ISNULL(aum.pwdChangeDays, au.pwdChangeDays)
|
|
,pwdChangeWarningDays = ISNULL(aum.pwdChangeWarningDays, au.pwdChangeWarningDays)
|
|
,lastPwdChangedOn = ISNULL(aum.lastPwdChangedOn, au.lastPwdChangedOn)
|
|
,forceChangePwd = ISNULL(aum.forceChangePwd, au.forceChangePwd)
|
|
,maxReportViewDays = ISNULL(aum.maxReportViewDays, au.maxReportViewDays)
|
|
,au.createdBy
|
|
,au.createdDate
|
|
,modifiedDate = CASE WHEN au.approvedBy IS NULL THEN au.createdDate ELSE aum.createdDate END
|
|
,modifiedBy = CASE WHEN au.approvedBy IS NULL THEN au.createdBy ELSE aum.createdBy END
|
|
,hasChanged = CASE WHEN (au.approvedBy IS NULL) OR
|
|
(aum.userId IS NOT NULL) OR
|
|
(x.userId IS NOT NULL) OR
|
|
(y.userId IS NOT NULL)
|
|
THEN ''Y'' ELSE ''N'' END
|
|
FROM
|
|
applicationUsers au with(nolock)
|
|
LEFT JOIN (
|
|
SELECT
|
|
userId
|
|
,createdBy = MAX(createdBy)
|
|
,createdDate = MAX(createdDate)
|
|
FROM applicationUserFunctionsMod aufm WITH(NOLOCK)
|
|
GROUP BY userId
|
|
) x ON au.userId = x.userId
|
|
LEFT JOIN (
|
|
SELECT
|
|
userId
|
|
,createdBy = MAX(createdBy)
|
|
,createdDate = MAX(createdDate)
|
|
FROM applicationUserRolesMod aurm WITH(NOLOCK)
|
|
GROUP BY userId
|
|
) y ON au.userId = y.userId
|
|
LEFT JOIN applicationUsersMod aum ON au.userId = aum.userId
|
|
AND (
|
|
aum.createdBy = ''' + @user + '''
|
|
OR ''Y'' = dbo.FNAHasRight(''' + @user + ''',' + CAST(@ApprovedFunctionId AS VARCHAR) + ')
|
|
)
|
|
WHERE ISNULL(au.isDeleted, ''N'') <> ''Y''
|
|
AND (
|
|
au.approvedBy IS NOT NULL
|
|
OR au.createdBy = ''' + @user + '''
|
|
OR ''Y'' = dbo.FNAHasRight(''' + @user + ''',' + CAST(@ApprovedFunctionId AS VARCHAR) + ')
|
|
)
|
|
|
|
) '
|
|
|
|
PRINT (@table)
|
|
IF @sortBy IS NULL
|
|
SET @sortBy = 'userId'
|
|
IF @sortOrder IS NULL
|
|
SET @sortOrder = 'ASC'
|
|
SET @table = '(
|
|
SELECT
|
|
main.userId
|
|
,main.userName
|
|
,name = ISNULL(main.firstName, '''') + ISNULL( '' '' + main.middleName, '''')+ ISNULL( '' '' + main.lastName, '''')
|
|
,main.firstName
|
|
,main.middleName
|
|
,main.lastName
|
|
,main.address
|
|
,main.countryId
|
|
,countryName = cm.countryName
|
|
,main.agentId
|
|
,am.agentName
|
|
,main.agentCode
|
|
,main.isLocked
|
|
,lockStatus = CASE WHEN ISNULL(main.isLocked, ''N'') = ''N'' THEN ''N | <a href="#" onclick="UnlockUser('' + CAST(main.userId AS VARCHAR) + '')">Lock</a>''
|
|
WHEN ISNULL(main.isLocked, ''N'') = ''Y'' THEN ''Y | <a href="#" onclick="UnlockUser('' + CAST(main.userId AS VARCHAR) + '')">Unlock</a>'' END
|
|
|
|
,userGroup = CASE WHEN am.agentType = ''2904'' OR am.actAsBranch = ''Y'' THEN ''''
|
|
ELSE
|
|
''<a href="/SwiftSystem/UserManagement/ApplicationUserSetup/UserGroupMaping.aspx?userName='' + main.userName + ''&userId='' + CAST(main.userId AS VARCHAR) + ''&agentId='' + CAST(main.agentId AS VARCHAR) + ''" ">
|
|
<img src="/images/user_icon.gif" border=0 title="User Grouping" alt="User Group" /></a>'' END
|
|
,main.haschanged
|
|
,main.modifiedBy
|
|
,main.createdBy
|
|
FROM ' + @table + ' main
|
|
INNER JOIN agentMaster am ON main.agentId = am.agentId
|
|
LEFT JOIN countryMaster cm ON main.countryId = cm.countryId
|
|
WHERE userName <> ''' + @user + '''
|
|
) x'
|
|
|
|
SET @sql_filter = ''
|
|
|
|
IF @haschanged IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND haschanged = ''' + @haschanged + ''''
|
|
|
|
IF @userName IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(userName, '''') LIKE ''%' + @userName + '%'''
|
|
|
|
IF @firstName IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(firstName, '''') LIKE ''%' + @firstName + '%'''
|
|
|
|
IF @lastName IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(lastName, '''') LIKE ''%' + @lastName + '%'''
|
|
|
|
IF @address IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(address, '''') LIKE ''%' + @address + '%'''
|
|
|
|
IF @countryId IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(countryId, '''') = ' + CAST(@countryId AS VARCHAR)
|
|
|
|
IF @agentId IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(agentId, '''') = ' + CAST(@agentId AS VARCHAR)
|
|
|
|
IF @agentCode IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(agentCode, '''') = ''' + @agentCode + ''''
|
|
|
|
SET @select_field_list ='
|
|
userId
|
|
,userName
|
|
,name
|
|
,firstName
|
|
,middleName
|
|
,lastName
|
|
,address
|
|
,countryId
|
|
,countryName
|
|
,agentId
|
|
,agentName
|
|
,agentCode
|
|
,isLocked
|
|
,lockStatus
|
|
,userGroup
|
|
,haschanged
|
|
,modifiedBy
|
|
,createdBy
|
|
'
|
|
--select @table
|
|
--return;
|
|
EXEC dbo.proc_paging
|
|
@table
|
|
,@sql_filter
|
|
,@select_field_list
|
|
,@extra_field_list
|
|
,@sortBy
|
|
,@sortOrder
|
|
,@pageSize
|
|
,@pageNumber
|
|
END
|
|
ELSE IF @flag = 'sa' --Select Agents
|
|
BEGIN
|
|
SET @table = '(
|
|
SELECT
|
|
parentId = ISNULL(amh.parentId, am.parentId)
|
|
,agentId = ISNULL(amh.agentId, am.agentId)
|
|
,agentCode = ISNULL(amh.agentCode, am.agentCode)
|
|
,agentName = ISNULL(amh.agentName, am.agentName)
|
|
,agentAddress = ISNULL(amh.agentAddress, am.agentAddress)
|
|
,agentCity = ISNULL(amh.agentCity, am.agentCity)
|
|
,agentCountry = ISNULL(amh.agentCountry, am.agentCountry)
|
|
,agentState = ISNULL(amh.agentState, am.agentState)
|
|
,agentDistrict = ISNULL(amh.agentDistrict, am.agentDistrict)
|
|
,agentZip = ISNULL(amh.agentZip, am.agentZip)
|
|
,agentLocation = ISNULL(amh.agentLocation, am.agentLocation)
|
|
,agentPhone1 = ISNULL(amh.agentPhone1, am.agentPhone1)
|
|
,agentPhone2 = ISNULL(amh.agentPhone2, am.agentPhone2)
|
|
,agentFax1 = ISNULL(amh.agentFax1, am.agentFax1)
|
|
,agentFax2 = ISNULL(amh.agentFax2, am.agentFax2)
|
|
,agentMobile1 = ISNULL(amh.agentMobile1, am.agentMobile1)
|
|
,agentMobile2 = ISNULL(amh.agentMobile2, am.agentMobile2)
|
|
,agentEmail1 = ISNULL(amh.agentEmail1, am.agentEmail1)
|
|
,agentEmail2 = ISNULL(amh.agentEmail2, am.agentEmail2)
|
|
,businessOrgType = ISNULL(amh.businessOrgType, am.businessOrgType)
|
|
,businessType = ISNULL(amh.businessType, am.businessType)
|
|
,agentRole = ISNULL(amh.agentRole, am.agentRole)
|
|
,agentType = ISNULL(amh.agentType, am.agentType)
|
|
,actAsBranch = ISNULL(amh.actAsBranch, am.actAsBranch)
|
|
,contractExpiryDate = ISNULL(amh.contractExpiryDate, am.contractExpiryDate)
|
|
,renewalFollowupDate = ISNULL(amh.renewalFollowupDate, am.renewalFollowupDate)
|
|
,isSettlingAgent = ISNULL(amh.isSettlingAgent, am.isSettlingAgent)
|
|
,agentGrp = ISNULL(amh.agentGrp, am.agentGrp)
|
|
,businessLicense = ISNULL(amh.businessLicense, am.businessLicense)
|
|
,agentBlock = ISNULL(amh.agentBlock, am.agentBlock)
|
|
,agentcompanyName = ISNULL(amh.agentcompanyName, am.agentcompanyName)
|
|
,companyAddress = ISNULL(amh.companyAddress, am.companyAddress)
|
|
,companyCity = ISNULL(amh.companyCity, am.companyCity)
|
|
,companyCountry = ISNULL(amh.companyCountry, am.companyCountry)
|
|
,companyState = ISNULL(amh.companyState, am.companyState)
|
|
,companyDistrict = ISNULL(amh.companyDistrict, am.companyDistrict)
|
|
,companyZip = ISNULL(amh.companyZip, am.companyZip)
|
|
,companyPhone1 = ISNULL(amh.companyPhone1, am.companyPhone1)
|
|
,companyPhone2 = ISNULL(amh.companyPhone2, am.companyPhone2)
|
|
,companyFax1 = ISNULL(amh.companyFax1, am.companyFax1)
|
|
,companyFax2 = ISNULL(amh.companyFax2, am.companyFax2)
|
|
,companyEmail1 = ISNULL(amh.companyEmail1, am.companyEmail1)
|
|
,companyEmail2 = ISNULL(amh.companyEmail2, am.companyEmail2)
|
|
,localTime = ISNULL(amh.localTime, am.localTime)
|
|
,agentDetails = ISNULL(amh.agentDetails, am.agentDetails)
|
|
,am.createdDate
|
|
,am.createdBy
|
|
,amh.modType
|
|
,modifiedDate = CASE WHEN am.approvedBy IS NULL THEN am.createdDate ELSE amh.createdDate END
|
|
,modifiedBy = CASE WHEN am.approvedBy IS NULL THEN am.createdBy ELSE amh.createdBy END
|
|
,hasChanged = CASE WHEN (am.approvedBy IS NULL) OR
|
|
(amh.agentId IS NOT NULL)
|
|
THEN ''Y'' ELSE ''N'' END
|
|
FROM agentMaster am WITH(NOLOCK)
|
|
LEFT JOIN agentMasterMod amh ON am.agentId = amh.agentId
|
|
AND (
|
|
amh.createdBy = ''' + @user + '''
|
|
OR ''Y'' = dbo.FNAHasRight(''' + @user + ''',' + CAST(@ApprovedFunctionId AS VARCHAR) + ')
|
|
)
|
|
WHERE ISNULL(am.isDeleted, ''N'') <> ''Y''
|
|
AND (
|
|
am.approvedBy IS NOT NULL
|
|
OR am.createdBy = ''' + @user + '''
|
|
OR ''Y'' = dbo.FNAHasRight(''' + @user + ''',' + CAST(@ApprovedFunctionId AS VARCHAR) + ')
|
|
)
|
|
--AND NOT(ISNULL(amh.modType, '''') = ''D'' AND amh.createdBy = ''' + @user + ''')
|
|
) '
|
|
|
|
IF @sortBy IS NULL
|
|
SET @sortBy = 'agentId'
|
|
IF @sortOrder IS NULL
|
|
SET @sortOrder = 'ASC'
|
|
SET @table = '(
|
|
SELECT
|
|
main.parentId
|
|
,main.agentId
|
|
,main.agentCode
|
|
,main.agentName
|
|
,main.agentAddress
|
|
,main.agentCity
|
|
,main.agentLocation
|
|
,countryName = main.agentCountry
|
|
,main.agentPhone1
|
|
,main.agentType
|
|
,main.actAsBranch
|
|
,main.contractExpiryDate
|
|
,main.renewalFollowupDate
|
|
,main.isSettlingAgent
|
|
,main.haschanged
|
|
,agentType1 = sdv.detailTitle
|
|
,parentName = am.agentName
|
|
,main.modifiedBy
|
|
,main.createdBy
|
|
,main.businessOrgType
|
|
,main.businessType
|
|
|
|
FROM ' + @table + ' main
|
|
LEFT JOIN staticDataValue sdv WITH(NOLOCK) ON main.agentType = sdv.valueId
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON main.parentId = am.agentId
|
|
WHERE 1=1 AND main.agentType NOT IN (2905,2906)
|
|
) x'
|
|
|
|
SET @sql_filter = ''
|
|
|
|
IF @haschanged IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND haschanged = ''' + CAST(@haschanged AS VARCHAR) + ''''
|
|
|
|
IF @agentCountry IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(countryName, '''') = ''' + CAST(@agentCountry AS VARCHAR) + ''''
|
|
|
|
IF @agentType IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(agentType, '''') = ' + CAST(@agentType AS VARCHAR)
|
|
|
|
IF @agentName IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(agentName, '''') LIKE ''%' + @agentName + '%'''
|
|
|
|
IF @agentLocation IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(agentLocation, '''') = ' + CAST(@agentLocation AS VARCHAR)
|
|
|
|
IF @agentId IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND agentId = ' + CAST(@agentId AS VARCHAR)
|
|
|
|
IF @parentId IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND parentId = ' + CAST(@parentId AS VARCHAR)
|
|
|
|
IF @actAsBranch IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(actAsBranch, ''N'') = ''' + @actAsBranch + ''''
|
|
|
|
IF @populateBranch = 'Y'
|
|
SET @sql_filter = @sql_filter + ' AND (ISNULL(agentType, '''') = 2904 OR actAsBranch = ''Y'')'
|
|
|
|
IF @isSettlingAgent IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(isSettlingAgent, ''N'') = ''' + @isSettlingAgent + ''''
|
|
|
|
IF @agentCode IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND agentCode = ''' + @agentCode + ''''
|
|
|
|
|
|
SET @select_field_list ='
|
|
parentId
|
|
,agentId
|
|
,agentCode
|
|
,agentName
|
|
,agentAddress
|
|
,agentCity
|
|
,agentLocation
|
|
,agentPhone1
|
|
,agentType
|
|
,agentType1
|
|
,contractExpiryDate
|
|
,renewalFollowupDate
|
|
,isSettlingAgent
|
|
,countryName
|
|
,parentName
|
|
,haschanged
|
|
,modifiedBy
|
|
,createdBy
|
|
'
|
|
--PRINT @table
|
|
EXEC dbo.proc_paging
|
|
@table
|
|
,@sql_filter
|
|
,@select_field_list
|
|
,@extra_field_list
|
|
,@sortBy
|
|
,@sortOrder
|
|
,@pageSize
|
|
,@pageNumber
|
|
|
|
END
|
|
|
|
END TRY
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
SELECT 1 error_code, ERROR_MESSAGE() mes, null id
|
|
END CATCH
|
|
|
|
|
|
GO
|