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.

234 lines
5.7 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_userGroupMapping] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_userGroupMapping]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_userGroupMapping] 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_userGroupMapping]
  12. @flag VARCHAR(50) = NULL
  13. ,@user VARCHAR(30) = NULL
  14. ,@rowid int = NULL
  15. ,@userId int = NULL
  16. ,@userName VARCHAR(50) = NULL
  17. ,@GroupCat varchar(200) =null
  18. ,@GroupDetail int = NULL
  19. ,@isDeleted CHAR(1) = NULL
  20. ,@sortBy VARCHAR(50) = NULL
  21. ,@sortOrder VARCHAR(5) = NULL
  22. ,@pageSize INT = NULL
  23. ,@pageNumber INT = NULL
  24. AS
  25. SET NOCOUNT ON
  26. SET XACT_ABORT ON
  27. BEGIN TRY
  28. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  29. DECLARE
  30. @sql VARCHAR(MAX)
  31. ,@oldValue VARCHAR(MAX)
  32. ,@newValue VARCHAR(MAX)
  33. ,@module VARCHAR(10)
  34. ,@tableAlias VARCHAR(100)
  35. ,@logIdentifier VARCHAR(50)
  36. ,@logParamMod VARCHAR(100)
  37. ,@logParamMain VARCHAR(100)
  38. ,@table VARCHAR(MAX)
  39. ,@select_field_list VARCHAR(MAX)
  40. ,@extra_field_list VARCHAR(MAX)
  41. ,@sql_filter VARCHAR(MAX)
  42. ,@modType VARCHAR(6)
  43. ,@errorMsg VARCHAR(MAX)
  44. IF @flag = 'a'
  45. BEGIN
  46. SELECT * From userGroupMapping with (nolock)
  47. where rowid= @rowid
  48. END
  49. ELSE IF @flag = 'd'
  50. BEGIN
  51. BEGIN TRANSACTION
  52. UPDATE userGroupMapping
  53. set isDeleted ='Y'
  54. , modefiedBy=@user
  55. , modefiedDate=GETDATE()
  56. where rowid= @rowid
  57. INSERT INTO #msg(errorCode, msg, id)
  58. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  59. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  60. BEGIN
  61. IF @@TRANCOUNT > 0
  62. ROLLBACK TRANSACTION
  63. EXEC proc_errorHandler 1, 'Failed to delete record.', @rowid
  64. RETURN
  65. END
  66. IF @@TRANCOUNT > 0
  67. COMMIT TRANSACTION
  68. EXEC proc_errorHandler 0, 'Record has been deleted successfully.', @rowid
  69. END
  70. ELSE IF @flag = 'u'
  71. BEGIN
  72. IF EXISTS(SELECT 'A' FROM userGroupMapping WHERE userId = @userId AND groupDetail = @GroupDetail AND rowId <> @rowid AND ISNULL(isDeleted,'N') <> 'Y')
  73. BEGIN
  74. EXEC proc_errorHandler 1, 'Record already added.', @rowid
  75. RETURN
  76. END
  77. --SELECT * FROM agentGroupMaping
  78. BEGIN TRANSACTION
  79. UPDATE userGroupMapping
  80. set userId =@userId,
  81. userName = @userName,
  82. groupCat=@GroupCat,
  83. GroupDetail=@GroupDetail,
  84. modefiedBy=@user,
  85. modefiedDate=GETDATE()
  86. WHERE rowid= @rowid
  87. INSERT INTO #msg(errorCode, msg, id)
  88. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  89. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  90. BEGIN
  91. IF @@TRANCOUNT > 0
  92. ROLLBACK TRANSACTION
  93. EXEC proc_errorHandler 1, 'Failed to update record.', @rowid
  94. RETURN
  95. END
  96. IF @@TRANCOUNT > 0
  97. COMMIT TRANSACTION
  98. EXEC proc_errorHandler 0, 'Record has been updated successfully.', @rowid
  99. END
  100. ELSE IF @flag = 'i'
  101. BEGIN
  102. IF EXISTS(SELECT 'A' FROM userGroupMapping WHERE userId = @userId AND groupDetail = @GroupDetail AND ISNULL(isDeleted,'N') <> 'Y')
  103. BEGIN
  104. EXEC proc_errorHandler 1, 'Record already added.', @rowid
  105. RETURN
  106. END
  107. BEGIN TRANSACTION
  108. INSERT INTO
  109. userGroupMapping (
  110. userId
  111. ,userName
  112. ,groupCat
  113. ,groupDetail
  114. ,createdBy
  115. ,createdDate
  116. )
  117. SELECT
  118. @userId
  119. ,@userName
  120. ,@GroupCat
  121. ,@groupDetail
  122. ,@user
  123. ,GETDATE()
  124. SET @rowid = SCOPE_IDENTITY()
  125. INSERT INTO #msg(errorCode, msg, id)
  126. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  127. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  128. BEGIN
  129. IF @@TRANCOUNT > 0
  130. ROLLBACK TRANSACTION
  131. EXEC proc_errorHandler 1, 'Failed to add new record.', @rowid
  132. RETURN
  133. END
  134. IF @@TRANCOUNT > 0
  135. COMMIT TRANSACTION
  136. EXEC proc_errorHandler 0, 'Record has been added successfully.', @rowid
  137. END
  138. ELSE IF @flag = 's'
  139. BEGIN
  140. IF @sortBy IS NULL
  141. SET @sortBy = 'createdDate'
  142. IF @sortOrder IS NULL
  143. SET @sortOrder = 'DESC'
  144. SET @table = '(
  145. SELECT
  146. rowID
  147. ,rowID as ValueId
  148. ,typeDesc as GroupCat
  149. ,Det.detailDesc as SubGroup
  150. ,userName = Au.firstName+'' ''+ISNULL(Au.middleName,'''')+ '' ''+Au.lastName
  151. ,G.createdBy
  152. ,G.createdDate
  153. ,G.userId
  154. FROM userGroupMapping G
  155. join staticDataType Cat on G.groupCat=Cat.typeID
  156. join staticDataValue Det on G.groupDetail =Det.valueId
  157. join applicationUsers Au on Au.userId = G.userId
  158. WHERE isnull(G.isDeleted,''N'') <> ''Y''
  159. '
  160. SET @sql_filter = ''
  161. SET @select_field_list = '
  162. rowID
  163. ,ValueId
  164. ,GroupCat
  165. ,SubGroup
  166. ,userName
  167. ,createdBy
  168. ,createdDate
  169. ,userId
  170. '
  171. IF @GroupCat IS NOT NULL
  172. SET @sql_filter = @sql_filter + ' AND GroupCat LIKE ''' + @GroupCat + '%'''
  173. IF @userId IS NOT NULL
  174. SET @sql_filter = @sql_filter + ' AND userId = ''' + CAST(@userId AS VARCHAR) + ''''
  175. SET @table = @table +') x '
  176. EXEC dbo.proc_paging
  177. @table
  178. ,@sql_filter
  179. ,@select_field_list
  180. ,@extra_field_list
  181. ,@sortBy
  182. ,@sortOrder
  183. ,@pageSize
  184. ,@pageNumber
  185. END
  186. END TRY
  187. BEGIN CATCH
  188. IF @@TRANCOUNT > 0
  189. ROLLBACK TRANSACTION
  190. DECLARE @errorMessage VARCHAR(MAX)
  191. SET @errorMessage = ERROR_MESSAGE()
  192. EXEC proc_errorHandler 1, @errorMessage, @rowid
  193. END CATCH
  194. GO