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.

976 lines
46 KiB

9 months ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_cancelTran] Script Date: 12/29/2023 11:24:54 AM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROC [dbo].[proc_cancelTran] (
  9. @flag VARCHAR(50)
  10. ,@controlNo VARCHAR(20) = NULL
  11. ,@user VARCHAR(30) = NULL
  12. ,@agentRefId VARCHAR(50) = NULL
  13. ,@tranId INT = NULL
  14. ,@sCountry INT = NULL
  15. ,@sFirstName VARCHAR(30) = NULL
  16. ,@sMiddleName VARCHAR(30) = NULL
  17. ,@sLastName1 VARCHAR(30) = NULL
  18. ,@sLastName2 VARCHAR(30) = NULL
  19. ,@sMemId VARCHAR(30) = NULL
  20. ,@sId BIGINT = NULL
  21. ,@sTranId VARCHAR(50) = NULL
  22. ,@rCountry INT = NULL
  23. ,@rFirstName VARCHAR(30) = NULL
  24. ,@rMiddleName VARCHAR(30) = NULL
  25. ,@rLastName1 VARCHAR(30) = NULL
  26. ,@rLastName2 VARCHAR(30) = NULL
  27. ,@rMemId VARCHAR(30) = NULL
  28. ,@rId BIGINT = NULL
  29. ,@pCountry INT = NULL
  30. ,@customerId INT = NULL
  31. ,@agentId INT = NULL
  32. ,@senderId INT = NULL
  33. ,@benId INT = NULL
  34. ,@cancelReason VARCHAR(200) = NULL
  35. ,@refund CHAR(1) = NULL
  36. ,@sortBy VARCHAR(50) = NULL
  37. ,@sortOrder VARCHAR(5) = NULL
  38. ,@pageSize INT = NULL
  39. ,@pageNumber INT = NULL
  40. )
  41. AS
  42. --#298 Trim white space of Control number and TranId
  43. -- #5968 - free service charge - teller quota , @flag = 'cancel'
  44. DECLARE @tranStatus VARCHAR(20) = NULL
  45. ,@payStatus VARCHAR(50) = NULL
  46. ,@tranType CHAR(1) = NULL
  47. DECLARE @select_field_list VARCHAR(MAX)
  48. ,@extra_field_list VARCHAR(MAX)
  49. ,@table VARCHAR(MAX)
  50. ,@sql_filter VARCHAR(MAX)
  51. ,@sAgent INT
  52. ,@tAmt MONEY
  53. ,@pAmt MONEY
  54. ,@message VARCHAR(200)
  55. ------------------------------------------
  56. --#134 -> Allow edit option of address in Town Area
  57. --#11715 Restrict Cancel if Cancel approve date exists
  58. ------------------------------------------
  59. SET NOCOUNT ON
  60. SET XACT_ABORT ON
  61. SELECT @pageSize = 1000
  62. ,@pageNumber = 1
  63. DECLARE @code VARCHAR(50)
  64. ,@userName VARCHAR(50)
  65. ,@password VARCHAR(50)
  66. ,@lockStatus VARCHAR(20)
  67. ,@holdTranId BIGINT
  68. DECLARE @controlNoEncrypted VARCHAR(20)
  69. SELECT @controlNoEncrypted = dbo.FNAEncryptString(UPPER(LTRIM(RTRIM(@controlNo))))
  70. IF @flag = 'cancelRequest-admin'
  71. BEGIN
  72. IF @user IS NULL
  73. BEGIN
  74. EXEC proc_errorHandler 1
  75. ,'Your session has expired. Cannot send cancel request'
  76. ,NULL
  77. RETURN
  78. END
  79. SELECT @tranStatus = tranStatus
  80. ,@payStatus = payStatus
  81. ,@tranId = id
  82. ,@lockStatus = lockStatus
  83. FROM remitTran WITH (NOLOCK)
  84. WHERE controlNo = @controlNoEncrypted
  85. IF (@tranStatus IS NULL)
  86. BEGIN
  87. EXEC proc_errorHandler 1
  88. ,'Transaction not found'
  89. ,@controlNoEncrypted
  90. RETURN
  91. END
  92. IF (@tranStatus = 'Block')
  93. BEGIN
  94. EXEC proc_errorHandler 1
  95. ,'Transaction is blocked. Please Contact HO'
  96. ,@controlNoEncrypted
  97. RETURN
  98. END
  99. IF (@tranStatus = 'Paid')
  100. BEGIN
  101. EXEC proc_errorHandler 1
  102. ,'Transaction has already been paid'
  103. ,@controlNoEncrypted
  104. RETURN
  105. END
  106. IF (@payStatus = 'Paid')
  107. BEGIN
  108. EXEC proc_errorHandler 1
  109. ,'Transaction has already been paid'
  110. ,@controlNoEncrypted
  111. RETURN
  112. END
  113. IF (@tranStatus = 'Cancel' or @payStatus='Cancel')
  114. BEGIN
  115. EXEC proc_errorHandler 1
  116. ,'Transaction has already been cancelled'
  117. ,@controlNoEncrypted
  118. RETURN
  119. END
  120. IF (@tranStatus in('Cancel Request','CancelRequest') or @paystatus in('CancelRequest','Cancel Request'))
  121. BEGIN
  122. EXEC proc_errorHandler 1
  123. ,'Cancel Request has already been sent'
  124. ,@controlNoEncrypted
  125. RETURN
  126. END
  127. BEGIN TRANSACTION
  128. UPDATE remitTran
  129. SET tranStatus = 'CancelRequest' --Transaction Hold
  130. ,trnStatusBeforeCnlReq = tranStatus
  131. ,cancelRequestBy = @user
  132. ,cancelRequestDate = GETDATE()
  133. ,cancelRequestDateLocal = GETDATE()
  134. ,cancelReason = @cancelReason
  135. WHERE controlNo = @controlNoEncrypted
  136. SELECT @message = 'Transaction requested for Cancel. Reason : ''' + @cancelReason + ''''
  137. INSERT INTO tranCancelrequest (
  138. tranId
  139. ,controlNo
  140. ,cancelReason
  141. ,cancelStatus
  142. ,createdBy
  143. ,createdDate
  144. ,tranStatus
  145. )
  146. SELECT @tranId
  147. ,@controlNoEncrypted
  148. ,@cancelReason
  149. ,'CancelRequest'
  150. ,@user
  151. ,GETDATE()
  152. ,@tranStatus
  153. EXEC proc_transactionLogs 'i'
  154. ,@user
  155. ,@tranId
  156. ,@message
  157. ,'Cancel Request'
  158. IF @@TRANCOUNT > 0
  159. COMMIT TRANSACTION
  160. EXEC proc_errorHandler 0
  161. ,'Request for cancel done successfully'
  162. ,@controlNoEncrypted
  163. EXEC proc_addCommentAPI @flag = 'i'
  164. ,@controlNo = @controlNo
  165. ,@user = @user
  166. ,@message = @message
  167. ,@agentRefId = NULL
  168. END
  169. ELSE IF @flag = 'cancelRequest'
  170. BEGIN
  171. IF @user IS NULL
  172. BEGIN
  173. EXEC proc_errorHandler 1
  174. ,'Your session has expired. Cannot send cancel request'
  175. ,NULL
  176. RETURN
  177. END
  178. SELECT @tranStatus = tranStatus
  179. ,@payStatus = payStatus
  180. ,@tranId = id
  181. ,@lockStatus = lockStatus
  182. FROM remitTran WITH (NOLOCK)
  183. WHERE controlNo = @controlNoEncrypted
  184. IF (@tranStatus IS NULL)
  185. BEGIN
  186. EXEC proc_errorHandler 1
  187. ,'Transaction not found'
  188. ,@controlNoEncrypted
  189. RETURN
  190. END
  191. SELECT @agentId = agentId
  192. FROM applicationUsers WITH (NOLOCK)
  193. WHERE userName = @user
  194. IF @agentId <> (
  195. SELECT dbo.FNAGetHOAgentId()
  196. )
  197. BEGIN
  198. IF EXISTS (
  199. SELECT 'X'
  200. FROM remitTran WITH (NOLOCK)
  201. WHERE controlNo = @controlNoEncrypted
  202. AND sBranch <> @agentId
  203. )
  204. BEGIN
  205. EXEC proc_errorHandler 1
  206. ,'Transaction is not in authorized mode'
  207. ,@controlNoEncrypted
  208. RETURN
  209. END
  210. END
  211. IF (@tranStatus = 'Block')
  212. BEGIN
  213. EXEC proc_errorHandler 1
  214. ,'Transaction is blocked. Please Contact HO'
  215. ,@controlNoEncrypted
  216. RETURN
  217. END
  218. IF (@tranStatus = 'Paid')
  219. BEGIN
  220. EXEC proc_errorHandler 1
  221. ,'Transaction has already been paid'
  222. ,@controlNoEncrypted
  223. RETURN
  224. END
  225. IF (@payStatus = 'Paid')
  226. BEGIN
  227. EXEC proc_errorHandler 1
  228. ,'Transaction has already been paid'
  229. ,@controlNoEncrypted
  230. RETURN
  231. END
  232. IF (@tranStatus = 'Cancel' or @payStatus='Cancel')
  233. BEGIN
  234. EXEC proc_errorHandler 1
  235. ,'Transaction has already been cancelled'
  236. ,@controlNoEncrypted
  237. RETURN
  238. END
  239. IF (@tranStatus in('Cancel Request','CancelRequest') or @paystatus in('CancelRequest','Cancel Request'))
  240. BEGIN
  241. EXEC proc_errorHandler 1
  242. ,'Cancel Request has already been sent'
  243. ,@controlNoEncrypted
  244. RETURN
  245. END
  246. BEGIN TRANSACTION
  247. UPDATE remitTran
  248. SET tranStatus = 'CancelRequest' --Transaction Hold
  249. ,trnStatusBeforeCnlReq = tranStatus
  250. ,cancelRequestBy = @user
  251. ,cancelRequestDate = GETDATE()
  252. ,cancelRequestDateLocal = GETDATE()
  253. ,cancelReason = @cancelReason
  254. WHERE controlNo = @controlNoEncrypted
  255. SELECT @message = 'Transaction requested for Cancel. Reason : ''' + @cancelReason + ''''
  256. INSERT INTO tranCancelrequest (
  257. tranId
  258. ,controlNo
  259. ,cancelReason
  260. ,cancelStatus
  261. ,createdBy
  262. ,createdDate
  263. ,tranStatus
  264. )
  265. SELECT @tranId
  266. ,@controlNoEncrypted
  267. ,@cancelReason
  268. ,'CancelRequest'
  269. ,@user
  270. ,GETDATE()
  271. ,@tranStatus
  272. EXEC proc_transactionLogs 'i'
  273. ,@user
  274. ,@tranId
  275. ,@message
  276. ,'Cancel Request'
  277. IF @@TRANCOUNT > 0
  278. COMMIT TRANSACTION
  279. EXEC proc_errorHandler 0
  280. ,'Request for cancel done successfully'
  281. ,@controlNoEncrypted
  282. EXEC proc_addCommentAPI @flag = 'i'
  283. ,@controlNo = @controlNo
  284. ,@user = @user
  285. ,@message = @message
  286. ,@agentRefId = NULL
  287. END
  288. ELSE IF @flag = 'cancel'
  289. BEGIN
  290. -- @refund ='N' TREATED AS NORMAL / FULL RETUND --WHEN RT.Pagent IN( 221226) then (RT.cAmt-rt.serviceCharge)
  291. DECLARE @sBranch INT
  292. ,@pLocation INT
  293. ,@pAgentComm MONEY
  294. ,@cancelCharge MONEY
  295. ,@returnAmt MONEY
  296. ,@idNumber VARCHAR(25)
  297. ,@accountType VARCHAR(20)
  298. ,@cAmt MONEY
  299. ,@userId INT
  300. ,@collMode VARCHAR(20)
  301. DECLARE @referralCode VARCHAR(15)
  302. ,@sType CHAR(1)
  303. ,@isOnbehalf CHAR(1)
  304. ,@date1 DATETIME
  305. ,@date2 DATETIME
  306. ,@createDate DATETIME
  307. ,@deviceType VARCHAR(25)
  308. ,@fcmId NVARCHAR(300)
  309. ,@rewardType NVARCHAR(25)
  310. ,@txncreatedBy NVARCHAR(30)
  311. ,@cancelapprovedDate DATETIME
  312. SELECT @tranStatus = RT.tranStatus
  313. ,@paystatus= RT.paystatus
  314. ,@sBranch = RT.sBranch
  315. ,@userId = A.userId
  316. ,@sAgent = RT.sAgent
  317. ,@pLocation = RT.pLocation
  318. ,@tAmt = RT.tAmt
  319. ,@returnAmt = CASE
  320. WHEN ISNULL(@refund, '') = 'D'
  321. OR RT.Pagent IN (221226)
  322. THEN rt.tAmt
  323. ELSE RT.cAmt
  324. END
  325. ,@pAmt = RT.pAmt
  326. ,@tranId = RT.id
  327. ,@customerId = S.customerId
  328. ,@idNumber = S.idNumber
  329. ,@refund = CASE
  330. WHEN RT.Pagent IN (221226)
  331. THEN 'D'
  332. ELSE @refund
  333. END
  334. ,@accountType = rt.SrouteId
  335. ,@cAmt = rt.cAmt
  336. ,@collMode = RT.COLLMODE
  337. ,@createDate = RT.createdDate
  338. ,@referralCode = PROMOTIONCODE
  339. ,@isOnbehalf = (
  340. CASE
  341. WHEN ISONBEHALF = '1'
  342. THEN 'Y'
  343. ELSE 'N'
  344. END
  345. )
  346. ,@controlNo = dbo.decryptdb(rt.controlNo)
  347. ,@tranType = rt.tranType
  348. ,@holdTranId = rt.holdTranId
  349. ,@rewardType = rt.rewardType
  350. ,@txncreatedBy = rt.createdBy
  351. ,@cancelapprovedDate= rt.cancelApprovedDate
  352. FROM remitTran RT WITH (NOLOCK)
  353. INNER JOIN tranSenders S WITH (NOLOCK) ON S.tranId = RT.id
  354. LEFT JOIN applicationUsers A(NOLOCK) ON A.USERNAME = RT.CREATEDBY
  355. WHERE controlNo = @controlNoEncrypted
  356. SELECT @fcmId = deviceid
  357. ,@deviceType = DeviceType
  358. FROM mobile_userRegistration(NOLOCK)
  359. WHERE customerid = @customerId
  360. IF @cancelapprovedDate IS NOT NULL
  361. BEGIN
  362. EXEC proc_errorHandler 1
  363. ,'Cancel ApprovedDate already exists. Cannot cancel transaction'
  364. ,NULL
  365. RETURN
  366. END
  367. IF @user IS NULL
  368. BEGIN
  369. EXEC proc_errorHandler 1
  370. ,'Your session has expired. Cannot cancel transaction'
  371. ,NULL
  372. RETURN
  373. END
  374. IF (@tranStatus IS NULL)
  375. BEGIN
  376. EXEC proc_errorHandler 1
  377. ,'Transaction not found'
  378. ,@controlNoEncrypted
  379. RETURN
  380. END
  381. IF (@tranStatus = 'Paid')
  382. BEGIN
  383. EXEC proc_errorHandler 1
  384. ,'Transaction has already been paid'
  385. ,@controlNoEncrypted
  386. RETURN
  387. END
  388. IF (@tranStatus = 'Cancel' or @paystatus='Cancel')
  389. BEGIN
  390. EXEC proc_errorHandler 1
  391. ,'Transaction has already been cancelled'
  392. ,@controlNoEncrypted
  393. RETURN
  394. END
  395. IF (@tranStatus in('Cancel Request','CancelRequest') or @paystatus in('CancelRequest','Cancel Request'))
  396. BEGIN
  397. EXEC proc_errorHandler 1
  398. ,'Transaction is in Cancel Request. Unable to Direct cancel.'
  399. ,@controlNoEncrypted
  400. RETURN
  401. END
  402. IF (@tranStatus = 'Hold')
  403. BEGIN
  404. EXEC proc_errorHandler 1
  405. ,'Transaction is hold. Transaction must be approved for cancellation.'
  406. ,NULL
  407. RETURN
  408. END
  409. SET @cancelCharge = 0
  410. BEGIN TRANSACTION
  411. UPDATE remitTran
  412. SET tranStatus = 'Cancel'
  413. ,cancelApprovedBy = @user
  414. ,cancelApprovedDate = GETDATE()
  415. ,cancelApprovedDateLocal = GETDATE()
  416. ,cancelReason = @cancelReason
  417. ,refund = @refund
  418. WHERE controlNo = @controlNoEncrypted
  419. --SELECT @message = 'Cancel Request Approved'
  420. SELECT @message = @cancelReason
  421. EXEC proc_transactionLogs 'i'
  422. ,@user
  423. ,@tranId
  424. ,@message
  425. ,'Cancel Approved'
  426. --update balance
  427. --select @sAgent,@userId,@referralCode,@cAmt,@isOnbehalf,@controlNoEncrypted
  428. IF @collMode = 'Cash collect'
  429. BEGIN
  430. EXEC PROC_UPDATE_AVAILABALE_BALANCE @FLAG = 'CANCEL'
  431. ,@S_AGENT = @sAgent
  432. ,@S_USER = @userId
  433. ,@REFERRAL_CODE = @referralCode
  434. ,@C_AMT = @cAmt
  435. ,@ONBEHALF = @isOnbehalf
  436. END
  437. IF @collMode = 'Bank Deposit'
  438. BEGIN
  439. EXEC proc_UpdateCustomerBalance @controlNo = @controlNoEncrypted
  440. END
  441. EXEC PROC_CANCEL_TXN_CASH @TRAN_ID = @tranId
  442. IF @@TRANCOUNT > 0
  443. COMMIT TRANSACTION
  444. DECLARE @ref_num VARCHAR(20)
  445. SELECT TOP 1 @ref_num = t.ref_num
  446. FROM FastMoneyPro_Account.dbo.tran_master t(NOLOCK)
  447. WHERE field1 = @controlNo
  448. AND t.tran_type = 'j'
  449. AND field2 = 'Remittance Voucher'
  450. IF @ref_num IS NOT NULL
  451. BEGIN
  452. SET @cancelReason = ' Cancellation and refund of ' + @controlNo
  453. DECLARE @tempTbl TABLE (
  454. errorcode VARCHAR(5)
  455. ,msg VARCHAR(max)
  456. ,id VARCHAR(50)
  457. )
  458. INSERT INTO @tempTbl (
  459. errorcode
  460. ,msg
  461. ,id
  462. )
  463. EXEC FastMoneyPro_Account.dbo.proc_CancelTranVoucher @flag = 'REVERSE'
  464. ,@refNum = @ref_num
  465. ,@vType = 'J'
  466. ,@refund = 'N'
  467. ,@user = @user
  468. ,@remarks = @cancelReason
  469. END
  470. SET @message = 'Transaction Cancelled ' + isnull(@message, '')
  471. IF @tranType = 'I'
  472. BEGIN
  473. IF EXISTS (
  474. SELECT TOP 1 1
  475. FROM applicationUsers(NOLOCK)
  476. WHERE userName = @txncreatedBy
  477. )
  478. BEGIN
  479. UPDATE APPLICATIONUSERS
  480. SET freeScCounter = CASE
  481. WHEN ISNULL(freeScCounter, 0) > 0
  482. THEN ISNULL(freeScCounter, 0) - 1
  483. ELSE freeScCounter
  484. END
  485. WHERE username = @txncreatedBy
  486. END
  487. END
  488. IF @rewardType = 'FREE_SC'
  489. BEGIN
  490. UPDATE remitDatalog
  491. SET controlNo = NULL
  492. WHERE ControlNo = @ControlNo
  493. END
  494. ELSE
  495. BEGIN
  496. DELETE
  497. FROM remitDatalog
  498. WHERE tranId = @holdTranId
  499. END
  500. EXEC [proc_errorHandler] 0
  501. ,@message
  502. ,@tranId
  503. EXEC PROC_UNTRANSACTED_UPDATE @UPDATE_TYPE = 'CANCEL'
  504. ,@UPDATE_REF_NUM = @controlNo
  505. END
  506. ELSE IF @flag = 'cancelReject'
  507. BEGIN
  508. BEGIN TRANSACTION
  509. UPDATE remitTran
  510. SET tranStatus = 'Payment'
  511. WHERE controlNo = @controlNoEncrypted
  512. SELECT @tranId = id
  513. FROM remitTran WITH (NOLOCK)
  514. WHERE controlNo = @controlNoEncrypted
  515. SELECT @message = 'Cancel Request for this transaction rejected'
  516. EXEC proc_transactionLogs 'i'
  517. ,@user
  518. ,@tranId
  519. ,@message
  520. ,'Cancel Reject'
  521. IF @@TRANCOUNT > 0
  522. COMMIT TRANSACTION
  523. EXEC proc_errorHandler 0
  524. ,'Cancel Request rejected successfully'
  525. ,@controlNoEncrypted
  526. EXEC proc_addCommentAPI @flag = 'i'
  527. ,@controlNo = @controlNo
  528. ,@user = @user
  529. ,@message = @message
  530. ,@agentRefId = NULL
  531. END
  532. ELSE IF @flag = 'detailsAgent'
  533. BEGIN
  534. SELECT @agentId = agentId
  535. FROM applicationUsers WITH (NOLOCK)
  536. WHERE userName = @user
  537. SELECT @tranStatus = tranStatus
  538. ,@payStatus = payStatus
  539. FROM remitTran WITH (NOLOCK)
  540. WHERE controlNo = LTRIM(RTRIM(@controlNoEncrypted))
  541. IF (@tranStatus IS NOT NULL)
  542. BEGIN
  543. INSERT INTO tranViewHistory (
  544. controlNumber
  545. ,tranViewType
  546. ,createdBy
  547. ,createdDate
  548. )
  549. SELECT @controlNoEncrypted
  550. ,'C'
  551. ,@user
  552. ,GETDATE()
  553. END
  554. ELSE
  555. BEGIN
  556. EXEC proc_errorHandler 1000
  557. ,'No Transaction Found'
  558. ,@controlNoEncrypted
  559. RETURN
  560. END
  561. IF NOT EXISTS (
  562. SELECT 'X'
  563. FROM remitTran WITH (NOLOCK)
  564. WHERE controlNo = LTRIM(RTRIM(@controlNoEncrypted))
  565. AND sBranch = @agentId
  566. )
  567. BEGIN
  568. EXEC proc_errorHandler 1
  569. ,'Transaction is not in authorized mode'
  570. ,@controlNoEncrypted
  571. RETURN
  572. END
  573. IF (@tranStatus = 'Paid')
  574. BEGIN
  575. EXEC proc_errorHandler 1
  576. ,'Transaction has already been paid'
  577. ,@controlNoEncrypted
  578. RETURN
  579. END
  580. IF (@payStatus = 'Paid')
  581. BEGIN
  582. EXEC proc_errorHandler 1
  583. ,'Transaction has already been paid'
  584. ,@controlNoEncrypted
  585. RETURN
  586. END
  587. IF (@tranStatus = 'CancelRequest')
  588. BEGIN
  589. EXEC proc_errorHandler 1
  590. ,'Cancel Request has already been sent'
  591. ,@controlNoEncrypted
  592. RETURN
  593. END
  594. IF (@tranStatus = 'Cancel')
  595. BEGIN
  596. EXEC proc_errorHandler 1
  597. ,'Transaction has already been cancelled'
  598. ,@controlNoEncrypted
  599. RETURN
  600. END
  601. IF (@tranStatus = 'Lock')
  602. BEGIN
  603. EXEC proc_errorHandler 1
  604. ,'Transaction is locked. Please contact HO'
  605. ,@controlNoEncrypted
  606. RETURN
  607. END
  608. IF (@tranStatus = 'Block')
  609. BEGIN
  610. EXEC proc_errorHandler 1
  611. ,'Transaction is blocked. Please contact HO'
  612. ,@controlNoEncrypted
  613. RETURN
  614. END
  615. --IF (@payStatus = 'Post')
  616. --BEGIN
  617. -- EXEC proc_errorHandler 1, 'Transaction is Post. Please contact Head Office.', @controlNoEncrypted
  618. -- RETURN
  619. --END
  620. EXEC proc_errorHandler 0
  621. ,'Transaction Found'
  622. ,@controlNoEncrypted
  623. SELECT trn.id
  624. ,controlNo = dbo.FNADecryptString(trn.controlNo)
  625. ,sMemId = sen.membershipId
  626. ,sCustomerId = sen.customerId
  627. ,senderName = sen.firstName + ISNULL(' ' + sen.middleName, '') + ISNULL(' ' + sen.lastName1, '') + ISNULL(' ' + sen.lastName2, '')
  628. ,sCountryName = sen.country
  629. ,sStateName = sen.STATE
  630. ,sDistrict = sen.district
  631. ,sCity = sen.city
  632. ,sAddress = dbo.FNAGetCustomerAddress(trn.id, 'TXN-SEARCH')
  633. ,sContactNo = COALESCE(sen.mobile, sen.homephone, sen.workphone)
  634. ,sIdType = sen.idType
  635. ,sIdNo = sen.idNumber
  636. ,sValidDate = sen.validDate
  637. ,sEmail = sen.email
  638. ,rMemId = rec.membershipId
  639. ,rCustomerId = rec.customerId
  640. ,receiverName = rec.firstName + ISNULL(' ' + rec.middleName, '') + ISNULL(' ' + rec.lastName1, '') + ISNULL(' ' + rec.lastName2, '')
  641. ,rCountryName = rec.country
  642. ,rStateName = rec.STATE
  643. ,rDistrict = rec.district
  644. ,rCity = rec.city
  645. ,rAddress = rec.address
  646. ,rContactNo = COALESCE(rec.mobile, rec.homephone, rec.workphone)
  647. ,rIdType = rec.idType
  648. ,rIdNo = rec.idNumber
  649. ,sBranchName = trn.sBranchName
  650. ,sAgentName = CASE
  651. WHEN trn.sAgent = trn.sBranch
  652. THEN trn.sSuperAgentName
  653. ELSE trn.sAgentName
  654. END
  655. ,sAgentLocation = sLoc.districtName
  656. ,sAgentDistrict = sa.agentDistrict
  657. ,sAgentCity = sa.agentCity
  658. ,sAgentCountry = sa.agentCountry
  659. ,pAgentName = CASE
  660. WHEN trn.pAgentName = trn.pBranchName
  661. THEN trn.pSuperAgentName
  662. ELSE trn.pAgentName
  663. END
  664. ,pBranchName = trn.pBranchName
  665. ,pAgentCountry = trn.pCountry
  666. ,pAgentState = trn.pState
  667. ,pAgentDistrict = trn.pDistrict
  668. ,pAgentLocation = pLoc.districtName
  669. ,pAgentCity = pa.agentCity
  670. ,pAgentAddress = pa.agentAddress
  671. ,trn.tAmt
  672. ,trn.serviceCharge
  673. ,handlingFee = ISNULL(trn.handlingFee, 0)
  674. ,trn.cAmt
  675. ,trn.pAmt
  676. ,relationship = ISNULL(trn.relWithSender, '-')
  677. ,purpose = ISNULL(trn.purposeOfRemit, '-')
  678. ,sourceOfFund = ISNULL(trn.sourceOfFund, '-')
  679. ,collMode = trn.collMode
  680. ,trn.collCurr
  681. ,paymentMethod = trn.paymentMethod
  682. ,trn.payoutCurr
  683. ,trn.tranStatus
  684. ,trn.payStatus
  685. ,payoutMsg = ISNULL(trn.pMessage, '-')
  686. ,trn.createdBy
  687. ,trn.createdDate
  688. ,trn.approvedBy
  689. ,trn.approvedDate
  690. FROM remitTran trn WITH (NOLOCK)
  691. LEFT JOIN tranSenders sen WITH (NOLOCK) ON trn.id = sen.tranId
  692. LEFT JOIN tranReceivers rec WITH (NOLOCK) ON trn.id = rec.tranId
  693. LEFT JOIN agentMaster sa WITH (NOLOCK) ON trn.sBranch = sa.agentId
  694. LEFT JOIN agentMaster pa WITH (NOLOCK) ON trn.pBranch = pa.agentId
  695. LEFT JOIN api_districtList sLoc WITH (NOLOCK) ON sa.agentLocation = sLoc.districtCode
  696. LEFT JOIN api_districtList pLoc WITH (NOLOCK) ON trn.pLocation = pLoc.districtCode
  697. WHERE trn.controlNo = LTRIM(RTRIM(@controlNoEncrypted))
  698. END
  699. ELSE IF @flag = 'cancelReceipt'
  700. BEGIN
  701. DECLARE @AccName NVARCHAR(100)
  702. ,@AccNo VARCHAR(30)
  703. ,@BankName NVARCHAR(100)
  704. SELECT @controlNoEncrypted = DBO.fnaDecryptstring(Controlno)
  705. FROM remitTran(NOLOCK)
  706. WHERE holdtranid = LTRIM(RTRIM(@tranId))
  707. SELECT TOP 1 @tAmt = TRAN_AMT
  708. FROM FastMoneyPro_Account.dbo.TRAN_MASTER(NOLOCK)
  709. WHERE acc_num = '100241027580'
  710. AND field1 = LTRIM(RTRIM(@controlNoEncrypted))
  711. AND field2 = 'Remittance Voucher'
  712. AND acct_type_code = 'Reverse'
  713. SELECT @AccName = accountName
  714. ,@AccNo = accountNum
  715. ,@BankName = bankName
  716. FROM DBO.[FNA_KFTC_CUST_DETAILBY_TXN](@tranId)
  717. SELECT controlNo = dbo.FNADecryptString(controlNo)
  718. ,postedBy = trn.sBranchName
  719. ,createdDate
  720. ,cancelDate = cancelApprovedDate
  721. ,sender = sen.firstName + ISNULL(' ' + sen.middleName, '') + ISNULL(' ' + sen.lastName1, '') + ISNULL(' ' + sen.lastName2, '')
  722. ,receiver = rec.firstName + ISNULL(' ' + rec.middleName, '') + ISNULL(' ' + rec.lastName1, '') + ISNULL(' ' + rec.lastName2, '')
  723. ,rContactNo = rec.mobile
  724. ,trn.collCurr
  725. ,trn.cAmt
  726. ,trn.serviceCharge
  727. ,trn.pAmt
  728. ,trn.cancelCharge
  729. --,returnAmt = trn.cAmt - ISNULL(trn.cancelCharge,0)
  730. ,returnAmt = ISNULL(@tAmt, trn.cAmt)
  731. ,@AccName AccName
  732. ,@AccNo AccNo
  733. ,@BankName BankName
  734. FROM remitTran trn WITH (NOLOCK)
  735. INNER JOIN tranSenders sen WITH (NOLOCK) ON trn.id = sen.tranId
  736. INNER JOIN tranReceivers rec WITH (NOLOCK) ON trn.id = rec.tranId
  737. WHERE trn.holdtranid = @tranId
  738. END
  739. ELSE IF @flag = 's'
  740. BEGIN
  741. SET @table = '(
  742. SELECT
  743. trn.id
  744. ,controlNo = dbo.FNADecryptString(trn.controlNo)
  745. ,sCustomerId = sen.customerId
  746. ,senderName = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  747. ,sCountryName = sen.country
  748. ,sStateName = sen.state
  749. ,sCity = sen.city
  750. ,sAddress = sen.address
  751. ,rCustomerId = rec.customerId
  752. ,receiverName = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
  753. ,rCountryName = rec.country
  754. ,rStateName = rec.state
  755. ,rCity = rec.city
  756. ,rAddress = rec.address
  757. FROM remitTran trn WITH(NOLOCK)
  758. LEFT JOIN tranSenders sen WITH(NOLOCK) ON trn.id = sen.tranId
  759. LEFT JOIN tranReceivers rec WITH(NOLOCK) ON trn.id = rec.tranId
  760. WHERE trn.tranStatus = ''CancelRequest'' and TranType =''D''
  761. '
  762. SET @sql_filter = ''
  763. IF @controlNo IS NOT NULL
  764. SET @table = @table + ' AND trn.controlNo = ''' + LTRIM(RTRIM(@controlNoEncrypted)) + ''''
  765. IF @sFirstName IS NOT NULL
  766. SET @table = @table + ' AND sen.firstName LIKE ''' + @sFirstName + '%'''
  767. IF @sMiddleName IS NOT NULL
  768. SET @table = @table + ' AND sen.middleName LIKE ''' + @sMiddleName + '%'''
  769. IF @sLastName1 IS NOT NULL
  770. SET @table = @table + ' AND sen.lastName1 LIKE ''' + @sLastName1 + '%'''
  771. IF @sLastName2 IS NOT NULL
  772. SET @table = @table + ' AND sen.lastName2 LIKE ''' + @sLastName2 + '%'''
  773. IF @sMemId IS NOT NULL
  774. SET @table = @table + ' AND sen.membershipId = ' + CAST(@sMemId AS VARCHAR)
  775. IF @rFirstName IS NOT NULL
  776. SET @table = @table + ' AND rec.firstName LIKE ''' + @rFirstName + '%'''
  777. IF @rMiddleName IS NOT NULL
  778. SET @table = @table + ' AND rec.middleName LIKE ''' + @rMiddleName + '%'''
  779. IF @rLastName1 IS NOT NULL
  780. SET @table = @table + ' AND rec.lastName1 LIKE ''' + @rLastName1 + '%'''
  781. IF @rLastName2 IS NOT NULL
  782. SET @table = @table + ' AND rec.lastName2 LIKE ''' + @rLastName2 + '%'''
  783. IF @rMemId IS NOT NULL
  784. SET @table = @table + ' AND c.membershipId = ' + CAST(@rMemId AS VARCHAR)
  785. SET @select_field_list = '
  786. id
  787. ,controlNo
  788. ,sCustomerId
  789. ,senderName
  790. ,sCountryName
  791. ,sStateName
  792. ,sCity
  793. ,sAddress
  794. ,rCustomerId
  795. ,receiverName
  796. ,rCountryName
  797. ,rStateName
  798. ,rCity
  799. ,rAddress
  800. '
  801. SET @table = @table + ') x'
  802. EXEC dbo.proc_paging @table
  803. ,@sql_filter
  804. ,@select_field_list
  805. ,@extra_field_list
  806. ,@sortBy
  807. ,@sortOrder
  808. ,@pageSize
  809. ,@pageNumber
  810. END
  811. ELSE IF @flag = 'checkCancleTxn'
  812. BEGIN
  813. SELECT @tranStatus = tranStatus
  814. ,@tranType = tranType
  815. ,@tranId = id
  816. FROM remitTran WITH (NOLOCK)
  817. WHERE controlNo = LTRIM(RTRIM(@controlNoEncrypted))
  818. IF (@tranStatus IS NULL)
  819. BEGIN
  820. EXEC proc_errorHandler 1
  821. ,'Invalid transaction'
  822. ,@controlNo
  823. RETURN
  824. END
  825. IF (@tranStatus = 'Cancel')
  826. BEGIN
  827. SELECT errorCode = 0
  828. ,msg = 'Success'
  829. ,id = @controlNo
  830. ,extra = @tranType
  831. ,extra2 = @tranId
  832. RETURN
  833. END
  834. ELSE
  835. BEGIN
  836. EXEC proc_errorHandler 1
  837. ,'Invalid transaction'
  838. ,@controlNo
  839. END
  840. END