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.

200 lines
11 KiB

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