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.
167 lines
8.7 KiB
167 lines
8.7 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_userTransfer] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
CREATE procEDURE [dbo].[proc_userTransfer]
|
|
@flag VARCHAR(20) = NULL
|
|
,@user VARCHAR(30) = NULL
|
|
,@fromCountry VARCHAR(30) = NULL
|
|
,@fromAgent VARCHAR(50) = NULL
|
|
,@fromBranch VARCHAR(20) = NULL
|
|
,@fromUser VARCHAR(50) = NULL
|
|
,@toCountry VARCHAR(20) = NULL
|
|
,@toAgent VARCHAR(20) = NULL
|
|
,@toBranch VARCHAR(20) = NULL
|
|
,@userName VARCHAR(50) = NULL
|
|
,@newBranchId INT = NULL
|
|
,@newBranchCode VARCHAR(200)= NULL
|
|
,@branchId INT = NULL
|
|
AS
|
|
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)
|
|
|
|
IF @flag = 'tBranch'
|
|
BEGIN
|
|
SELECT
|
|
agentId,
|
|
agentName = agentCode+'|'+agentName
|
|
FROM agentMaster am WITH(NOLOCK)
|
|
WHERE ISNULL(am.isDeleted, 'N') <> 'Y'
|
|
AND isActive = 'Y'
|
|
AND am.parentId = @fromAgent
|
|
AND am.agentId <> @fromBranch
|
|
ORDER BY agentName ASC
|
|
RETURN
|
|
END
|
|
|
|
IF @flag = 'u'
|
|
BEGIN
|
|
if @fromBranch = @toBranch
|
|
begin
|
|
SELECT 1 error_code, 'Branch should be different.' mes, @fromUser id
|
|
return;
|
|
end
|
|
|
|
SELECT
|
|
@oldValue = 'Branch = ' + am.agentName
|
|
FROM agentMaster am WITH(NOLOCK)
|
|
INNER JOIN applicationUsers au WITH(NOLOCK) ON am.agentId = au.agentId AND au.userName = @fromUser
|
|
|
|
SELECT
|
|
@newValue = 'Branch = ' + am.agentName
|
|
FROM agentMaster am WITH(NOLOCK)
|
|
WHERE am.agentId = @toBranch
|
|
|
|
BEGIN TRANSACTION
|
|
|
|
UPDATE applicationUsers SET
|
|
newBranchId = @toBranch
|
|
,branchTransferRequested = 'Y'
|
|
,modifiedBy = @user
|
|
,modifiedDate = GETDATE()
|
|
WHERE userName = @fromUser
|
|
|
|
|
|
INSERT INTO #msg(errorCode, msg, id)
|
|
EXEC proc_applicationLogs 'i', NULL, 'update', 'Branch Transfer', @fromUser, @user, @oldValue, @newValue
|
|
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
|
|
EXEC proc_errorHandler 0, 'User Transfer Requested Successfully.', @fromUser
|
|
RETURN
|
|
|
|
|
|
END
|
|
|
|
IF @flag='currentBranch'
|
|
BEGIN
|
|
SELECT am.agentId, am.agentName, au.agentCode FROM agentMaster am WITH(NOLOCK)
|
|
INNER JOIN applicationUsers au WITH(NOLOCK) ON am.agentId = au.agentId
|
|
WHERE au.userName = @userName
|
|
END
|
|
|
|
IF @flag ='accept'
|
|
BEGIN
|
|
BEGIN TRANSACTION
|
|
UPDATE applicationUsers SET
|
|
agentId = @newBranchId
|
|
,newBranchId = NULL
|
|
,agentCode = @newBranchCode
|
|
WHERE userName = @user
|
|
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
|
|
INSERT INTO #msg(errorCode, msg, id)
|
|
EXEC proc_applicationLogs 'i', NULL, 'update', 'Branch Transfer', @fromUser, @user, 'User Transfer accepted', @newBranchId
|
|
|
|
EXEC proc_errorHandler 0, 'Branch transfer request accepted successfully.', @user
|
|
RETURN
|
|
END
|
|
|
|
IF @flag ='reject'
|
|
BEGIN
|
|
BEGIN TRANSACTION
|
|
UPDATE applicationUsers SET
|
|
newBranchId = NULL
|
|
WHERE userName = @user
|
|
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
|
|
INSERT INTO #msg(errorCode, msg, id)
|
|
EXEC proc_applicationLogs 'i', NULL, 'update', 'Branch Transfer', @fromUser, @user, 'User Transfer rejected', @newBranchId
|
|
EXEC proc_errorHandler 0, 'branch transfer request rejected successfully.', @user
|
|
RETURN
|
|
END
|
|
|
|
IF @flag = 't-branch'
|
|
BEGIN
|
|
|
|
SELECT au.modifiedBy, au.modifiedDate, am.agentName, am.agentCode FROM applicationUsers au WITH(NOLOCK)
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON am.agentId = au.newBranchId
|
|
WHERE newBranchId = @newBranchId AND userName = @userName
|
|
|
|
RETURN
|
|
END
|
|
|
|
IF @flag = 'a'
|
|
BEGIN
|
|
SELECT
|
|
fCountryId = au.countryId,
|
|
fCountryName = cm.countryName,
|
|
fBranchId = au.agentId,
|
|
fBranchName = bm.agentName,
|
|
fAgentId = bm.parentId,
|
|
fAgentName = am.agentName
|
|
FROM applicationUsers au WITH(NOLOCK)
|
|
INNER JOIN countryMaster cm WITH(NOLOCK) ON au.countryId = cm.countryId
|
|
INNER JOIN agentMaster bm WITH(NOLOCK) ON au.agentId = bm.agentId
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON bm.parentId = am.agentId
|
|
WHERE userName = @userName
|
|
END
|
|
|
|
END TRY
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
SELECT 1 error_code, ERROR_MESSAGE() mes, null id
|
|
END CATCH
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GO
|