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.

267 lines
16 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_passwordFormat] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. /*
  9. IF EXISTS (SELECT 'x' FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[proc_passwordFormat]') AND TYPE IN (N'P', N'PC'))
  10. DROP PROCEDURE [dbo].proc_passwordFormat
  11. GO
  12. */
  13. CREATE proc [dbo].[proc_passwordFormat]
  14. @flag VARCHAR(50) = NULL
  15. ,@user VARCHAR(30) = NULL
  16. ,@rowId VARCHAR(30) = NULL
  17. ,@loginAttemptCount INT = NULL
  18. ,@minPwdLength INT = NULL
  19. ,@pwdHistoryNum INT = NULL
  20. ,@specialCharNo INT = NULL
  21. ,@numericNo INT = NULL
  22. ,@capNo INT = NULL
  23. ,@lockUserDays FLOAT = NULL
  24. ,@invalidControlNoForDay INT = NULL
  25. ,@invalidControlNoContinous INT = NULL
  26. ,@operationTimeFrom TIME = NULL
  27. ,@operationTimeTo TIME = NULL
  28. ,@globalOperationTimeEnable CHAR(1) = NULL
  29. ,@isActive CHAR(1) = NULL
  30. ,@sortBy VARCHAR(50) = NULL
  31. ,@sortOrder VARCHAR(5) = NULL
  32. ,@pageSize INT = NULL
  33. ,@pageNumber INT = NULL
  34. AS
  35. SET NOCOUNT ON
  36. SET XACT_ABORT ON
  37. BEGIN TRY
  38. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  39. DECLARE
  40. @sql VARCHAR(MAX)
  41. ,@oldValue VARCHAR(MAX)
  42. ,@newValue VARCHAR(MAX)
  43. ,@module VARCHAR(10)
  44. ,@tableAlias VARCHAR(100)
  45. ,@logIdentifier VARCHAR(50)
  46. ,@logParamMod VARCHAR(100)
  47. ,@logParamMain VARCHAR(100)
  48. ,@table VARCHAR(MAX)
  49. ,@select_field_list VARCHAR(MAX)
  50. ,@extra_field_list VARCHAR(MAX)
  51. ,@sql_filter VARCHAR(MAX)
  52. ,@modType VARCHAR(6)
  53. SELECT
  54. @logIdentifier = 'rowId'
  55. ,@logParamMain = 'passwordFormat'
  56. ,@logParamMod = 'passwordFormatMod'
  57. ,@module = '10'
  58. ,@tableAlias = ''
  59. IF @flag = 'i'
  60. BEGIN
  61. BEGIN TRANSACTION
  62. IF NOT EXISTS(SELECT 'X' FROM passwordFormat)
  63. BEGIN
  64. INSERT INTO passwordFormat (
  65. loginAttemptCount
  66. ,minPwdLength
  67. ,pwdHistoryNum
  68. ,specialCharNo
  69. ,numericNo
  70. ,capNo
  71. ,invControlNoForDay
  72. ,invControlNoContinous
  73. ,lockUserDays
  74. ,operationTimeFrom
  75. ,operationTimeTo
  76. ,globalOperationTimeEnable
  77. ,isActive
  78. ,createdBy
  79. ,createdDate
  80. )
  81. SELECT
  82. @loginAttemptCount
  83. ,@minPwdLength
  84. ,@pwdHistoryNum
  85. ,@specialCharNo
  86. ,@numericNo
  87. ,@capNo
  88. ,@invalidControlNoForDay
  89. ,@invalidControlNoContinous
  90. ,@lockUserDays
  91. ,@operationTimeFrom
  92. ,@operationTimeTo
  93. ,@globalOperationTimeEnable
  94. ,@isActive
  95. ,@user
  96. ,GETDATE()
  97. SET @rowId = SCOPE_IDENTITY()
  98. SET @modType = 'Insert'
  99. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId , @newValue OUTPUT
  100. INSERT INTO #msg(errorCode, msg, id)
  101. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  102. END
  103. ELSE
  104. BEGIN
  105. UPDATE passwordFormat SET
  106. loginAttemptCount = @loginAttemptCount
  107. ,minPwdLength = @minPwdLength
  108. ,pwdHistoryNum = @pwdHistoryNum
  109. ,specialCharNo = @specialCharNo
  110. ,numericNo = @numericNo
  111. ,capNo = @capNo
  112. ,invControlNoForDay = @invalidControlNoForDay
  113. ,invControlNoContinous = @invalidControlNoContinous
  114. ,lockUserDays = @lockUserDays
  115. ,isActive = @isActive
  116. ,operationTimeFrom = @operationTimeFrom
  117. ,operationTimeTo = @operationTimeTo
  118. ,globalOperationTimeEnable = @globalOperationTimeEnable
  119. ,modifiedBy = @user
  120. ,modifiedDate = GETDATE()
  121. WHERE 1 = 1
  122. SET @rowId = SCOPE_IDENTITY()
  123. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId, @newValue OUTPUT
  124. INSERT INTO #msg(errorCode, msg, id)
  125. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  126. END
  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 = 'a'
  139. BEGIN
  140. SELECT *, isActive1 = ISNULL(isActive, 'N') FROM passwordFormat WITH(NOLOCK)
  141. END
  142. ELSE IF @flag = 'u'
  143. BEGIN
  144. BEGIN TRANSACTION
  145. UPDATE passwordFormat SET
  146. loginAttemptCount = @loginAttemptCount
  147. ,minPwdLength = @minPwdLength
  148. ,pwdHistoryNum = @pwdHistoryNum
  149. ,specialCharNo = @specialCharNo
  150. ,numericNo = @numericNo
  151. ,capNo = @capNo
  152. ,invControlNoForDay = @invalidControlNoForDay
  153. ,invControlNoContinous = @invalidControlNoContinous
  154. ,lockUserDays = @lockUserDays
  155. ,operationTimeFrom = @operationTimeFrom
  156. ,operationTimeTo = @operationTimeTo
  157. ,globalOperationTimeEnable = @globalOperationTimeEnable
  158. ,isActive = @isActive
  159. ,modifiedBy = @user
  160. ,modifiedDate = GETDATE()
  161. WHERE rowId = @rowId
  162. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId, @newValue OUTPUT
  163. INSERT INTO #msg(errorCode, msg, id)
  164. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  165. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  166. BEGIN
  167. IF @@TRANCOUNT > 0
  168. ROLLBACK TRANSACTION
  169. EXEC proc_errorHandler 1, 'Failed to update record.', @rowId
  170. RETURN
  171. END
  172. IF @@TRANCOUNT > 0
  173. COMMIT TRANSACTION
  174. EXEC proc_errorHandler 0, 'Record updated successfully.', @rowId
  175. END
  176. ELSE IF @flag = 'd'
  177. BEGIN
  178. BEGIN TRANSACTION
  179. UPDATE passwordFormat SET
  180. isDeleted = 'Y'
  181. ,modifiedDate = GETDATE()
  182. ,modifiedBy = @user
  183. WHERE rowId = @rowId
  184. SET @modType = 'Delete'
  185. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId, @oldValue OUTPUT
  186. INSERT INTO #msg(errorCode, msg, id)
  187. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  188. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  189. BEGIN
  190. IF @@TRANCOUNT > 0
  191. ROLLBACK TRANSACTION
  192. EXEC proc_errorHandler 1, 'Failed to delete record.', @rowId
  193. RETURN
  194. END
  195. IF @@TRANCOUNT > 0
  196. COMMIT TRANSACTION
  197. EXEC proc_errorHandler 0, 'Record deleted successfully.', @rowId
  198. END
  199. ELSE IF @flag IN ('s')
  200. BEGIN
  201. IF @sortBy IS NULL
  202. SET @sortBy = 'rowId'
  203. IF @sortOrder IS NULL
  204. SET @sortOrder = 'ASC'
  205. SET @table = '(
  206. SELECT
  207. main.loginAttemptCount
  208. ,main.minPwdLength
  209. ,main.pwdHistoryNum
  210. ,main.specialCharNo
  211. ,main.numericNo
  212. ,main.capNo
  213. ,main.invControlNoForDay
  214. ,main.invControlNoContinous
  215. ,main.lockUserDays
  216. ,main.createdBy
  217. ,main.createdDate
  218. ,main.isDeleted
  219. FROM passwordFormat main WITH(NOLOCK)
  220. WHERE 1 = 1
  221. ) x'
  222. SET @sql_filter = ''
  223. SET @sql_filter = @sql_filter + ' AND ISNULL(isDeleted, '''') <> ''Y'''
  224. SET @select_field_list ='
  225. loginAttemptCount
  226. ,minPwdLength
  227. ,pwdHistoryNum
  228. ,specialCharNo
  229. ,numericNo
  230. ,capNo
  231. ,invControlNoForDay
  232. ,invControlNoContinous
  233. ,lockUserDays
  234. ,createdBy
  235. ,createdDate
  236. ,isDeleted '
  237. EXEC dbo.proc_paging
  238. @table
  239. ,@sql_filter
  240. ,@select_field_list
  241. ,@extra_field_list
  242. ,@sortBy
  243. ,@sortOrder
  244. ,@pageSize
  245. ,@pageNumber
  246. END
  247. END TRY
  248. BEGIN CATCH
  249. IF @@TRANCOUNT > 0
  250. ROLLBACK TRANSACTION
  251. DECLARE @errorMessage VARCHAR(MAX)
  252. SET @errorMessage = ERROR_MESSAGE()
  253. EXEC proc_errorHandler 1, @errorMessage, @rowId
  254. END CATCH
  255. GO