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.

287 lines
8.1 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_apiLocation] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_apiLocation]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_apiLocation] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. /*
  12. EXEC proc_apiLocation @flag = 'l', @user='bharat'
  13. EXEC proc_apiLocation @flag = 'apil', @user = 'admin'
  14. EXEC proc_apiLocation @flag = 'fl'
  15. */
  16. ALTER PROC [dbo].[proc_apiLocation]
  17. @flag VARCHAR(50) = NULL
  18. ,@user VARCHAR(30) = NULL
  19. ,@cod INT = NULL
  20. ,@districtId INT = NULL
  21. ,@districtCode INT = NULL
  22. ,@districtName VARCHAR(50) = NULL
  23. ,@district VARCHAR(100) = NULL
  24. ,@zone VARCHAR(100) = NULL
  25. ,@region VARCHAR(100) = NULL
  26. ,@isActive CHAR(1) = NULL
  27. ,@sortBy VARCHAR(50) = NULL
  28. ,@sortOrder VARCHAR(5) = NULL
  29. ,@pageSize INT = NULL
  30. ,@pageNumber INT = NULL
  31. AS
  32. SET NOCOUNT ON
  33. SET XACT_ABORT ON
  34. BEGIN TRY
  35. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  36. DECLARE
  37. @sql VARCHAR(MAX)
  38. ,@oldValue VARCHAR(MAX)
  39. ,@newValue VARCHAR(MAX)
  40. ,@tableName VARCHAR(50)
  41. DECLARE
  42. @select_field_list VARCHAR(MAX)
  43. ,@extra_field_list VARCHAR(MAX)
  44. ,@table VARCHAR(MAX)
  45. ,@sql_filter VARCHAR(MAX)
  46. DECLARE
  47. @gridName VARCHAR(50)
  48. ,@modType VARCHAR(6)
  49. DECLARE
  50. @code VARCHAR(50)
  51. ,@userName VARCHAR(50)
  52. ,@password VARCHAR(50)
  53. --EXEC proc_GetAPI @user OUTPUT,@code OUTPUT, @userName OUTPUT, @password OUTPUT
  54. IF @flag = 'l'
  55. BEGIN
  56. SELECT
  57. districtCode
  58. ,districtName = UPPER(districtName)
  59. FROM api_districtList WITH(NOLOCK)
  60. WHERE ISNULL(isDeleted, 'N') <> 'Y' AND ISNULL(isActive, 'Y') = 'Y'
  61. ORDER BY districtName
  62. END
  63. ELSE IF @flag = 'apil' --API Location List
  64. BEGIN
  65. Exec [192.168.2.1].ime_plus_01.dbo.spa_SOAP_Domestic_DistrictList
  66. @code,@userName,@password,'1234','c'
  67. END
  68. ELSE IF @flag = 'fl'
  69. BEGIN
  70. SELECT [value], [text] FROM (
  71. SELECT NULL [value], 'All' [text] UNION ALL
  72. SELECT
  73. dl.districtCode [value]
  74. ,dl.districtName [text]
  75. --,am.agentType
  76. FROM api_districtList dl WITH(NOLOCK)
  77. WHERE ISNULL(dl.isDeleted, 'N') <> 'Y'
  78. ) x ORDER BY CASE WHEN x.[value] IS NULL THEN CAST(x.[value] AS VARCHAR) ELSE x.[text] END
  79. RETURN
  80. END
  81. ELSE IF @flag = 'i'
  82. BEGIN
  83. IF EXISTS(SELECT 'X' FROM api_districtList WHERE ISNULL(isDeleted, 'N') <> 'Y' AND districtCode = @districtCode)
  84. BEGIN
  85. EXEC proc_errorHandler 1, 'District Code already exist', NULL
  86. RETURN
  87. END
  88. IF EXISTS(SELECT 'X' FROM api_districtList WHERE ISNULL(isDeleted, 'N') <> 'Y' AND districtName = @districtName)
  89. BEGIN
  90. EXEC proc_errorHandler 1, 'District Name already exist', NULL
  91. RETURN
  92. END
  93. BEGIN TRANSACTION
  94. INSERT INTO api_districtList(
  95. districtCode
  96. ,districtName
  97. ,fromAPI
  98. ,isActive
  99. ,createdBy
  100. ,createdDate
  101. )
  102. SELECT
  103. @districtCode
  104. ,@districtName
  105. ,'N'
  106. ,@isActive
  107. ,@user
  108. ,GETDATE()
  109. SET @districtId = SCOPE_IDENTITY()
  110. SET @modType = 'Insert'
  111. EXEC [dbo].proc_GetColumnToRow 'api_districtList', 'rowId', @districtId , @newValue OUTPUT
  112. INSERT INTO #msg(errorCode, msg, id)
  113. EXEC proc_applicationLogs 'i', NULL, @modType, 'API Location', @districtId, @user, @oldValue, @newValue
  114. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  115. BEGIN
  116. IF @@TRANCOUNT > 0
  117. ROLLBACK TRANSACTION
  118. EXEC proc_errorHandler 1, 'Failed to add new record.', @districtId
  119. RETURN
  120. END
  121. IF @@TRANCOUNT > 0
  122. COMMIT TRANSACTION
  123. EXEC proc_errorHandler 0, 'Record has been added successfully.', @districtId
  124. END
  125. ELSE IF @flag = 'u'
  126. BEGIN
  127. BEGIN TRANSACTION
  128. EXEC [dbo].proc_GetColumnToRow 'api_districtList', 'rowId', @districtId, @oldValue OUTPUT
  129. UPDATE api_districtList SET
  130. districtCode = @districtCode
  131. ,districtName = @districtName
  132. ,modifiedBy = @user
  133. ,modifiedDate = GETDATE()
  134. ,isActive = @isActive
  135. WHERE rowId = @districtId
  136. EXEC [dbo].proc_GetColumnToRow 'api_districtList', 'rowId', @districtId, @newValue OUTPUT
  137. INSERT INTO #msg(errorCode, msg, id)
  138. EXEC proc_applicationLogs 'i', NULL, @modType, 'API Location', @districtId, @user, @oldValue, @newValue
  139. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  140. BEGIN
  141. IF @@TRANCOUNT > 0
  142. ROLLBACK TRANSACTION
  143. EXEC proc_errorHandler 1, 'Failed to update record.', @districtId
  144. RETURN
  145. END
  146. IF @@TRANCOUNT > 0
  147. COMMIT TRANSACTION
  148. EXEC proc_errorHandler 0, 'Record updated successfully.', @districtId
  149. END
  150. ELSE IF @flag = 'a'
  151. BEGIN
  152. SELECT * FROM api_districtList WHERE rowId = @districtId
  153. END
  154. ELSE IF @flag = 'd'
  155. BEGIN
  156. IF NOT EXISTS(SELECT 'X' FROM api_districtList WHERE rowId = @districtId AND fromAPI = 'N')
  157. BEGIN
  158. EXEC proc_errorHandler 1, 'Cannot delete this record', @districtId
  159. RETURN
  160. END
  161. BEGIN TRANSACTION
  162. UPDATE api_districtList SET
  163. isActive = 'N'
  164. ,isDeleted = 'Y'
  165. WHERE rowId = @districtId
  166. SET @modType = SCOPE_IDENTITY()
  167. EXEC [dbo].proc_GetColumnToRow 'api_districtList', 'rowId', @districtId, @oldValue OUTPUT
  168. INSERT INTO #msg(errorCode, msg, id)
  169. EXEC proc_applicationLogs 'i', NULL, @modType, 'API Location', @districtId, @user, @oldValue, @newValue
  170. IF EXISTS(SELECT 'x' FROM #msg WHERE errorCode <> '0')
  171. BEGIN
  172. IF @@TRANCOUNT > 0
  173. ROLLBACK TRANSACTION
  174. EXEC proc_errorHandler 1, 'Failed to delete record.', @districtId
  175. RETURN
  176. END
  177. IF @@TRANCOUNT > 0
  178. COMMIT TRANSACTION
  179. EXEC proc_errorHandler 0, 'Record deleted successfully.', @districtId
  180. END
  181. ELSE IF @flag = 'ii'
  182. BEGIN
  183. IF EXISTS(SELECT 'X' FROM api_districtList WHERE
  184. code = @cod
  185. AND districtCode = @districtCode
  186. AND districtName = @districtName)
  187. BEGIN
  188. RETURN
  189. END
  190. INSERT INTO api_districtList(
  191. code
  192. ,districtCode
  193. ,districtName
  194. )
  195. SELECT
  196. @cod
  197. ,@districtCode
  198. ,UPPER(@districtName)
  199. END
  200. ELSE IF @flag = 's'
  201. BEGIN
  202. IF @sortBy IS NULL
  203. SET @sortBy = 'districtCode'
  204. IF @sortOrder IS NULL
  205. SET @sortOrder = 'ASC'
  206. --SELECT * FROM api_districtList
  207. --SELECT * FROM apiLocationMapping
  208. --SELECT * FROM zoneDistrictMap
  209. SET @table = '(
  210. SELECT
  211. adl.rowId
  212. ,locationCode=adl.districtCode
  213. ,locationName=adl.districtName
  214. ,zoneName = csm.stateName
  215. ,districtName=zdm.districtName
  216. ,regionName=SDV.detailTitle
  217. ,adl.isDeleted
  218. ,isActive=case when adl.isActive=''N'' then ''No'' else ''Yes'' end
  219. FROM api_districtList adl
  220. LEFT JOIN apiLocationMapping alm WITH(NOLOCK) ON adl.districtCode = alm.apiDistrictCode
  221. LEFT JOIN zoneDistrictMap zdm WITH(NOLOCK) ON alm.districtId = zdm.districtId
  222. LEFT JOIN countryStateMaster csm WITH(NOLOCK) ON csm.stateId = zdm.zone
  223. LEFT JOIN staticDataValue SDV WITH(NOLOCK) ON SDV.valueId=zdm.regionId
  224. WHERE 1=1
  225. ) x'
  226. SET @sql_filter = ' AND ISNULL(isDeleted, ''N'') <> ''Y'''
  227. IF @districtCode IS NOT NULL
  228. SET @sql_filter = @sql_filter + ' AND ISNULL(locationCode, '''') = ' + CAST(@districtCode AS VARCHAR)
  229. IF @districtName IS NOT NULL
  230. SET @sql_filter = @sql_filter + ' AND ISNULL(locationName, '''') LIKE ''%' + @districtName + '%'''
  231. IF @district IS NOT NULL
  232. SET @sql_filter = @sql_filter + ' AND ISNULL(districtName, '''') LIKE ''%' + @district + '%'''
  233. IF @zone IS NOT NULL
  234. SET @sql_filter = @sql_filter + ' AND ISNULL(zoneName, '''') LIKE ''%' + @zone + '%'''
  235. IF @region IS NOT NULL
  236. SET @sql_filter = @sql_filter + ' AND ISNULL(regionName, '''') LIKE ''%' + @region + '%'''
  237. SET @select_field_list ='
  238. rowId
  239. ,locationCode
  240. ,locationName
  241. ,zoneName
  242. ,districtName
  243. ,regionName
  244. ,isActive
  245. '
  246. --PRINT @table
  247. EXEC dbo.proc_paging
  248. @table
  249. ,@sql_filter
  250. ,@select_field_list
  251. ,@extra_field_list
  252. ,@sortBy
  253. ,@sortOrder
  254. ,@pageSize
  255. ,@pageNumber
  256. END
  257. END TRY
  258. BEGIN CATCH
  259. IF @@TRANCOUNT > 0
  260. ROLLBACK TRANSACTION
  261. SELECT 1 error_code, ERROR_MESSAGE() mes, null id
  262. END CATCH