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.

187 lines
4.6 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_countryCollectionMode] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_countryCollectionMode]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_countryCollectionMode] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. CREATE proc [dbo].[proc_countryCollectionMode]
  12. @flag VARCHAR(50)
  13. ,@user VARCHAR(50) = NULL
  14. ,@ccmId INT = NULL
  15. ,@countryId INT = NULL
  16. ,@collModes VARCHAR(MAX) = NULL
  17. ,@sortBy VARCHAR(50) = NULL
  18. ,@sortOrder VARCHAR(5) = NULL
  19. ,@pageSize INT = NULL
  20. ,@pageNumber INT = NULL
  21. AS
  22. SET NOCOUNT ON
  23. SET XACT_ABORT ON
  24. BEGIN TRY
  25. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  26. DECLARE
  27. @sql VARCHAR(MAX)
  28. ,@oldValue VARCHAR(MAX)
  29. ,@newValue VARCHAR(MAX)
  30. ,@module VARCHAR(10)
  31. ,@tableAlias VARCHAR(100)
  32. ,@logIdentifier VARCHAR(50)
  33. ,@logParamMod VARCHAR(100)
  34. ,@logParamMain VARCHAR(100)
  35. ,@table VARCHAR(MAX)
  36. ,@select_field_list VARCHAR(MAX)
  37. ,@extra_field_list VARCHAR(MAX)
  38. ,@sql_filter VARCHAR(MAX)
  39. ,@modType VARCHAR(6)
  40. SELECT
  41. @logIdentifier = 'ccmId'
  42. ,@logParamMain = 'countryCollectionMode'
  43. ,@logParamMod = 'countryCollectionModeMod'
  44. ,@module = '20'
  45. ,@tableAlias = 'Country Collection Mode'
  46. IF @flag IN ('i', 'u')
  47. BEGIN
  48. BEGIN TRANSACTION
  49. --DELETE FROM rsList WHERE agentId = @agentId AND agentRole = @agentRole
  50. INSERT INTO countryCollectionMode (
  51. countryId
  52. ,collMode
  53. ,createdBy
  54. ,createdDate
  55. )
  56. SELECT @countryId,value,@user,GETDATE() FROM dbo.Split(',', @collModes)
  57. EXEC (@sql)
  58. SET @modType = CASE WHEN @flag = 'i' THEN 'Insert' ELSE 'Update' END
  59. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @ccmId , @newValue OUTPUT
  60. INSERT INTO #msg(errorCode, msg, id)
  61. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @ccmId, @user, @oldValue, @newValue
  62. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  63. BEGIN
  64. IF @@TRANCOUNT > 0
  65. ROLLBACK TRANSACTION
  66. EXEC proc_errorHandler 1, 'Failed to add new record.', @ccmId
  67. RETURN
  68. END
  69. IF @@TRANCOUNT > 0
  70. COMMIT TRANSACTION
  71. EXEC proc_errorHandler 0, 'Record has been added successfully.', @ccmId
  72. END
  73. ELSE IF @flag = 'd'
  74. BEGIN
  75. BEGIN TRANSACTION
  76. DELETE FROM countryCollectionMode WHERE ccmId = @ccmId
  77. SET @modType = 'Delete'
  78. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @ccmId, @oldValue OUTPUT
  79. INSERT INTO #msg(errorCode, msg, id)
  80. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @ccmId, @user, @oldValue, @newValue
  81. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  82. BEGIN
  83. IF @@TRANCOUNT > 0
  84. ROLLBACK TRANSACTION
  85. EXEC proc_errorHandler 1, 'Failed to delete record.', @ccmId
  86. RETURN
  87. END
  88. IF @@TRANCOUNT > 0
  89. COMMIT TRANSACTION
  90. EXEC proc_errorHandler 0, 'Record deleted successfully.', @ccmId
  91. END
  92. ELSE IF @flag IN ('s')
  93. BEGIN
  94. IF @sortBy IS NULL
  95. SET @sortBy = 'ccmId'
  96. IF @sortOrder IS NULL
  97. SET @sortOrder = 'ASC'
  98. SET @table = '(
  99. SELECT
  100. main.ccmId
  101. ,main.countryId
  102. ,collMode = sdv.detailTitle
  103. ,collModeDesc = sdv.detailDesc
  104. ,main.createdBy
  105. ,main.createdDate
  106. FROM countryCollectionMode main WITH(NOLOCK)
  107. LEFT JOIN staticDataValue sdv WITH(NOLOCK) ON main.collMode = sdv.valueId
  108. WHERE 1 = 1 AND main.countryId = ' + CAST(@countryId AS VARCHAR) + '
  109. ) x'
  110. SET @sql_filter = ''
  111. SET @select_field_list ='
  112. ccmId
  113. ,countryId
  114. ,collMode
  115. ,collModeDesc
  116. ,createdBy
  117. ,createdDate
  118. '
  119. EXEC dbo.proc_paging
  120. @table
  121. ,@sql_filter
  122. ,@select_field_list
  123. ,@extra_field_list
  124. ,@sortBy
  125. ,@sortOrder
  126. ,@pageSize
  127. ,@pageNumber
  128. END
  129. ELSE IF @flag IN ('fl') --filter list
  130. BEGIN
  131. IF @sortBy IS NULL
  132. SET @sortBy = 'detailTitle'
  133. IF @sortOrder IS NULL
  134. SET @sortOrder = 'ASC'
  135. SET @table = '(
  136. SELECT
  137. valueId
  138. ,detailTitle
  139. ,detailDesc
  140. FROM staticDataValue sdv WITH(NOLOCK)
  141. WHERE typeID = 2200 AND valueId NOT IN (SELECT collMode FROM countryCollectionMode WHERE countryId = ' + CAST(@countryId AS VARCHAR) +')
  142. ) x'
  143. SET @sql_filter = ''
  144. SET @select_field_list ='
  145. valueId
  146. ,detailTitle
  147. ,detailDesc
  148. '
  149. EXEC dbo.proc_paging
  150. @table
  151. ,@sql_filter
  152. ,@select_field_list
  153. ,@extra_field_list
  154. ,@sortBy
  155. ,@sortOrder
  156. ,@pageSize
  157. ,@pageNumber
  158. END
  159. END TRY
  160. BEGIN CATCH
  161. IF @@TRANCOUNT > 0
  162. ROLLBACK TRANSACTION
  163. DECLARE @errorMessage VARCHAR(MAX)
  164. SET @errorMessage = ERROR_MESSAGE()
  165. EXEC proc_errorHandler 1, @errorMessage, @ccmId
  166. END CATCH
  167. GO