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

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_balanceTopUpInt] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_balanceTopUpInt]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_balanceTopUpInt] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. CREATE PROC [dbo].[proc_balanceTopUpInt]
  12. @flag VARCHAR(50) = NULL
  13. ,@user VARCHAR(30) = NULL
  14. ,@btId VARCHAR(30) = NULL
  15. ,@agentId INT = NULL
  16. ,@amount MONEY = NULL
  17. ,@topUpExpiryDate DATETIME = NULL
  18. ,@hasChanged CHAR(1) = NULL
  19. ,@agentCountry VARCHAR(200) = NULL
  20. ,@agentDistrict VARCHAR(200) = NULL
  21. ,@agentLocation VARCHAR(200) = NULL
  22. ,@agentName VARCHAR(200) = NULL
  23. ,@createdBy VARCHAR(50) = NULL
  24. ,@approvedBy VARCHAR(50) = NULL
  25. ,@approvedDate VARCHAR(50) = NULL
  26. ,@createdDate VARCHAR(50) = NULL
  27. ,@approvedFromDate DATETIME = NULL
  28. ,@approvedToDate DATETIME = NULL
  29. ,@riskyAgent CHAR(1) = NULL
  30. ,@sortBy VARCHAR(50) = NULL
  31. ,@sortOrder VARCHAR(5) = NULL
  32. ,@pageSize INT = NULL
  33. ,@pageNumber INT = NULL
  34. ,@hasLimit VARCHAR(20) = NULL
  35. AS
  36. SET NOCOUNT ON
  37. SET XACT_ABORT ON
  38. BEGIN TRY
  39. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  40. DECLARE
  41. @sql VARCHAR(MAX)
  42. ,@oldValue VARCHAR(MAX)
  43. ,@newValue VARCHAR(MAX)
  44. ,@module VARCHAR(10)
  45. ,@tableAlias VARCHAR(100)
  46. ,@logIdentifier VARCHAR(50)
  47. ,@logParamMod VARCHAR(100)
  48. ,@logParamMain VARCHAR(100)
  49. ,@table VARCHAR(MAX)
  50. ,@select_field_list VARCHAR(MAX)
  51. ,@extra_field_list VARCHAR(MAX)
  52. ,@sql_filter VARCHAR(MAX)
  53. ,@modType VARCHAR(6)
  54. ,@userId INT
  55. SELECT
  56. @logIdentifier = 'btId'
  57. ,@logParamMain = 'balanceTopUpInt'
  58. ,@logParamMod = 'balanceTopUpIntMod'
  59. ,@module = '20'
  60. ,@tableAlias = 'Balance Top Up'
  61. IF @flag = 'i'
  62. BEGIN
  63. SELECT @userId = userId FROM applicationUsers WHERE userName = @user
  64. IF NOT EXISTS(SELECT 'X' FROM creditLimitInt WHERE agentId = @agentId AND ISNULL(isActive, 'N') = 'Y')
  65. BEGIN
  66. EXEC proc_errorHandler 1, 'Sorry, Ledger not found', @user
  67. RETURN
  68. END
  69. IF NOT EXISTS(SELECT 'X' FROM topUpLimit WHERE userId = @userId)
  70. BEGIN
  71. EXEC proc_errorHandler 1, 'Operation Unsuccessful, You do not have permission.', @user
  72. RETURN
  73. END
  74. IF @amount IS NULL
  75. BEGIN
  76. EXEC proc_errorHandler 1, 'Please enter the amount', @user
  77. RETURN
  78. END
  79. IF @amount > 0
  80. BEGIN
  81. IF NOT EXISTS(SELECT 'X' FROM topUpLimit WHERE userId = @userId AND limitPerDay > (
  82. SELECT ISNULL(SUM(ISNULL(amount, 0)),0) FROM balanceTopUpInt
  83. WHERE createdDate BETWEEN CONVERT(VARCHAR, GETDATE(), 101) AND CONVERT(VARCHAR, GETDATE(), 101) + ' 23:59:59'
  84. AND agentId = @agentId
  85. AND createdBy = @user
  86. ))
  87. BEGIN
  88. EXEC proc_errorHandler 1, 'Sorry, Your top up limit authority for today for this agent has exceeded.', @user
  89. RETURN
  90. END
  91. END
  92. IF(@amount > ISNULL((SELECT balance FROM applicationUsers WITH(NOLOCK) WHERE userName = @user), 0))
  93. BEGIN
  94. EXEC proc_errorHandler 1, 'Sorry, You do not have sufficient balance for the operation', @user
  95. RETURN
  96. END
  97. IF(ISNULL((SELECT perTopUpLimit FROM topUpLimit WITH(NOLOCK) WHERE userId = @userId AND approvedBy IS NOT NULL), 0) < @amount)
  98. BEGIN
  99. EXEC proc_errorHandler 1, 'Sorry, Top-up amount exceeded the User Per Top Up Limit', @user
  100. RETURN
  101. END
  102. IF(ISNULL((SELECT perTopUpAmt FROM creditLimitInt WITH(NOLOCK) WHERE agentId = @agentId AND approvedBy IS NOT NULL), 0) < @amount)
  103. BEGIN
  104. EXEC proc_errorHandler 1, 'Sorry, Top-up amount exceeded the Agent Per Top Up Limit', @user
  105. RETURN
  106. END
  107. DECLARE @basicLimit MONEY, @topUpT MONEY, @topUpY MONEY, @topUpYCalc MONEY, @maxLimitAmt MONEY, @todaysAddedMaxLimit MONEY
  108. --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'
  109. SELECT
  110. @basicLimit = ISNULL(cl.limitAmt, 0)
  111. ,@topUpT = ISNULL(cl.topUpToday, 0)
  112. ,@topUpY = ISNULL(cl.topUpTillYesterday, 0)
  113. ,@maxLimitAmt = ISNULL(cl.maxLimitAmt, 0)
  114. ,@todaysAddedMaxLimit = ISNULL(cl.todaysAddedMaxLimit, 0)
  115. ,@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)
  116. FROM creditLimitInt cl WITH(NOLOCK)
  117. INNER JOIN agentMaster am WITH(NOLOCK) ON cl.agentId = am.agentId
  118. WHERE cl.agentId = @agentId
  119. IF((@amount + @basicLimit + @topUpT + @topUpYCalc) > @maxLimitAmt + @todaysAddedMaxLimit)
  120. BEGIN
  121. EXEC proc_errorHandler 1, 'Sorry, Agent Max Limit Amount exceeded', @user
  122. RETURN
  123. END
  124. /*
  125. IF exists(SELECT 'X' FROM balanceTopUpInt WHERE agentId=@agentId AND btStatus is null AND approvedDate IS NULL)
  126. BEGIN
  127. EXEC proc_errorHandler 1, 'Sorry, Previous Top Up Request is still pending for approval!', @user
  128. RETURN
  129. END
  130. */
  131. BEGIN TRANSACTION
  132. --AC Master
  133. /*
  134. UPDATE ac_master SET
  135. top_up_today = ISNULL(top_up_today, 0) + @amount
  136. WHERE agent_id = @agentId AND gl_code = 1
  137. */
  138. INSERT INTO balanceTopUpInt (
  139. agentId
  140. ,amount
  141. ,topUpExpiryDate
  142. ,createdBy
  143. ,createdDate
  144. )
  145. SELECT
  146. @agentId
  147. ,@amount
  148. ,@topUpExpiryDate
  149. ,@user
  150. ,dbo.FNAGetDateInNepalTZ()
  151. SET @modType = 'Insert'
  152. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @btId , @newValue OUTPUT
  153. INSERT INTO #msg(errorCode, msg, id)
  154. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @btId, @user, @oldValue, @newValue
  155. --Update User Balance
  156. --UPDATE applicationUsers SET
  157. -- balance = balance - @amount
  158. --WHERE userName = @user
  159. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  160. BEGIN
  161. IF @@TRANCOUNT > 0
  162. ROLLBACK TRANSACTION
  163. EXEC proc_errorHandler 1, 'Failed to add new record.', @btId
  164. RETURN
  165. END
  166. IF @@TRANCOUNT > 0
  167. COMMIT TRANSACTION
  168. declare @message as varchar(max)
  169. set @message='Top Up Limit Amount '+ CAST(@amount AS VARCHAR) +' has been requested successfully.'
  170. EXEC proc_errorHandler 0, @message, @btId
  171. END
  172. ELSE IF @flag = 'ld' --Other Limit Detail
  173. BEGIN
  174. SELECT
  175. am.agentName, cl.maxLimitAmt, cl.perTopUpAmt
  176. --,cl.topUpTillYesterday
  177. ,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
  178. ,cl.topUpToday, todaysCancel = cl.todaysCancelled, todaysEPI = 0, todaysPOI = 0
  179. ,todaysFundDeposit = (0 - cl.yesterdaysBalance)
  180. FROM creditLimitInt cl WITH(NOLOCK)
  181. INNER JOIN agentMaster am WITH(NOLOCK) ON cl.agentId = am.agentId
  182. WHERE cl.agentId = @agentId
  183. END
  184. ELSE IF @flag = 'a'
  185. BEGIN
  186. --SELECT * FROM balanceTopUpInt WITH(NOLOCK) WHERE btId = @btId
  187. SELECT
  188. am.agentId
  189. ,am.agentName
  190. ,availableAmt = ISNULL(dbo.FNAGetLimitBal(@agentId), 0)
  191. ,limit = ISNULL(main.dr_bal_lim, 0)
  192. ,maxLimitAmt = ISNULL(cr.maxLimitAmt, 0)
  193. ,currency = ISNULL(cm.currencyCode, 'N/A')
  194. FROM agentMaster am
  195. LEFT JOIN ac_master main ON am.agentId = main.agent_id
  196. LEFT JOIN currencyMaster cm WITH(NOLOCK) ON main.ac_currency = cm.currencyId
  197. LEFT JOIN creditLimitInt cr WITH(NOLOCK) ON am.agentId = cr.agentId
  198. WHERE am.agentType = 2903 AND am.agentId = @agentId
  199. END
  200. ELSE IF @flag = 'u'
  201. BEGIN
  202. BEGIN TRANSACTION
  203. UPDATE balanceTopUpInt SET
  204. agentId = @agentId
  205. ,amount = @amount
  206. ,topUpExpiryDate = @topUpExpiryDate
  207. ,modifiedBy = @user
  208. ,modifiedDate = GETDATE()
  209. WHERE btId = @btId
  210. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @btId, @newValue OUTPUT
  211. INSERT INTO #msg(errorCode, msg, id)
  212. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @btId, @user, @oldValue, @newValue
  213. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  214. BEGIN
  215. IF @@TRANCOUNT > 0
  216. ROLLBACK TRANSACTION
  217. EXEC proc_errorHandler 1, 'Failed to update record.', @btId
  218. RETURN
  219. END
  220. IF @@TRANCOUNT > 0
  221. COMMIT TRANSACTION
  222. DECLARE @msg as varchar(max)
  223. SET @msg='Top Up Amount '+ CAST(@amount AS VARCHAR) +' has been updated successfully.'
  224. EXEC proc_errorHandler 0, @msg, @btId
  225. END
  226. ELSE IF @flag = 'd'
  227. BEGIN
  228. BEGIN TRANSACTION
  229. UPDATE balanceTopUpInt SET
  230. btStatus='Deleted'
  231. ,modifiedDate = GETDATE()
  232. ,modifiedBy = @user
  233. WHERE btId = @btId
  234. SET @modType = 'Delete'
  235. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @btId, @oldValue OUTPUT
  236. INSERT INTO #msg(errorCode, msg, id)
  237. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @btId, @user, @oldValue, @newValue
  238. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  239. BEGIN
  240. IF @@TRANCOUNT > 0
  241. ROLLBACK TRANSACTION
  242. EXEC proc_errorHandler 1, 'Failed to delete record.', @btId
  243. RETURN
  244. END
  245. IF @@TRANCOUNT > 0
  246. COMMIT TRANSACTION
  247. EXEC proc_errorHandler 0, 'Record deleted successfully.', @btId
  248. END
  249. ELSE IF @flag = 'al' --Approval List
  250. BEGIN
  251. IF @sortBy IS NULL
  252. SET @sortBy = 'agentName'
  253. IF @sortOrder IS NULL
  254. SET @sortOrder = 'ASC'
  255. SET @table = '(
  256. SELECT
  257. bal.btId
  258. ,am.agentName
  259. ,bal.amount
  260. ,bal.createdBy
  261. ,bal.createdDate
  262. FROM balanceTopUpInt bal WITH(NOLOCK)
  263. INNER JOIN agentMaster am WITH(NOLOCK) ON bal.agentId = am.agentId
  264. WHERE bal.approvedBy IS NULL
  265. ) x
  266. '
  267. SET @sql_filter = ''
  268. IF @agentName IS NOT NULL
  269. SET @sql_filter = @sql_filter + ' AND ISNULL(agentName, '''') LIKE ''%' + @agentName + '%'''
  270. SET @select_field_list ='
  271. btId
  272. ,agentName
  273. ,amount
  274. ,createdBy
  275. ,createdDate
  276. '
  277. EXEC dbo.proc_paging
  278. @table
  279. ,@sql_filter
  280. ,@select_field_list
  281. ,@extra_field_list
  282. ,@sortBy
  283. ,@sortOrder
  284. ,@pageSize
  285. ,@pageNumber
  286. END
  287. ELSE IF @flag = 's'
  288. BEGIN
  289. SET @pageSize = '1000'
  290. SET @PAGENUMBER ='1'
  291. SET @sortBy = 'agentCountry'
  292. SET @sortOrder = 'ASC'
  293. SET @table = '(
  294. SELECT
  295. main.crLimitId
  296. ,am.agentId
  297. ,am.agentName
  298. ,am.agentCountry
  299. ,currency = ISNULL(cm.currencyCode, ''N/A'')
  300. ,limitAmt = ISNULL(main.limitAmt, 0)
  301. ,maxLimitAmt = ISNULL(main.maxLimitAmt, 0)
  302. ,perTopUpAmt = ISNULL(main.perTopUpAmt, 0)
  303. ,acBal = CASE WHEN main.CURRENCY=''NPR'' THEN AM1.CLR_BAL_AMT ELSE AM1.USD_AMT END
  304. ,todayTxnAmt = (isnull(main.todaysSent,0) - isnull(main.todaysPaid,0) - isnull(main.todaysCancelled,0))
  305. ,expiryDate = ISNULL(CAST(main.expiryDate AS VARCHAR), ''N/A'')
  306. ,limitToppedUp = isnull(main.topUpToday,0)
  307. ,topUp = ''<input id="topUp_'' + CAST(am.agentId AS VARCHAR) + ''" type="text" style="width: 75px; text-align: right;"/>''
  308. ,main.createdBy
  309. ,main.createdDate
  310. ,main.modifiedBy
  311. ,countryId = cCurr.countryId
  312. ,collCurr = currMas.currencyCode
  313. ,hasLimit = CASE WHEN main.agentId IS not NULL
  314. THEN ''Y'' ELSE ''N'' END
  315. FROM agentMaster am
  316. INNER JOIN FastMoneyPro_account.DBO.AGENTTABLE AT ON am.mapCodeInt = AT.MAP_CODE
  317. INNER JOIN FastMoneyPro_account.DBO.AC_MASTER AM1 ON AT.agent_id = AM1.agent_id
  318. INNER JOIN countryCurrency cCurr WITH(NOLOCK) ON cCurr.countryId = am.agentCountryId
  319. INNER JOIN currencyMaster currMas WITH(NOLOCK) ON currMas.currencyId = cCurr.currencyId
  320. LEFT JOIN creditLimitInt main ON am.agentId = main.agentId
  321. LEFT JOIN currencyMaster cm WITH(NOLOCK) ON main.currency = cm.currencyCode
  322. WHERE am.isSettlingAgent = ''Y''
  323. AND ISNULL(am.agentrole,''B'') IN (''B'',''S'')
  324. AND AM1.ACCT_RPT_CODE=''3''
  325. AND ISNULL(cCurr.isActive,''Y'') =''Y''
  326. AND ISNULL(cCurr.isDeleted,''N'') = ''N''
  327. )
  328. '
  329. SET @table = '(
  330. SELECT
  331. main.crLimitId
  332. ,main.agentId
  333. ,main.agentName
  334. ,main.agentCountry
  335. ,main.currency
  336. ,main.limitAmt
  337. ,main.perTopUpAmt
  338. ,main.limitToppedUp
  339. ,main.maxLimitAmt
  340. ,currentBalance = (ISNULL(main.acBal,0) - isnull(todayTxnAmt,0))*-1
  341. ,availableLimit = ISNULL(main.limitAmt,0)+ isnull(main.limitToppedUp,0) + ISNULL(main.acBal,0) - isnull(todayTxnAmt,0)
  342. ,main.expiryDate
  343. ,main.topUp
  344. ,main.createdBy
  345. ,main.createdDate
  346. ,modifiedBy = main.createdBy
  347. ,haschanged = ''N''
  348. ,main.hasLimit
  349. FROM ' + @table + ' main
  350. ) x '
  351. SET @sql_filter = ''
  352. IF @haschanged IS NOT NULL
  353. SET @sql_filter = @sql_filter + ' AND haschanged = ''' + @haschanged + ''''
  354. IF @agentCountry IS NOT NULL
  355. SET @sql_filter = @sql_filter + ' AND ISNULL(agentCountry, '''') LIKE ''%' + @agentCountry + '%'''
  356. IF @agentName IS NOT NULL
  357. SET @sql_filter = @sql_filter + ' AND ISNULL(agentName, '''') LIKE ''%' + @agentName + '%'''
  358. IF @hasLimit IS NOT NULL
  359. SET @sql_filter = @sql_filter + ' AND hasLimit = ''' + CAST(@hasLimit AS VARCHAR) + ''''
  360. IF @riskyAgent IS NOT NULL
  361. BEGIN
  362. IF @riskyAgent = 'Y'
  363. BEGIN
  364. SET @sql_filter = @sql_filter + ' AND ((limitToppedUp >= (maxLimitAmt - limitAmt - (0.10 * maxLimitAmt)) AND maxLimitAmt <> limitAmt) OR availableLimit < 0)'
  365. END
  366. END
  367. SET @select_field_list ='
  368. crLimitId
  369. ,agentId
  370. ,agentName
  371. ,agentCountry
  372. ,currency
  373. ,limitAmt
  374. ,perTopUpAmt
  375. ,limitToppedUp
  376. ,maxLimitAmt
  377. ,currentBalance
  378. ,availableLimit
  379. ,expiryDate
  380. ,topUp
  381. ,createdBy
  382. ,createdDate
  383. ,modifiedBy
  384. ,hasChanged
  385. ,hasLimit
  386. '
  387. PRINT @table
  388. EXEC dbo.proc_paging
  389. @table
  390. ,@sql_filter
  391. ,@select_field_list
  392. ,@extra_field_list
  393. ,@sortBy
  394. ,@sortOrder
  395. ,@pageSize
  396. ,@pageNumber
  397. END
  398. ELSE IF @flag = 'reject'
  399. BEGIN
  400. SELECT @amount=amount,@agentId=agentId,@createdBy = createdBy FROM balanceTopUpInt WHERE btId=@btId
  401. /*
  402. IF(@createdBy = @user)
  403. BEGIN
  404. EXEC proc_errorHandler 1, 'You are not authorised to reject this record', @btId
  405. RETURN
  406. END
  407. */
  408. BEGIN TRANSACTION
  409. SET @modType = 'Reject'
  410. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @btId, @oldValue OUTPUT
  411. INSERT INTO #msg(errorCode, msg, id)
  412. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @btId, @user, @oldValue, @newValue
  413. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  414. BEGIN
  415. IF @@TRANCOUNT > 0
  416. ROLLBACK TRANSACTION
  417. EXEC proc_errorHandler 1, 'Failed to reject the transaction.', @btId
  418. RETURN
  419. END
  420. UPDATE balanceTopUpInt SET BTSTATUS=@modType,approvedBy=@user,approvedDate=dbo.FNAGetDateInNepalTZ() WHERE btId=@btId
  421. IF @@TRANCOUNT > 0
  422. COMMIT TRANSACTION
  423. EXEC proc_errorHandler 0, 'Changes rejected successfully.', @btId
  424. END
  425. ELSE IF @flag = 'approve'
  426. BEGIN
  427. SELECT @amount=amount,@agentId=agentId,@createdBy = createdBy FROM balanceTopUpInt WHERE btId=@btId
  428. -->> checking approve for same user
  429. --IF(@createdBy = @user)
  430. --BEGIN
  431. -- EXEC proc_errorHandler 1, 'You are not authorised to approve this record', @btId
  432. -- RETURN
  433. --END
  434. BEGIN TRANSACTION
  435. --AC Master
  436. UPDATE creditLimitInt SET
  437. topUpToday = ISNULL(topUpToday, 0) + @amount
  438. WHERE agentId = @agentId
  439. UPDATE balanceTopUpInt SET
  440. btStatus = 'Approved'
  441. ,approvedBy = @user
  442. ,approvedDate = dbo.FNAGetDateInNepalTZ()
  443. WHERE btId = @btId
  444. INSERT INTO #msg(errorCode, msg, id)
  445. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @btId, @user, @oldValue, @newValue
  446. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  447. BEGIN
  448. IF @@TRANCOUNT > 0
  449. ROLLBACK TRANSACTION
  450. EXEC proc_errorHandler 1, 'Could not approve the changes.', @btId
  451. RETURN
  452. END
  453. IF @@TRANCOUNT > 0
  454. COMMIT TRANSACTION
  455. EXEC proc_errorHandler 0, 'Changes approved successfully.', @btId
  456. END
  457. ELSE IF @flag='history'
  458. BEGIN
  459. --IF @sortBy IS NULL
  460. SET @sortBy = 'approvedDate'
  461. --IF @sortOrder IS NULL
  462. SET @sortOrder = 'DESC'
  463. SET @table = '(
  464. select
  465. amount,
  466. isnull(btStatus,''Requested'')btStatus,
  467. createdBy,
  468. createdDate,
  469. approvedBy,
  470. approvedDate
  471. from balanceTopUpInt
  472. where agentId=''' + cast(@agentId as varchar) + '''
  473. ) x
  474. '
  475. SET @sql_filter = ''
  476. IF @approvedBy IS NOT NULL
  477. SET @sql_filter = @sql_filter + ' AND ISNULL(approvedBy, '''') LIKE ''%' + @approvedBy + '%'''
  478. IF @createdBy IS NOT NULL
  479. SET @sql_filter = @sql_filter + ' AND ISNULL(createdBy, '''') LIKE ''%' + @createdBy + '%'''
  480. /*
  481. IF @createdDate IS NOT NULL
  482. SET @sql_filter = @sql_filter + ' AND cast(createdDate as date) = ''' + cast(@createdDate as varchar(11)) + ''''
  483. IF @approvedDate IS NOT NULL
  484. SET @sql_filter = @sql_filter + ' AND cast(approvedDate as date) = ''' + cast(@approvedDate as varchar(11)) + ''''
  485. */
  486. IF @approvedFromDate IS NOT NULL AND @approvedToDate IS NOT NULL
  487. SET @sql_filter = @sql_filter + ' AND approvedDate BETWEEN ''' + CONVERT(VARCHAR,@approvedFromDate, 101) + ''' AND ''' + CONVERT(VARCHAR,@approvedToDate, 101) + ' 23:59:59'''
  488. /*
  489. IF @approvedDate IS NULL AND @createdDate IS NULL
  490. SET @sql_filter = @sql_filter + ' AND cast(createdDate as date) = ''' + cast(CONVERT(VARCHAR,GETDATE(),101) as varchar(11)) + ''''
  491. */
  492. SET @select_field_list ='
  493. amount
  494. ,btStatus
  495. ,createdBy
  496. ,createdDate
  497. ,approvedBy
  498. ,approvedDate
  499. '
  500. EXEC dbo.proc_paging
  501. @table
  502. ,@sql_filter
  503. ,@select_field_list
  504. ,@extra_field_list
  505. ,@sortBy
  506. ,@sortOrder
  507. ,@pageSize
  508. ,@pageNumber
  509. END
  510. END TRY
  511. BEGIN CATCH
  512. IF @@TRANCOUNT > 0
  513. ROLLBACK TRANSACTION
  514. DECLARE @errorMessage VARCHAR(MAX)
  515. SET @errorMessage = ERROR_MESSAGE()
  516. EXEC proc_errorHandler 1, @errorMessage, @btId
  517. END CATCH
  518. GO