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.

200 lines
12 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_apiLocationMapping] 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_apiLocationMapping]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@rowId VARCHAR(30) = NULL
  12. ,@stateId INT = NULL
  13. ,@districtId INT = NULL
  14. ,@apiDistrictCode INT = NULL
  15. ,@sortBy VARCHAR(50) = NULL
  16. ,@sortOrder VARCHAR(5) = NULL
  17. ,@pageSize INT = NULL
  18. ,@pageNumber INT = NULL
  19. AS
  20. SET NOCOUNT ON
  21. SET XACT_ABORT ON
  22. BEGIN TRY
  23. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  24. DECLARE
  25. @sql VARCHAR(MAX)
  26. ,@oldValue VARCHAR(MAX)
  27. ,@newValue VARCHAR(MAX)
  28. ,@module VARCHAR(10)
  29. ,@tableAlias VARCHAR(100)
  30. ,@logIdentifier VARCHAR(50)
  31. ,@logParamMod VARCHAR(100)
  32. ,@logParamMain VARCHAR(100)
  33. ,@table VARCHAR(MAX)
  34. ,@select_field_list VARCHAR(MAX)
  35. ,@extra_field_list VARCHAR(MAX)
  36. ,@sql_filter VARCHAR(MAX)
  37. ,@modType VARCHAR(6)
  38. SELECT
  39. @logIdentifier = 'rowId'
  40. ,@logParamMain = 'apiLocationMapping'
  41. ,@logParamMod = 'apiLocationMappingMod'
  42. ,@module = ''
  43. ,@tableAlias = 'API Location Mapper'
  44. IF @flag = 'dl' --district list
  45. BEGIN
  46. SELECT
  47. loc.districtId
  48. ,districtName = dist.districtName
  49. FROM apiLocationMapping loc
  50. INNER JOIN zoneDistrictMap dist ON loc.districtId = dist.districtId
  51. WHERE loc.apiDistrictCode = @apiDistrictCode
  52. END
  53. IF @flag = 'i'
  54. BEGIN
  55. BEGIN TRANSACTION
  56. IF EXISTS(SELECT 'X' FROM apiLocationMapping WHERE apiDistrictCode = @apiDistrictCode)
  57. BEGIN
  58. UPDATE apiLocationMapping SET
  59. districtId = @districtId
  60. WHERE apiDistrictCode = @apiDistrictCode
  61. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId, @newValue OUTPUT
  62. INSERT INTO #msg(errorCode, msg, id)
  63. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  64. END
  65. ELSE
  66. BEGIN
  67. INSERT INTO apiLocationMapping (
  68. districtId
  69. ,apiDistrictCode
  70. ,createdBy
  71. ,createdDate
  72. )
  73. SELECT
  74. @districtId
  75. ,@apiDistrictCode
  76. ,@user
  77. ,GETDATE()
  78. SET @modType = 'Insert'
  79. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId , @newValue OUTPUT
  80. INSERT INTO #msg(errorCode, msg, id)
  81. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  82. END
  83. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  84. BEGIN
  85. IF @@TRANCOUNT > 0
  86. ROLLBACK TRANSACTION
  87. EXEC proc_errorHandler 1, 'Failed to map Location.', @apiDistrictCode
  88. RETURN
  89. END
  90. IF @@TRANCOUNT > 0
  91. COMMIT TRANSACTION
  92. EXEC proc_errorHandler 0, 'Location Mapped successfully.', @apiDistrictCode
  93. END
  94. ELSE IF @flag = 'a'
  95. BEGIN
  96. SELECT
  97. alm.*
  98. ,stateId = zdm.zone
  99. FROM apiLocationMapping alm WITH(NOLOCK)
  100. INNER JOIN zoneDistrictMap zdm WITH(NOLOCK) ON alm.districtId = zdm.districtId
  101. WHERE apiDistrictCode = @apiDistrictCode
  102. END
  103. ELSE IF @flag = 'u'
  104. BEGIN
  105. BEGIN TRANSACTION
  106. UPDATE apiLocationMapping SET
  107. districtId = @districtId
  108. WHERE apiDistrictCode = @apiDistrictCode
  109. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId, @newValue OUTPUT
  110. INSERT INTO #msg(errorCode, msg, id)
  111. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  112. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  113. BEGIN
  114. IF @@TRANCOUNT > 0
  115. ROLLBACK TRANSACTION
  116. EXEC proc_errorHandler 1, 'Failed to update record.', @apiDistrictCode
  117. RETURN
  118. END
  119. IF @@TRANCOUNT > 0
  120. COMMIT TRANSACTION
  121. EXEC proc_errorHandler 0, 'Record updated successfully.', @apiDistrictCode
  122. END
  123. --ELSE IF @flag = 'd'
  124. --BEGIN
  125. -- BEGIN TRANSACTION
  126. -- UPDATE apiLocationMapping SET
  127. -- isDeleted = 'Y'
  128. -- ,modifiedDate = GETDATE()
  129. -- ,modifiedBy = @user
  130. -- WHERE rowId = @rowId
  131. -- SET @modType = 'Delete'
  132. -- EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId, @oldValue OUTPUT
  133. -- INSERT INTO #msg(errorCode, msg, id)
  134. -- EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  135. -- IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  136. -- BEGIN
  137. -- IF @@TRANCOUNT > 0
  138. -- ROLLBACK TRANSACTION
  139. -- EXEC proc_errorHandler 1, 'Failed to delete record.', @rowId
  140. -- RETURN
  141. -- END
  142. -- IF @@TRANCOUNT > 0
  143. -- COMMIT TRANSACTION
  144. -- EXEC proc_errorHandler 0, 'Record deleted successfully.', @rowId
  145. --END
  146. ELSE IF @flag IN ('s')
  147. BEGIN
  148. IF @sortBy IS NULL
  149. SET @sortBy = 'rowId'
  150. IF @sortOrder IS NULL
  151. SET @sortOrder = 'ASC'
  152. SET @table = '(
  153. SELECT
  154. main.districtId
  155. ,main.apiDistrictCode
  156. ,main.createdBy
  157. ,main.createdDate
  158. FROM apiLocationMapping main WITH(NOLOCK)
  159. WHERE 1 = 1
  160. ) x'
  161. SET @sql_filter = ''
  162. SET @sql_filter = @sql_filter + ' AND ISNULL(isDeleted, '''') <> ''Y'''
  163. SET @select_field_list ='
  164. districtId
  165. ,apiDistrictCode
  166. ,createdBy
  167. ,createdDate '
  168. EXEC dbo.proc_paging
  169. @table
  170. ,@sql_filter
  171. ,@select_field_list
  172. ,@extra_field_list
  173. ,@sortBy
  174. ,@sortOrder
  175. ,@pageSize
  176. ,@pageNumber
  177. END
  178. END TRY
  179. BEGIN CATCH
  180. IF @@TRANCOUNT > 0
  181. ROLLBACK TRANSACTION
  182. DECLARE @errorMessage VARCHAR(MAX)
  183. SET @errorMessage = ERROR_MESSAGE()
  184. EXEC proc_errorHandler 1, @errorMessage, @rowId
  185. END CATCH
  186. GO