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.

197 lines
12 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_unlockTransaction] 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 proc [dbo].[proc_unlockTransaction]
  9. @flag VARCHAR(50)
  10. ,@controlNo VARCHAR(20) = NULL
  11. ,@user VARCHAR(30) = NULL
  12. ,@tranIds VARCHAR(MAX) = NULL
  13. ,@sortBy VARCHAR(50) = NULL
  14. ,@sortOrder VARCHAR(5) = NULL
  15. ,@pageSize INT = NULL
  16. ,@pageNumber INT = NULL
  17. AS
  18. /*
  19. EXEC proc_unlockTransaction @flag = 'dom_unpaid_ac',@controlNo=null
  20. */
  21. DECLARE
  22. @select_field_list VARCHAR(MAX)
  23. ,@extra_field_list VARCHAR(MAX)
  24. ,@table VARCHAR(MAX)
  25. ,@sql_filter VARCHAR(MAX)
  26. SET NOCOUNT ON
  27. SET XACT_ABORT ON
  28. DECLARE @controlNoEncrypted VARCHAR(100)
  29. SELECT @controlNoEncrypted = dbo.FNAEncryptString(UPPER(@controlNo))
  30. IF @flag = 's' --Select Locked Transactions
  31. BEGIN
  32. SET @table = '(
  33. SELECT
  34. trn.id
  35. ,controlNo = ''<a href="#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?controlNo='' + dbo.FNADecryptString(trn.controlNo) + '''''')">'' + dbo.FNADecryptString(trn.controlNo) + ''</a>''
  36. ,sCustomerId = sen.customerId
  37. ,senderName = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  38. ,sCountryName = sen.country
  39. ,sStateName = sen.state
  40. ,sCity = sen.city
  41. ,sAddress = sen.address
  42. ,rCustomerId = rec.customerId
  43. ,receiverName = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
  44. ,rCountryName = rec.country
  45. ,rStateName = rec.state
  46. ,rCity = rec.city
  47. ,rAddress = rec.address
  48. ,trn.pAmt
  49. ,trn.lockedDate
  50. ,trn.lockedBy
  51. ,lockedDuration = DATEDIFF(MI, trn.lockedDate, GETDATE())
  52. FROM remitTran trn WITH(NOLOCK)
  53. LEFT JOIN tranSenders sen WITH(NOLOCK) ON trn.id = sen.tranId
  54. LEFT JOIN tranReceivers rec WITH(NOLOCK) ON trn.id = rec.tranId
  55. WHERE trn.tranStatus = ''Lock''
  56. AND DATEDIFF(MI, trn.lockedDate, GETDATE()) > 1
  57. '
  58. SET @sql_filter = ''
  59. IF @controlNo IS NOT NULL
  60. SET @table = @table + ' AND trn.controlNo = ''' + @controlNoEncrypted + ''''
  61. SET @select_field_list ='
  62. id
  63. ,controlNo
  64. ,sCustomerId
  65. ,senderName
  66. ,sCountryName
  67. ,sStateName
  68. ,sCity
  69. ,sAddress
  70. ,rCustomerId
  71. ,receiverName
  72. ,rCountryName
  73. ,rStateName
  74. ,rCity
  75. ,rAddress
  76. ,pAmt
  77. ,lockedDate
  78. ,lockedBy
  79. ,lockedDuration
  80. '
  81. SET @table = @table + ') x'
  82. EXEC dbo.proc_paging
  83. @table
  84. ,@sql_filter
  85. ,@select_field_list
  86. ,@extra_field_list
  87. ,@sortBy
  88. ,@sortOrder
  89. ,@pageSize
  90. ,@pageNumber
  91. END
  92. IF @flag = 'u'
  93. BEGIN
  94. DECLARE @sql VARCHAR(MAX)
  95. SET @sql = 'UPDATE remitTran SET
  96. tranStatus = ''Payment''
  97. ,payTokenId = NULL
  98. WHERE id IN (' + @tranIds + ')
  99. '
  100. EXEC(@sql)
  101. EXEC proc_errorHandler 0, 'Transaction(s) unlocked successfully', NULL
  102. END
  103. IF @flag = 'ut' --Unlock By Transaction
  104. BEGIN
  105. UPDATE remitTran SET
  106. tranStatus = 'Payment'
  107. ,payTokenId = NULL
  108. WHERE controlNo = dbo.FNAEncryptString(UPPER(@controlNo))
  109. EXEC proc_errorHandler 0, 'Transaction unlocked successfully', NULL
  110. END
  111. IF @flag = 'dom_unpaid_ac' --Domestic Unpaid Transaction
  112. BEGIN
  113. SET @table = '
  114. SELECT
  115. [Tran Id] = trn.id
  116. ,[Control No] = ''<a href="#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?controlNo='' + dbo.FNADecryptString(trn.controlNo) + '''''')">'' + dbo.FNADecryptString(trn.controlNo) + ''</a>''
  117. ,[Payout Amount] = trn.pAmt
  118. ,[Sending Country] = sen.country
  119. ,[Sender Name] = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  120. ,[Receiver Name] = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
  121. ,[Locked Date] = trn.lockedDate
  122. ,[Locked By] = trn.lockedBy
  123. ,[Locked </br> Duration] = DATEDIFF(MI, trn.lockedDate, GETDATE())
  124. FROM remitTran trn WITH(NOLOCK)
  125. LEFT JOIN tranSenders sen WITH(NOLOCK) ON trn.id = sen.tranId
  126. LEFT JOIN tranReceivers rec WITH(NOLOCK) ON trn.id = rec.tranId
  127. WHERE trn.tranStatus = ''Lock'' and trn.tranType = ''D''
  128. --AND DATEDIFF(MI, trn.lockedDate, GETDATE()) > 1
  129. '
  130. Exec(@table)
  131. END
  132. IF @flag = 'unlock' --Unlock By Transaction
  133. BEGIN
  134. IF RIGHT(@controlNo, 1) = 'D'
  135. BEGIN
  136. UPDATE remitTran SET
  137. tranStatus = 'Payment'
  138. ,payTokenId = NULL
  139. WHERE controlNo = @controlNoEncrypted
  140. END
  141. ELSE
  142. BEGIN
  143. UPDATE dbo.remitTran SET
  144. lockStatus = 'unlocked'
  145. WHERE controlNo = @controlNoEncrypted
  146. END
  147. EXEC proc_errorHandler 0, 'Transaction unlocked successfully', NULL
  148. END
  149. IF @flag = 'lockIntl' --International Lock Transaction
  150. BEGIN
  151. SET @table = '
  152. SELECT
  153. [Tran Id] = trn.id
  154. ,[Control No] = ''<a href="#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?controlNo='' + dbo.FNADecryptString(trn.controlNo) + '''''')">'' + dbo.FNADecryptString(trn.controlNo) + ''</a>''
  155. ,[Payout Amount] = trn.pAmt
  156. ,[Sending Country] = sen.country
  157. ,[Sender Name] = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  158. ,[Receiver Name] = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
  159. ,[Locked Date] = trn.lockedDate
  160. ,[Locked By] = trn.lockedBy
  161. ,[Locked </br> Duration] = DATEDIFF(MI, trn.lockedDate, GETDATE())
  162. FROM remitTran trn WITH(NOLOCK)
  163. LEFT JOIN tranSenders sen WITH(NOLOCK) ON trn.id = sen.tranId
  164. LEFT JOIN tranReceivers rec WITH(NOLOCK) ON trn.id = rec.tranId
  165. WHERE trn.lockStatus = ''Lock''
  166. '
  167. Exec(@table)
  168. END
  169. GO