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.

209 lines
12 KiB

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