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.
582 lines
18 KiB
582 lines
18 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_balanceTopUpInt] Script Date: 7/4/2019 11:35:48 AM ******/
|
|
DROP PROCEDURE [dbo].[proc_balanceTopUpInt]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_balanceTopUpInt] Script Date: 7/4/2019 11:35:48 AM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE PROC [dbo].[proc_balanceTopUpInt]
|
|
@flag VARCHAR(50) = NULL
|
|
,@user VARCHAR(30) = NULL
|
|
,@btId VARCHAR(30) = NULL
|
|
,@agentId INT = NULL
|
|
,@amount MONEY = NULL
|
|
,@topUpExpiryDate DATETIME = NULL
|
|
,@hasChanged CHAR(1) = NULL
|
|
,@agentCountry VARCHAR(200) = NULL
|
|
,@agentDistrict VARCHAR(200) = NULL
|
|
,@agentLocation VARCHAR(200) = NULL
|
|
,@agentName VARCHAR(200) = NULL
|
|
,@createdBy VARCHAR(50) = NULL
|
|
,@approvedBy VARCHAR(50) = NULL
|
|
,@approvedDate VARCHAR(50) = NULL
|
|
,@createdDate VARCHAR(50) = NULL
|
|
,@approvedFromDate DATETIME = NULL
|
|
,@approvedToDate DATETIME = NULL
|
|
,@riskyAgent CHAR(1) = NULL
|
|
,@sortBy VARCHAR(50) = NULL
|
|
,@sortOrder VARCHAR(5) = NULL
|
|
,@pageSize INT = NULL
|
|
,@pageNumber INT = NULL
|
|
,@hasLimit VARCHAR(20) = 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)
|
|
,@module VARCHAR(10)
|
|
,@tableAlias VARCHAR(100)
|
|
,@logIdentifier VARCHAR(50)
|
|
,@logParamMod VARCHAR(100)
|
|
,@logParamMain VARCHAR(100)
|
|
,@table VARCHAR(MAX)
|
|
,@select_field_list VARCHAR(MAX)
|
|
,@extra_field_list VARCHAR(MAX)
|
|
,@sql_filter VARCHAR(MAX)
|
|
,@modType VARCHAR(6)
|
|
,@userId INT
|
|
SELECT
|
|
@logIdentifier = 'btId'
|
|
,@logParamMain = 'balanceTopUpInt'
|
|
,@logParamMod = 'balanceTopUpIntMod'
|
|
,@module = '20'
|
|
,@tableAlias = 'Balance Top Up'
|
|
IF @flag = 'i'
|
|
BEGIN
|
|
|
|
SELECT @userId = userId FROM applicationUsers WHERE userName = @user
|
|
IF NOT EXISTS(SELECT 'X' FROM creditLimitInt WHERE agentId = @agentId AND ISNULL(isActive, 'N') = 'Y')
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Sorry, Ledger not found', @user
|
|
RETURN
|
|
END
|
|
IF NOT EXISTS(SELECT 'X' FROM topUpLimit WHERE userId = @userId)
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Operation Unsuccessful, You do not have permission.', @user
|
|
RETURN
|
|
END
|
|
|
|
IF @amount IS NULL
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Please enter the amount', @user
|
|
RETURN
|
|
END
|
|
|
|
IF @amount > 0
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 'X' FROM topUpLimit WHERE userId = @userId AND limitPerDay > (
|
|
SELECT ISNULL(SUM(ISNULL(amount, 0)),0) FROM balanceTopUpInt
|
|
WHERE createdDate BETWEEN CONVERT(VARCHAR, GETDATE(), 101) AND CONVERT(VARCHAR, GETDATE(), 101) + ' 23:59:59'
|
|
AND agentId = @agentId
|
|
AND createdBy = @user
|
|
))
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Sorry, Your top up limit authority for today for this agent has exceeded.', @user
|
|
RETURN
|
|
END
|
|
END
|
|
|
|
IF(@amount > ISNULL((SELECT balance FROM applicationUsers WITH(NOLOCK) WHERE userName = @user), 0))
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Sorry, You do not have sufficient balance for the operation', @user
|
|
RETURN
|
|
END
|
|
|
|
IF(ISNULL((SELECT perTopUpLimit FROM topUpLimit WITH(NOLOCK) WHERE userId = @userId AND approvedBy IS NOT NULL), 0) < @amount)
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Sorry, Top-up amount exceeded the User Per Top Up Limit', @user
|
|
RETURN
|
|
END
|
|
|
|
IF(ISNULL((SELECT perTopUpAmt FROM creditLimitInt WITH(NOLOCK) WHERE agentId = @agentId AND approvedBy IS NOT NULL), 0) < @amount)
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Sorry, Top-up amount exceeded the Agent Per Top Up Limit', @user
|
|
RETURN
|
|
END
|
|
DECLARE @basicLimit MONEY, @topUpT MONEY, @topUpY MONEY, @topUpYCalc MONEY, @maxLimitAmt MONEY, @todaysAddedMaxLimit MONEY
|
|
--SELECT @basicLimit = limitAmt, @topUpT = ISNULL(topUpToday, 0), @topUpY = ISNULL(topUpTillYesterday, 0), @maxLimitAmt = maxLimitAmt FROM creditLimitInt WITH(NOLOCK) WHERE agentId = @agentId AND ISNULL(isActive, 'N') = 'Y'
|
|
SELECT
|
|
@basicLimit = ISNULL(cl.limitAmt, 0)
|
|
,@topUpT = ISNULL(cl.topUpToday, 0)
|
|
,@topUpY = ISNULL(cl.topUpTillYesterday, 0)
|
|
,@maxLimitAmt = ISNULL(cl.maxLimitAmt, 0)
|
|
,@todaysAddedMaxLimit = ISNULL(cl.todaysAddedMaxLimit, 0)
|
|
,@topUpYCalc = ISNULL(CASE WHEN cl.topUpTillYesterday - (0 - cl.yesterdaysBalance) - cl.todaysPaid - cl.todaysCancelled + 0 - 0 <= 0 THEN 0 ELSE cl.topUpTillYesterday - (0 - cl.yesterdaysBalance) - cl.todaysPaid - cl.todaysCancelled + 0 - 0 END,0)
|
|
FROM creditLimitInt cl WITH(NOLOCK)
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON cl.agentId = am.agentId
|
|
WHERE cl.agentId = @agentId
|
|
|
|
IF((@amount + @basicLimit + @topUpT + @topUpYCalc) > @maxLimitAmt + @todaysAddedMaxLimit)
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Sorry, Agent Max Limit Amount exceeded', @user
|
|
RETURN
|
|
END
|
|
/*
|
|
IF exists(SELECT 'X' FROM balanceTopUpInt WHERE agentId=@agentId AND btStatus is null AND approvedDate IS NULL)
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'Sorry, Previous Top Up Request is still pending for approval!', @user
|
|
RETURN
|
|
END
|
|
*/
|
|
BEGIN TRANSACTION
|
|
|
|
--AC Master
|
|
/*
|
|
UPDATE ac_master SET
|
|
top_up_today = ISNULL(top_up_today, 0) + @amount
|
|
WHERE agent_id = @agentId AND gl_code = 1
|
|
*/
|
|
|
|
INSERT INTO balanceTopUpInt (
|
|
agentId
|
|
,amount
|
|
,topUpExpiryDate
|
|
,createdBy
|
|
,createdDate
|
|
)
|
|
SELECT
|
|
@agentId
|
|
,@amount
|
|
,@topUpExpiryDate
|
|
,@user
|
|
,dbo.FNAGetDateInNepalTZ()
|
|
|
|
SET @modType = 'Insert'
|
|
EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @btId , @newValue OUTPUT
|
|
INSERT INTO #msg(errorCode, msg, id)
|
|
EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @btId, @user, @oldValue, @newValue
|
|
|
|
--Update User Balance
|
|
--UPDATE applicationUsers SET
|
|
-- balance = balance - @amount
|
|
--WHERE userName = @user
|
|
|
|
IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
|
|
BEGIN
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
EXEC proc_errorHandler 1, 'Failed to add new record.', @btId
|
|
RETURN
|
|
END
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
declare @message as varchar(max)
|
|
set @message='Top Up Limit Amount '+ CAST(@amount AS VARCHAR) +' has been requested successfully.'
|
|
EXEC proc_errorHandler 0, @message, @btId
|
|
END
|
|
|
|
ELSE IF @flag = 'ld' --Other Limit Detail
|
|
BEGIN
|
|
SELECT
|
|
am.agentName, cl.maxLimitAmt, cl.perTopUpAmt
|
|
--,cl.topUpTillYesterday
|
|
,topUpTillYesterday = CASE WHEN cl.topUpTillYesterday - (0 - cl.yesterdaysBalance) - cl.todaysPaid - cl.todaysCancelled + 0 - 0 <= 0 THEN 0 ELSE cl.topUpTillYesterday - (0 - cl.yesterdaysBalance) - cl.todaysPaid - cl.todaysCancelled + 0 - 0 END
|
|
,cl.topUpToday, todaysCancel = cl.todaysCancelled, todaysEPI = 0, todaysPOI = 0
|
|
,todaysFundDeposit = (0 - cl.yesterdaysBalance)
|
|
FROM creditLimitInt cl WITH(NOLOCK)
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON cl.agentId = am.agentId
|
|
WHERE cl.agentId = @agentId
|
|
END
|
|
|
|
ELSE IF @flag = 'a'
|
|
BEGIN
|
|
--SELECT * FROM balanceTopUpInt WITH(NOLOCK) WHERE btId = @btId
|
|
SELECT
|
|
am.agentId
|
|
,am.agentName
|
|
,availableAmt = ISNULL(dbo.FNAGetLimitBal(@agentId), 0)
|
|
,limit = ISNULL(main.dr_bal_lim, 0)
|
|
,maxLimitAmt = ISNULL(cr.maxLimitAmt, 0)
|
|
,currency = ISNULL(cm.currencyCode, 'N/A')
|
|
FROM agentMaster am
|
|
LEFT JOIN ac_master main ON am.agentId = main.agent_id
|
|
LEFT JOIN currencyMaster cm WITH(NOLOCK) ON main.ac_currency = cm.currencyId
|
|
LEFT JOIN creditLimitInt cr WITH(NOLOCK) ON am.agentId = cr.agentId
|
|
WHERE am.agentType = 2903 AND am.agentId = @agentId
|
|
END
|
|
|
|
ELSE IF @flag = 'u'
|
|
BEGIN
|
|
BEGIN TRANSACTION
|
|
UPDATE balanceTopUpInt SET
|
|
agentId = @agentId
|
|
,amount = @amount
|
|
,topUpExpiryDate = @topUpExpiryDate
|
|
,modifiedBy = @user
|
|
,modifiedDate = GETDATE()
|
|
WHERE btId = @btId
|
|
EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @btId, @newValue OUTPUT
|
|
INSERT INTO #msg(errorCode, msg, id)
|
|
EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @btId, @user, @oldValue, @newValue
|
|
IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
|
|
BEGIN
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
EXEC proc_errorHandler 1, 'Failed to update record.', @btId
|
|
RETURN
|
|
END
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
DECLARE @msg as varchar(max)
|
|
SET @msg='Top Up Amount '+ CAST(@amount AS VARCHAR) +' has been updated successfully.'
|
|
EXEC proc_errorHandler 0, @msg, @btId
|
|
|
|
END
|
|
|
|
ELSE IF @flag = 'd'
|
|
BEGIN
|
|
BEGIN TRANSACTION
|
|
UPDATE balanceTopUpInt SET
|
|
btStatus='Deleted'
|
|
,modifiedDate = GETDATE()
|
|
,modifiedBy = @user
|
|
WHERE btId = @btId
|
|
SET @modType = 'Delete'
|
|
EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @btId, @oldValue OUTPUT
|
|
INSERT INTO #msg(errorCode, msg, id)
|
|
EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @btId, @user, @oldValue, @newValue
|
|
IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
|
|
BEGIN
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
EXEC proc_errorHandler 1, 'Failed to delete record.', @btId
|
|
RETURN
|
|
END
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
EXEC proc_errorHandler 0, 'Record deleted successfully.', @btId
|
|
END
|
|
|
|
ELSE IF @flag = 'al' --Approval List
|
|
BEGIN
|
|
IF @sortBy IS NULL
|
|
SET @sortBy = 'agentName'
|
|
IF @sortOrder IS NULL
|
|
SET @sortOrder = 'ASC'
|
|
|
|
SET @table = '(
|
|
SELECT
|
|
bal.btId
|
|
,am.agentName
|
|
,bal.amount
|
|
,bal.createdBy
|
|
,bal.createdDate
|
|
FROM balanceTopUpInt bal WITH(NOLOCK)
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON bal.agentId = am.agentId
|
|
WHERE bal.approvedBy IS NULL
|
|
) x
|
|
'
|
|
|
|
SET @sql_filter = ''
|
|
|
|
IF @agentName IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(agentName, '''') LIKE ''%' + @agentName + '%'''
|
|
|
|
SET @select_field_list ='
|
|
btId
|
|
,agentName
|
|
,amount
|
|
,createdBy
|
|
,createdDate
|
|
'
|
|
|
|
EXEC dbo.proc_paging
|
|
@table
|
|
,@sql_filter
|
|
,@select_field_list
|
|
,@extra_field_list
|
|
,@sortBy
|
|
,@sortOrder
|
|
,@pageSize
|
|
,@pageNumber
|
|
END
|
|
|
|
ELSE IF @flag = 's'
|
|
BEGIN
|
|
SET @pageSize = '1000'
|
|
SET @PAGENUMBER ='1'
|
|
|
|
SET @sortBy = 'agentCountry'
|
|
SET @sortOrder = 'ASC'
|
|
|
|
SET @table = '(
|
|
SELECT
|
|
main.crLimitId
|
|
,am.agentId
|
|
,am.agentName
|
|
,am.agentCountry
|
|
,currency = ISNULL(cm.currencyCode, ''N/A'')
|
|
,limitAmt = ISNULL(main.limitAmt, 0)
|
|
,maxLimitAmt = ISNULL(main.maxLimitAmt, 0)
|
|
,perTopUpAmt = ISNULL(main.perTopUpAmt, 0)
|
|
,acBal = CASE WHEN main.CURRENCY=''NPR'' THEN AM1.CLR_BAL_AMT ELSE AM1.USD_AMT END
|
|
,todayTxnAmt = (isnull(main.todaysSent,0) - isnull(main.todaysPaid,0) - isnull(main.todaysCancelled,0))
|
|
,expiryDate = ISNULL(CAST(main.expiryDate AS VARCHAR), ''N/A'')
|
|
|
|
,limitToppedUp = isnull(main.topUpToday,0)
|
|
|
|
,topUp = ''<input id="topUp_'' + CAST(am.agentId AS VARCHAR) + ''" type="text" style="width: 75px; text-align: right;"/>''
|
|
,main.createdBy
|
|
,main.createdDate
|
|
,main.modifiedBy
|
|
,countryId = cCurr.countryId
|
|
,collCurr = currMas.currencyCode
|
|
,hasLimit = CASE WHEN main.agentId IS not NULL
|
|
THEN ''Y'' ELSE ''N'' END
|
|
FROM agentMaster am
|
|
INNER JOIN FastMoneyPro_account.DBO.AGENTTABLE AT ON am.mapCodeInt = AT.MAP_CODE
|
|
INNER JOIN FastMoneyPro_account.DBO.AC_MASTER AM1 ON AT.agent_id = AM1.agent_id
|
|
INNER JOIN countryCurrency cCurr WITH(NOLOCK) ON cCurr.countryId = am.agentCountryId
|
|
INNER JOIN currencyMaster currMas WITH(NOLOCK) ON currMas.currencyId = cCurr.currencyId
|
|
LEFT JOIN creditLimitInt main ON am.agentId = main.agentId
|
|
LEFT JOIN currencyMaster cm WITH(NOLOCK) ON main.currency = cm.currencyCode
|
|
WHERE am.isSettlingAgent = ''Y''
|
|
AND ISNULL(am.agentrole,''B'') IN (''B'',''S'')
|
|
AND AM1.ACCT_RPT_CODE=''3''
|
|
AND ISNULL(cCurr.isActive,''Y'') =''Y''
|
|
AND ISNULL(cCurr.isDeleted,''N'') = ''N''
|
|
)
|
|
|
|
'
|
|
|
|
SET @table = '(
|
|
SELECT
|
|
main.crLimitId
|
|
,main.agentId
|
|
,main.agentName
|
|
,main.agentCountry
|
|
,main.currency
|
|
,main.limitAmt
|
|
,main.perTopUpAmt
|
|
,main.limitToppedUp
|
|
,main.maxLimitAmt
|
|
,currentBalance = (ISNULL(main.acBal,0) - isnull(todayTxnAmt,0))*-1
|
|
,availableLimit = ISNULL(main.limitAmt,0)+ isnull(main.limitToppedUp,0) + ISNULL(main.acBal,0) - isnull(todayTxnAmt,0)
|
|
,main.expiryDate
|
|
,main.topUp
|
|
,main.createdBy
|
|
,main.createdDate
|
|
,modifiedBy = main.createdBy
|
|
,haschanged = ''N''
|
|
,main.hasLimit
|
|
FROM ' + @table + ' main
|
|
) x '
|
|
SET @sql_filter = ''
|
|
|
|
IF @haschanged IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND haschanged = ''' + @haschanged + ''''
|
|
|
|
IF @agentCountry IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(agentCountry, '''') LIKE ''%' + @agentCountry + '%'''
|
|
|
|
IF @agentName IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(agentName, '''') LIKE ''%' + @agentName + '%'''
|
|
|
|
IF @hasLimit IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND hasLimit = ''' + CAST(@hasLimit AS VARCHAR) + ''''
|
|
|
|
IF @riskyAgent IS NOT NULL
|
|
BEGIN
|
|
IF @riskyAgent = 'Y'
|
|
BEGIN
|
|
SET @sql_filter = @sql_filter + ' AND ((limitToppedUp >= (maxLimitAmt - limitAmt - (0.10 * maxLimitAmt)) AND maxLimitAmt <> limitAmt) OR availableLimit < 0)'
|
|
END
|
|
END
|
|
|
|
SET @select_field_list ='
|
|
crLimitId
|
|
,agentId
|
|
,agentName
|
|
,agentCountry
|
|
,currency
|
|
,limitAmt
|
|
,perTopUpAmt
|
|
,limitToppedUp
|
|
,maxLimitAmt
|
|
,currentBalance
|
|
,availableLimit
|
|
,expiryDate
|
|
,topUp
|
|
,createdBy
|
|
,createdDate
|
|
,modifiedBy
|
|
,hasChanged
|
|
,hasLimit
|
|
'
|
|
|
|
PRINT @table
|
|
EXEC dbo.proc_paging
|
|
@table
|
|
,@sql_filter
|
|
,@select_field_list
|
|
,@extra_field_list
|
|
,@sortBy
|
|
,@sortOrder
|
|
,@pageSize
|
|
,@pageNumber
|
|
END
|
|
|
|
ELSE IF @flag = 'reject'
|
|
BEGIN
|
|
SELECT @amount=amount,@agentId=agentId,@createdBy = createdBy FROM balanceTopUpInt WHERE btId=@btId
|
|
/*
|
|
IF(@createdBy = @user)
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, 'You are not authorised to reject this record', @btId
|
|
RETURN
|
|
END
|
|
*/
|
|
BEGIN TRANSACTION
|
|
SET @modType = 'Reject'
|
|
EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @btId, @oldValue OUTPUT
|
|
INSERT INTO #msg(errorCode, msg, id)
|
|
EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @btId, @user, @oldValue, @newValue
|
|
IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
|
|
BEGIN
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
EXEC proc_errorHandler 1, 'Failed to reject the transaction.', @btId
|
|
RETURN
|
|
END
|
|
|
|
UPDATE balanceTopUpInt SET BTSTATUS=@modType,approvedBy=@user,approvedDate=dbo.FNAGetDateInNepalTZ() WHERE btId=@btId
|
|
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
|
|
EXEC proc_errorHandler 0, 'Changes rejected successfully.', @btId
|
|
END
|
|
|
|
ELSE IF @flag = 'approve'
|
|
BEGIN
|
|
SELECT @amount=amount,@agentId=agentId,@createdBy = createdBy FROM balanceTopUpInt WHERE btId=@btId
|
|
-->> checking approve for same user
|
|
--IF(@createdBy = @user)
|
|
--BEGIN
|
|
-- EXEC proc_errorHandler 1, 'You are not authorised to approve this record', @btId
|
|
-- RETURN
|
|
--END
|
|
BEGIN TRANSACTION
|
|
--AC Master
|
|
UPDATE creditLimitInt SET
|
|
topUpToday = ISNULL(topUpToday, 0) + @amount
|
|
WHERE agentId = @agentId
|
|
|
|
UPDATE balanceTopUpInt SET
|
|
btStatus = 'Approved'
|
|
,approvedBy = @user
|
|
,approvedDate = dbo.FNAGetDateInNepalTZ()
|
|
WHERE btId = @btId
|
|
|
|
INSERT INTO #msg(errorCode, msg, id)
|
|
EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @btId, @user, @oldValue, @newValue
|
|
IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
|
|
BEGIN
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRANSACTION
|
|
EXEC proc_errorHandler 1, 'Could not approve the changes.', @btId
|
|
RETURN
|
|
END
|
|
IF @@TRANCOUNT > 0
|
|
COMMIT TRANSACTION
|
|
EXEC proc_errorHandler 0, 'Changes approved successfully.', @btId
|
|
END
|
|
|
|
ELSE IF @flag='history'
|
|
BEGIN
|
|
--IF @sortBy IS NULL
|
|
SET @sortBy = 'approvedDate'
|
|
--IF @sortOrder IS NULL
|
|
SET @sortOrder = 'DESC'
|
|
|
|
SET @table = '(
|
|
select
|
|
amount,
|
|
isnull(btStatus,''Requested'')btStatus,
|
|
createdBy,
|
|
createdDate,
|
|
approvedBy,
|
|
approvedDate
|
|
from balanceTopUpInt
|
|
where agentId=''' + cast(@agentId as varchar) + '''
|
|
) x
|
|
|
|
'
|
|
|
|
SET @sql_filter = ''
|
|
|
|
IF @approvedBy IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(approvedBy, '''') LIKE ''%' + @approvedBy + '%'''
|
|
|
|
IF @createdBy IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND ISNULL(createdBy, '''') LIKE ''%' + @createdBy + '%'''
|
|
/*
|
|
IF @createdDate IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND cast(createdDate as date) = ''' + cast(@createdDate as varchar(11)) + ''''
|
|
|
|
IF @approvedDate IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND cast(approvedDate as date) = ''' + cast(@approvedDate as varchar(11)) + ''''
|
|
*/
|
|
IF @approvedFromDate IS NOT NULL AND @approvedToDate IS NOT NULL
|
|
SET @sql_filter = @sql_filter + ' AND approvedDate BETWEEN ''' + CONVERT(VARCHAR,@approvedFromDate, 101) + ''' AND ''' + CONVERT(VARCHAR,@approvedToDate, 101) + ' 23:59:59'''
|
|
|
|
/*
|
|
IF @approvedDate IS NULL AND @createdDate IS NULL
|
|
SET @sql_filter = @sql_filter + ' AND cast(createdDate as date) = ''' + cast(CONVERT(VARCHAR,GETDATE(),101) as varchar(11)) + ''''
|
|
*/
|
|
|
|
|
|
SET @select_field_list ='
|
|
amount
|
|
,btStatus
|
|
,createdBy
|
|
,createdDate
|
|
,approvedBy
|
|
,approvedDate
|
|
'
|
|
|
|
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
|
|
DECLARE @errorMessage VARCHAR(MAX)
|
|
SET @errorMessage = ERROR_MESSAGE()
|
|
EXEC proc_errorHandler 1, @errorMessage, @btId
|
|
END CATCH
|
|
|
|
|
|
|
|
GO
|