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.

619 lines
41 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_approveTranAPI] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. /*
  9. ;
  10. SELECT * FROM remitTran
  11. EXEC proc_cancelTran @flag = 'details', @user = 'shree_b1', @tranId = '1', @controlNo = '91885218404'
  12. */
  13. CREATE proc [dbo].[proc_approveTranAPI] (
  14. @flag VARCHAR(50)
  15. ,@controlNo VARCHAR(20) = NULL
  16. ,@user VARCHAR(30) = NULL
  17. ,@agentRefId VARCHAR(20) = NULL
  18. ,@tranId INT = NULL
  19. ,@sCountry INT = NULL
  20. ,@sFirstName VARCHAR(30) = NULL
  21. ,@sMiddleName VARCHAR(30) = NULL
  22. ,@sLastName1 VARCHAR(30) = NULL
  23. ,@sLastName2 VARCHAR(30) = NULL
  24. ,@sMemId VARCHAR(30) = NULL
  25. ,@sId BIGINT = NULL
  26. ,@sTranId VARCHAR(50) = NULL
  27. ,@rCountry INT = NULL
  28. ,@rFirstName VARCHAR(30) = NULL
  29. ,@rMiddleName VARCHAR(30) = NULL
  30. ,@rLastName1 VARCHAR(30) = NULL
  31. ,@rLastName2 VARCHAR(30) = NULL
  32. ,@rMemId VARCHAR(30) = NULL
  33. ,@rId BIGINT = NULL
  34. ,@pCountry INT = NULL
  35. ,@customerId INT = NULL
  36. ,@agentId INT = NULL
  37. ,@senderId INT = NULL
  38. ,@benId INT = NULL
  39. ,@cancelReason VARCHAR(200) = NULL
  40. ,@cAmt MONEY = NULL
  41. ,@sortBy VARCHAR(50) = NULL
  42. ,@sortOrder VARCHAR(5) = NULL
  43. ,@pageSize INT = NULL
  44. ,@pageNumber INT = NULL
  45. )
  46. AS
  47. DECLARE
  48. @select_field_list VARCHAR(MAX)
  49. ,@extra_field_list VARCHAR(MAX)
  50. ,@table VARCHAR(MAX)
  51. ,@sql_filter VARCHAR(MAX)
  52. SET NOCOUNT ON
  53. SET XACT_ABORT ON
  54. SELECT @pageSize = 1000, @pageNumber = 1
  55. DECLARE
  56. @code VARCHAR(50) = NULL
  57. ,@userName VARCHAR(50) = NULL
  58. ,@password VARCHAR(50) = NULL
  59. DECLARE @sBranch INT, @bankId INT, @pBankBranch INT, @branchMapCode VARCHAR(8), @bankBranchName VARCHAR(200), @pAgentComm MONEY
  60. EXEC proc_GetAPI @user OUTPUT,@code OUTPUT, @userName OUTPUT, @password OUTPUT
  61. DECLARE @controlNoEncrypted VARCHAR(100)
  62. SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo)
  63. IF @flag = 'approveAPI' --Approve
  64. BEGIN
  65. --Check if the approver is the same user who sent transaction
  66. IF EXISTS(SELECT 'X' FROM remitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted AND createdBy = @user)
  67. BEGIN
  68. SELECT 1 Code, @agentRefId agent_refId, 'Process denied for same user' [message], @controlNo refId
  69. RETURN
  70. END
  71. DECLARE @tranStatus VARCHAR(20) = NULL
  72. SELECT @sBranch = agentId FROM applicationUsers WITH(NOLOCK) WHERE userName = @user
  73. SELECT @tranStatus = tranStatus, @cAmt = cAmt FROM remitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted
  74. IF @sBranch <> dbo.FNAGetHOAgentId() --Head Office
  75. BEGIN
  76. IF EXISTS(SELECT 'X' FROM remitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted AND sBranch <> @sBranch)
  77. BEGIN
  78. SELECT 1 Code, @agentRefId agent_refId, 'Transaction is not in authorized mode' [message], @controlNoEncrypted refId
  79. RETURN
  80. END
  81. END
  82. IF (@tranStatus = 'CancelRequest')
  83. BEGIN
  84. SELECT 1 Code, @agentRefId agent_refId, 'Transaction has been requested for cancel' [message], @controlNoEncrypted refId
  85. RETURN
  86. END
  87. IF (@tranStatus = 'Payment')
  88. BEGIN
  89. SELECT 1 Code, @agentRefId agent_refId, 'Transaction already been approved and ready for payment' [message], @controlNoEncrypted refId
  90. RETURN
  91. END
  92. IF (@tranStatus = 'Paid')
  93. BEGIN
  94. SELECT 1 Code, @agentRefId agent_refId, 'Transaction is already been paid' [message], @controlNoEncrypted refId
  95. RETURN
  96. END
  97. IF (@tranStatus = 'Cancel')
  98. BEGIN
  99. SELECT 1 Code, @agentRefId agent_refId, 'Transaction is cancelled' [message], @controlNoEncrypted refId
  100. RETURN
  101. END
  102. IF (@tranStatus = 'Lock')
  103. BEGIN
  104. SELECT 1 Code, @agentRefId agent_refId, 'Transaction is locked. Please Contact HO' [message], @controlNoEncrypted refId
  105. RETURN
  106. END
  107. DECLARE @userId INT, @sendPerTxn MONEY, @sendPerDay MONEY, @sendTodays MONEY
  108. SELECT @userId = userId FROM applicationUsers WITH(NOLOCK) WHERE userName = @user AND ISNULL(isDeleted, 'N') = 'N'
  109. SELECT @sendPerDay = sendPerDay, @sendPerTxn = sendPerTxn, @sendTodays = ISNULL(sendTodays, 0) FROM userWiseTxnLimit WITH(NOLOCK) WHERE userId = @userId AND ISNULL(isActive, 'N') = 'Y' AND ISNULL(isDeleted, 'N') = 'N'
  110. IF(@cAmt > @sendPerTxn)
  111. BEGIN
  112. SELECT 1 Code, @agentRefId agent_refId, 'Transfer Amount exceeds user per transaction limit.' [message], @controlNoEncrypted refId
  113. RETURN
  114. END
  115. IF(@sendTodays > @sendPerDay)
  116. BEGIN
  117. SELECT 1 Code, @agentRefId agent_refId, 'User Per Day Transaction Limit exceeded.' [message], @controlNoEncrypted refId
  118. RETURN
  119. END
  120. --SELECT @code, @userName, @password, @controlNo, @agentRefId
  121. --RETURN
  122. DECLARE
  123. @rCity VARCHAR(50) = NULL
  124. ,@payoutMethod CHAR(1) = NULL
  125. ,@sFullName VARCHAR(150) = NULL
  126. ,@sAddress VARCHAR(100) = NULL
  127. ,@sContactNo VARCHAR(20) = NULL
  128. ,@sIdType VARCHAR(50) = NULL
  129. ,@sIdNo VARCHAR(20) = NULL
  130. ,@sEmail VARCHAR(100) = NULL
  131. ,@rFullName VARCHAR(150) = NULL
  132. ,@rAddress VARCHAR(100) = NULL
  133. ,@rContactNo VARCHAR(20) = NULL
  134. ,@rIdType VARCHAR(50) = NULL
  135. ,@rIdNo VARCHAR(20) = NULL
  136. ,@relationship VARCHAR(50) = NULL
  137. ,@deliveryMethod VARCHAR(100) = NULL
  138. ,@pLocation INT = NULL
  139. ,@accountNo VARCHAR(50) = NULL
  140. ,@serviceCharge MONEY = NULL
  141. ,@sAgentComm MONEY = NULL
  142. ,@pAmt MONEY = NULL
  143. ,@mapCode VARCHAR(10) = NULL
  144. ,@remarks VARCHAR(200) = NULL
  145. SELECT
  146. @sBranch = sBranch
  147. ,@sFullName = sen.firstName + ISNULL( ' ' + sen.middleName, '') + ISNULL( ' ' + sen.lastName1, '') + ISNULL( ' ' + sen.lastName2, '')
  148. ,@sAddress = sen.[address]
  149. ,@sContactNo = sen.mobile
  150. ,@sIdType = sen.idType
  151. ,@sIdNo = sen.idNumber
  152. ,@sEmail = sen.email
  153. ,@rFullName = rec.firstName + ISNULL( ' ' + rec.middleName, '') + ISNULL( ' ' + rec.lastName1, '') + ISNULL( ' ' + rec.lastName2, '')
  154. ,@rAddress = rec.[address]
  155. ,@rContactNo = rec.mobile
  156. ,@rIdType = rec.idType
  157. ,@rIdNo = rec.idNumber
  158. ,@rCity = rec.city
  159. ,@relationship = trn.relWithSender
  160. ,@deliveryMethod = trn.paymentMethod
  161. ,@serviceCharge = trn.serviceCharge
  162. ,@cAmt = trn.cAmt
  163. ,@sAgentComm = trn.sAgentComm
  164. ,@pAgentComm = trn.pAgentComm
  165. ,@pAmt = trn.pAmt
  166. ,@pLocation = trn.pLocation
  167. ,@accountNo = trn.accountNo
  168. ,@pBankBranch = trn.pBankBranch
  169. ,@bankId = trn.pBank
  170. ,@user = trn.createdBy
  171. ,@remarks = trn.pMessage
  172. ,@tranId = trn.id
  173. FROM remitTran trn WITH(NOLOCK)
  174. INNER JOIN tranSenders sen WITH(NOLOCK) ON trn.id = sen.tranId
  175. INNER JOIN tranReceivers rec WITH(NOLOCK) ON trn.id = rec.tranId
  176. WHERE controlNo = @controlNoEncrypted
  177. SELECT @mapCode = mapCodeInt FROM agentMaster WITH(NOLOCK) WHERE agentId = @sBranch
  178. SELECT @payoutMethod = CASE WHEN @deliveryMethod = 'Cash Payment' THEN 'C' WHEN @deliveryMethod = 'Bank Deposit' THEN 'B' END
  179. IF @deliveryMethod = 'Bank Deposit'
  180. BEGIN
  181. SELECT @branchMapCode = mapCodeDom FROM agentMaster WITH(NOLOCK) WHERE agentId = @bankId
  182. SELECT @bankBranchName = agentAddress FROM agentMaster WITH(NOLOCK) WHERE agentId = @pBankBranch
  183. END
  184. SELECT @user = 'S:' + @user
  185. EXEC ime_plus_01.dbo.spa_SOAP_Domestic_createTXN_v2
  186. @accesscode = @code
  187. ,@username = @userName
  188. ,@password = @password
  189. ,@AGENT_REFID = @agentRefId
  190. ,@CONTROL_NO = @controlNo
  191. ,@SENDER_USER = @user
  192. ,@Send_Branch_ID = @mapCode
  193. ,@PAYMENTTYPE = @payoutMethod
  194. ,@TOTAL_COLL_AMT = @cAmt
  195. ,@SERVICE_CHARGE_TOTAL = @serviceCharge
  196. ,@SENDER_COMM = @sAgentComm
  197. ,@RECIVER_COMM = @pAgentComm
  198. ,@EXT_BANK_COMM = 0
  199. ,@PAYOUT_AMT = @pAmt
  200. ,@SENDER_NAME = @sFullName
  201. ,@SENDER_ADDRESS = @sAddress
  202. ,@SENDER_CITY = ''
  203. ,@SENDER_MOBILE = @sContactNo
  204. ,@SENDERS_IDENTITY_TYPE = @sIdType
  205. ,@SENDER_IDENTITY_NUMBER = @sIdNo
  206. ,@SENDER_EMAIL = @sEmail
  207. ,@RECEIVER_NAME = @rFullName
  208. ,@RECEIVER_ADDRESS = @rAddress
  209. ,@RECEIVER_CONTACT_NUMBER = @rContactNo
  210. ,@RECEIVER_CITY = @rCity
  211. ,@RECEIVER_RELATIONSHIP = @relationship
  212. ,@RECEIVER_ID_TYPE = @rIdType
  213. ,@RECEIVER_ID_NUMBER = @rIdNo
  214. ,@DISTICT_ID = @pLocation
  215. ,@BANK_BRANCH_ID = @branchMapCode
  216. ,@BANK_ACCOUNT_NUMBER = @accountNo
  217. ,@BANK_BRANCH_NAME = @bankBranchName
  218. IF @remarks IS NOT NULL
  219. BEGIN
  220. EXEC proc_addCommentAPI @flag = 'i', @controlNo = @controlNo, @user = @user, @message = @remarks, @agentRefId = NULL
  221. END
  222. END
  223. IF @flag = 'approve'
  224. BEGIN
  225. SELECT @userId = userId FROM applicationUsers WITH(NOLOCK) WHERE userName = @user AND ISNULL(isDeleted, 'N') = 'N'
  226. SELECT @cAmt = cAmt FROM remitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted
  227. UPDATE remitTran SET
  228. tranStatus = 'Payment' --Payment
  229. ,approvedBy = @user
  230. ,approvedDate = dbo.FNAGetDateInNepalTZ()
  231. ,approvedDateLocal = dbo.FNAGetDateInNepalTZ()
  232. WHERE controlNo = @controlNoEncrypted
  233. UPDATE userWiseTxnLimit SET
  234. sendTodays = ISNULL(sendTodays, 0) + @cAmt
  235. WHERE userId = @userId AND ISNULL(isActive, 'N') = 'Y'
  236. EXEC proc_errorHandler 0, 'Transaction Approved Successfully', @tranId
  237. END
  238. ELSE IF @flag = 'reject'
  239. BEGIN
  240. BEGIN TRANSACTION
  241. UPDATE remitTran SET
  242. tranStatus = 'Cancel' --Cancel
  243. ,approvedBy = @user
  244. ,approvedDate = dbo.FNAGetDateInNepalTZ()
  245. ,approvedDateLocal = dbo.FNAGetDateInNepalTZ()
  246. WHERE id = @tranId
  247. --A/C Master
  248. SELECT @cAmt = cAmt FROM remitTran WHERE id = @tranId
  249. UPDATE creditLimit SET
  250. todaysSent = todaysSent - @cAmt
  251. WHERE agentId = (
  252. SELECT parentId FROM agentMaster WHERE agentId = (
  253. SELECT agentId FROM applicationUsers WHERE userName = @user
  254. )
  255. )
  256. IF @@TRANCOUNT > 0
  257. COMMIT TRANSACTION
  258. EXEC [proc_errorHandler] 0, 'Transaction cancelled successfully', @tranId
  259. END
  260. ELSE IF @flag = 'details'
  261. BEGIN
  262. SELECT @sBranch = agentId FROM applicationUsers WITH(NOLOCK) WHERE userName = @user
  263. SELECT @tranStatus = tranStatus FROM remitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted
  264. IF (@tranStatus IS NOT NULL)
  265. BEGIN
  266. INSERT INTO tranViewHistory(
  267. controlNumber
  268. ,tranViewType
  269. ,agentId
  270. ,createdBy
  271. ,createdDate
  272. )
  273. SELECT
  274. @controlNoEncrypted
  275. ,'A'
  276. ,@sBranch
  277. ,@user
  278. ,GETDATE()
  279. END
  280. ELSE
  281. BEGIN
  282. EXEC proc_errorHandler 1, 'No Transaction Found', @controlNoEncrypted
  283. RETURN
  284. END
  285. IF EXISTS(SELECT 'X' FROM remitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted AND sBranch <> @sBranch)
  286. BEGIN
  287. EXEC proc_errorHandler 1, 'Transaction is not in authorized mode', @controlNoEncrypted
  288. RETURN
  289. END
  290. IF (@tranStatus = 'CancelRequest')
  291. BEGIN
  292. EXEC proc_errorHandler 1, 'Transaction has been requested for cancel', @controlNoEncrypted
  293. RETURN
  294. END
  295. IF (@tranStatus = 'Payment')
  296. BEGIN
  297. EXEC proc_errorHandler 1, 'Transaction already been approved and ready for payment', @controlNoEncrypted
  298. RETURN
  299. END
  300. IF (@tranStatus = 'Paid')
  301. BEGIN
  302. EXEC proc_errorHandler 1, 'Transaction is already been paid', @controlNoEncrypted
  303. RETURN
  304. END
  305. IF (@tranStatus = 'Cancel')
  306. BEGIN
  307. EXEC proc_errorHandler 1, 'Transaction is cancelled', @controlNoEncrypted
  308. RETURN
  309. END
  310. IF (@tranStatus = 'Lock')
  311. BEGIN
  312. EXEC proc_errorHandler 1, 'Transaction is locked. Please Contact HO', @controlNoEncrypted
  313. RETURN
  314. END
  315. EXEC proc_errorHandler 0, 'Transaction Found', @controlNoEncrypted
  316. SELECT
  317. trn.id
  318. ,controlNo = dbo.FNADecryptString(trn.controlNo)
  319. ,sMemId = sen.membershipId
  320. ,sCustomerId = sen.customerId
  321. ,senderName = sen.firstName + ISNULL( ' ' + sen.middleName, '') + ISNULL( ' ' + sen.lastName1, '') + ISNULL( ' ' + sen.lastName2, '')
  322. ,sCountryName = sen.country
  323. ,sStateName = sen.state
  324. ,sDistrict = sen.district
  325. ,sCity = sen.city
  326. ,sAddress = sen.address
  327. ,sContactNo = COALESCE(sen.mobile, sen.homephone, sen.workphone)
  328. ,sIdType = sen.idType
  329. ,sIdNo = sen.idNumber
  330. ,sValidDate = sen.validDate
  331. ,sEmail = sen.email
  332. ,rMemId = rec.membershipId
  333. ,rCustomerId = rec.customerId
  334. ,receiverName = rec.firstName + ISNULL( ' ' + rec.middleName, '') + ISNULL( ' ' + rec.lastName1, '') + ISNULL( ' ' + rec.lastName2, '')
  335. ,rCountryName = rec.country
  336. ,rStateName = rec.state
  337. ,rDistrict = rec.district
  338. ,rCity = rec.city
  339. ,rAddress = rec.address
  340. ,rContactNo = COALESCE(rec.mobile, rec.homephone, rec.workphone)
  341. ,rIdType = rec.idType
  342. ,rIdNo = rec.idNumber
  343. ,sBranchName = trn.sBranchName
  344. ,sAgentName = CASE WHEN trn.sAgent = trn.sBranch THEN trn.sSuperAgentName ELSE trn.sAgentName END
  345. ,sAgentLocation = sLoc.districtName
  346. ,sAgentDistrict = sa.agentDistrict
  347. ,sAgentCity = sa.agentCity
  348. ,sAgentCountry = sa.agentCountry
  349. ,pAgentName = CASE WHEN trn.pAgentName = trn.pBranchName THEN trn.pSuperAgentName ELSE trn.pAgentName END
  350. ,pBranchName = trn.pBranchName
  351. ,pAgentCountry = trn.pCountry
  352. ,pAgentState = trn.pState
  353. ,pAgentDistrict = trn.pDistrict
  354. ,pAgentLocation = pLoc.districtName
  355. ,pAgentCity = pa.agentCity
  356. ,pAgentAddress = pa.agentAddress
  357. ,trn.tAmt
  358. ,trn.serviceCharge
  359. ,handlingFee = ISNULL(trn.handlingFee, 0)
  360. ,trn.cAmt
  361. ,trn.pAmt
  362. ,relationship = ISNULL(trn.relWithSender, '-')
  363. ,purpose = ISNULL(trn.purposeOfRemit, '-')
  364. ,sourceOfFund = ISNULL(trn.sourceOfFund, '-')
  365. ,collMode = trn.collMode
  366. ,trn.collCurr
  367. ,paymentMethod = trn.paymentMethod
  368. ,trn.payoutCurr
  369. ,trn.tranStatus
  370. ,trn.payStatus
  371. ,payoutMsg = ISNULL(trn.pMessage, '-')
  372. ,trn.createdBy
  373. ,trn.createdDate
  374. FROM remitTran trn WITH(NOLOCK)
  375. LEFT JOIN tranSenders sen WITH(NOLOCK) ON trn.id = sen.tranId
  376. LEFT JOIN tranReceivers rec WITH(NOLOCK) ON trn.id = rec.tranId
  377. LEFT JOIN agentMaster sa WITH(NOLOCK) ON trn.sBranch = sa.agentId
  378. LEFT JOIN agentMaster pa WITH(NOLOCK) ON trn.pBranch = pa.agentId
  379. LEFT JOIN api_districtList sLoc WITH(NOLOCK) ON sa.agentLocation = sLoc.districtCode
  380. LEFT JOIN api_districtList pLoc WITH(NOLOCK) ON trn.pLocation = pLoc.districtCode
  381. WHERE
  382. trn.controlNo = @controlNoEncrypted
  383. END
  384. --Load Data For Approve For Agent-----------------------------------------------------------------------------------------
  385. ELSE IF @flag = 's'
  386. BEGIN
  387. SELECT @sBranch = agentId FROM applicationUsers WITH(NOLOCK) WHERE userName = @user
  388. SET @table = '(
  389. SELECT
  390. trn.id
  391. ,controlNo = dbo.FNADecryptString(trn.controlNo)
  392. ,sCustomerId = sen.customerId
  393. ,senderName = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  394. ,sCountryName = sen.country
  395. ,sStateName = sen.state
  396. ,sCity = sen.city
  397. ,sAddress = sen.address
  398. ,rCustomerId = rec.customerId
  399. ,receiverName = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
  400. ,rCountryName = rec.country
  401. ,rStateName = rec.state
  402. ,rCity = rec.city
  403. ,rAddress = rec.address
  404. FROM remitTran trn WITH(NOLOCK)
  405. LEFT JOIN tranSenders sen WITH(NOLOCK) ON trn.id = sen.tranId
  406. LEFT JOIN tranReceivers rec WITH(NOLOCK) ON trn.id = rec.tranId
  407. WHERE
  408. trn.tranStatus = ''Hold'' AND
  409. trn.payStatus = ''Unpaid'' AND
  410. trn.approvedBy IS NULL AND
  411. (trn.sBranch = ''' + CAST(@sBranch AS VARCHAR) + ''' OR trn.sAgent = ''' + CAST(@sBranch AS VARCHAR) + ''')
  412. '
  413. SET @sql_filter = ''
  414. IF @controlNo IS NOT NULL
  415. SET @table = @table + ' AND trn.controlNo = ''' + @controlNoEncrypted + ''''
  416. IF @sFirstName IS NOT NULL
  417. SET @table = @table + ' AND sen.firstName LIKE ''' + @sFirstName + '%'''
  418. IF @sMiddleName IS NOT NULL
  419. SET @table = @table + ' AND sen.middleName LIKE ''' + @sMiddleName + '%'''
  420. IF @sLastName1 IS NOT NULL
  421. SET @table = @table + ' AND sen.lastName1 LIKE ''' + @sLastName1 + '%'''
  422. IF @sLastName2 IS NOT NULL
  423. SET @table = @table + ' AND sen.lastName2 LIKE ''' + @sLastName2 + '%'''
  424. IF @sMemId IS NOT NULL
  425. SET @table = @table + ' AND sen.membershipId = ' + CAST(@sMemId AS VARCHAR)
  426. IF @rFirstName IS NOT NULL
  427. SET @table = @table + ' AND rec.firstName LIKE ''' + @rFirstName + '%'''
  428. IF @rMiddleName IS NOT NULL
  429. SET @table = @table + ' AND rec.middleName LIKE ''' + @rMiddleName + '%'''
  430. IF @rLastName1 IS NOT NULL
  431. SET @table = @table + ' AND rec.lastName1 LIKE ''' + @rLastName1 + '%'''
  432. IF @rLastName2 IS NOT NULL
  433. SET @table = @table + ' AND rec.lastName2 LIKE ''' + @rLastName2 + '%'''
  434. IF @rMemId IS NOT NULL
  435. SET @table = @table + ' AND c.membershipId = ' + CAST(@rMemId AS VARCHAR)
  436. SET @select_field_list ='
  437. id
  438. ,controlNo
  439. ,sCustomerId
  440. ,senderName
  441. ,sCountryName
  442. ,sStateName
  443. ,sCity
  444. ,sAddress
  445. ,rCustomerId
  446. ,receiverName
  447. ,rCountryName
  448. ,rStateName
  449. ,rCity
  450. ,rAddress
  451. '
  452. SET @table = @table + ') x'
  453. EXEC dbo.proc_paging
  454. @table
  455. ,@sql_filter
  456. ,@select_field_list
  457. ,@extra_field_list
  458. ,@sortBy
  459. ,@sortOrder
  460. ,@pageSize
  461. ,@pageNumber
  462. END
  463. ----------------------------------------------------------------------------------------------------------------
  464. ELSE IF @flag = 'sho'
  465. BEGIN
  466. SET @table = '(
  467. SELECT
  468. trn.id
  469. ,controlNo = dbo.FNADecryptString(trn.controlNo)
  470. ,sCustomerId = sen.customerId
  471. ,senderName = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  472. ,sCountryName = sen.country
  473. ,sStateName = sen.state
  474. ,sCity = sen.city
  475. ,sAddress = sen.address
  476. ,rCustomerId = rec.customerId
  477. ,receiverName = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
  478. ,rCountryName = rec.country
  479. ,rStateName = rec.state
  480. ,rCity = rec.city
  481. ,rAddress = rec.address
  482. FROM remitTran trn WITH(NOLOCK)
  483. LEFT JOIN tranSenders sen WITH(NOLOCK) ON trn.id = sen.tranId
  484. LEFT JOIN tranReceivers rec WITH(NOLOCK) ON trn.id = rec.tranId
  485. INNER JOIN applicationUsers au WITH(NOLOCK) ON trn.createdBy = au.userName
  486. WHERE
  487. trn.tranStatus = ''Hold'' AND
  488. trn.payStatus = ''Unpaid'' AND
  489. trn.approvedBy IS NULL AND
  490. au.agentId = 1
  491. '
  492. SET @sql_filter = ''
  493. IF @controlNo IS NOT NULL
  494. SET @table = @table + ' AND trn.controlNo = ''' + @controlNoEncrypted + ''''
  495. IF @sFirstName IS NOT NULL
  496. SET @table = @table + ' AND sen.firstName LIKE ''' + @sFirstName + '%'''
  497. IF @sMiddleName IS NOT NULL
  498. SET @table = @table + ' AND sen.middleName LIKE ''' + @sMiddleName + '%'''
  499. IF @sLastName1 IS NOT NULL
  500. SET @table = @table + ' AND sen.lastName1 LIKE ''' + @sLastName1 + '%'''
  501. IF @sLastName2 IS NOT NULL
  502. SET @table = @table + ' AND sen.lastName2 LIKE ''' + @sLastName2 + '%'''
  503. IF @sMemId IS NOT NULL
  504. SET @table = @table + ' AND sen.membershipId = ' + CAST(@sMemId AS VARCHAR)
  505. IF @rFirstName IS NOT NULL
  506. SET @table = @table + ' AND rec.firstName LIKE ''' + @rFirstName + '%'''
  507. IF @rMiddleName IS NOT NULL
  508. SET @table = @table + ' AND rec.middleName LIKE ''' + @rMiddleName + '%'''
  509. IF @rLastName1 IS NOT NULL
  510. SET @table = @table + ' AND rec.lastName1 LIKE ''' + @rLastName1 + '%'''
  511. IF @rLastName2 IS NOT NULL
  512. SET @table = @table + ' AND rec.lastName2 LIKE ''' + @rLastName2 + '%'''
  513. IF @rMemId IS NOT NULL
  514. SET @table = @table + ' AND c.membershipId = ' + CAST(@rMemId AS VARCHAR)
  515. SET @select_field_list ='
  516. id
  517. ,controlNo
  518. ,sCustomerId
  519. ,senderName
  520. ,sCountryName
  521. ,sStateName
  522. ,sCity
  523. ,sAddress
  524. ,rCustomerId
  525. ,receiverName
  526. ,rCountryName
  527. ,rStateName
  528. ,rCity
  529. ,rAddress
  530. '
  531. SET @table = @table + ') x'
  532. PRINT @table
  533. EXEC dbo.proc_paging
  534. @table
  535. ,@sql_filter
  536. ,@select_field_list
  537. ,@extra_field_list
  538. ,@sortBy
  539. ,@sortOrder
  540. ,@pageSize
  541. ,@pageNumber
  542. END
  543. ----------------------------------------------------------------------------------------------------------------
  544. ELSE IF @flag = 'va' --Verify Amount
  545. BEGIN
  546. IF NOT EXISTS(SELECT 'X' FROM remitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted)
  547. BEGIN
  548. EXEC proc_errorHandler 1, 'Transaction not found', NULL
  549. END
  550. IF NOT EXISTS(SELECT 'X' FROM remitTran WITh(NOLOCK) WHERE controlNo = @controlNoEncrypted AND cAmt = @cAmt)
  551. BEGIN
  552. EXEC proc_errorHandler 1, 'Collection amount doesnot match. Please enter the correct amount', NULL
  553. RETURN
  554. END
  555. EXEC proc_errorHandler 0, 'Success', NULL
  556. END
  557. GO