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.

2257 lines
114 KiB

9 months ago
9 months ago
10 months ago
9 months ago
9 months ago
9 months ago
11 months ago
11 months ago
9 months ago
10 months ago
9 months ago
11 months ago
12 months ago
11 months ago
12 months ago
12 months ago
9 months ago
10 months ago
9 months ago
9 months ago
1 year ago
1 year ago
1 year ago
9 months ago
1 year ago
9 months ago
1 year ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
9 months ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_ApproveHoldedTXN] Script Date: 2/15/2024 10:13:12 AM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROC [dbo].[proc_ApproveHoldedTXN] (
  9. @flag VARCHAR(50)
  10. ,@user VARCHAR(130)
  11. ,@userType VARCHAR(10) = NULL
  12. ,@branch VARCHAR(50) = NULL
  13. ,@id VARCHAR(40) = NULL
  14. ,@country VARCHAR(50) = NULL
  15. ,@sender VARCHAR(50) = NULL
  16. ,@receiver VARCHAR(50) = NULL
  17. ,@amt MONEY = NULL
  18. ,@bank VARCHAR(50) = NULL
  19. ,@voucherNo VARCHAR(50) = NULL
  20. ,@branchId INT = NULL
  21. ,@pin VARCHAR(50) = NULL
  22. ,@errorCode VARCHAR(10) = NULL
  23. ,@msg VARCHAR(500) = NULL
  24. ,@idList XML = NULL
  25. ,@txnDate VARCHAR(20) = NULL
  26. ,@txncreatedBy VARCHAR(50) = NULL
  27. ,@xml VARCHAR(MAX) = NULL
  28. ,@remarks VARCHAR(MAX) = NULL
  29. ,@settlingAgentId INT = NULL
  30. ,@ControlNo VARCHAR(50) = NULL
  31. ,@txnType VARCHAR(1) = NULL
  32. ,@sendCountry VARCHAR(50) = NULL
  33. ,@sendAgent VARCHAR(50) = NULL
  34. ,@sendBranch VARCHAR(50) = NULL
  35. ,@approvedFrom VARCHAR(10) = NULL
  36. ,@tpControlNo1 VARCHAR(30) = NULL
  37. ,@tpControlNo2 VARCHAR(30) = NULL
  38. ,@isTxnRealtime BIT = NULL
  39. ,@isSystemReject BIT = NULL
  40. ,@cancelReason VARCHAR(150) = NULL
  41. ,@cancelDate VARCHAR(20) = NULL
  42. ,@downlodedBy VARCHAR(50) = NULL
  43. )
  44. AS
  45. --#298 Trim white space of Control number and TranId
  46. --#101 - Mobile Changes
  47. -- #652 - collected by ddl in verify transaction
  48. --#618: Bank Deposit details not displayed.
  49. -- #1135 pushNotificationHistroy
  50. -- #739 Ime pay
  51. BEGIN TRY
  52. DECLARE @table VARCHAR(MAX)
  53. ,@sql VARCHAR(MAX)
  54. ,@sqlSelfTxn VARCHAR(MAX)
  55. ,@sRouteId VARCHAR(5)
  56. ,@collMode VARCHAR(100)
  57. SET NOCOUNT ON;
  58. SET XACT_ABORT ON;
  59. DECLARE @pinEncrypted VARCHAR(50) = dbo.FNAEncryptString(@pin)
  60. ,@cAmt MONEY
  61. ,@userId INT
  62. ,@createdBy VARCHAR(50)
  63. ,@tranStatus VARCHAR(50)
  64. ,@message VARCHAR(200)
  65. ,@sBranch BIGINT
  66. ,@invicePrintMethod VARCHAR(50)
  67. ,@parentId BIGINT
  68. ,@tablesql AS VARCHAR(MAX)
  69. ,@branchList VARCHAR(MAX)
  70. ,@denyAmt MONEY
  71. ,@C2CAgentID VARCHAR(30) = '1045'
  72. ,@REAgentID VARCHAR(30) = '1100'
  73. ,@transactionType CHAR(1) = NULL
  74. ,@controlNo2 VARCHAR(20)
  75. IF @pin IS NULL
  76. BEGIN
  77. SELECT @pin = dbo.FNADecryptString(controlNo)
  78. ,@pinEncrypted = controlNo
  79. FROM remitTranTemp WITH (NOLOCK)
  80. WHERE id = @id
  81. END
  82. ELSE
  83. BEGIN
  84. SET @pinEncrypted = dbo.FNAEncryptString(UPPER(LTRIM(RTRIM(@pin))))
  85. END
  86. DECLARE @PinList TABLE (
  87. id VARCHAR(50)
  88. ,pin VARCHAR(50)
  89. ,hasProcess CHAR(1)
  90. ,isOFAC CHAR(1)
  91. ,errorMsg VARCHAR(MAX)
  92. ,tranId INT
  93. ,createdBy VARCHAR(50)
  94. )
  95. DECLARE @TempcompTable TABLE (
  96. errorCode INT
  97. ,msg VARCHAR(MAX)
  98. ,id VARCHAR(50)
  99. )
  100. DECLARE @isSelfApprove VARCHAR(1)
  101. IF @flag = 'provider'
  102. BEGIN
  103. DECLARE @pAgent INT
  104. SELECT @pAgent = pAgent
  105. FROM remitTranTemp WITH (NOLOCK)
  106. WHERE id = @id
  107. IF @pAgent IS NULL
  108. BEGIN
  109. SELECT @pAgent = pAgent
  110. FROM vwremitTran WITH (NOLOCK)
  111. WHERE id = @id
  112. END
  113. SELECT @pAgent pAgent
  114. RETURN
  115. END
  116. IF @flag = 'get-info'
  117. BEGIN
  118. IF NOT EXISTS (
  119. SELECT *
  120. FROM REMITTRANTEMP(NOLOCK)
  121. WHERE ID = @id
  122. )
  123. BEGIN
  124. EXEC proc_errorHandler 1
  125. ,'Transaction Not Found!'
  126. ,@id
  127. RETURN
  128. END
  129. DECLARE @partnerId INT
  130. ,@isRealTime BIT
  131. ,@pcountry INT
  132. SELECT @partnerId = pSuperAgent
  133. ,@pcountry = CM.COUNTRYID
  134. ,@controlNo = DBO.DECRYPTDB(CONTROLNO)
  135. FROM REMITTRANTEMP(NOLOCK) RTT
  136. INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYNAME = RTT.PCOUNTRY
  137. WHERE ID = @id
  138. SELECT @isRealTime = CASE
  139. WHEN @partnerId = '394397'
  140. THEN 0
  141. ELSE isRealTime
  142. END
  143. FROM TblPartnerwiseCountry(NOLOCK)
  144. WHERE AgentId = @partnerId
  145. AND COUNTRYID = @pcountry
  146. SELECT 0
  147. ,@partnerId
  148. ,@controlNo
  149. ,@isRealTime
  150. ,[provide] = CASE
  151. WHEN @partnerId = '393880'
  152. THEN 'jmenepal'
  153. WHEN @partnerId = '394130'
  154. THEN 'transfast'
  155. WHEN @partnerId = '394132'
  156. THEN 'donga'
  157. WHEN @partnerId = '394397'
  158. THEN 'gmenepal'
  159. ELSE 'unknown'
  160. END
  161. END
  162. IF @flag = 'get-info-imepay'
  163. BEGIN
  164. IF NOT EXISTS (
  165. SELECT *
  166. FROM REMITTRANTEMP(NOLOCK)
  167. WHERE ID = @id
  168. )
  169. BEGIN
  170. EXEC proc_errorHandler 1
  171. ,'Transaction Not Found!'
  172. ,@id
  173. RETURN
  174. END
  175. SELECT @partnerId = pSuperAgent
  176. ,@pcountry = CM.COUNTRYID
  177. ,@controlNo = DBO.DECRYPTDB(CONTROLNO)
  178. ,@controlNo2 = DBO.DECRYPTDB(CONTROLNO2)
  179. FROM REMITTRANTEMP(NOLOCK) RTT
  180. INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYNAME = RTT.PCOUNTRY
  181. WHERE ID = @id
  182. IF EXISTS (
  183. SELECT 'X'
  184. FROM remitTranTemp RT(NOLOCK)
  185. INNER JOIN API_BANK_LIST AB(NOLOCK) ON AB.BANK_ID = RT.PBANK
  186. WHERE RT.ID = @id
  187. AND AB.BANK_CODE1 IN ( 'IMEPAY','KHALTI')
  188. AND RT.paymentMethod = 'MOBILE WALLET'
  189. )
  190. BEGIN
  191. --mark realtime to confirm in approve click
  192. SELECT 0
  193. ,'Success'
  194. ,@controlNo
  195. ,@controlNo2
  196. ,@partnerId
  197. ,'True'
  198. END
  199. ELSE
  200. BEGIN
  201. SELECT 0
  202. ,'Success'
  203. ,@controlNo
  204. ,@controlNo2
  205. ,@partnerId
  206. ,'False'
  207. END
  208. END
  209. IF @flag = 'get-info-c-no'
  210. BEGIN
  211. DECLARE @ControlNoEnc VARCHAR(30) = DBO.FNAENCRYPTSTRING(@controlNo)
  212. ,@payStatus VARCHAR(50)
  213. ,@tranId BIGINT
  214. ,@lockStatus VARCHAR(50)
  215. SELECT @partnerId = pSuperAgent
  216. ,@pcountry = CM.COUNTRYID
  217. ,@controlNo = DBO.DECRYPTDB(CONTROLNO)
  218. ,@tranStatus = tranStatus
  219. ,@payStatus = payStatus
  220. ,@tranId = id
  221. ,@lockStatus = lockStatus
  222. ,@cancelDate = ISNULL(cancelRequestDate, GETDATE())
  223. FROM VWREMITTRAN(NOLOCK) RTT
  224. INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYNAME = RTT.PCOUNTRY
  225. WHERE controlNo = @ControlNoEnc
  226. SELECT @isRealTime = isRealTime
  227. FROM TblPartnerwiseCountry(NOLOCK)
  228. WHERE AgentId = @partnerId
  229. AND COUNTRYID = @pcountry
  230. IF (@tranStatus IS NULL)
  231. BEGIN
  232. EXEC proc_errorHandler 1
  233. ,'Transaction not found'
  234. ,@ControlNoEnc
  235. RETURN
  236. END
  237. IF (@tranStatus = 'Block')
  238. BEGIN
  239. EXEC proc_errorHandler 1
  240. ,'Transaction is blocked. Please Contact HO'
  241. ,@ControlNoEnc
  242. RETURN
  243. END
  244. IF (@tranStatus = 'Paid')
  245. BEGIN
  246. EXEC proc_errorHandler 1
  247. ,'Transaction has already been paid'
  248. ,@ControlNoEnc
  249. RETURN
  250. END
  251. IF (@payStatus = 'Paid')
  252. BEGIN
  253. EXEC proc_errorHandler 1
  254. ,'Transaction has already been paid'
  255. ,@ControlNoEnc
  256. RETURN
  257. END
  258. IF (@tranStatus = 'Cancel')
  259. BEGIN
  260. EXEC proc_errorHandler 1
  261. ,'Transaction has already been cancelled'
  262. ,@ControlNoEnc
  263. RETURN
  264. END
  265. SELECT 0
  266. ,@partnerId
  267. ,@controlNo
  268. ,@isRealTime
  269. ,[provide] = CASE
  270. WHEN @partnerId = '393880'
  271. THEN 'jmenepal'
  272. WHEN @partnerId = '394130'
  273. THEN 'transfast'
  274. WHEN @partnerId = '394132'
  275. THEN 'donga'
  276. WHEN @partnerId = '394428'
  277. THEN 'Cebuana'
  278. ELSE 'unknown'
  279. END
  280. END
  281. IF @flag = 'cancel-request'
  282. BEGIN
  283. SET @ControlNoEnc = DBO.FNAENCRYPTSTRING(@controlNo)
  284. SELECT @partnerId = pSuperAgent
  285. ,@pcountry = CM.COUNTRYID
  286. ,@controlNo = DBO.DECRYPTDB(CONTROLNO)
  287. ,@tranStatus = tranStatus
  288. ,@payStatus = payStatus
  289. ,@tranId = id
  290. ,@lockStatus = lockStatus
  291. ,@cancelDate = ISNULL(cancelRequestDate, GETDATE())
  292. FROM VWREMITTRAN(NOLOCK) RTT
  293. INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYNAME = RTT.PCOUNTRY
  294. WHERE controlNo = @ControlNoEnc
  295. IF (@tranStatus IS NULL)
  296. BEGIN
  297. EXEC proc_errorHandler 1
  298. ,'Transaction not found'
  299. ,@ControlNoEnc
  300. RETURN
  301. END
  302. IF (@tranStatus = 'Block')
  303. BEGIN
  304. EXEC proc_errorHandler 1
  305. ,'Transaction is blocked. Please Contact HO'
  306. ,@ControlNoEnc
  307. RETURN
  308. END
  309. IF (@tranStatus = 'Paid')
  310. BEGIN
  311. EXEC proc_errorHandler 1
  312. ,'Transaction has already been paid'
  313. ,@ControlNoEnc
  314. RETURN
  315. END
  316. IF (@payStatus = 'Paid')
  317. BEGIN
  318. EXEC proc_errorHandler 1
  319. ,'Transaction has already been paid'
  320. ,@ControlNoEnc
  321. RETURN
  322. END
  323. IF (@tranStatus = 'Cancel')
  324. BEGIN
  325. EXEC proc_errorHandler 1
  326. ,'Transaction has already been cancelled'
  327. ,@ControlNoEnc
  328. RETURN
  329. END
  330. IF (@tranStatus = 'CancelRequest')
  331. BEGIN
  332. EXEC proc_errorHandler 1
  333. ,'Cancel Request has already been sent'
  334. ,@ControlNoEnc
  335. RETURN
  336. END
  337. --BEGIN TRANSACTION
  338. IF EXISTS (
  339. SELECT *
  340. FROM REMITTRANTEMP(NOLOCK)
  341. WHERE controlNo = @ControlNoEnc
  342. )
  343. BEGIN
  344. UPDATE remitTranTEMP
  345. SET tranStatus = 'CancelRequest' --Transaction Hold
  346. ,trnStatusBeforeCnlReq = tranStatus
  347. ,cancelRequestBy = @user
  348. ,cancelRequestDate = GETDATE()
  349. ,cancelRequestDateLocal = GETDATE()
  350. ,cancelReason = @cancelReason
  351. WHERE controlNo = @ControlNoEnc
  352. END
  353. ELSE
  354. BEGIN
  355. UPDATE remitTran
  356. SET tranStatus = 'CancelRequest' --Transaction Hold
  357. ,trnStatusBeforeCnlReq = tranStatus
  358. ,cancelRequestBy = @user
  359. ,cancelRequestDate = GETDATE()
  360. ,cancelRequestDateLocal = GETDATE()
  361. ,cancelReason = @cancelReason
  362. WHERE controlNo = @ControlNoEnc
  363. END
  364. SELECT @message = 'Transaction requested for Cancel. Reason : ''' + @cancelReason + ''''
  365. INSERT INTO tranCancelrequest (
  366. tranId
  367. ,controlNo
  368. ,cancelReason
  369. ,cancelStatus
  370. ,createdBy
  371. ,createdDate
  372. ,tranStatus
  373. )
  374. SELECT @tranId
  375. ,@ControlNoEnc
  376. ,@cancelReason
  377. ,'CancelRequest'
  378. ,@user
  379. ,GETDATE()
  380. ,@tranStatus
  381. --IF @@TRANCOUNT > 0
  382. -- COMMIT TRANSACTION
  383. EXEC proc_errorHandler 0
  384. ,'Request for cancel done successfully'
  385. ,@ControlNoEnc
  386. EXEC proc_addCommentAPI @flag = 'i'
  387. ,@controlNo = @controlNo
  388. ,@user = @user
  389. ,@message = @message
  390. ,@agentRefId = NULL
  391. EXEC proc_transactionLogs 'i'
  392. ,@user
  393. ,@tranId
  394. ,@message
  395. ,'Cancel Request'
  396. END
  397. IF @flag = 'get-info-for-compliance'
  398. BEGIN
  399. IF NOT EXISTS (
  400. SELECT *
  401. FROM REMITTRAN(NOLOCK)
  402. WHERE ID = @id
  403. )
  404. BEGIN
  405. EXEC proc_errorHandler 1
  406. ,'Transaction Not Found!'
  407. ,@id
  408. RETURN
  409. END
  410. SELECT @partnerId = pSuperAgent
  411. ,@controlNo = DBO.DECRYPTDB(CONTROLNO)
  412. FROM REMITTRAN(NOLOCK)
  413. WHERE ID = @id
  414. SELECT @isRealTime = CASE
  415. WHEN @partnerId = '394397'
  416. THEN 0
  417. ELSE isRealTime
  418. END
  419. FROM TblPartnerwiseCountry(NOLOCK)
  420. WHERE AgentId = @partnerId
  421. SELECT 0
  422. ,@partnerId
  423. ,@controlNo
  424. ,@isRealTime
  425. END
  426. IF @flag = 'reject'
  427. BEGIN
  428. IF NOT EXISTS (
  429. SELECT 'X'
  430. FROM remitTranTemp RT WITH (NOLOCK)
  431. WHERE RT.id = @id
  432. )
  433. BEGIN
  434. EXEC proc_errorHandler 1
  435. ,'There is no transaction to reject, either it is approved/rejected or not found!!'
  436. ,@id
  437. RETURN;
  438. END
  439. DECLARE @customerId BIGINT
  440. ,@rewardtype NVARCHAR(25)
  441. ,@rewardAmt MONEY
  442. IF @isTxnRealtime IS NULL
  443. SET @isTxnRealtime = 0
  444. SELECT @tranStatus = transtatus
  445. ,@denyAmt = ISNULL(cAmt, 0) - ISNULL(sAgentComm, 0) - ISNULL(agentFxGain, 0)
  446. ,@sRouteId = sRouteId
  447. ,@pinEncrypted = controlNo
  448. ,@ControlNo = dbo.fnaDecryptstring(controlNo)
  449. ,@controlno2 = dbo.fnaDecryptstring(controlNo2)
  450. ,@txncreatedBy = createdBy
  451. ,@COLLMODE = ISNULL(RT.depositType,'ONLINE')
  452. ,@CUSTOMERID = TS.CUSTOMERID
  453. ,@transactionType = rt.trantype
  454. ,@rewardtype = rt.rewardType
  455. ,@rewardAmt = rewardPoints
  456. FROM remitTranTemp RT WITH (NOLOCK)
  457. INNER JOIN TRANSENDERSTEMP TS(NOLOCK) ON TS.TRANID = RT.ID
  458. WHERE RT.id = @id
  459. --IF LEN(@pinEncrypted)<7
  460. --BEGIN
  461. -- select TOP 1 @ControlNo = controlNo from Application_Log.dbo.vwtpapilogs(nolock) where requestedby=@txncreatedBy AND ERRORCODE='999' order by rowid desc
  462. --END
  463. --IF LEN(@ControlNo) < 7
  464. --BEGIN
  465. -- EXEC proc_errorHandler 1, 'Sorry,Cannot Reject Transaction', @id
  466. -- RETURN
  467. --END
  468. --BEGIN TRANSACTION
  469. INSERT INTO tranCancelrequest (
  470. tranId
  471. ,controlNo
  472. ,cancelReason
  473. ,cancelStatus
  474. ,createdBy
  475. ,createdDate
  476. ,tranStatus
  477. ,approvedBy
  478. ,approvedDate
  479. ,scRefund
  480. ,isScRefund
  481. )
  482. SELECT id
  483. ,controlNo
  484. ,@remarks
  485. ,'Approved'
  486. ,@user
  487. ,GETDATE()
  488. ,tranStatus
  489. ,@user
  490. ,GETDATE()
  491. ,cAmt
  492. ,'Y'
  493. FROM remitTranTemp WITH (NOLOCK)
  494. WHERE id = @id
  495. UPDATE remitTranTemp
  496. SET tranStatus = 'Cancel'
  497. ,cancelApprovedBy = @user
  498. ,cancelApprovedDate = GETDATE()
  499. ,cancelApprovedDateLocal = dbo.FNAGetDateInNepalTZ()
  500. ,cancelRequestBy = @user
  501. ,cancelRequestDate = GETDATE()
  502. ,cancelRequestDateLocal = dbo.FNADateFormatTZ(GETDATE(), @user)
  503. ,trnStatusBeforeCnlReq = @tranStatus
  504. ,controlNo = dbo.fnaEncryptstring(@ControlNo)
  505. WHERE id = @id
  506. INSERT INTO cancelTranHistory (
  507. tranId
  508. ,controlNo
  509. ,sCurrCostRate
  510. ,sCurrHoMargin
  511. ,sCurrSuperAgentMargin
  512. ,sCurrAgentMargin
  513. ,pCurrCostRate
  514. ,pCurrHoMargin
  515. ,pCurrSuperAgentMargin
  516. ,pCurrAgentMargin
  517. ,agentCrossSettRate
  518. ,customerRate
  519. ,sAgentSettRate
  520. ,pDateCostRate
  521. ,agentFxGain
  522. ,treasuryTolerance
  523. ,customerPremium
  524. ,schemePremium
  525. ,sharingValue
  526. ,sharingType
  527. ,serviceCharge
  528. ,handlingFee
  529. ,sAgentComm
  530. ,sAgentCommCurrency
  531. ,sSuperAgentComm
  532. ,sSuperAgentCommCurrency
  533. ,pAgentComm
  534. ,pAgentCommCurrency
  535. ,pSuperAgentComm
  536. ,pSuperAgentCommCurrency
  537. ,promotionCode
  538. ,promotionType
  539. ,pMessage
  540. ,sCountry
  541. ,sSuperAgent
  542. ,sSuperAgentName
  543. ,sAgent
  544. ,sAgentName
  545. ,sBranch
  546. ,sBranchName
  547. ,pCountry
  548. ,pSuperAgent
  549. ,pSuperAgentName
  550. ,pAgent
  551. ,pAgentName
  552. ,pBranch
  553. ,pBranchName
  554. ,paymentMethod
  555. ,pBank
  556. ,pBankName
  557. ,pBankBranch
  558. ,pBankBranchName
  559. ,accountNo
  560. ,externalBankCode
  561. ,collMode
  562. ,collCurr
  563. ,tAmt
  564. ,cAmt
  565. ,pAmt
  566. ,payoutCurr
  567. ,relWithSender
  568. ,purposeOfRemit
  569. ,sourceOfFund
  570. ,tranStatus
  571. ,payStatus
  572. ,createdDate
  573. ,createdDateLocal
  574. ,createdBy
  575. ,modifiedDate
  576. ,modifiedDateLocal
  577. ,modifiedBy
  578. ,approvedDate
  579. ,approvedDateLocal
  580. ,approvedBy
  581. ,paidDate
  582. ,paidDateLocal
  583. ,paidBy
  584. ,cancelRequestDate
  585. ,cancelRequestDateLocal
  586. ,cancelRequestBy
  587. ,cancelReason
  588. ,refund
  589. ,cancelCharge
  590. ,cancelApprovedDate
  591. ,cancelApprovedDateLocal
  592. ,cancelApprovedBy
  593. ,blockedDate
  594. ,blockedBy
  595. ,lockedDate
  596. ,lockedDateLocal
  597. ,lockedBy
  598. ,payTokenId
  599. ,tranType
  600. ,ContNo
  601. ,uploadLogId
  602. ,voucherNo
  603. ,controlNo2
  604. ,pBankType
  605. ,trnStatusBeforeCnlReq
  606. ,isSystemReject
  607. ,depositType
  608. ,transactionreference
  609. ,isOnlineTxn
  610. )
  611. SELECT id
  612. ,controlNo
  613. ,sCurrCostRate
  614. ,sCurrHoMargin
  615. ,sCurrSuperAgentMargin
  616. ,sCurrAgentMargin
  617. ,pCurrCostRate
  618. ,pCurrHoMargin
  619. ,pCurrSuperAgentMargin
  620. ,pCurrAgentMargin
  621. ,agentCrossSettRate
  622. ,customerRate
  623. ,sAgentSettRate
  624. ,pDateCostRate
  625. ,agentFxGain
  626. ,treasuryTolerance
  627. ,customerPremium
  628. ,schemePremium
  629. ,sharingValue
  630. ,sharingType
  631. ,serviceCharge
  632. ,handlingFee
  633. ,sAgentComm
  634. ,sAgentCommCurrency
  635. ,sSuperAgentComm
  636. ,sSuperAgentCommCurrency
  637. ,pAgentComm
  638. ,pAgentCommCurrency
  639. ,pSuperAgentComm
  640. ,pSuperAgentCommCurrency
  641. ,promotionCode
  642. ,promotionType
  643. ,pMessage
  644. ,sCountry
  645. ,sSuperAgent
  646. ,sSuperAgentName
  647. ,sAgent
  648. ,sAgentName
  649. ,sBranch
  650. ,sBranchName
  651. ,pCountry
  652. ,pSuperAgent
  653. ,pSuperAgentName
  654. ,pAgent
  655. ,pAgentName
  656. ,pBranch
  657. ,pBranchName
  658. ,paymentMethod
  659. ,pBank
  660. ,pBankName
  661. ,pBankBranch
  662. ,pBankBranchName
  663. ,accountNo
  664. ,externalBankCode
  665. ,collMode
  666. ,collCurr
  667. ,tAmt
  668. ,cAmt
  669. ,pAmt
  670. ,payoutCurr
  671. ,relWithSender
  672. ,purposeOfRemit
  673. ,sourceOfFund
  674. ,tranStatus
  675. ,payStatus
  676. ,createdDate
  677. ,createdDateLocal
  678. ,createdBy
  679. ,modifiedDate
  680. ,modifiedDateLocal
  681. ,modifiedBy
  682. ,approvedDate
  683. ,approvedDateLocal
  684. ,approvedBy
  685. ,paidDate
  686. ,paidDateLocal
  687. ,paidBy
  688. ,cancelRequestDate
  689. ,cancelRequestDateLocal
  690. ,cancelRequestBy
  691. ,@remarks
  692. ,refund
  693. ,cancelCharge
  694. ,GETDATE()
  695. ,dbo.FNADateFormatTZ(GETDATE(), @user)
  696. ,@user
  697. ,blockedDate
  698. ,blockedBy
  699. ,lockedDate
  700. ,lockedDateLocal
  701. ,lockedBy
  702. ,payTokenId
  703. ,tranType
  704. ,ContNo
  705. ,uploadLogId
  706. ,voucherNo
  707. ,controlNo2
  708. ,pBankType
  709. ,trnStatusBeforeCnlReq
  710. ,@isSystemReject
  711. ,depositType
  712. ,transactionreference
  713. ,isOnlineTxn
  714. FROM remitTranTemp
  715. WHERE id = @id
  716. INSERT INTO cancelTranSendersHistory (
  717. tranId
  718. ,customerId
  719. ,membershipId
  720. ,firstName
  721. ,middleName
  722. ,lastName1
  723. ,lastName2
  724. ,fullName
  725. ,country
  726. ,address
  727. ,STATE
  728. ,district
  729. ,zipCode
  730. ,city
  731. ,email
  732. ,homePhone
  733. ,workPhone
  734. ,mobile
  735. ,nativeCountry
  736. ,dob
  737. ,placeOfIssue
  738. ,customerType
  739. ,occupation
  740. ,idType
  741. ,idNumber
  742. ,idPlaceOfIssue
  743. ,issuedDate
  744. ,validDate
  745. ,extCustomerId
  746. ,cwPwd
  747. ,ttName
  748. ,isFirstTran
  749. ,customerRiskPoint
  750. ,countryRiskPoint
  751. ,gender
  752. ,salary
  753. ,companyName
  754. ,address2
  755. ,dcInfo
  756. ,ipAddress
  757. ,notifySms
  758. ,txnTestQuestion
  759. ,txnTestAnswer
  760. )
  761. SELECT tranId
  762. ,customerId
  763. ,membershipId
  764. ,firstName
  765. ,middleName
  766. ,lastName1
  767. ,lastName2
  768. ,fullName
  769. ,country
  770. ,address
  771. ,STATE
  772. ,district
  773. ,zipCode
  774. ,city
  775. ,email
  776. ,homePhone
  777. ,workPhone
  778. ,mobile
  779. ,nativeCountry
  780. ,dob
  781. ,placeOfIssue
  782. ,customerType
  783. ,occupation
  784. ,idType
  785. ,idNumber
  786. ,idPlaceOfIssue
  787. ,issuedDate
  788. ,validDate
  789. ,extCustomerId
  790. ,cwPwd
  791. ,ttName
  792. ,isFirstTran
  793. ,customerRiskPoint
  794. ,countryRiskPoint
  795. ,gender
  796. ,salary
  797. ,companyName
  798. ,address2
  799. ,dcInfo
  800. ,ipAddress
  801. ,notifySms
  802. ,txnTestQuestion
  803. ,txnTestAnswer
  804. FROM transenderstemp WITH (NOLOCK)
  805. WHERE tranId = LTRIM(RTRIM(@id))
  806. INSERT INTO cancelTranReceiversHistory (
  807. tranId
  808. ,customerId
  809. ,membershipId
  810. ,firstName
  811. ,middleName
  812. ,lastName1
  813. ,lastName2
  814. ,fullName
  815. ,country
  816. ,address
  817. ,STATE
  818. ,district
  819. ,zipCode
  820. ,city
  821. ,email
  822. ,homePhone
  823. ,workPhone
  824. ,mobile
  825. ,nativeCountry
  826. ,dob
  827. ,placeOfIssue
  828. ,customerType
  829. ,occupation
  830. ,idType
  831. ,idNumber
  832. ,idPlaceOfIssue
  833. ,issuedDate
  834. ,validDate
  835. ,idType2
  836. ,idNumber2
  837. ,idPlaceOfIssue2
  838. ,issuedDate2
  839. ,validDate2
  840. ,relationType
  841. ,relativeName
  842. ,gender
  843. ,address2
  844. ,dcInfo
  845. ,ipAddress
  846. )
  847. SELECT tranId
  848. ,customerId
  849. ,membershipId
  850. ,firstName
  851. ,middleName
  852. ,lastName1
  853. ,lastName2
  854. ,fullName
  855. ,country
  856. ,address
  857. ,STATE
  858. ,district
  859. ,zipCode
  860. ,city
  861. ,email
  862. ,homePhone
  863. ,workPhone
  864. ,mobile
  865. ,nativeCountry
  866. ,dob
  867. ,placeOfIssue
  868. ,customerType
  869. ,occupation
  870. ,idType
  871. ,idNumber
  872. ,idPlaceOfIssue
  873. ,issuedDate
  874. ,validDate
  875. ,idType2
  876. ,idNumber2
  877. ,idPlaceOfIssue2
  878. ,issuedDate2
  879. ,validDate2
  880. ,relationType
  881. ,relativeName
  882. ,gender
  883. ,address2
  884. ,dcInfo
  885. ,ipAddress
  886. FROM tranReceiversTemp WITH (NOLOCK)
  887. WHERE tranId = LTRIM(RTRIM(@id))
  888. ----reverse deposit mapping
  889. --IF @COLLMODE = 'Bank Deposit'
  890. -- AND @isTxnRealtime = 0
  891. --BEGIN
  892. -- IF EXISTS (
  893. -- SELECT 'x'
  894. -- FROM customer_deposit_logs
  895. -- WHERE customerid = @CUSTOMERID
  896. -- AND approvedby IS NULL
  897. -- )
  898. -- BEGIN
  899. -- UPDATE customer_deposit_logs
  900. -- SET processedby = NULL
  901. -- ,processeddate = NULL
  902. -- ,customerid = NULL
  903. -- WHERE customerid = @CUSTOMERID
  904. -- AND approvedby IS NULL
  905. -- END
  906. --END
  907. --update balance
  908. DECLARE @referralCode VARCHAR(15)
  909. ,@sType CHAR(1)
  910. ,@isOnbehalf CHAR(1)
  911. ,@sAgent INT
  912. ,@senderUserId INT
  913. SELECT @referralCode = PROMOTIONCODE
  914. ,@sAgent = sAgent
  915. ,@cAmt = cAmt
  916. ,@isOnbehalf = (
  917. CASE
  918. WHEN ISNULL(ISONBEHALF, 0) = '1'
  919. THEN 'Y'
  920. ELSE 'N'
  921. END
  922. )
  923. ,@senderUserId = AU.userId
  924. FROM dbo.remitTranTemp RT(NOLOCK)
  925. INNER JOIN applicationUsers AU(NOLOCK) ON AU.userName = RT.createdBy
  926. WHERE controlNo = dbo.fnaEncryptstring(@ControlNo)
  927. IF @COLLMODE = 'Cash Collect'
  928. BEGIN
  929. --select @sAgent,@userId,@referralCode,@cAmt,@isOnbehalf,@ControlNo
  930. EXEC PROC_UPDATE_AVAILABALE_BALANCE @FLAG = 'CANCEL'
  931. ,@S_AGENT = @sAgent
  932. ,@S_USER = @senderUserId
  933. ,@REFERRAL_CODE = @referralCode
  934. ,@C_AMT = @cAmt
  935. ,@ONBEHALF = @isOnbehalf
  936. END
  937. DELETE
  938. FROM remitTranTemp
  939. WHERE id = @id
  940. DELETE
  941. FROM tranSendersTemp
  942. WHERE tranId = @id
  943. DELETE
  944. FROM tranReceiversTemp
  945. WHERE tranId = @id
  946. --IF @rewardtype = 'FREE_SC'
  947. --BEGIN
  948. -- UPDATE remitDatalog
  949. -- SET controlNo = NULL
  950. -- WHERE ControlNo = @ControlNo or controlNo = @controlNo2
  951. --END
  952. --ELSE
  953. --BEGIN
  954. -- DELETE
  955. -- FROM remitDatalog
  956. -- WHERE tranId = @id
  957. --END
  958. SELECT @message = 'Transaction cancel has been done successfully.'
  959. IF @rewardtype <> 'PROMOCODE'
  960. BEGIN
  961. EXEC proc_InsertRewardPoints @Flag = 'CREDIT', @CustomerId = @CUSTOMERID, @rewardPoints = @rewardAmt, @TranId = @id, @type = 'REJECT'
  962. END
  963. EXEC proc_transactionLogs @flag = 'i'
  964. ,@user = @user
  965. ,@tranId = @id
  966. ,@message = @message
  967. ,@msgType = 'Cancel'
  968. IF @branch = 'Mobile'
  969. BEGIN
  970. INSERT INTO pushNotificationHistroy (
  971. customerId
  972. ,body
  973. ,title
  974. ,createDate
  975. ,imageURL
  976. ,sentId
  977. ,Type
  978. ,isReservation
  979. ,isRead
  980. ,isSend
  981. ,category
  982. )
  983. SELECT @customerid
  984. ,'Tran ID : ' + CAST(@id AS VARCHAR) + ' was successfully cancelled.'
  985. ,'CancelTxn'
  986. ,getdate()
  987. ,''
  988. ,@id
  989. ,0
  990. ,0
  991. ,0
  992. ,0
  993. ,'INFO'
  994. END
  995. IF EXists(select * fROM TRU_TranDetail WHERE Tranid=@id)
  996. BEGIN
  997. UPDATE dbo.TRU_TranDetail
  998. SET recordStatus = 'EXPIRED'
  999. WHERE tranid=@id
  1000. and recordStatus IN ( 'PROCESS','DRAFT')
  1001. END
  1002. --IF @@TRANCOUNT > 0
  1003. -- COMMIT TRANSACTION
  1004. IF @transactionType = 'I'
  1005. BEGIN
  1006. IF EXISTS (
  1007. SELECT TOP 1 1
  1008. FROM applicationUsers(NOLOCK)
  1009. WHERE userName = @txncreatedBy
  1010. )
  1011. BEGIN
  1012. UPDATE APPLICATIONUSERS
  1013. SET freeScCounter = CASE
  1014. WHEN ISNULL(freeScCounter, 0) > 0
  1015. THEN ISNULL(freeScCounter, 0) - 1
  1016. ELSE freeScCounter
  1017. END
  1018. WHERE username = @txncreatedBy
  1019. END
  1020. END
  1021. EXEC proc_errorHandler 0
  1022. ,'Transaction Rejected Successfully'
  1023. ,@id
  1024. RETURN
  1025. END
  1026. IF @flag = 'approve'
  1027. BEGIN
  1028. IF NOT EXISTS (
  1029. SELECT 'X'
  1030. FROM remitTranTemp RT WITH (NOLOCK)
  1031. WHERE RT.id = @id
  1032. )
  1033. BEGIN
  1034. EXEC proc_errorHandler 1
  1035. ,'There is no transaction to approve, either it is rejected/approved or not found!!'
  1036. ,@id
  1037. RETURN;
  1038. END
  1039. --IF EXISTS (
  1040. -- SELECT 'X'
  1041. -- FROM remitTranTemp RT WITH (NOLOCK)
  1042. -- WHERE RT.id = @id
  1043. -- AND controlno = 'LLm_IOQMMRMQM'
  1044. -- )
  1045. --BEGIN
  1046. -- EXEC proc_errorHandler 1
  1047. -- ,'You can not approve this txn, please contact HQ!!'
  1048. -- ,@id
  1049. -- RETURN;
  1050. --END
  1051. DECLARE @pBank INT
  1052. ,@paymentMethod VARCHAR(50)
  1053. ,@tranType CHAR(1)
  1054. ,@externalBankCode INT
  1055. ,@createdDate DATETIME
  1056. ,@senderName VARCHAR(100)
  1057. ,@sBranchName VARCHAR(150)
  1058. ,@pAgentComm MONEY
  1059. DECLARE @agentFxGain MONEY
  1060. IF @createdBy = @user
  1061. BEGIN
  1062. EXEC proc_errorHandler 1
  1063. ,'Same user cannot approve the Transaction'
  1064. ,@id
  1065. RETURN
  1066. END
  1067. DECLARE @tAmt MONEY
  1068. ,@pAmt MONEY
  1069. ,@introducer VARCHAR(50)
  1070. ,@payoutPartner INT
  1071. ,@serviceCharge MONEY
  1072. ,@pCurrCostRate FLOAT
  1073. ,@pCurrHoMargin FLOAT
  1074. ,@isFirstTran CHAR(1)
  1075. ,@userName VARCHAR(80)
  1076. ,@rewardPoints MONEY
  1077. UPDATE REMITTRANTEMP
  1078. SET agentFxGain = tamt - (ROUND((pamt / pCurrCostRate), 2))
  1079. WHERE ISNULL(psuperagent, 0) <> 394132
  1080. AND id = @id
  1081. SELECT @cAmt = cAmt
  1082. ,@customerId = cm.customerId
  1083. ,@userId = A.userId
  1084. ,@tAmt = r.tAmt
  1085. ,@pAmt = r.pAmt
  1086. ,@createdBy = r.createdBy
  1087. ,@controlNo = dbo.FNADecryptString(controlNo)
  1088. ,@sBranch = sBranch
  1089. ,@sBranchName = sBranchName
  1090. ,@pinEncrypted = controlNo
  1091. ,@pBank = pBank
  1092. ,@introducer = promotionCode
  1093. ,@sAgent = sAgent
  1094. ,@paymentMethod = paymentMethod
  1095. ,@tranType = tranType
  1096. ,@sRouteId = sRouteId
  1097. ,@collMode = ISNULL(R.depositType,'ONLINE')
  1098. ,@externalBankCode = externalBankCode
  1099. ,@createdDate = r.createdDate
  1100. ,@senderName = r.senderName
  1101. ,@tranStatus = R.tranStatus
  1102. ,@payoutPartner = R.pSuperAgent
  1103. ,@serviceCharge = R.serviceCharge
  1104. ,@pCurrCostRate = R.pCurrCostRate
  1105. ,@pCurrHoMargin = R.pCurrHoMargin
  1106. ,@agentFxGain = R.agentFxGain
  1107. ,@isFirstTran = ISNULL(T.isFirstTran, 'N')
  1108. ,@pAgentComm = r.pAgentComm
  1109. ,@userName = CM.USERNAME
  1110. ,@isOnbehalf = (
  1111. CASE
  1112. WHEN ISONBEHALF = '1'
  1113. THEN 'Y'
  1114. ELSE 'N'
  1115. END
  1116. )
  1117. ,@downlodedBy = downloadedBy
  1118. ,@rewardPoints = ISNULL(rewardPoints, 0)
  1119. FROM remitTranTemp r WITH (NOLOCK)
  1120. INNER JOIN TRANSENDERSTemp T(NOLOCK) ON T.TRANID = R.ID
  1121. LEFT JOIN customerMaster cm(NOLOCK) ON T.customerId = cm.customerId
  1122. LEFT JOIN applicationUsers A(NOLOCK) ON A.USERNAME = R.CREATEDBY
  1123. WHERE r.id = @id
  1124. --IF @collMode = 'Bank Deposit'
  1125. --BEGIN
  1126. -- IF EXISTS (
  1127. -- SELECT 1
  1128. -- FROM CUSTOMER_DEPOSIT_LOGS(NOLOCK)
  1129. -- WHERE CUSTOMERID = @customerId
  1130. -- AND APPROVEDBY IS NULL
  1131. -- )
  1132. -- BEGIN
  1133. -- EXEC proc_errorHandler 1
  1134. -- ,'Customer Deposit Mapping pending for Approval!!'
  1135. -- ,@id
  1136. -- RETURN;
  1137. -- END
  1138. -- SELECT @DENYAMT = DBO.FNAGetCustomerAvailableBalance(@customerId)
  1139. -- --FNAGetCustomerAvailableBalance
  1140. -- IF @DENYAMT < 0
  1141. -- BEGIN
  1142. -- EXEC proc_errorHandler 1
  1143. -- ,'Customer do not have sufficient balance for this transaction!!'
  1144. -- ,@id
  1145. -- RETURN;
  1146. -- END
  1147. --END
  1148. --EXEC proc_errorHandler 0, 'Transaction Approved Successfully', @controlNo
  1149. --RETURN
  1150. DECLARE @kycStatus INT
  1151. SELECT @kycStatus = kycStatus
  1152. FROM TBL_CUSTOMER_KYC(NOLOCK)
  1153. WHERE CUSTOMERID = @customerId
  1154. AND ISDELETED = 0
  1155. --AND kycStatus=11044
  1156. ORDER BY KYC_DATE
  1157. SELECT @parentId = parentId
  1158. FROM agentMaster WITH (NOLOCK)
  1159. WHERE agentId = @sBranch
  1160. SELECT @invicePrintMethod = invoicePrintMethod
  1161. FROM agentMaster A WITH (NOLOCK)
  1162. INNER JOIN agentBusinessFunction B WITH (NOLOCK) ON A.agentId = B.agentId
  1163. WHERE A.agentId = @parentId
  1164. --BEGIN TRANSACTION
  1165. UPDATE remitTranTemp
  1166. SET tranStatus = CASE tranStatus
  1167. WHEN 'Hold'
  1168. THEN 'Payment'
  1169. WHEN 'Compliance Hold'
  1170. THEN 'Compliance'
  1171. WHEN 'OFAC Hold'
  1172. THEN 'OFAC'
  1173. WHEN 'OFAC/Compliance Hold'
  1174. THEN 'OFAC/Compliance'
  1175. WHEN 'Cash Limit Hold'
  1176. THEN 'Cash Limit'
  1177. WHEN 'Cash Limit/Compliance Hold'
  1178. THEN 'Cash Limit/Compliance'
  1179. WHEN 'Cash Limit/OFAC Hold'
  1180. THEN 'Cash Limit/OFAC'
  1181. WHEN 'Cash Limit/OFAC/Compliance Hold'
  1182. THEN 'Cash Limit/OFAC/Compliance'
  1183. ELSE 'Payment'
  1184. END
  1185. ,approvedBy = @user
  1186. ,approvedDate = GETDATE()
  1187. ,approvedDateLocal = GETDATE()
  1188. WHERE id = @id
  1189. PRINT @id;
  1190. -- Return;
  1191. --send email to customers
  1192. --INSERT INTO tempTransactionMailQueue (
  1193. -- controlNo
  1194. -- ,createdDate
  1195. -- ,[status]
  1196. -- ) --tranType is used to know either mail is sent or not, we put 'N' for not sent
  1197. --SELECT rt.controlNo
  1198. -- ,GETDATE()
  1199. -- ,'N'
  1200. --FROM remitTranTemp rt(NOLOCK)
  1201. --WHERE rt.id = @id
  1202. EXEC proc_customerTxnHistory @controlNo = @pinEncrypted
  1203. ----## pish temp into main table
  1204. EXEC proc_remitTranTempToMain @id
  1205. SELECT @TRANID = ID
  1206. FROM REMITTRAN(NOLOCK)
  1207. WHERE controlNo = @pinEncrypted
  1208. --EXEC proc_InsertRewardPoints @tranId = @tranId
  1209. -- ,@customerId = @customerId
  1210. -- ,@rewardPoints = @rewardPoints
  1211. SET @remarks = 'Remittance :' + @controlNo + ' by:' + @senderName + ' from ' + @sBranchName + '-branch on dtd: ' + cast(@createdDate AS VARCHAR)
  1212. SET @txnDate = @createdDate
  1213. --EXEC PROC_CALCULATE_REFERRAL_COMM @COMMISSION_AMT = @serviceCharge
  1214. -- ,@T_AMT = @tAmt
  1215. -- ,@FX = @agentFxGain
  1216. -- ,@IS_NEW_CUSTOMER = @isFirstTran
  1217. -- ,@REFERRAL_CODE = @introducer
  1218. -- ,@PAYOUT_PARTNER = @payoutPartner
  1219. -- ,@CUSTOMER_ID = @customerId
  1220. -- ,@TRAN_ID = @TRANID
  1221. -- ,@S_AGENT = @sAgent
  1222. -- ,@AMOUNT = @cAmt
  1223. -- ,@USER = @user
  1224. -- ,@TRAN_DATE = @txnDate
  1225. -- ,@COLL_MODE = @collMode
  1226. -- ,@P_AGENT_COMM_AMT = @pAgentComm
  1227. PRINT '@collMode';
  1228. PRINT @collMode
  1229. ----INSERT INTO TRANSACTION TABLE(MAP DEPOSIT TXN WITH CUSTOMER)
  1230. INSERT INTO CUSTOMER_TRANSACTIONS (
  1231. customerId
  1232. ,tranDate
  1233. ,particulars
  1234. ,deposit
  1235. ,withdraw
  1236. ,refereceId
  1237. ,head
  1238. ,createdBy
  1239. ,createdDate
  1240. ,bankId
  1241. )
  1242. SELECT @customerId
  1243. ,@txnDate
  1244. ,@remarks
  1245. ,0
  1246. ,@cAmt
  1247. ,@TRANID
  1248. ,'Send Txn: ' + @collMode
  1249. ,@createdBy
  1250. ,@createdDate
  1251. ,@externalBankCode
  1252. --EXEC PROC_UPDATE_AVAILABALE_BALANCE @FLAG='CANCEL',@S_AGENT = @sAgent,@S_USER = @senderUserId,@REFERRAL_CODE = @introducer,@C_AMT = @cAmt,@ONBEHALF =@isOnbehalf
  1253. --INSERT INTO CASH AND VAULT TABLE FOR BRANCH CASH HOLD LIMIT CHECK
  1254. --INSERT INTO CASH AND VAULT TABLE FOR BRANCH CASH HOLD LIMIT CHECK
  1255. --INSERT INTO CASH AND VAULT TABLE FOR BRANCH CASH HOLD LIMIT CHECK
  1256. --INSERT INTO CASH AND VAULT TABLE FOR BRANCH CASH HOLD LIMIT CHECK
  1257. --INSERT INTO CASH AND VAULT TABLE FOR BRANCH CASH HOLD LIMIT CHECK
  1258. IF ISNULL(@kycStatus, 0) <> 11044
  1259. BEGIN
  1260. --UPDATE REMITTRAN
  1261. --SET tranStatus = CASE tranStatus
  1262. -- WHEN 'Payment'
  1263. -- THEN 'Hold'
  1264. -- ELSE tranStatus
  1265. -- END
  1266. --WHERE CONTROLNO = @pinEncrypted
  1267. PRINT @kycStatus
  1268. INSERT INTO tranModifyLog (
  1269. tranId
  1270. ,message
  1271. ,createdBy
  1272. ,createdDate
  1273. ,MsgType
  1274. )
  1275. SELECT @TRANID
  1276. ,'Customer KYC Status not matched(i.e. KYC Completed)'
  1277. ,'system'
  1278. ,GETDATE()
  1279. ,'TXN HOLD: CUSTOMER KYC NOT APPROVED'
  1280. --IF @collMode = 'Bank Deposit'
  1281. --BEGIN
  1282. -- EXEC proc_UpdateCustomerBalance @controlNo = @pinEncrypted
  1283. -- ,@type = 'deduct'
  1284. -- SELECT @DENYAMT = DBO.FNAGetCustomerAvailableBalance(@customerId)
  1285. -- IF @DENYAMT < 0
  1286. -- UPDATE REMITTRAN
  1287. -- SET tranStatus = CASE tranStatus
  1288. -- WHEN 'Payment'
  1289. -- THEN 'Hold'
  1290. -- ELSE tranStatus
  1291. -- END
  1292. -- WHERE CONTROLNO = @pinEncrypted
  1293. -- IF @DENYAMT < 0
  1294. -- INSERT INTO tranModifyLog (
  1295. -- tranId
  1296. -- ,message
  1297. -- ,createdBy
  1298. -- ,createdDate
  1299. -- ,MsgType
  1300. -- )
  1301. -- SELECT @TRANID
  1302. -- ,'Transaction Auto Hold By System: Insufficient Balance seen in system for this customer'
  1303. -- ,'system'
  1304. -- ,GETDATE()
  1305. -- ,'TXN HOLD: Invalid balance'
  1306. -- EXEC PROC_UNTRANSACTED_UPDATE @UPDATE_TYPE = 'TXN-SEND'
  1307. -- ,@CUSTOMER_ID = @customerId
  1308. -- ,@UPDATE_AMT = @cAmt
  1309. -- ,@UPDATE_REF_NUM = @ControlNo
  1310. -- ,@UPDATE_DATE = @createdDate;
  1311. --END
  1312. RETURN;
  1313. END
  1314. --IF @tranType = 'M'
  1315. -- AND @collMode = 'Bank Deposit'
  1316. --BEGIN
  1317. -- EXEC PROC_INSERT_JP_DEPOSIT_TXN_LOG @FLAG = 'I'
  1318. -- ,@TRANID = @id
  1319. -- ,@CUSTOMERID = @customerId
  1320. -- ,@CAMT = @cAmt
  1321. --END
  1322. --For mobile broadcast notification
  1323. IF @tranType = 'M'
  1324. BEGIN
  1325. -- EXEC ProcBroadCastMobile @Flag='txn-approve', @RowId=@TRANID, @ControlNo=@controlNo, @CustomerId=@customerId
  1326. INSERT INTO pushNotificationHistroy (
  1327. customerId
  1328. ,body
  1329. ,title
  1330. ,createDate
  1331. ,imageURL
  1332. ,sentId
  1333. ,Type
  1334. ,isReservation
  1335. ,isRead
  1336. ,isSend
  1337. ,category
  1338. )
  1339. SELECT @customerid
  1340. ,'This is send Txn body Msg'
  1341. ,'SendTxn'
  1342. ,getdate()
  1343. ,''
  1344. ,@tranId
  1345. ,1
  1346. ,0
  1347. ,0
  1348. ,0
  1349. ,'INFO'
  1350. END
  1351. IF @sAgent = '394395'
  1352. AND @paymentMethod = 'Mobile Wallet'
  1353. BEGIN
  1354. UPDATE dbo.remitTran
  1355. SET payStatus = 'POST'
  1356. ,postedBy = @user
  1357. ,postedDate = GETDATE()
  1358. ,postedDateLocal = GETDATE()
  1359. WHERE controlNo = @pinEncrypted
  1360. END
  1361. INSERT INTO PinQueueList (ICN)
  1362. SELECT @pinEncrypted
  1363. --IF @@TRANCOUNT > 0
  1364. -- COMMIT TRANSACTION
  1365. EXEC proc_errorHandler 0
  1366. ,'Transaction Approved Successfully'
  1367. ,@controlNo
  1368. --## generate voucher entry
  1369. EXEC FastMoneyPro_Account.dbo.proc_transactionVoucherEntry @controlNo = @controlNo
  1370. --IF @tranType = 'M'
  1371. --BEGIN
  1372. -- EXEC ProcIntroducerCommissionDetail @TranId = @TRANID
  1373. -- ,@CustomerId = @customerId
  1374. -- ,@User = @User
  1375. -- ,@IsCancel = 0
  1376. -- ,@TranDate = @createdDate
  1377. --END
  1378. RETURN
  1379. END
  1380. IF @flag = 'verifyTxnSendFromTabPage'
  1381. BEGIN
  1382. IF EXISTS (
  1383. SELECT 1
  1384. FROM dbo.remitTranTemp
  1385. WHERE id = @id
  1386. )
  1387. BEGIN
  1388. UPDATE dbo.remitTranTemp
  1389. SET sRouteId = '0'
  1390. WHERE id = @id
  1391. EXEC proc_errorHandler 0
  1392. ,'Transaction Verify Successfully'
  1393. ,@id
  1394. RETURN;
  1395. END
  1396. ELSE
  1397. BEGIN
  1398. EXEC proc_errorHandler 1
  1399. ,'Transaction Not Found'
  1400. ,@id
  1401. RETURN;
  1402. END
  1403. END
  1404. IF @flag = 'approve-all'
  1405. BEGIN
  1406. EXEC proc_ApproveHoldedTXN_Sub @user = @user
  1407. ,@idList = @idList
  1408. RETURN
  1409. END
  1410. DECLARE @cdTable VARCHAR(MAX) = ''
  1411. SET @cdTable = '
  1412. LEFT JOIN (
  1413. SELECT
  1414. DISTINCT
  1415. tranId
  1416. ,cb.bankName
  1417. ,cd.countryBankId
  1418. FROM collectionDetails cd WITH(NOLOCK)
  1419. LEFT JOIN countryBanks cb WITH(NOLOCK) ON cd.countryBankId = cb.countryBankId
  1420. INNER JOIN remitTranTemp trn WITH(NOLOCK) ON cd.tranId = trn.id
  1421. AND (trn.tranStatus = ''Hold'' OR trn.tranStatus = ''Compliance Hold'' OR trn.tranStatus = ''OFAC Hold'' )
  1422. AND trn.payStatus = ''Unpaid''
  1423. AND trn.approvedBy IS NULL
  1424. ) cd ON cd.tranId = trn.id '
  1425. IF EXISTS (
  1426. SELECT *
  1427. FROM dbo.sysobjects
  1428. WHERE id = OBJECT_ID(N'[#collModeList]')
  1429. AND type = 'D'
  1430. )
  1431. BEGIN
  1432. DROP TABLE #collModeList
  1433. END
  1434. CREATE TABLE #collModeList (
  1435. tranId INT
  1436. ,hasProcess CHAR(1)
  1437. ,proMode VARCHAR(50)
  1438. )
  1439. DECLARE @tranId1 INT
  1440. IF @flag = 's-admin'
  1441. BEGIN
  1442. SET @table = '
  1443. SELECT DISTINCT
  1444. trn.id
  1445. ,controlNo = ''<a href="/Remit/Transaction/Reports/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(trn.id AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(trn.CONTROLNO)+''</a>''
  1446. ,branchName = am.agentName
  1447. ,country = trn.pCountry
  1448. ,senderId = sen.customerId
  1449. ,sender = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  1450. ,receiverId = rec.customerId
  1451. ,receiver = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
  1452. ,amt = CAST(trn.cAmt AS DECIMAL(18, 2))
  1453. --,paymentMethod = case when trn.collMode = ''Bank Deposit'' then ''JP Post'' ELSE trn.collMode END
  1454. ,voucherNo = trn.voucherNo
  1455. ,txnDate = CAST(trn.createdDate AS DATE)
  1456. ,txncreatedBy = trn.createdBy
  1457. ,trn.paymentMethod collMode
  1458. ,tranType = CASE
  1459. WHEN (trn.tranType = ''M'' AND trn.isOnlineTxn = ''M'') THEN ''Mobile''
  1460. WHEN (trn.tranType = ''M'' AND trn.isOnlineTxn = ''O'') THEN ''Web''
  1461. WHEN trn.tranType = ''I'' THEN ''CR Panel''
  1462. ELSE trn.tranType END
  1463. ,CAST(trn.pAmt AS DECIMAL(10,2)) AS pAmt
  1464. ,ISNULL(depositType,'''') depositType
  1465. FROM remitTranTemp trn WITH(NOLOCK) ' + @cdTable +
  1466. '
  1467. LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
  1468. INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
  1469. INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
  1470. INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
  1471. WHERE trn.tranStatus IN (''Hold'') AND
  1472. trn.payStatus = ''Unpaid'' AND
  1473. trn.approvedBy IS NULL AND trn.verifiedDate IS NOT NULL AND ISNULL(sRouteId,''0'') in(''0'',''M'')
  1474. AND trn.tranType=''I''
  1475. --AND trn.pcountry in (''vietnam'',''nepal'')
  1476. '
  1477. IF @id IS NOT NULL
  1478. SET @table = @table + ' AND trn.id = ''' + LTRIM(RTRIM(@id)) + ''''
  1479. IF @branch IS NOT NULL
  1480. SET @table = @table + ' AND am.agentId = ''' + @branch + ''''
  1481. IF @country IS NOT NULL
  1482. SET @table = @table + ' AND trn.pCountry LIKE ''' + @country + '%'''
  1483. IF @sendCountry IS NOT NULL
  1484. SET @table = @table + ' AND trn.sCountry LIKE ''' + @sendCountry + '%'''
  1485. IF @amt IS NOT NULL
  1486. SET @table = @table + ' AND trn.pAmt = ' + CAST(@amt AS VARCHAR(20)) + ''
  1487. IF @voucherNo IS NOT NULL
  1488. SET @table = @table + ' AND trn.voucherNo = ''' + @voucherNo + ''''
  1489. IF @txncreatedBy IS NOT NULL
  1490. SET @table = @table + ' AND trn.createdBy = ''' + @txncreatedBy + ''''
  1491. IF @txnDate IS NOT NULL
  1492. SET @table = @table + ' AND CAST(trn.createdDate AS DATE)=''' + @txnDate + ''''
  1493. IF @ControlNo IS NOT NULL
  1494. SET @table = @table + ' AND trn.controlNo = dbo.fnaEncryptString(''' + LTRIM(RTRIM(@ControlNo)) + ''')'
  1495. IF @sendAgent IS NOT NULL
  1496. SET @table = @table + ' AND trn.sAgent = ''' + @sendAgent + ''''
  1497. IF @sendBranch IS NOT NULL
  1498. SET @table = @table + ' AND trn.sBranch = ''' + @sendBranch + ''''
  1499. SET @sql = '
  1500. SELECT
  1501. *
  1502. FROM (
  1503. ' + @table + '
  1504. ) x
  1505. WHERE 1 = 1 '
  1506. IF @sender IS NOT NULL
  1507. SET @sql = @sql + ' AND sender LIKE ''' + @sender + '%'''
  1508. IF @receiver IS NOT NULL
  1509. SET @sql = @sql + ' AND receiver LIKE ''' + @receiver + '%'''
  1510. PRINT @sql
  1511. EXEC (@sql)
  1512. RETURN
  1513. END
  1514. IF @flag = 's-admin-map'
  1515. BEGIN
  1516. SET @table = '
  1517. SELECT DISTINCT
  1518. trn.id
  1519. ,controlNo = dbo.fnadecryptstring(controlNo)
  1520. ,branch = am.agentName
  1521. ,country = trn.pCountry
  1522. ,senderId = sen.customerId
  1523. ,sender = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  1524. ,receiverId = rec.customerId
  1525. ,receiver = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
  1526. ,amt = CAST(trn.cAmt AS DECIMAL(18, 2))
  1527. ,paymentMethod = case when trn.collMode = ''Bank Deposit'' then ''JP Post'' ELSE trn.collMode END
  1528. ,voucherNo = trn.voucherNo
  1529. ,txnDate = CAST(trn.createdDate AS DATE)
  1530. ,txncreatedBy = trn.createdBy
  1531. ,trn.collMode collMode
  1532. FROM remitTranTemp trn WITH(NOLOCK) ' + @cdTable +
  1533. '
  1534. LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
  1535. INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
  1536. INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
  1537. INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
  1538. WHERE trn.tranStatus IN (''Hold'') AND
  1539. trn.payStatus = ''Unpaid'' AND
  1540. trn.approvedBy IS NULL AND ISNULL(sRouteId,''0'') in(''0'',''M'')
  1541. AND trn.tranType=''I''
  1542. --AND trn.pcountry in (''vietnam'',''nepal'')
  1543. '
  1544. IF @ControlNo IS NOT NULL
  1545. SET @table = @table + ' AND trn.controlNo = dbo.fnaEncryptString(''' + @ControlNo + ''')'
  1546. SET @sql = '
  1547. SELECT
  1548. *
  1549. FROM (
  1550. ' + @table + '
  1551. ) x
  1552. WHERE 1 = 1 '
  1553. EXEC (@sql)
  1554. RETURN
  1555. END
  1556. IF @flag = 's-admin-online'
  1557. BEGIN
  1558. SET @table = '
  1559. SELECT DISTINCT
  1560. trn.id
  1561. ,branch = am.agentName
  1562. ,country = trn.pCountry
  1563. ,senderId = sen.customerId
  1564. ,sender = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  1565. ,receiverId = rec.customerId
  1566. ,receiver = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
  1567. ,amt = CAST(trn.cAmt AS DECIMAL(18, 2))
  1568. ,txnDate = CAST(trn.createdDate AS DATE)
  1569. ,txncreatedBy = trn.createdBy
  1570. ,CASE WHEN trn.pAgent=1100 OR trn.pAgent = 1043 THEN 1 ELSE 0 END isThirdPartyTran
  1571. FROM remitTranTemp trn WITH(NOLOCK) ' + @cdTable +
  1572. '
  1573. LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
  1574. INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
  1575. INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
  1576. INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
  1577. WHERE trn.tranStatus IN (''Hold'') AND
  1578. trn.payStatus = ''Unpaid'' AND
  1579. trn.approvedBy IS NULL AND ISNULL(trn.isOnlineTxn,''N'') =''Y''
  1580. AND trn.tranType=''O''
  1581. '
  1582. IF @id IS NOT NULL
  1583. SET @table = @table + ' AND trn.id = ''' + LTRIM(RTRIM(@id)) + ''''
  1584. IF @branch IS NOT NULL
  1585. SET @table = @table + ' AND am.agentId = ''' + @branch + ''''
  1586. IF @country IS NOT NULL
  1587. SET @table = @table + ' AND trn.pCountry LIKE ''' + @country + '%'''
  1588. IF @sendCountry IS NOT NULL
  1589. SET @table = @table + ' AND trn.sCountry LIKE ''' + @sendCountry + '%'''
  1590. IF @amt IS NOT NULL
  1591. SET @table = @table + ' AND trn.pAmt = ' + CAST(@amt AS VARCHAR(20)) + ''
  1592. IF @voucherNo IS NOT NULL
  1593. SET @table = @table + ' AND trn.voucherNo = ''' + @voucherNo + ''''
  1594. IF @txncreatedBy IS NOT NULL
  1595. SET @table = @table + ' AND trn.createdBy = ''' + @txncreatedBy + ''''
  1596. IF @txnDate IS NOT NULL
  1597. SET @table = @table + ' AND CAST(trn.createdDate AS DATE)=''' + @txnDate + ''''
  1598. IF @ControlNo IS NOT NULL
  1599. SET @table = @table + ' AND trn.controlNo = dbo.fnaEncryptString(''' + LTRIM(RTRIM(@ControlNo)) + ''')'
  1600. IF @sendAgent IS NOT NULL
  1601. SET @table = @table + ' AND trn.sAgent = ''' + @sendAgent + ''''
  1602. IF @sendBranch IS NOT NULL
  1603. SET @table = @table + ' AND trn.sBranch = ''' + @sendBranch + ''''
  1604. SET @sql = '
  1605. SELECT
  1606. * , STUFF((SELECT '''' + US.voucherNo +'' - ''+ CONVERT(VARCHAR(11),US.voucherDate,6) +'' - ''+ CAST(US.voucherAmt AS VARCHAR)+'' || ''
  1607. FROM bankCollectionVoucherDetail US
  1608. WHERE US.tempTranId = x.id
  1609. FOR XML PATH('''')), 1, 1, '''') [voucherDetail]
  1610. FROM (
  1611. ' + @table + '
  1612. ) x
  1613. WHERE 1 = 1 '
  1614. IF @sender IS NOT NULL
  1615. SET @sql = @sql + ' AND sender LIKE ''' + @sender + '%'''
  1616. IF @receiver IS NOT NULL
  1617. SET @sql = @sql + ' AND receiver LIKE ''' + @receiver + '%'''
  1618. PRINT @sql
  1619. EXEC (@sql)
  1620. RETURN
  1621. END
  1622. IF @flag = 's-agent'
  1623. BEGIN
  1624. SELECT @isSelfApprove = ISNULL(b.isSelfTxnApprove, 'N')
  1625. FROM agentmaster a WITH (NOLOCK)
  1626. LEFT JOIN agentBusinessFunction b WITH (NOLOCK) ON a.parentId = b.agentId
  1627. WHERE a.agentId = @branchId
  1628. SET @branchList = '
  1629. INNER JOIN (
  1630. SELECT ' + CAST(@branchId AS VARCHAR) + ' agentId '
  1631. IF @userType = 'RH'
  1632. BEGIN
  1633. SET @branchList = @branchList + '
  1634. UNION ALL
  1635. SELECT
  1636. am.agentId
  1637. FROM agentMaster am WITH(NOLOCK)
  1638. INNER JOIN regionalBranchAccessSetup rba ON am.agentId = rba.memberAgentId
  1639. WHERE rba.agentId = ' + CAST(@branchId AS VARCHAR) + '
  1640. AND ISNULL(rba.isDeleted, ''N'') = ''N''
  1641. AND ISNULL(rba.isActive, ''N'') = ''Y''
  1642. AND memberAgentId <> ' + CAST(@branchId AS VARCHAR) + ''
  1643. END
  1644. IF @userType = 'AH'
  1645. BEGIN
  1646. SET @branchList = @branchList + '
  1647. UNION ALL
  1648. select agentId from agentMaster with(nolock) where parentId =
  1649. (select parentId from agentmaster with(nolock) where agentId=' + CAST(@branchId AS VARCHAR) + ')
  1650. and agentId <> ' + CAST(@branchId AS VARCHAR) + ''
  1651. END
  1652. SET @branchList = @branchList + '
  1653. ) bl ON trn.sBranch = bl.agentId
  1654. '
  1655. SET @table = '
  1656. SELECT DISTINCT
  1657. trn.id
  1658. ,branch = am.agentName
  1659. ,country = trn.pCountry
  1660. ,senderId = sen.customerId
  1661. ,sender = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  1662. ,receiverId = rec.customerId
  1663. ,receiver = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
  1664. ,amt = CAST(trn.cAmt AS DECIMAL(18, 3))
  1665. ,voucherNo = trn.voucherNo
  1666. ,trn.createdBy
  1667. ,collMode = ''Cash''
  1668. ,txnDate = CAST(trn.createdDate AS DATE)
  1669. ,txncreatedBy = trn.createdBy
  1670. ,CASE WHEN trn.pAgent = 1100 OR trn.pAgent = 1043 THEN 1 ELSE 0 END isThirdPartyTran
  1671. FROM remitTranTemp trn WITH(NOLOCK)
  1672. LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
  1673. ' + @branchList +
  1674. '
  1675. INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
  1676. INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
  1677. INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
  1678. WHERE trn.tranStatus IN (''Hold'',''Compliance Hold'',''OFAC Hold'',''OFAC/Compliance Hold'') AND
  1679. trn.payStatus = ''Unpaid'' AND
  1680. trn.approvedBy IS NULL
  1681. '
  1682. IF @txnType IS NOT NULL
  1683. SET @table = @table + ' AND trn.tranType = ''' + @txnType + ''''
  1684. ELSE
  1685. SET @table = @table + ' AND trn.tranType=''I'''
  1686. IF @id IS NOT NULL
  1687. SET @table = @table + ' AND trn.id = ''' + @id + ''''
  1688. IF @branch IS NOT NULL
  1689. SET @table = @table + ' AND am.agentId = ''' + @branch + ''''
  1690. IF @country IS NOT NULL
  1691. SET @table = @table + ' AND trn.pCountry LIKE ''' + @country + '%'''
  1692. IF @amt IS NOT NULL
  1693. SET @table = @table + ' AND trn.cAmt = ' + CAST(@amt AS VARCHAR(50))
  1694. IF @voucherNo IS NOT NULL
  1695. SET @table = @table + ' AND trn.voucherNo = ''' + @voucherNo + ''''
  1696. IF @txnDate IS NOT NULL
  1697. SET @table = @table + ' AND CAST(trn.createdDate AS DATE)=''' + @txnDate + ''''
  1698. IF @isSelfApprove = 'N'
  1699. SET @table = @table + ' AND trn.createdBy <> ''' + @user + ''''
  1700. SET @sql = '
  1701. SELECT
  1702. *
  1703. FROM (
  1704. ' + @table + '
  1705. ) x
  1706. WHERE 1 = 1 '
  1707. IF @txncreatedBy IS NOT NULL
  1708. SET @sql = @sql + ' AND txncreatedBy = ''' + @txncreatedBy + ''''
  1709. IF @sender IS NOT NULL
  1710. SET @sql = @sql + ' AND sender LIKE ''' + @sender + '%'''
  1711. IF @receiver IS NOT NULL
  1712. SET @sql = @sql + ' AND receiver LIKE ''' + @receiver + '%'''
  1713. --PRINT @sql
  1714. EXEC (@sql)
  1715. RETURN
  1716. END
  1717. IF @flag = 's-agent-self-txn'
  1718. BEGIN
  1719. SET @branchList = '
  1720. INNER JOIN (
  1721. SELECT ' + CAST(@branchId AS VARCHAR) + ' agentId '
  1722. IF @userType = 'RH'
  1723. BEGIN
  1724. SET @branchList = @branchList + '
  1725. UNION ALL
  1726. SELECT
  1727. am.agentId
  1728. FROM agentMaster am WITH(NOLOCK)
  1729. INNER JOIN regionalBranchAccessSetup rba ON am.agentId = rba.memberAgentId
  1730. WHERE rba.agentId = ' + CAST(@branchId AS VARCHAR) + '
  1731. AND ISNULL(rba.isDeleted, ''N'') = ''N''
  1732. AND ISNULL(rba.isActive, ''N'') = ''Y'''
  1733. END
  1734. SET @branchList = @branchList + '
  1735. ) bl ON trn.sBranch = bl.agentId
  1736. '
  1737. SET @table = '
  1738. SELECT DISTINCT
  1739. trn.id
  1740. ,branch = am.agentName
  1741. ,country = trn.pCountry
  1742. ,senderId = sen.customerId
  1743. ,sender = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  1744. ,receiverId = rec.customerId
  1745. ,receiver = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
  1746. ,amt = CAST(trn.cAmt AS DECIMAL(18, 3))
  1747. ,voucherNo = trn.voucherNo
  1748. ,trn.createdBy
  1749. ,collMode = ''''
  1750. ,txnDate = CAST(trn.createdDate AS DATE)
  1751. ,txncreatedBy = trn.createdBy
  1752. FROM remitTranTemp trn WITH(NOLOCK)
  1753. LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
  1754. ' + @branchList +
  1755. '
  1756. INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
  1757. INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
  1758. INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
  1759. --INNER JOIN #collModeList T ON T.tranId = trn.id
  1760. WHERE trn.tranStatus IN (''Hold'',''Compliance Hold'',''OFAC Hold'',''OFAC/Compliance Hold'') AND
  1761. trn.payStatus = ''Unpaid'' AND
  1762. trn.approvedBy IS NULL
  1763. '
  1764. IF @txnType IS NOT NULL
  1765. SET @table = @table + ' AND trn.tranType = ''' + @txnType + ''''
  1766. ELSE
  1767. SET @table = @table + ' AND trn.tranType=''I'''
  1768. IF @id IS NOT NULL
  1769. SET @table = @table + ' AND trn.id = ''' + @id + ''''
  1770. IF @branch IS NOT NULL
  1771. SET @table = @table + ' AND am.agentId = ''' + @branch + ''''
  1772. IF @country IS NOT NULL
  1773. SET @table = @table + ' AND trn.pCountry LIKE ''' + @country + '%'''
  1774. IF @amt IS NOT NULL
  1775. SET @table = @table + ' AND trn.cAmt = ' + CAST(@amt AS VARCHAR(50))
  1776. IF @voucherNo IS NOT NULL
  1777. SET @table = @table + ' AND trn.voucherNo = ''' + @voucherNo + ''''
  1778. IF @txnDate IS NOT NULL
  1779. SET @table = @table + ' AND CAST(trn.createdDate AS DATE)=''' + @txnDate + ''''
  1780. SET @sqlSelfTxn = '
  1781. SELECT
  1782. *
  1783. FROM (
  1784. ' + @table + ' AND trn.createdBy = ''' + @user + '''
  1785. ) x
  1786. WHERE 1 = 1 '
  1787. IF @sender IS NOT NULL
  1788. SET @sqlSelfTxn = @sqlSelfTxn + ' AND sender LIKE ''' + @sender + '%'''
  1789. IF @receiver IS NOT NULL
  1790. SET @sqlSelfTxn = @sqlSelfTxn + ' AND receiver LIKE ''' + @receiver + '%'''
  1791. EXEC (@sqlSelfTxn)
  1792. RETURN
  1793. END
  1794. IF @flag = 's_txn_summary'
  1795. BEGIN
  1796. SET @branchList = '
  1797. INNER JOIN (
  1798. SELECT ' + CAST(@branchId AS VARCHAR) + ' agentId '
  1799. IF @userType = 'RH'
  1800. BEGIN
  1801. SET @branchList = @branchList + '
  1802. UNION ALL
  1803. SELECT
  1804. am.agentId
  1805. FROM agentMaster am WITH(NOLOCK)
  1806. INNER JOIN regionalBranchAccessSetup rba ON am.agentId = rba.memberAgentId
  1807. WHERE rba.agentId = ' + CAST(@branchId AS VARCHAR) + '
  1808. AND ISNULL(rba.isDeleted, ''N'') = ''N''
  1809. AND ISNULL(rba.isActive, ''N'') = ''Y'''
  1810. END
  1811. IF @userType = 'AH'
  1812. BEGIN
  1813. SET @branchList = @branchList + '
  1814. UNION ALL
  1815. select agentId from agentMaster with(nolock) where parentId =
  1816. (select parentId from agentmaster with(nolock) where agentId=' + CAST(@branchId AS VARCHAR) + ')
  1817. and agentId <> ' + CAST(@branchId AS VARCHAR) + ''
  1818. END
  1819. SET @branchList = @branchList + '
  1820. ) bl ON trn.sBranch = bl.agentId
  1821. '
  1822. SET @tablesql = '
  1823. select country,sum(txnCount) txnCount,sum(txnHoldCount) txnHoldCount from
  1824. (
  1825. select country,txnCount,txnHoldCount from
  1826. (
  1827. SELECT
  1828. country = CASE WHEN trn.tranType = ''B'' then pCountry+''(B2B)'' else pCountry end
  1829. ,txnCount = case when trn.createdBy <> ''' + @user + ''' then 1 else 0 end
  1830. ,txnHoldCount = case when trn.createdBy = ''' + @user + ''' then 1 else 0 end
  1831. FROM remitTranTemp trn WITH(NOLOCK)
  1832. LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
  1833. ' + @branchList +
  1834. '
  1835. INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
  1836. INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
  1837. INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
  1838. WHERE trn.tranStatus IN (''Hold'',''Compliance Hold'',''OFAC Hold'',''OFAC/Compliance Hold'') AND
  1839. trn.payStatus = ''Unpaid'' AND
  1840. trn.approvedBy IS NULL AND trn.tranType IN (''I'',''B'')
  1841. )z
  1842. )x group by country'
  1843. --print(@tablesql)
  1844. EXEC (@tablesql)
  1845. END
  1846. IF @flag = 's_admin_txn_summary'
  1847. BEGIN
  1848. SET @tablesql = '
  1849. SELECT
  1850. sn = row_number() over(order by trn.sCountry)
  1851. ,country = upper(trn.sCountry)
  1852. ,txnCount = count(''x'')
  1853. FROM remitTranTemp trn WITH(NOLOCK)
  1854. LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
  1855. INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
  1856. INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
  1857. INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
  1858. WHERE trn.tranStatus IN (''Hold'',''Compliance Hold'',''OFAC Hold'',''OFAC/Compliance Hold'') AND
  1859. trn.payStatus = ''Unpaid'' AND
  1860. trn.approvedBy IS NULL AND trn.tranType=''I'' AND
  1861. trn.tranType <> ''O'' AND isOnlineTxn <> ''Y''
  1862. group by trn.sCountry
  1863. '
  1864. EXEC (@tablesql)
  1865. --print @tablesql
  1866. END
  1867. IF @flag = 'OnlineTxn-waitingList'
  1868. BEGIN
  1869. SET @tablesql = '
  1870. SELECT
  1871. sn = row_number() over(order by trn.sCountry)
  1872. ,country = upper(trn.sCountry)
  1873. ,txnCount = count(''x'')
  1874. FROM remitTranTemp trn WITH(NOLOCK)
  1875. LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
  1876. INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
  1877. INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
  1878. INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
  1879. WHERE trn.tranStatus IN (''Hold'',''Compliance Hold'',''OFAC Hold'',''OFAC/Compliance Hold'') AND
  1880. trn.payStatus = ''Unpaid'' AND
  1881. trn.approvedBy IS NULL AND trn.tranType=''O'' AND isOnlineTxn =''Y''
  1882. group by trn.sCountry
  1883. '
  1884. EXEC (@tablesql)
  1885. --print @tablesql
  1886. END
  1887. IF @flag = 'getTxnForApproveByAgent'
  1888. BEGIN
  1889. SET @table = '
  1890. SELECT DISTINCT
  1891. trn.id
  1892. ,controlNo = dbo.fnadecryptstring(controlNo)
  1893. ,branch = am.agentName
  1894. ,country = trn.pCountry
  1895. ,senderId = sen.customerId
  1896. ,sender = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  1897. ,receiverId = rec.customerId
  1898. ,receiver = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
  1899. ,amt = CAST(trn.cAmt AS DECIMAL(18, 2))
  1900. ,trn.paymentMethod
  1901. ,voucherNo = trn.voucherNo
  1902. ,txnDate = CAST(trn.createdDate AS DATE)
  1903. ,txncreatedBy = trn.createdBy
  1904. FROM remitTranTemp trn WITH(NOLOCK) ' + @cdTable +
  1905. '
  1906. LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
  1907. INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
  1908. INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
  1909. INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
  1910. WHERE trn.tranStatus IN (''Hold'') AND
  1911. trn.payStatus = ''Unpaid'' AND
  1912. trn.approvedBy IS NULL AND
  1913. ISNULL(trn.isOnlineTxn,''N'') <>''Y'' AND trn.tranType<>''O''
  1914. AND TRN.COLLMODE = ''CASH COLLECT''
  1915. '
  1916. IF @user IS NOT NULL
  1917. SET @table = @table + ' AND trn.createdBy <> ''' + @user + ''''
  1918. IF @settlingAgentId IS NOT NULL
  1919. SET @table = @table + ' AND trn.sAgent = ''' + CAST(@settlingAgentId AS VARCHAR) + ''''
  1920. IF @id IS NOT NULL
  1921. SET @table = @table + ' AND trn.id = ''' + LTRIM(RTRIM(@id)) + ''''
  1922. IF @country IS NOT NULL
  1923. SET @table = @table + ' AND trn.pCountry LIKE ''' + @country + '%'''
  1924. IF @sendCountry IS NOT NULL
  1925. SET @table = @table + ' AND trn.sCountry LIKE ''' + @sendCountry + '%'''
  1926. IF @amt IS NOT NULL
  1927. SET @table = @table + ' AND trn.pAmt = ' + CAST(@amt AS VARCHAR(20)) + ''
  1928. IF @voucherNo IS NOT NULL
  1929. SET @table = @table + ' AND trn.voucherNo = ''' + @voucherNo + ''''
  1930. IF @txncreatedBy IS NOT NULL
  1931. SET @table = @table + ' AND trn.createdBy = ''' + @txncreatedBy + ''''
  1932. IF @txnDate IS NOT NULL
  1933. SET @table = @table + ' AND CAST(trn.createdDate AS DATE)=''' + @txnDate + ''''
  1934. IF @ControlNo IS NOT NULL
  1935. SET @table = @table + ' AND trn.controlNo = dbo.fnaEncryptString(''' + LTRIM(RTRIM(@ControlNo)) + ''')'
  1936. IF @sendBranch IS NOT NULL
  1937. SET @table = @table + ' AND trn.sBranch = ''' + @sendBranch + ''''
  1938. SET @sql = '
  1939. SELECT
  1940. *
  1941. FROM (
  1942. ' + @table + '
  1943. ) x
  1944. WHERE 1 = 1 '
  1945. IF @sender IS NOT NULL
  1946. SET @sql = @sql + ' AND sender LIKE ''' + @sender + '%'''
  1947. IF @receiver IS NOT NULL
  1948. SET @sql = @sql + ' AND receiver LIKE ''' + @receiver + '%'''
  1949. PRINT @sql
  1950. EXEC (@sql)
  1951. RETURN
  1952. END
  1953. IF @flag = 'getTxnForVerify'
  1954. BEGIN
  1955. SET @table = '
  1956. SELECT DISTINCT
  1957. trn.id
  1958. ,controlNo = dbo.fnadecryptstring(controlNo)
  1959. ,branch = am.agentName
  1960. ,country = trn.pCountry
  1961. ,senderId = sen.customerId
  1962. ,sender = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  1963. ,receiverId = rec.customerId
  1964. ,receiver = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
  1965. ,amt = CAST(trn.cAmt AS DECIMAL(18, 2))
  1966. ,trn.paymentMethod
  1967. ,voucherNo = trn.voucherNo
  1968. ,txnDate = CAST(trn.createdDate AS DATE)
  1969. ,txncreatedBy = trn.createdBy
  1970. FROM remitTranTemp trn WITH(NOLOCK) ' + @cdTable +
  1971. '
  1972. LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
  1973. INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
  1974. INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
  1975. INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
  1976. WHERE trn.tranStatus IN (''Hold'') AND
  1977. trn.payStatus = ''Unpaid'' AND
  1978. trn.approvedBy IS NULL AND ISNULL(sRouteId,''0'') =''1''
  1979. '
  1980. IF @sAgent IS NOT NULL
  1981. BEGIN
  1982. SET @table = @table + ' AND trn.sAgent = ''' + @sendAgent + ''''
  1983. END
  1984. SET @sql = '
  1985. SELECT
  1986. *
  1987. FROM (
  1988. ' + @table + '
  1989. ) x
  1990. WHERE 1 = 1 '
  1991. PRINT @sql
  1992. EXEC (@sql)
  1993. END
  1994. END TRY
  1995. BEGIN CATCH
  1996. --IF @@TRANCOUNT > 0
  1997. -- ROLLBACK TRANSACTION
  1998. SELECT 1 error_code
  1999. ,ERROR_MESSAGE() msg
  2000. ,NULL id
  2001. END CATCH