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.

172 lines
9.3 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_agentFinancialService] 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_agentFinancialService]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@afsId VARCHAR(30) = NULL
  12. ,@agentId INT = NULL
  13. ,@fService INT = NULL
  14. ,@serviceList VARCHAR(MAX) = NULL
  15. ,@sortBy VARCHAR(50) = NULL
  16. ,@sortOrder VARCHAR(5) = NULL
  17. ,@pageSize INT = NULL
  18. ,@pageNumber INT = NULL
  19. AS
  20. SET NOCOUNT ON
  21. SET XACT_ABORT ON
  22. BEGIN TRY
  23. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  24. DECLARE
  25. @sql VARCHAR(MAX)
  26. ,@oldValue VARCHAR(MAX)
  27. ,@newValue VARCHAR(MAX)
  28. ,@module VARCHAR(10)
  29. ,@tableAlias VARCHAR(100)
  30. ,@logIdentifier VARCHAR(50)
  31. ,@logParamMod VARCHAR(100)
  32. ,@logParamMain VARCHAR(100)
  33. ,@table VARCHAR(MAX)
  34. ,@select_field_list VARCHAR(MAX)
  35. ,@extra_field_list VARCHAR(MAX)
  36. ,@sql_filter VARCHAR(MAX)
  37. ,@modType VARCHAR(6)
  38. SELECT
  39. @logIdentifier = 'afsId'
  40. ,@logParamMain = 'agentFinancialService'
  41. ,@logParamMod = 'agentFinancialServiceMod'
  42. ,@module = '20'
  43. ,@tableAlias = ''
  44. IF @flag IN ('i', 'u')
  45. BEGIN
  46. SET @sql = 'SELECT
  47. agentId = ' + CAST(@agentId AS VARCHAR) + '
  48. ,valueId
  49. ,createdBy = ''' + @user + '''
  50. ,createdDate = GETDATE()
  51. ,approvedBy = ''system''
  52. ,approvedDate = GETDATE()
  53. FROM staticDataValue
  54. WHERE typeId = 4400 AND valueId IN(' + @serviceList + ')
  55. '
  56. BEGIN TRANSACTION
  57. --DELETE FROM rsList WHERE agentId = @agentId AND agentRole = @agentRole
  58. INSERT INTO agentFinancialService (
  59. agentId
  60. ,fService
  61. ,createdBy
  62. ,createdDate
  63. ,approvedBy
  64. ,approvedDate
  65. )
  66. EXEC (@sql)
  67. SET @modType = CASE WHEN @flag = 'i' THEN 'Insert' ELSE 'Update' END
  68. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @afsId , @newValue OUTPUT
  69. INSERT INTO #msg(errorCode, msg, id)
  70. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @afsId, @user, @oldValue, @newValue
  71. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  72. BEGIN
  73. IF @@TRANCOUNT > 0
  74. ROLLBACK TRANSACTION
  75. EXEC proc_errorHandler 1, 'Failed to add new record.', @afsId
  76. RETURN
  77. END
  78. IF @@TRANCOUNT > 0
  79. COMMIT TRANSACTION
  80. EXEC proc_errorHandler 0, 'Record has been added successfully.', @afsId
  81. END
  82. ELSE IF @flag = 'd'
  83. BEGIN
  84. BEGIN TRANSACTION
  85. DELETE FROM agentFinancialService WHERE afsId = @afsId
  86. SET @modType = 'Delete'
  87. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @afsId, @oldValue OUTPUT
  88. INSERT INTO #msg(errorCode, msg, id)
  89. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @afsId, @user, @oldValue, @newValue
  90. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  91. BEGIN
  92. IF @@TRANCOUNT > 0
  93. ROLLBACK TRANSACTION
  94. EXEC proc_errorHandler 1, 'Failed to delete record.', @afsId
  95. RETURN
  96. END
  97. IF @@TRANCOUNT > 0
  98. COMMIT TRANSACTION
  99. EXEC proc_errorHandler 0, 'Record deleted successfully.', @afsId
  100. END
  101. ELSE IF @flag IN ('s')
  102. BEGIN
  103. IF @sortBy IS NULL
  104. SET @sortBy = 'afsId'
  105. IF @sortOrder IS NULL
  106. SET @sortOrder = 'ASC'
  107. SET @table = '(
  108. SELECT
  109. main.afsId
  110. ,main.agentId
  111. ,main.fService
  112. ,service = sdv.detailTitle
  113. ,description = sdv.detailDesc
  114. ,main.createdBy
  115. ,main.createdDate
  116. ,main.isDeleted
  117. FROM agentFinancialService main WITH(NOLOCK)
  118. LEFT JOIN staticDataValue sdv WITH(NOLOCK) ON main.fService = sdv.valueId
  119. WHERE 1 = 1 AND main.agentId = ' + CAST(@agentId AS VARCHAR) + '
  120. ) x'
  121. SET @sql_filter = ''
  122. SET @sql_filter = @sql_filter + ' AND ISNULL(isDeleted, '''') <> ''Y'''
  123. SET @select_field_list ='
  124. afsId
  125. ,agentId
  126. ,fService
  127. ,service
  128. ,description
  129. ,createdBy
  130. ,createdDate
  131. ,isDeleted '
  132. EXEC dbo.proc_paging
  133. @table
  134. ,@sql_filter
  135. ,@select_field_list
  136. ,@extra_field_list
  137. ,@sortBy
  138. ,@sortOrder
  139. ,@pageSize
  140. ,@pageNumber
  141. END
  142. END TRY
  143. BEGIN CATCH
  144. IF @@TRANCOUNT > 0
  145. ROLLBACK TRANSACTION
  146. DECLARE @errorMessage VARCHAR(MAX)
  147. SET @errorMessage = ERROR_MESSAGE()
  148. EXEC proc_errorHandler 1, @errorMessage, @afsId
  149. END CATCH
  150. GO