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.

241 lines
5.2 KiB

  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_countryRateMaster] Script Date: 3/4/2024 6:09:39 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROCEDURE [dbo].[proc_countryRateMaster] @flag VARCHAR(50) = NULL
  9. ,@user VARCHAR(30) = NULL
  10. ,@depositType VARCHAR(200) = NULL
  11. ,@countryId INT = NULL
  12. ,@actualrate FLOAT = NULL
  13. ,@promRate FLOAT = NULL
  14. ,@countryName VARCHAR(200) = NULL
  15. ,@activeStatus CHAR(1) = NULL
  16. ,@sortBy VARCHAR(50) = NULL
  17. ,@sortOrder VARCHAR(5) = NULL
  18. ,@pageSize INT = NULL
  19. ,@pageNumber INT = NULL
  20. ,@receiverId BIGINT = NULL
  21. AS
  22. SET NOCOUNT ON
  23. SET XACT_ABORT ON
  24. BEGIN TRY
  25. SET NOCOUNT ON;
  26. CREATE TABLE #msg (
  27. errorCode INT
  28. ,msg VARCHAR(100)
  29. ,id INT
  30. )
  31. DECLARE @sql VARCHAR(MAX)
  32. ,@oldValue VARCHAR(MAX)
  33. ,@newValue VARCHAR(MAX)
  34. ,@module VARCHAR(10)
  35. ,@tableAlias VARCHAR(100)
  36. ,@logIdentifier VARCHAR(50)
  37. ,@logParamMod VARCHAR(100)
  38. ,@logParamMain VARCHAR(100)
  39. ,@table VARCHAR(MAX)
  40. ,@select_field_list VARCHAR(MAX)
  41. ,@extra_field_list VARCHAR(MAX)
  42. ,@sql_filter VARCHAR(MAX)
  43. ,@logType VARCHAR(10)
  44. ,@oldRate FLOAT
  45. ,@oldPromRate FLOAT
  46. SELECT @logIdentifier = 'depositType'
  47. ,@logParamMain = 'countryRateMaster'
  48. ,@logParamMod = 'countryRateMasterMod'
  49. ,@module = '20'
  50. ,@tableAlias = ''
  51. IF @flag = 'i-rate'
  52. BEGIN
  53. BEGIN TRANSACTION
  54. IF NOT EXISTS (
  55. SELECT 'X'
  56. FROM dbo.countryWiseExchangeRate
  57. WHERE countryId = @countryId
  58. AND depositType = @depositType
  59. )
  60. BEGIN
  61. INSERT INTO countryWiseExchangeRate (
  62. countryId
  63. ,depositType
  64. ,margin
  65. ,purchaseRate
  66. ,isActive
  67. ,createdBy
  68. ,createdDate
  69. )
  70. SELECT @countryId
  71. ,@depositType
  72. ,@actualrate
  73. ,ISNULL(@promRate, '')
  74. ,@activeStatus
  75. ,@user
  76. ,GETDATE()
  77. IF @@TRANCOUNT > 0
  78. COMMIT TRANSACTION
  79. EXEC proc_errorHandler 0
  80. ,'Record has been added successfully.'
  81. ,@depositType
  82. END
  83. ELSE IF EXISTS (
  84. SELECT 'X'
  85. FROM dbo.countryWiseExchangeRate
  86. WHERE countryId = @countryId
  87. AND depositType = @depositType
  88. )
  89. BEGIN
  90. INSERT INTO dbo.countryWiseExchangeRateHistory (
  91. countryId
  92. ,margin
  93. ,purchaseRate
  94. ,modType
  95. ,createdBy
  96. ,createdDate
  97. )
  98. SELECT countryId
  99. ,margin
  100. ,purchaseRate
  101. ,'UPDATE'
  102. ,@user
  103. ,GETDATE()
  104. FROM dbo.countryWiseExchangeRate
  105. WHERE countryId = @countryId
  106. AND depositType = @depositType
  107. UPDATE countryWiseExchangeRate
  108. SET depositType = @depositType
  109. ,margin = @actualrate
  110. ,purchaseRate = ISNULL(@promRate, '')
  111. ,isActive = @activeStatus
  112. WHERE countryId = @countryId
  113. AND depositType = @depositType
  114. IF @@TRANCOUNT > 0
  115. COMMIT TRANSACTION
  116. EXEC proc_errorHandler 0
  117. ,'Record has been added successfully.'
  118. ,@depositType
  119. END
  120. END
  121. ELSE IF @flag = 'get-list'
  122. BEGIN
  123. --SELECT * FROM countryWiseExchangeRate WITH(NOLOCK) WHERE countryId = @countryId
  124. IF @sortBy IS NULL
  125. SET @sortBy = 'depositType'
  126. IF @sortOrder IS NULL
  127. SET @sortOrder = 'ASC'
  128. SET @table = '(
  129. SELECT
  130. main.countryId
  131. ,main.depositType
  132. ,main.margin
  133. ,main.purchaseRate
  134. ,main.createdBy
  135. ,main.createdDate
  136. ,main.isActive
  137. FROM countryWiseExchangeRate main WITH(NOLOCK)
  138. WHERE 1 = 1 AND main.countryId = ' + CAST(@countryId AS VARCHAR) + '
  139. ) x'
  140. SET @sql_filter = ''
  141. SET @sql_filter = @sql_filter + ' AND ISNULL(isActive, '''') <> ''N'''
  142. IF @depositType IS NOT NULL
  143. SET @sql_filter = @sql_filter + ' AND depositType LIKE ''' + @depositType + '%'''
  144. SET @select_field_list = '
  145. countryId
  146. ,depositType
  147. ,margin
  148. ,purchaseRate
  149. ,createdBy
  150. ,createdDate
  151. ,isActive '
  152. EXEC dbo.proc_paging @table
  153. ,@sql_filter
  154. ,@select_field_list
  155. ,@extra_field_list
  156. ,@sortBy
  157. ,@sortOrder
  158. ,@pageSize
  159. ,@pageNumber
  160. END
  161. ELSE IF @flag = 'getById'
  162. BEGIN
  163. SELECT *
  164. FROM dbo.countryWiseExchangeRate
  165. WHERE countryId = @countryId
  166. AND depositType = @depositType
  167. END
  168. ELSE IF @flag = 'payment-method'
  169. BEGIN
  170. SELECT depositType AS detailTitle
  171. ,ISNULL(margin, 0) AS valueId
  172. FROM countryWiseExchangeRate
  173. WHERE countryId = @countryId
  174. END
  175. ELSE IF @flag = 'getListById'
  176. BEGIN
  177. IF(@receiverId iS NOT NULL)
  178. BEGIN
  179. SELECT CR.depositType AS detailTitle
  180. ,ISNULL(margin, 0) AS detailDesc
  181. FROM dbo.countryWiseExchangeRate CR(NOLOCK)
  182. INNER JOIN countryMaster CM(NOLOCK) ON CM.countryId = CR.countryId
  183. INNER JOIN receiverInformation RI(NOLOCK) ON RI.country = CM.countryName
  184. WHERE RI.receiverId = @receiverId and CR.isActive='Y'
  185. END
  186. ELSE
  187. BEGIN
  188. SELECT depositType AS detailTitle
  189. ,ISNULL(margin, 0) AS detailDesc
  190. FROM countryWiseExchangeRate
  191. WHERE countryId = '151' and isActive='Y'
  192. END
  193. END
  194. ELSE IF @flag = 'delete'
  195. BEGIN
  196. BEGIN TRANSACTION
  197. UPDATE countryWiseExchangeRate
  198. SET isDeleted = 'Y'
  199. ,isActive = 'N'
  200. ,modifiedBy = @user
  201. ,modifiedDate = GETDATE()
  202. WHERE countryId = @countryId
  203. AND depositType = @depositType
  204. IF @@TRANCOUNT > 0
  205. COMMIT TRANSACTION
  206. SELECT 0 error_code
  207. ,'Record deleted successfully.' mes
  208. ,@countryId id
  209. END
  210. END TRY
  211. BEGIN CATCH
  212. IF @@TRANCOUNT > 0
  213. ROLLBACK TRANSACTION
  214. DECLARE @errorMessage VARCHAR(MAX)
  215. SET @errorMessage = ERROR_MESSAGE()
  216. EXEC proc_errorHandler 1
  217. ,@errorMessage
  218. ,@depositType
  219. END CATCH