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.
384 lines
29 KiB
384 lines
29 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_agentBusinessFunction] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
CREATE proc [dbo].[proc_agentBusinessFunction]
|
|
@flag VARCHAR(50) = NULL
|
|
,@user VARCHAR(30) = NULL
|
|
,@rowId INT = NULL
|
|
,@agentId VARCHAR(50) = NULL
|
|
,@rsagentId CHAR(2) = NULL
|
|
,@agentType CHAR(2) = NULL
|
|
,@defaultDepositMode CHAR(2) = NULL
|
|
,@invoicePrintMode CHAR(2) = NULL
|
|
,@invoicePrintMethod CHAR(2) = NULL
|
|
,@globalTRNAllowed CHAR(1) = NULL
|
|
,@agentOperationType CHAR(1) = NULL
|
|
,@applyCoverFund CHAR(1) = NULL
|
|
,@sendSMSToReceiver CHAR(1) = NULL
|
|
,@sendEmailToReceiver CHAR(1) = NULL
|
|
,@sendSMSToSender CHAR(1) = NULL
|
|
,@sendEmailToSender CHAR(1) = NULL
|
|
,@trnMinAmountForTestQuestion MONEY = NULL
|
|
,@birthdayAndOtherWish CHAR(1) = NULL
|
|
,@agentLimitDispSendTxn CHAR(1) = NULL
|
|
,@enableCashCollection CHAR(1) = NULL
|
|
,@dateFormat VARCHAR(10) = NULL
|
|
,@settlementType INT = NULL
|
|
,@fromSendTrnTime TIME = NULL
|
|
,@toSendTrnTime TIME = NULL
|
|
,@fromPayTrnTime TIME = NULL
|
|
,@toPayTrnTime TIME = NULL
|
|
,@fromRptViewTime TIME = NULL
|
|
,@toRptViewTime TIME = NULL
|
|
,@isActive CHAR(1) = NULL
|
|
,@tAmt MONEY = NULL
|
|
,@agentAutoApprovalLimit MONEY = NULL
|
|
,@isRT VARCHAR(1) = NULL
|
|
,@sortBy VARCHAR(50) = NULL
|
|
,@sortOrder VARCHAR(5) = NULL
|
|
,@pageSize INT = NULL
|
|
,@pageNumber INT = NULL
|
|
,@isSelfTxnApprove VARCHAR(10) = NULL
|
|
,@routingEnable CHAR(1) = NULL
|
|
,@hasUSDNostroAc CHAR(1) = NULL
|
|
,@flcNostroAcCurr VARCHAR(100) = NULL
|
|
,@fxGain CHAR(1) = NULL
|
|
|
|
AS
|
|
SET NOCOUNT ON
|
|
SET XACT_ABORT ON
|
|
BEGIN TRY
|
|
CREATE TABLE #msg(error_code INT, msg VARCHAR(100), id INT)
|
|
DECLARE
|
|
@sql VARCHAR(MAX)
|
|
,@oldValue VARCHAR(MAX)
|
|
,@newValue VARCHAR(MAX)
|
|
,@tableName VARCHAR(50)
|
|
DECLARE
|
|
@select_field_list VARCHAR(MAX)
|
|
,@extra_field_list VARCHAR(MAX)
|
|
,@table VARCHAR(MAX)
|
|
,@sql_filter VARCHAR(MAX)
|
|
DECLARE
|
|
@gridName VARCHAR(50)
|
|
,@modType VARCHAR(6)
|
|
SELECT
|
|
@gridName = 'grid_agentBusinessFunction'
|
|
|
|
IF @flag='a'
|
|
BEGIN
|
|
SELECT * FROM agentBusinessFunction WHERE agentId=@agentId
|
|
END
|
|
|
|
IF @flag = 'i'
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 'X' from agentBusinessFunction WHERE agentId=@agentId)
|
|
BEGIN
|
|
BEGIN TRANSACTION
|
|
INSERT INTO agentBusinessFunction (
|
|
agentId
|
|
,defaultDepositMode
|
|
,invoicePrintMode
|
|
,invoicePrintMethod
|
|
,globalTRNAllowed
|
|
,agentOperationType
|
|
,applyCoverFund
|
|
,sendSMSToReceiver
|
|
,sendEmailToReceiver
|
|
,sendSMSToSender
|
|
,sendEmailToSender
|
|
,trnMinAmountForTestQuestion
|
|
,birthdayAndOtherWish
|
|
,enableCashCollection
|
|
,agentLimitDispSendTxn
|
|
,[dateFormat]
|
|
,settlementType
|
|
,fromSendTrnTime
|
|
,toSendTrnTime
|
|
,fromPayTrnTime
|
|
,toPayTrnTime
|
|
,fromRptViewTime
|
|
,toRptViewTime
|
|
,isActive
|
|
,isRT
|
|
,agentAutoApprovalLimit
|
|
,createdBy
|
|
,createdDate
|
|
,routingEnable
|
|
,isSelfTxnApprove
|
|
,hasUSDNostroAc
|
|
,flcNostroAcCurr
|
|
,fxGain
|
|
)
|
|
SELECT
|
|
@agentId
|
|
,@defaultDepositMode
|
|
,@invoicePrintMode
|
|
,@invoicePrintMethod
|
|
,@globalTRNAllowed
|
|
,@agentOperationType
|
|
,@applyCoverFund
|
|
,@sendSMSToReceiver
|
|
,@sendEmailToReceiver
|
|
,@sendSMSToSender
|
|
,@sendEmailToSender
|
|
,@trnMinAmountForTestQuestion
|
|
,@birthdayAndOtherWish
|
|
,@enableCashCollection
|
|
,@agentLimitDispSendTxn
|
|
,@dateFormat
|
|
,@settlementType
|
|
,@fromSendTrnTime
|
|
,@toSendTrnTime
|
|
,@fromPayTrnTime
|
|
,@toPayTrnTime
|
|
,@fromRptViewTime
|
|
,@toRptViewTime
|
|
,@isActive
|
|
,@isRT
|
|
,@agentAutoApprovalLimit
|
|
,@user
|
|
,GETDATE()
|
|
,@routingEnable
|
|
,@isSelfTxnApprove
|
|
,@hasUSDNostroAc
|
|
,@flcNostroAcCurr
|
|
,@fxGain
|
|
|
|
SET @rowId = SCOPE_IDENTITY()
|
|
EXEC [dbo].proc_GetColumnToRow 'agentBusinessFunction', 'agentBusinessFunctionId', @rowId, @newValue OUTPUT
|
|
INSERT INTO #msg(error_code, msg, id)
|
|
EXEC proc_applicationLogs 'i', NULL, 'insert', 'agentBusinessFunction', @rowId, @user, @oldValue, @newValue
|
|
IF EXISTS (SELECT 'X' FROM #msg WHERE error_code <> 0 )
|
|
BEGIN
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
SELECT 1 error_code, 'Record can not be updated.' mes, @rowId id
|
|
RETURN
|
|
END
|
|
/*
|
|
IF EXISTS(SELECT 'x' FROM agentMaster WITH(NOLOCK) WHERE agentId = @agentId AND agentType = 2903)
|
|
BEGIN
|
|
EXEC proc_agentMaster_sub1 @flag = 'account', @agentId = @agentId, @user = @user
|
|
END
|
|
*/
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
SELECT 0 error_code, 'Record has been saved successfully' mes, @rowId id
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
BEGIN TRANSACTION
|
|
EXEC [dbo].proc_GetColumnToRow 'agentBusinessFunction', 'agentBusinessFunctionId', @rowId, @oldValue OUTPUT
|
|
UPDATE agentBusinessFunction SET
|
|
defaultDepositMode = @defaultDepositMode
|
|
,invoicePrintMode = @invoicePrintMode
|
|
,invoicePrintMethod = @invoicePrintMethod
|
|
,globalTRNAllowed = @globalTRNAllowed
|
|
,agentOperationType = @agentOperationType
|
|
,applyCoverFund = @applyCoverFund
|
|
,sendSMSToReceiver = @sendSMSToReceiver
|
|
,sendEmailToReceiver = @sendEmailToReceiver
|
|
,sendSMSToSender = @sendSMSToSender
|
|
,sendEmailToSender = @sendEmailToSender
|
|
,trnMinAmountForTestQuestion = @trnMinAmountForTestQuestion
|
|
,birthdayAndOtherWish = @birthdayAndOtherWish
|
|
,enableCashCollection = @enableCashCollection
|
|
,agentLimitDispSendTxn = @agentLimitDispSendTxn
|
|
,[dateFormat] = @dateFormat
|
|
,settlementType = @settlementType
|
|
,fromSendTrnTime = @fromSendTrnTime
|
|
,toSendTrnTime = @toSendTrnTime
|
|
,fromPayTrnTime = @fromPayTrnTime
|
|
,toPayTrnTime = @toPayTrnTime
|
|
,fromRptViewTime = @fromRptViewTime
|
|
,toRptViewTime = @toRptViewTime
|
|
,isActive = @isActive
|
|
,isRT = @isRT
|
|
,agentAutoApprovalLimit = @agentAutoApprovalLimit
|
|
,modifiedBy = @user
|
|
,modifiedDate = GETDATE()
|
|
,routingEnable = @routingEnable
|
|
,isSelfTxnApprove = @isSelfTxnApprove
|
|
,hasUSDNostroAc = @hasUSDNostroAc
|
|
,flcNostroAcCurr = @flcNostroAcCurr
|
|
,fxGain = @fxGain
|
|
WHERE agentId = @agentId
|
|
EXEC [dbo].proc_GetColumnToRow 'agentBusinessFunction', 'agentBusinessFunctionId', @rowId, @newValue OUTPUT
|
|
INSERT INTO #msg(error_code, msg, id)
|
|
EXEC proc_applicationLogs 'i', NULL, 'update', 'agentBusinessFunction', @rowId, @user, @oldValue, @newValue
|
|
IF EXISTS (SELECT 'X' FROM #msg WHERE error_code <> 0 )
|
|
BEGIN
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
SELECT 1 error_code, 'Record can not be updated.' mes, @rowId id
|
|
RETURN
|
|
END
|
|
/*
|
|
IF EXISTS(SELECT 'x' FROM agentMaster WITH(NOLOCK) WHERE agentId = @agentId AND agentType = 2903)
|
|
BEGIN
|
|
EXEC proc_agentMaster_sub1 @flag = 'account', @agentId = @agentId, @user = @user
|
|
END
|
|
*/
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
SELECT 0 error_code, 'Record has been updated successfully.' mes, @rowId id
|
|
END
|
|
END
|
|
|
|
ELSE IF @flag = 'u'
|
|
BEGIN
|
|
BEGIN TRANSACTION
|
|
EXEC [dbo].proc_GetColumnToRow 'agentBusinessFunction', 'agentBusinessFunctionId', @rowId, @oldValue OUTPUT
|
|
UPDATE agentBusinessFunction SET
|
|
defaultDepositMode = @defaultDepositMode
|
|
,invoicePrintMode = @invoicePrintMode
|
|
,invoicePrintMethod = @invoicePrintMethod
|
|
,globalTRNAllowed = @globalTRNAllowed
|
|
,agentOperationType = @agentOperationType
|
|
,applyCoverFund = @applyCoverFund
|
|
,sendSMSToReceiver = @sendSMSToReceiver
|
|
,sendEmailToReceiver = @sendEmailToReceiver
|
|
,sendSMSToSender = @sendSMSToSender
|
|
,sendEmailToSender = @sendEmailToSender
|
|
,trnMinAmountForTestQuestion = @trnMinAmountForTestQuestion
|
|
,birthdayAndOtherWish = @birthdayAndOtherWish
|
|
,enableCashCollection = @enableCashCollection
|
|
,agentLimitDispSendTxn = @agentLimitDispSendTxn
|
|
,[dateFormat] = @dateFormat
|
|
,settlementType = @settlementType
|
|
,fromSendTrnTime = @fromSendTrnTime
|
|
,toSendTrnTime = @toSendTrnTime
|
|
,fromPayTrnTime = @fromPayTrnTime
|
|
,toPayTrnTime = @toPayTrnTime
|
|
,fromRptViewTime = @fromRptViewTime
|
|
,toRptViewTime = @toRptViewTime
|
|
,isActive = @isActive
|
|
,isRT = @isRT
|
|
,agentAutoApprovalLimit = @agentAutoApprovalLimit
|
|
,modifiedBy = @user
|
|
,modifiedDate = GETDATE()
|
|
,isSelfTxnApprove = @isSelfTxnApprove
|
|
,hasUSDNostroAc = @hasUSDNostroAc
|
|
,flcNostroAcCurr = @flcNostroAcCurr
|
|
,fxGain = @fxGain
|
|
WHERE agentBusinessFunctionId = @rowId
|
|
EXEC [dbo].proc_GetColumnToRow 'agentBusinessFunction', 'agentBusinessFunctionId', @rowId, @newValue OUTPUT
|
|
INSERT INTO #msg(error_code, msg, id)
|
|
EXEC proc_applicationLogs 'i', NULL, 'update', 'agentBusinessFunction', @rowId, @user, @oldValue, @newValue
|
|
IF EXISTS (SELECT 'X' FROM #msg WHERE error_code <> 0 )
|
|
BEGIN
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
SELECT 1 error_code, 'Record can not be updated.' mes, @rowId id
|
|
RETURN
|
|
END
|
|
IF @agentId IS NULL
|
|
BEGIN
|
|
SELECT
|
|
@agentId = agentId
|
|
FROM agentBusinessFunction WITH(NOLOCK)
|
|
WHERE agentBusinessFunctionId = @rowId
|
|
END
|
|
/*
|
|
IF EXISTS(SELECT 'x' FROM agentMaster WITH(NOLOCK) WHERE agentId = @agentId AND agentType = 2903)
|
|
BEGIN
|
|
EXEC proc_agentMaster_sub1 @flag = 'account', @agentId = @agentId, @user = @user
|
|
END
|
|
*/
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
SELECT 0 error_code, 'Record updated successfully.' mes, @rowId id
|
|
END
|
|
|
|
ELSE IF @flag = 'd'
|
|
BEGIN
|
|
BEGIN TRANSACTION
|
|
UPDATE agentBusinessFunction SET
|
|
isDeleted = 'Y'
|
|
,modifiedBy = @user
|
|
,modifiedDate =GETDATE()
|
|
WHERE agentBusinessFunctionId = @rowId
|
|
EXEC [dbo].proc_GetColumnToRow 'agentBusinessFunction', 'agentBusinessFunctionId', @rowId, @oldValue OUTPUT
|
|
INSERT INTO #msg(error_code, msg, id)
|
|
EXEC proc_applicationLogs 'i', NULL, 'delete', 'agentBusinessFunction', @rowId, @user, @oldValue, @newValue
|
|
IF EXISTS (SELECT 'X' FROM #msg WHERE error_code <> 0 )
|
|
BEGIN
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
SELECT 1 error_code, 'Record can not be deleted.' mes, @rowId id
|
|
RETURN
|
|
END
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
SELECT 0 error_code, 'Record deleted successfully.' mes, @rowId id
|
|
END
|
|
|
|
--- AGENT INVOICE PRINT MODE
|
|
ELSE IF @flag = 'inv'
|
|
BEGIN
|
|
|
|
declare @mode varchar(20)=null
|
|
|
|
IF @agentId IS NOT NULL AND (ISNUMERIC(@agentId) = 1)
|
|
BEGIN
|
|
SELECT @mode = CASE WHEN invoicePrintMode='S' then 'Single' ELSE 'Multiple' END from agentBusinessFunction WITH (NOLOCK)
|
|
WHERE agentId = @agentId
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT @mode = CASE WHEN invoicePrintMode='S' then 'Single' ELSE 'Multiple' END from agentBusinessFunction WITH (NOLOCK)
|
|
WHERE agentId = (SELECT am.parentId FROM applicationUsers au WITH (NOLOCK)
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON au.agentId = am.agentId
|
|
WHERE userName =@user)
|
|
END
|
|
----SELECT @mode = detailTitle FROM staticDataValue sdv WITH (NOLOCK)
|
|
----INNER JOIN agentBusinessFunction abf WITH (NOLOCK) ON abf.invoicePrintMode = sdv.valueId
|
|
----WHERE abf.agentId = (SELECT agentId FROM applicationUsers WITH (NOLOCK) WHERE userName =@user)
|
|
|
|
|
|
SELECT isnull(@mode, 'Multiple') as [mode]
|
|
|
|
END
|
|
|
|
ELSE IF @flag = 'invMethod'
|
|
BEGIN
|
|
DECLARE
|
|
@method VARCHAR(20) = NULL
|
|
,@userId INT
|
|
,@sendLimit MONEY
|
|
|
|
SELECT @userId = userId FROM applicationUsers WITH(NOLOCK) WHERE userName = @user
|
|
SELECT @sendLimit = sendLimit FROM userLimit WITH(NOLOCK)
|
|
WHERE userId = @userId
|
|
AND ISNULL(isDeleted, 'N') <> 'Y'
|
|
AND ISNULL(isActive, 'N') = 'Y'
|
|
AND ISNULL(isEnable, 'N') = 'Y'
|
|
SELECT
|
|
@method = invoicePrintMethod
|
|
FROM agentBusinessFunction WITH(NOLOCK)
|
|
WHERE agentId = (SELECT agentId FROM applicationUsers WITH(NOLOCK) WHERE userName = @user)
|
|
|
|
IF(@sendLimit > @tAmt)
|
|
SELECT 'Y'
|
|
ELSE IF(@method = 'ba')
|
|
SELECT 'Y'
|
|
ELSE
|
|
SELECT 'N'
|
|
END
|
|
|
|
END TRY
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
SELECT 1 error_code, ERROR_MESSAGE() mes, null id
|
|
END CATCH
|
|
|
|
|
|
|
|
GO
|