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.

290 lines
6.6 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_locationGroupMaping] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_locationGroupMaping]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_locationGroupMaping] 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_locationGroupMaping] @flag = 'l', @rowid = '1'
  13. */
  14. CREATE PROC [dbo].[proc_locationGroupMaping]
  15. @flag VARCHAR(50) = NULL
  16. ,@user VARCHAR(30) = NULL
  17. ,@rowId int = NULL
  18. ,@GroupCat VARCHAR(20) = NULL
  19. ,@GroupDetail VARCHAR(20) = NULL
  20. ,@locationCode VARCHAR(MAX) = NULL
  21. ,@districtName VARCHAR(100)= NULL
  22. ,@isDeleted CHAR(1) = NULL
  23. ,@sortBy VARCHAR(50) = NULL
  24. ,@sortOrder VARCHAR(5) = NULL
  25. ,@pageSize INT = NULL
  26. ,@pageNumber INT = NULL
  27. AS
  28. SET NOCOUNT ON
  29. SET XACT_ABORT ON
  30. BEGIN TRY
  31. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  32. DECLARE
  33. @sql VARCHAR(MAX)
  34. ,@oldValue VARCHAR(MAX)
  35. ,@newValue VARCHAR(MAX)
  36. ,@module VARCHAR(10)
  37. ,@tableAlias VARCHAR(100)
  38. ,@logIdentifier VARCHAR(50)
  39. ,@logParamMod VARCHAR(100)
  40. ,@logParamMain VARCHAR(100)
  41. ,@table VARCHAR(MAX)
  42. ,@select_field_list VARCHAR(MAX)
  43. ,@extra_field_list VARCHAR(MAX)
  44. ,@sql_filter VARCHAR(MAX)
  45. ,@modType VARCHAR(6)
  46. ,@errorMsg VARCHAR(MAX)
  47. DECLARE
  48. @selectFieldList VARCHAR(MAX)
  49. ,@extraFieldList VARCHAR(MAX)
  50. ,@sqlFilter VARCHAR(MAX)
  51. IF @flag = 'a'
  52. BEGIN
  53. SELECT * From locationGroupMaping with (nolock)
  54. where rowid= @rowid
  55. END
  56. ELSE IF @flag = 'd'
  57. BEGIN
  58. BEGIN TRANSACTION
  59. UPDATE locationGroupMaping SET
  60. isDeleted = 'Y'
  61. ,modifiedBy = @user
  62. ,modifiedDate = GETDATE()
  63. WHERE rowId = @rowId
  64. INSERT INTO #msg(errorCode, msg, id)
  65. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  66. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  67. BEGIN
  68. IF @@TRANCOUNT > 0
  69. ROLLBACK TRANSACTION
  70. EXEC proc_errorHandler 1, 'Failed to delete record.', @rowid
  71. RETURN
  72. END
  73. IF @@TRANCOUNT > 0
  74. COMMIT TRANSACTION
  75. EXEC proc_errorHandler 0, 'Record has been deleted successfully.', @rowid
  76. END
  77. ELSE IF @flag = 'u'
  78. BEGIN
  79. DECLARE @district_list TABLE(districtId INT)
  80. SET @sql = '
  81. SELECT
  82. districtId
  83. FROM zoneDistrictMap WITH(NOLOCK)
  84. WHERE districtId IN (' + @locationCode + ')
  85. '
  86. INSERT @district_list
  87. EXEC (@sql)
  88. BEGIN TRANSACTION
  89. --DELETE FROM agentGroupMod WHERE groupId = @groupId
  90. INSERT locationGroupMaping(districtCode, groupCat,groupDetail, createdBy, createdDate)
  91. SELECT districtId,@GroupCat,@GroupDetail, @user, GETDATE() FROM @district_list
  92. IF @@TRANCOUNT > 0
  93. COMMIT TRANSACTION
  94. EXEC proc_errorHandler 0, 'Location mapped successfully.', @GroupCat
  95. END
  96. ELSE IF @flag = 'i'
  97. BEGIN
  98. --IF EXISTS(SELECT 'A' FROM locationGroupMaping WHERE districtCode = @locationCode AND groupCat = @GroupCat AND groupDetail = @GroupDetail AND ISNULL(isDeleted,'N') <> 'Y')
  99. --BEGIN
  100. -- EXEC proc_errorHandler 1, 'Record already added.', @rowid
  101. -- RETURN;
  102. --END
  103. BEGIN TRANSACTION
  104. INSERT INTO
  105. locationGroupMaping (
  106. districtCode
  107. ,groupCat
  108. ,groupDetail
  109. ,createdBy
  110. ,createdDate
  111. )
  112. SELECT
  113. @locationCode
  114. ,@GroupCat
  115. ,@groupDetail
  116. ,@user
  117. ,GETDATE()
  118. SET @rowid = SCOPE_IDENTITY()
  119. INSERT INTO #msg(errorCode, msg, id)
  120. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  121. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  122. BEGIN
  123. IF @@TRANCOUNT > 0
  124. ROLLBACK TRANSACTION
  125. EXEC proc_errorHandler 1, 'Failed to add new record.', @rowid
  126. RETURN
  127. END
  128. IF @@TRANCOUNT > 0
  129. COMMIT TRANSACTION
  130. EXEC proc_errorHandler 0, 'Record has been added successfully.', @rowid
  131. END
  132. IF @flag = 's'
  133. BEGIN
  134. IF @sortBy IS NULL
  135. SET @sortBy = 'createdDate'
  136. IF @sortOrder IS NULL
  137. SET @sortOrder = 'DESC'
  138. SET @table = '(
  139. SELECT
  140. lgm.rowID
  141. ,GroupCat
  142. ,GroupDetail
  143. ,lgm.createdBy
  144. ,lgm.createdDate
  145. ,dist.districtId
  146. ,dist.districtName
  147. FROM locationGroupMaping lgm
  148. INNER JOIN zoneDistrictMap dist on lgm.districtCode = dist.districtId
  149. WHERE ISNULL(lgm.isDeleted,''N'') = ''N''
  150. AND GroupCat = ''' + ISNULL(@GroupCat,'0') + '''
  151. AND GroupDetail = ''' + ISNULL(@GroupDetail,'0') + '''
  152. '
  153. SET @sqlFilter = ''
  154. SET @selectFieldList = '
  155. rowID
  156. ,GroupCat
  157. ,GroupDetail
  158. ,districtName
  159. ,createdBy
  160. ,createdDate
  161. ,districtId
  162. '
  163. --IF @GroupCat IS NOT NULL
  164. -- SET @sqlFilter = @sqlFilter + ' AND GroupCat = ''' + @GroupCat + ''''
  165. -- IF @GroupDetail IS NOT NULL
  166. -- SET @sqlFilter = @sqlFilter + ' AND GroupDetail = ''' + @GroupDetail + ''''
  167. IF @districtName IS NOT NULL
  168. SET @sqlFilter = @sqlFilter + ' AND districtName LIKE ''' + @districtName + '%'''
  169. IF @locationCode IS NOT NULL
  170. SET @sqlFilter = @sqlFilter + ' AND districtId = ' + CAST(@locationCode AS VARCHAR)+ ''
  171. SET @table = @table +') x '
  172. EXEC dbo.proc_paging
  173. @table
  174. ,@sqlFilter
  175. ,@selectFieldList
  176. ,@extraFieldList
  177. ,@sortBy
  178. ,@sortOrder
  179. ,@pageSize
  180. ,@pageNumber
  181. END
  182. IF @flag = 'sG'
  183. BEGIN
  184. IF @sortBy IS NULL
  185. SET @sortBy = 'createdDate'
  186. IF @sortOrder IS NULL
  187. SET @sortOrder = 'DESC'
  188. SET @table = '(
  189. SELECT
  190. districtId
  191. ,districtName
  192. ,createdBy
  193. ,createdDate
  194. FROM zoneDistrictMap
  195. WHERE districtId NOT IN (
  196. SELECT districtCode FROM locationGroupMaping
  197. WHERE ISNULL(isDeleted,''N'') <> ''Y''
  198. AND GroupCat = ''' + @GroupCat + ''')
  199. '
  200. SET @sqlFilter = ''
  201. SET @selectFieldList = '
  202. districtId
  203. ,districtName
  204. ,createdBy
  205. ,createdDate
  206. '
  207. IF @districtName IS NOT NULL
  208. SET @sqlFilter = @sqlFilter + ' AND districtName LIKE ''' + @districtName + '%'''
  209. IF @locationCode IS NOT NULL
  210. SET @sqlFilter = @sqlFilter + ' AND districtId = ' + CAST(@locationCode AS VARCHAR)+ ''
  211. SET @table = @table +') x '
  212. EXEC dbo.proc_paging
  213. @table
  214. ,@sqlFilter
  215. ,@selectFieldList
  216. ,@extraFieldList
  217. ,@sortBy
  218. ,@sortOrder
  219. ,@pageSize
  220. ,@pageNumber
  221. END
  222. END TRY
  223. BEGIN CATCH
  224. IF @@TRANCOUNT > 0
  225. ROLLBACK TRANSACTION
  226. DECLARE @errorMessage VARCHAR(MAX)
  227. SET @errorMessage = ERROR_MESSAGE()
  228. EXEC proc_errorHandler 1, @errorMessage, @rowid
  229. END CATCH
  230. GO