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.

184 lines
6.4 KiB

8 months ago
  1. ALTER PROC PROC_STATUS_SYNC_TP_API
  2. (
  3. @FLAG VARCHAR(30)
  4. ,@PROVIDER VARCHAR(50)
  5. ,@TRANID BIGINT = NULL
  6. )
  7. AS
  8. SET NOCOUNT ON;
  9. SET XACT_ABORT ON;
  10. BEGIN
  11. DECLARE @dbblpAgent INT = 392504,@sbrpAgent INT=392509,@xpresspAgent INT = 392521;
  12. DECLARE @AgentId BIGINT,@controlNo VARCHAR(20),@ref_num VARCHAR(20),@sRouteId varchar(5),@message varchar(500)
  13. SET @AgentId = CASE WHEN @PROVIDER ='wing' THEN '221226'
  14. WHEN @PROVIDER ='commercial' THEN '221271'
  15. WHEN @PROVIDER ='globalbank' THEN '1056'
  16. WHEN @PROVIDER ='contact' THEN '392527'
  17. WHEN @PROVIDER ='vcbr' THEN '393229'
  18. WHEN @PROVIDER ='donga' THEN '2090'
  19. WHEN @PROVIDER ='mtrade' THEN '2129'
  20. WHEN @PROVIDER ='transfast' THEN '394130'
  21. WHEN @PROVIDER='dbbl' THEN @dbblpAgent --its the apiParter
  22. WHEN @PROVIDER='sbr' THEN @sbrpAgent
  23. WHEN @PROVIDER='xpress' THEN @xpresspAgent
  24. END
  25. IF @FLAG = 'mark-paid'
  26. BEGIN
  27. UPDATE remitTran SET
  28. payStatus = 'Paid',
  29. tranStatus = 'Paid',
  30. paidBy = 'system',
  31. paidDate = GETDATE(),
  32. paidDateLocal = GETUTCDATE()
  33. WHERE id = @TRANID
  34. --AND payStatus = 'Post' AND tranStatus='Payment' AND pAgent = @AgentId
  35. AND payStatus IN ('Post','Unpaid') AND tranStatus='Payment' AND pAgent = @AgentId
  36. END
  37. ELSE IF @FLAG = 'mark-cancel'
  38. BEGIN
  39. SET @message = 'Cancelled as per customer request'
  40. IF @PROVIDER ='contact'
  41. BEGIN
  42. SELECT @controlNo = DBO.FNADecryptString(CONTROLNO),@sRouteId = sRouteId FROM remitTran(NOLOCK) WHERE id = @TRANID AND pAgent = @AgentId
  43. --INSERT INTO @tempTbl(errorcode, msg, id)
  44. EXEC [proc_cancelTran] @flag = 'cancel',@controlNo = @controlNo,@user = 'system',@cancelReason = @message,@refund = 'N'
  45. EXEC [proc_cancelTran] @flag = 'cancelReceipt',@tranId = @TRANID,@user = 'system'
  46. END
  47. IF @PROVIDER ='transfast'
  48. BEGIN
  49. SELECT @controlNo = DBO.FNADecryptString(CONTROLNO),@sRouteId = sRouteId FROM remitTrantemp (NOLOCK) WHERE id = @TRANID AND pAgent = @AgentId
  50. --INSERT INTO @tempTbl(errorcode, msg, id)
  51. EXEC [proc_cancelTran] @flag = 'cancel',@controlNo = @controlNo,@user = 'system',@cancelReason = @message,@refund = 'N'
  52. EXEC [proc_cancelTran] @flag = 'cancelReceipt',@tranId = @TRANID,@user = 'system'
  53. END
  54. END
  55. ELSE IF @FLAG = 'sync-list'
  56. BEGIN
  57. IF @PROVIDER = 'mtrade'
  58. BEGIN
  59. SELECT TOP 100
  60. trn.id,[uploadLogId] = ISNULL(ContNo,uploadLogId),controlNo = dbo.FNADecryptString(trn.controlNo)
  61. FROM remitTran trn WITH(NOLOCK)
  62. WHERE
  63. trn.approvedBy IS NOT NULL AND trn.payStatus ='Post'
  64. AND tranStatus = 'payment' AND trn.pAgent = @AgentId
  65. AND Approveddate < dateadd(day,-1,getdate())
  66. ORDER BY NEWID()
  67. END
  68. ELSE IF @PROVIDER = 'donga'
  69. BEGIN
  70. SELECT TOP 1000 controlNo = dbo.FNADecryptString(controlNo),id
  71. FROM remitTran (NOLOCK)
  72. WHERE
  73. payStatus = 'Post' AND tranStatus = 'Payment'
  74. AND pCountry = 'VIETNAM' AND pAgent = @AgentId
  75. AND Approveddate < dateadd(hour,-2,getdate())
  76. ORDER BY 1 DESC
  77. END
  78. ELSE IF @PROVIDER = 'wing'
  79. BEGIN
  80. SELECT TOP 100 controlNo = dbo.FNADecryptString(controlNo2),id,paymentMethod
  81. FROM remitTran (NOLOCK)
  82. WHERE
  83. payStatus = 'Post' AND tranStatus = 'Payment'
  84. AND pCountry = 'Cambodia' AND pAgent = @AgentId
  85. AND Approveddate < dateadd(hour,-2,getdate())
  86. ORDER BY NEWID()
  87. END
  88. ELSE IF @PROVIDER = 'commercial'
  89. BEGIN
  90. SELECT TOP 100 controlNo = dbo.FNADecryptString(controlNo2) ,id,paymentMethod
  91. FROM remitTran (NOLOCK)
  92. WHERE
  93. payStatus = 'Post' AND tranStatus = 'Payment'
  94. AND pCountry = 'Sri Lanka' AND pAgent = @AgentId
  95. AND Approveddate < dateadd(hour,-2,getdate())
  96. order by id desc
  97. END
  98. ELSE IF @PROVIDER = 'bni'
  99. BEGIN
  100. SELECT TOP 30
  101. trn.id, controlNo = dbo.FNADecryptString(trn.controlNo)
  102. , trxDate = FORMAT(approvedDate,'yyyy-MM-ddTHH:mm:ss')
  103. FROM remitTran trn WITH(NOLOCK)
  104. WHERE trn.approvedBy IS NOT NULL AND trn.payStatus ='Post'
  105. AND tranStatus = 'Payment' AND trn.pAgent = 392227
  106. order by newid()
  107. END
  108. ELSE IF @PROVIDER = 'contact'
  109. BEGIN
  110. SELECT TOP 30
  111. trn.id, controlNo = dbo.FNADecryptString(trn.controlNo)
  112. ,DocId = ContNo
  113. ,trxDate = CAST(CAST(trn.approvedDate AS DATE) AS VARCHAR) +'T'+ CAST(CAST(trn.approvedDate AS TIME) AS VARCHAR(8))
  114. FROM remitTran trn WITH(NOLOCK)
  115. WHERE trn.approvedBy IS NOT NULL AND trn.payStatus ='Post'
  116. AND tranStatus IN( 'Payment','CancelRequested') AND trn.pAgent = 392527
  117. AND Approveddate < dateadd(hour,-2,getdate())
  118. order by trn.id
  119. END
  120. ELSE IF @PROVIDER = 'vcbr'
  121. BEGIN
  122. SELECT TOP 30 id,trn.id AS TxId, controlNo = dbo.FNADecryptString(trn.controlNo)
  123. FROM remitTran trn WITH(NOLOCK)
  124. WHERE trn.approvedBy IS NOT NULL AND trn.payStatus ='Post'
  125. AND tranStatus = 'Payment' AND trn.pAgent = @AgentId
  126. AND Approveddate < dateadd(hour,-2,getdate())
  127. order by newid()
  128. END
  129. ELSE IF @PROVIDER = 'sbr'
  130. BEGIN
  131. SELECT TOP 30
  132. id,trn.id AS TxId, controlNo = dbo.FNADecryptString(trn.controlNo), DocId=dbo.FNADecryptString(trn.controlNo2)
  133. ,trxDate = CAST(CAST(trn.approvedDate AS DATE) AS VARCHAR) +'T'+ CAST(CAST(trn.approvedDate AS TIME) AS VARCHAR(8))
  134. FROM remitTran trn WITH(NOLOCK)
  135. WHERE trn.approvedBy IS NOT NULL AND trn.payStatus ='Post'
  136. AND tranStatus = 'Payment' AND trn.pAgent = 393862
  137. AND Approveddate < dateadd(hour,-2,getdate())
  138. order by trn.id
  139. END
  140. ELSE IF @PROVIDER='xpress'
  141. BEGIN
  142. SELECT TOP 5
  143. id,
  144. xpin = dbo.FNADecryptString(trn.controlNo)
  145. FROM remitTran trn WITH(NOLOCK)
  146. WHERE trn.approvedBy IS NOT NULL AND trn.payStatus ='Unpaid' --need to ask
  147. AND tranStatus = 'Payment' AND trn.pAgent = 392521
  148. --AND Approveddate < dateadd(hour,-2,getdate())
  149. order by trn.id
  150. END
  151. END
  152. ELSE IF @FLAG='cancel-requested-list'
  153. BEGIN
  154. SELECT TOP 1
  155. TransactionId = RT.id
  156. ,GmeControlNo = dbo.FNADecryptString(RT.controlNo2)
  157. ,PartnerPin = rt.ContNo----dbo.FNADecryptString(RT.controlNo2)
  158. ,DocId = rt.ContNo
  159. ,Provider = CASE WHEN RT.pAgent = @xpresspAgent THEN 'xpress' ELSE 'other' END
  160. FROM dbo.remitTran AS RT(NOLOCK)
  161. WHERE RT.tranStatus = 'CancelRequest'
  162. AND RT.payStatus IN ('Post','Unpaid') --need to ask
  163. AND rt.pAgent=@xpresspAgent
  164. ORDER BY id DESC
  165. END
  166. ELSE IF @FLAG='update-status' ----'update-cancel-requested'
  167. BEGIN
  168. UPDATE dbo.remitTran SET
  169. tranStatus = 'CancelRequested'
  170. WHERE id = @TRANID AND pAgent = @xpresspAgent
  171. SELECT '0' ErrorCode,'Cancel Requested Successfully' Msg, NULL Id
  172. END
  173. END