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.

162 lines
12 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[PROC_SCHEDULAR_PUSH_TXN_DBBL] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE PROCEDURE [dbo].[PROC_SCHEDULAR_PUSH_TXN_DBBL](
  9. @flag VARCHAR(100) = NULL
  10. ,@id VARCHAR(100)= NULL
  11. ,@ControlNo VARCHAR(100)=NULL
  12. )AS
  13. BEGIN
  14. DECLARE @dbblpAgent INT = 393864
  15. IF @flag='push-list-Dbbl'
  16. BEGIN
  17. SELECT TOP 10
  18. paymentMode = CASE WHEN rt.paymentMethod = 'CASH PAYMENT' THEN 'DCP'
  19. WHEN rt.paymentMethod = 'BANK DEPOSIT' AND rt.pBank IN(393940,404518) THEN 'DAC' --## DUTCH-BANGLA BANK LTD / ROCKET Wallet
  20. ELSE 'OAC'
  21. END
  22. ,partnerTxnId = dbo.FNADecryptString(rt.controlNo)
  23. ,partnerTxnDate = FORMAT(rt.approvedDate,'yyyyMMddHHmmss')
  24. ,amountInBDT = rt.pAmt
  25. ,originCountryCode = cm.countryCode
  26. ,originCurrencyCode = rt.collCurr
  27. ,amountInOriginCurrency = rt.tAmt
  28. ,remName = rt.senderName
  29. ,remAddress = tsen.address
  30. ,remCity = tsen.city
  31. ,remState = tsen.city
  32. ,remZipCode = tsen.zipCode
  33. ,remContactNo = tsen.mobile
  34. ,benName = rt.receiverName
  35. ,benAddress = trec.address
  36. ,benCity = trec.city
  37. ,benState = trec.state
  38. ,benZipCode = trec.zipCode
  39. ,benContactNo = trec.mobile
  40. ,purpose = rt.purposeOfRemit
  41. ,benAccountNo = CASE WHEN rt.paymentMethod <> 'CASH PAYMENT' THEN rt.accountNo ELSE '' END
  42. ,benBankName = rt.pBankName
  43. ,benBranchName = CASE WHEN rt.paymentMethod = 'BANK DEPOSIT' AND rt.pBank IN(393940,404518) THEN '' ELSE rt.pBankBranchName END
  44. ,benBranchRoutingNo = CASE WHEN rt.paymentMethod = 'BANK DEPOSIT' AND rt.pBank IN(393940,404518) THEN '' ELSE am.agentCode END --##provided by dbbl api provider
  45. ,rt.tranStatus
  46. FROM dbo.remitTran(NOLOCK) rt
  47. INNER JOIN dbo.tranSenders(NOLOCK) tsen ON rt.id = tsen.tranId
  48. INNER JOIN dbo.tranReceivers(NOLOCK) trec ON rt.id = trec.tranId
  49. INNER JOIN dbo.countryMaster(NOLOCK) cm ON cm.countryName = rt.sCountry
  50. LEFT JOIN agentMaster(NOLOCK) am ON am.agentId = rt.pBankBranch
  51. WHERE rt.approvedBy IS NOT NULL AND rt.payStatus='Unpaid'
  52. and rt.pCountry='BANGLADESH' AND tsen.city IS NOT NULL
  53. AND rt.tranStatus = 'payment' AND rt.pAgent = 393864 --need to change the pAgent acc to the set up for the payoutPartner
  54. --ORDER BY rt.id DESC
  55. RETURN
  56. END
  57. ELSE IF @flag='modification-request'
  58. BEGIN
  59. SELECT TOP 1
  60. paymentMode = CASE WHEN rt.paymentMethod = 'CASH PAYMENT' THEN 'DCP'
  61. WHEN rt.paymentMethod = 'BANK DEPOSIT' AND rt.pBank IN(393940,404518) THEN 'DAC' --## DUTCH-BANGLA BANK LTD / ROCKET Wallet
  62. ELSE 'OAC'
  63. END
  64. ,partnerTxnId = dbo.FNADecryptString(rt.controlNo)
  65. ,partnerTxnDate = FORMAT(rt.approvedDate,'yyyyMMddHHmmss')
  66. ,originCountryCode = cm.countryCode
  67. ,remName = rt.senderName
  68. ,remAddress = tsen.address
  69. ,remCity = tsen.city
  70. ,remState = tsen.city
  71. ,remZipCode = tsen.zipCode
  72. ,remContactNo = tsen.mobile
  73. ,benName = rt.receiverName
  74. ,benAddress = trec.address
  75. ,benCity = trec.city
  76. ,benState = trec.state
  77. ,benZipCode = trec.zipCode
  78. ,benContactNo = trec.mobile
  79. ,purpose = rt.purposeOfRemit
  80. ,benAccountNo = CASE WHEN rt.paymentMethod <> 'CASH PAYMENT' THEN rt.accountNo ELSE '' END
  81. ,benBankName = rt.pBankName
  82. ,benBranchName = CASE WHEN rt.paymentMethod = 'BANK DEPOSIT' AND rt.pBank IN(393940,404518) THEN '' ELSE rt.pBankBranchName END
  83. ,benBranchRoutingNo = CASE WHEN rt.paymentMethod = 'BANK DEPOSIT' AND rt.pBank IN(393940,404518) THEN '' ELSE am.agentCode END --##provided by dbbl api provider
  84. ,providerName = 'DBBL'
  85. ,rt.payStatus
  86. ,GmeControlNo = dbo.FNADecryptString(rt.controlNo)
  87. FROM dbo.remitTran(NOLOCK) rt
  88. INNER JOIN dbo.tranSenders(NOLOCK) tsen ON rt.id = tsen.tranId
  89. INNER JOIN dbo.tranReceivers(NOLOCK) trec ON rt.id = trec.tranId
  90. INNER JOIN dbo.countryMaster(NOLOCK) cm ON cm.countryName = rt.sCountry
  91. LEFT JOIN agentMaster(NOLOCK) am ON am.agentId = rt.pBankBranch
  92. WHERE rt.approvedBy IS NOT NULL AND rt.payStatus = 'Post'
  93. and rt.pCountry = 'BANGLADESH' AND tsen.city IS NOT NULL
  94. AND rt.tranStatus = 'ModificationRequest'
  95. AND rt.pAgent = 393864 AND RT.controlNo = DBO.FNAEncryptString(@ControlNo)
  96. RETURN
  97. RETURN
  98. END
  99. ELSE IF @flag='sync-list-Dbbl'
  100. BEGIN
  101. SELECT RT.id AS TranId,DBO.FNADecryptString( RT.controlNo) AS PartnerTxnId --PartnerTxnId used for transationinquiry call which is controlno generated in our side
  102. FROM dbo.remitTran AS RT(NOLOCK)
  103. WHERE RT.pAgent = @dbblpAgent
  104. AND RT.tranStatus = 'Payment' and RT.payStatus = 'Post'
  105. AND Approveddate < DATEADD(DAY,-1,GETDATE())
  106. END
  107. ELSE IF @flag='mark-paid-Dbbl'
  108. BEGIN
  109. UPDATE remitTran
  110. SET payStatus = 'Paid'
  111. ,tranStatus = 'Paid'
  112. ,paidDate = getdate()
  113. ,paidDateLocal = GETUTCDATE()
  114. ,paidBy = 'Scheduler'
  115. WHERE id = @id AND payStatus = 'Post'
  116. AND tranStatus = 'payment' AND pAgent = @dbblpAgent
  117. SELECT '0' ErrorCode,'Update success' Msg, NULL Id
  118. END
  119. ELSE IF @flag='mark-post-Dbbl'
  120. BEGIN
  121. IF EXISTS(SELECT TOP 1 'X' FROM remitTran(NOLOCK) WHERE controlNo = Dbo.FNAEncryptString(@id) AND pAgent = @dbblpAgent AND tranStatus = 'Modification')
  122. BEGIN
  123. UPDATE remitTran SET
  124. tranStatus = 'Payment'
  125. WHERE controlNo = Dbo.FNAEncryptString(@id)
  126. AND pAgent = @dbblpAgent AND tranStatus = 'Modification' AND payStatus = 'Post'
  127. END
  128. ELSE
  129. BEGIN
  130. UPDATE remitTran SET
  131. payStatus = 'Post'
  132. ,postedBy = 'system'
  133. ,postedDate = GETDATE()
  134. ,postedDateLocal= GETUTCDATE()
  135. ,controlNo2 = Dbo.FNAEncryptString(@ControlNo)
  136. ,ContNo = @ControlNo
  137. WHERE controlNo = dbo.FNAEncryptString(@id)
  138. AND pAgent = @dbblpAgent
  139. END
  140. SELECT '0' ErrorCode,'Update success' Msg, NULL Id
  141. END
  142. ELSE IF @flag='mark-cancel-Dbbl'
  143. BEGIN
  144. UPDATE dbo.remitTran SET
  145. tranStatus='Cancel'
  146. WHERE id = @id AND payStatus = 'Post'
  147. AND tranStatus = 'payment' AND pAgent = @dbblpAgent
  148. END
  149. END
  150. GO