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.

166 lines
9.0 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[INBOUND_PROC_POSTTXN] Script Date: 9/27/2019 1:30:13 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. create proc [dbo].[INBOUND_PROC_POSTTXN]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(200) = NULL
  11. ,@trnId VARCHAR(30) = NULL
  12. ,@controlNo VARCHAR(100) = NULL
  13. ,@sCountry VARCHAR(50) = NULL
  14. ,@sAgentName VARCHAR(50) = NULL
  15. ,@senderName VARCHAR(50) = NULL
  16. ,@receiverName VARCHAR(50) = NULL
  17. ,@branchName VARCHAR(50) = NULL
  18. ,@createdBy VARCHAR(50) = NULL
  19. ,@createdDate VARCHAR(20) = NULL
  20. ,@type VARCHAR(50) = NULL
  21. ,@sortBy VARCHAR(50) = NULL
  22. ,@sortOrder VARCHAR(5) = NULL
  23. ,@pageSize INT = NULL
  24. ,@pageNumber INT = NULL
  25. ,@Msg VARCHAR(20) = NULL
  26. AS
  27. SET NOCOUNT ON;
  28. SET XACT_ABORT ON;
  29. DECLARE @controlNoEncrypted VARCHAR(20)
  30. SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo)
  31. BEGIN TRY
  32. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  33. DECLARE
  34. @sql VARCHAR(MAX)
  35. ,@oldValue VARCHAR(MAX)
  36. ,@newValue VARCHAR(MAX)
  37. ,@module VARCHAR(10)
  38. ,@tableAlias VARCHAR(100)
  39. ,@logIdentifier VARCHAR(50)
  40. ,@logParamMod VARCHAR(100)
  41. ,@logParamMain VARCHAR(100)
  42. ,@table VARCHAR(MAX)
  43. ,@select_field_list VARCHAR(MAX)
  44. ,@extra_field_list VARCHAR(MAX)
  45. ,@sql_filter VARCHAR(MAX)
  46. ,@id VARCHAR(10)
  47. ,@modType VARCHAR(6)
  48. ,@ApprovedFunctionId INT
  49. ,@tranAmount MONEY
  50. SELECT
  51. @ApprovedFunctionId = ''
  52. ,@logIdentifier = 'trnId'
  53. ,@logParamMain = 'inboiundPostTxn'
  54. ,@logParamMod = 'inboiundPostTxn'
  55. ,@module = '20'
  56. ,@tableAlias = 'Post Inbound Txn'
  57. IF @flag='s'
  58. BEGIN
  59. IF @sortBy IS NULL
  60. SET @sortBy = 'tranId'
  61. IF @sortOrder IS NULL
  62. SET @sortOrder = 'ASC'
  63. print @table
  64. --return;
  65. SET @table = '(
  66. select tranId = id
  67. ,controlNoencript =main.controlNo
  68. ,controlNo= ''<a href="'+dbo.FNAGetURL()+'InboundRemit/Transaction/PostTransaction/Manage.aspx?controlNo='' + dbo.FNADecryptString(main.controlNo) + ''">'' + dbo.FNADecryptString(main.controlNo ) + ''</a>''
  69. ,PAGENTName
  70. ,receiverName
  71. ,senderName
  72. ,hasChanged = ''N''
  73. ,sCountry
  74. ,sAgentName
  75. ,createdBy
  76. ,createdDate
  77. ,SettlementAmt
  78. ,pAmt
  79. ,providername=''INBOUND API''
  80. FROM INBOUND_REMIT_TRAN (NOLOCK) MAIN
  81. Where tranStatus =''PAYMENT''
  82. ) x'
  83. --PRINT(@table)
  84. SET @sql_filter = ''
  85. IF @sAgentName IS NOT NULL
  86. SET @sql_filter = @sql_filter + ' AND sAgentName like'''+'%'+ @sAgentName+'%' +''''
  87. IF @controlNo IS NOT NULL
  88. SET @sql_filter = @sql_filter + ' AND controlNoencript = ''' +dbo.encryptDb(@controlNo) + ''''
  89. IF @trnId IS NOT NULL
  90. SET @sql_filter = @sql_filter + ' AND tranId = ''' + @trnId + ''''
  91. IF @sCountry IS NOT NULL
  92. SET @sql_filter = @sql_filter + ' AND sCountry = ''' + @sCountry+''''
  93. IF @senderName IS NOT NULL
  94. SET @sql_filter = @sql_filter + ' AND senderName like '''+'%'+ @senderName+'%'+ ''''
  95. IF @receiverName IS NOT NULL
  96. SET @sql_filter = @sql_filter + ' AND receiverName like ''' +'%' + @receiverName +'%'+ ''''
  97. SET @select_field_list ='
  98. tranId
  99. ,controlNo
  100. ,PAGENTName
  101. ,receiverName
  102. ,senderName
  103. ,hasChanged
  104. ,sCountry
  105. ,sAgentName
  106. ,createdBy
  107. ,createdDate
  108. ,pAmt
  109. ,providername
  110. '
  111. PRINT (@table)
  112. EXEC dbo.proc_paging
  113. @table
  114. ,@sql_filter
  115. ,@select_field_list
  116. ,@extra_field_list
  117. ,@sortBy
  118. ,@sortOrder
  119. ,@pageSize
  120. ,@pageNumber
  121. END
  122. ELSE IF @flag='Post'
  123. BEGIN
  124. IF EXISTS ( SELECT 1 FROM dbo.INBOUND_REMIT_TRAN (NOLOCK) WHERE controlNo=@controlNoEncrypted AND tranStatus='Payment')
  125. BEGIN
  126. UPDATE INBOUND_REMIT_TRAN SET tranStatus ='POST' WHERE controlNo =@controlNoEncrypted AND tranStatus='Payment'
  127. EXEC proc_errorHandler 0, 'Transaction has been successfully Post', @trnId
  128. END
  129. ELSE
  130. BEGIN
  131. EXEC proc_errorHandler 1, 'Only Payment transaction can be post', @trnId
  132. RETURN
  133. END
  134. END
  135. END TRY
  136. BEGIN CATCH
  137. IF @@TRANCOUNT > 0
  138. ROLLBACK TRANSACTION
  139. DECLARE @errorMessage VARCHAR(MAX)
  140. SET @errorMessage = ERROR_MESSAGE()
  141. EXEC proc_errorHandler 1, @errorMessage, @trnId
  142. END CATCH
  143. GO