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.

221 lines
6.0 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_countryStateMaster] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_countryStateMaster]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_countryStateMaster] 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_countryStateMaster]
  12. @flag VARCHAR(50) = NULL
  13. ,@user VARCHAR(30) = NULL
  14. ,@stateId VARCHAR(30) = NULL
  15. ,@countryId INT = NULL
  16. ,@stateCode VARCHAR(10) = NULL
  17. ,@stateName VARCHAR(50) = NULL
  18. ,@countryName VARCHAR(200) = NULL
  19. ,@sortBy VARCHAR(50) = NULL
  20. ,@sortOrder VARCHAR(5) = NULL
  21. ,@pageSize INT = NULL
  22. ,@pageNumber INT = NULL
  23. AS
  24. SET NOCOUNT ON
  25. SET XACT_ABORT ON
  26. BEGIN TRY
  27. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  28. DECLARE
  29. @sql VARCHAR(MAX)
  30. ,@oldValue VARCHAR(MAX)
  31. ,@newValue VARCHAR(MAX)
  32. ,@module VARCHAR(10)
  33. ,@tableAlias VARCHAR(100)
  34. ,@logIdentifier VARCHAR(50)
  35. ,@logParamMod VARCHAR(100)
  36. ,@logParamMain VARCHAR(100)
  37. ,@table VARCHAR(MAX)
  38. ,@select_field_list VARCHAR(MAX)
  39. ,@extra_field_list VARCHAR(MAX)
  40. ,@sql_filter VARCHAR(MAX)
  41. ,@modType VARCHAR(6)
  42. SELECT
  43. @logIdentifier = 'stateId'
  44. ,@logParamMain = 'countryStateMaster'
  45. ,@logParamMod = 'countryStateMasterMod'
  46. ,@module = '20'
  47. ,@tableAlias = ''
  48. IF @flag = 'csl'
  49. BEGIN
  50. SELECT
  51. stateId
  52. ,stateName
  53. FROM countryStateMaster WITH(NOLOCK)
  54. WHERE countryId = @countryId
  55. AND ISNULL(isDeleted, 'N') <> 'Y'
  56. ORDER BY stateName
  57. END
  58. IF @flag = 'csl2'
  59. BEGIN
  60. SELECT
  61. stateId
  62. ,stateName
  63. FROM countryStateMaster a WITH(NOLOCK)
  64. inner join countryMaster b with(nolock) on a.countryId=b.countryId
  65. WHERE b.countryName = @countryName
  66. AND ISNULL(A.isDeleted, 'N') <> 'Y'
  67. ORDER BY stateName
  68. END
  69. ELSE IF @flag = 'i'
  70. BEGIN
  71. BEGIN TRANSACTION
  72. IF EXISTS (SELECT countryId FROM dbo.countryStateMaster WHERE stateCode = @stateCode)
  73. BEGIN
  74. ROLLBACK TRANSACTION
  75. EXEC proc_errorHandler 1, 'State with same state code already exists.', NULL
  76. END
  77. INSERT INTO countryStateMaster(
  78. countryId
  79. ,stateCode
  80. ,stateName
  81. ,createdBy
  82. ,createdDate
  83. )
  84. SELECT
  85. @countryId
  86. ,@stateCode
  87. ,@stateName
  88. ,@user
  89. ,GETDATE()
  90. SET @modType = 'Insert'
  91. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @stateId , @newValue OUTPUT
  92. INSERT INTO #msg(errorCode, msg, id)
  93. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @stateId, @user, @oldValue, @newValue
  94. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  95. BEGIN
  96. IF @@TRANCOUNT > 0
  97. ROLLBACK TRANSACTION
  98. EXEC proc_errorHandler 1, 'Failed to add new record.', @stateId
  99. RETURN
  100. END
  101. IF @@TRANCOUNT > 0
  102. COMMIT TRANSACTION
  103. EXEC proc_errorHandler 0, 'Record has been added successfully.', @stateId
  104. END
  105. ELSE IF @flag = 'a'
  106. BEGIN
  107. SELECT * FROM countryStateMaster WITH(NOLOCK) WHERE stateId = @stateId
  108. END
  109. ELSE IF @flag = 'u'
  110. BEGIN
  111. BEGIN TRANSACTION
  112. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @stateId, @oldValue OUTPUT
  113. UPDATE countryStateMaster SET
  114. countryId = @countryId
  115. ,stateCode = @stateCode
  116. ,stateName = @stateName
  117. ,modifiedBy = @user
  118. ,modifiedDate = GETDATE()
  119. WHERE stateId = @stateId
  120. SET @modType = 'Update'
  121. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @stateId, @newValue OUTPUT
  122. INSERT INTO #msg(errorCode, msg, id)
  123. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @stateId, @user, @oldValue, @newValue
  124. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  125. BEGIN
  126. IF @@TRANCOUNT > 0
  127. ROLLBACK TRANSACTION
  128. EXEC proc_errorHandler 1, 'Failed to update record.', @stateId
  129. RETURN
  130. END
  131. IF @@TRANCOUNT > 0
  132. COMMIT TRANSACTION
  133. EXEC proc_errorHandler 0, 'Record updated successfully.', @stateId
  134. END
  135. ELSE IF @flag = 'd'
  136. BEGIN
  137. BEGIN TRANSACTION
  138. UPDATE countryStateMaster SET
  139. isDeleted = 'Y'
  140. ,modifiedDate = GETDATE()
  141. ,modifiedBy = @user
  142. WHERE stateId = @stateId
  143. SET @modType = 'Delete'
  144. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @stateId, @oldValue OUTPUT
  145. INSERT INTO #msg(errorCode, msg, id)
  146. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @stateId, @user, @oldValue, @newValue
  147. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  148. BEGIN
  149. IF @@TRANCOUNT > 0
  150. ROLLBACK TRANSACTION
  151. EXEC proc_errorHandler 1, 'Failed to delete record.', @stateId
  152. RETURN
  153. END
  154. IF @@TRANCOUNT > 0
  155. COMMIT TRANSACTION
  156. EXEC proc_errorHandler 0, 'Record deleted successfully.', @stateId
  157. END
  158. ELSE IF @flag IN ('s')
  159. BEGIN
  160. IF @sortBy IS NULL
  161. SET @sortBy = 'stateId'
  162. IF @sortOrder IS NULL
  163. SET @sortOrder = 'ASC'
  164. SET @table = '(
  165. SELECT
  166. main.stateId
  167. ,main.countryId
  168. ,main.stateCode
  169. ,main.stateName
  170. ,main.createdBy
  171. ,main.createdDate
  172. ,main.isDeleted
  173. FROM countryStateMaster main WITH(NOLOCK)
  174. WHERE 1 = 1 AND main.countryId = ' + CAST(@countryId AS VARCHAR) + '
  175. ) x'
  176. SET @sql_filter = ''
  177. SET @sql_filter = @sql_filter + ' AND ISNULL(isDeleted, '''') <> ''Y'''
  178. IF @stateCode IS NOT NULL
  179. SET @sql_filter = @sql_filter + ' AND stateCode LIKE ''' + @stateCode + '%'''
  180. IF @stateName IS NOT NULL
  181. SET @sql_filter = @sql_filter + ' AND stateName LIKE ''' + @stateName + '%'''
  182. SET @select_field_list ='
  183. stateId
  184. ,countryId
  185. ,stateCode
  186. ,stateName
  187. ,createdBy
  188. ,createdDate
  189. ,isDeleted '
  190. EXEC dbo.proc_paging
  191. @table
  192. ,@sql_filter
  193. ,@select_field_list
  194. ,@extra_field_list
  195. ,@sortBy
  196. ,@sortOrder
  197. ,@pageSize
  198. ,@pageNumber
  199. END
  200. END TRY
  201. BEGIN CATCH
  202. IF @@TRANCOUNT > 0
  203. ROLLBACK TRANSACTION
  204. DECLARE @errorMessage VARCHAR(MAX)
  205. SET @errorMessage = ERROR_MESSAGE()
  206. EXEC proc_errorHandler 1, @errorMessage, @stateId
  207. END CATCH
  208. GO