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.

203 lines
10 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_userZoneMapping] 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_userZoneMapping]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@rowId INT = NULL
  12. ,@zoneName VARCHAR(100) = NULL
  13. ,@userName VARCHAR(50) = NULL
  14. ,@sortBy VARCHAR(50) = NULL
  15. ,@sortOrder VARCHAR(5) = NULL
  16. ,@pageSize INT = NULL
  17. ,@pageNumber INT = NULL
  18. AS
  19. SET NOCOUNT ON
  20. SET XACT_ABORT ON
  21. BEGIN TRY
  22. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  23. DECLARE
  24. @sql VARCHAR(MAX)
  25. ,@oldValue VARCHAR(MAX)
  26. ,@newValue VARCHAR(MAX)
  27. ,@module VARCHAR(10)
  28. ,@tableAlias VARCHAR(100)
  29. ,@logIdentifier VARCHAR(50)
  30. ,@logParamMod VARCHAR(100)
  31. ,@logParamMain VARCHAR(100)
  32. ,@table VARCHAR(MAX)
  33. ,@select_field_list VARCHAR(MAX)
  34. ,@extra_field_list VARCHAR(MAX)
  35. ,@sql_filter VARCHAR(MAX)
  36. ,@modType VARCHAR(6)
  37. ,@errorMsg VARCHAR(MAX)
  38. IF @flag = 'a'
  39. BEGIN
  40. SELECT * FROM userZoneMapping WITH (NOLOCK)
  41. WHERE id = @rowId
  42. END
  43. IF @flag = 'd'
  44. BEGIN
  45. BEGIN TRANSACTION
  46. UPDATE userZoneMapping SET isDeleted ='Y'
  47. , modifiedBy=@user
  48. , modifiedDate=GETDATE()
  49. WHERE id = @rowId
  50. INSERT INTO #msg(errorCode, msg, id)
  51. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  52. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  53. BEGIN
  54. IF @@TRANCOUNT > 0
  55. ROLLBACK TRANSACTION
  56. EXEC proc_errorHandler 1, 'Failed to delete record.', @rowid
  57. RETURN
  58. END
  59. IF @@TRANCOUNT > 0
  60. COMMIT TRANSACTION
  61. EXEC proc_errorHandler 0, 'Record has been deleted successfully.', @rowid
  62. END
  63. IF @flag = 'u'
  64. BEGIN
  65. IF EXISTS(SELECT 'A' FROM userZoneMapping WITH(NOLOCK) WHERE userName = @userName AND zoneName = @zoneName AND id <> @rowid AND ISNULL(isDeleted,'N') <> 'Y')
  66. BEGIN
  67. EXEC proc_errorHandler 1, 'Record already added.', @rowid
  68. RETURN
  69. END
  70. BEGIN TRANSACTION
  71. UPDATE userZoneMapping
  72. SET
  73. userName = @userName,
  74. zoneName=@zoneName,
  75. modifiedBy=@user,
  76. modifiedDate=GETDATE()
  77. WHERE id = @rowid
  78. INSERT INTO #msg(errorCode, msg, id)
  79. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  80. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  81. BEGIN
  82. IF @@TRANCOUNT > 0
  83. ROLLBACK TRANSACTION
  84. EXEC proc_errorHandler 1, 'Failed to update record.', @rowid
  85. RETURN
  86. END
  87. IF @@TRANCOUNT > 0
  88. COMMIT TRANSACTION
  89. EXEC proc_errorHandler 0, 'Record has been updated successfully.', @rowid
  90. END
  91. IF @flag = 'i'
  92. BEGIN
  93. IF EXISTS(SELECT 'A' FROM userZoneMapping WHERE userName = @userName AND zoneName = @zoneName AND ISNULL(isDeleted,'N') <> 'Y')
  94. BEGIN
  95. EXEC proc_errorHandler 1, 'Record already added.', @rowid
  96. RETURN
  97. END
  98. BEGIN TRANSACTION
  99. INSERT INTO userZoneMapping
  100. (
  101. userName
  102. ,zoneName
  103. ,createdBy
  104. ,createdDate
  105. )
  106. SELECT
  107. @userName
  108. ,@zoneName
  109. ,@user
  110. ,GETDATE()
  111. SET @rowid = SCOPE_IDENTITY()
  112. INSERT INTO #msg(errorCode, msg, id)
  113. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @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.', @rowid
  119. RETURN
  120. END
  121. IF @@TRANCOUNT > 0
  122. COMMIT TRANSACTION
  123. EXEC proc_errorHandler 0, 'Record has been added successfully.', @rowid
  124. END
  125. IF @flag = 's'
  126. BEGIN
  127. IF @sortBy IS NULL
  128. SET @sortBy = 'createdDate'
  129. IF @sortOrder IS NULL
  130. SET @sortOrder = 'DESC'
  131. SET @table = '(
  132. SELECT
  133. zm.id
  134. ,zm.userName
  135. ,userFullName = au.firstName+'' ''+ISNULL(au.middleName,'''')+ '' ''+au.lastName
  136. ,zm.zoneName
  137. ,zm.createdBy
  138. ,zm.createdDate
  139. FROM userZoneMapping zm with(nolock)
  140. join applicationUsers au on au.userName = zm.userName
  141. WHERE isnull(zm.isDeleted,''N'') <> ''Y'''
  142. SET @sql_filter = ''
  143. SET @select_field_list = '
  144. id
  145. ,userName
  146. ,userFullName
  147. ,zoneName
  148. ,createdBy
  149. ,createdDate
  150. '
  151. IF @userName IS NOT NULL
  152. SET @sql_filter = @sql_filter + ' AND userName = ''' + @userName + ''''
  153. IF @zoneName IS NOT NULL
  154. SET @sql_filter = @sql_filter + ' AND zoneName = ''' + @zoneName + ''''
  155. SET @table = @table +') x '
  156. EXEC dbo.proc_paging
  157. @table
  158. ,@sql_filter
  159. ,@select_field_list
  160. ,@extra_field_list
  161. ,@sortBy
  162. ,@sortOrder
  163. ,@pageSize
  164. ,@pageNumber
  165. END
  166. END TRY
  167. BEGIN CATCH
  168. IF @@TRANCOUNT > 0
  169. ROLLBACK TRANSACTION
  170. DECLARE @errorMessage VARCHAR(MAX)
  171. SET @errorMessage = ERROR_MESSAGE()
  172. EXEC proc_errorHandler 1, @errorMessage, @rowid
  173. END CATCH
  174. GO