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
12 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_enrollCommSetup] 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_enrollCommSetup]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@enrollCommId INT = NULL
  12. ,@agentId VARCHAR(30) = NULL
  13. ,@agentName VARCHAR(200) = NULL
  14. ,@commRate VARCHAR(10) = 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 = 'countryId'
  40. ,@logParamMain = 'countryMaster'
  41. ,@logParamMod = 'countryMasterMod'
  42. ,@module = '20'
  43. ,@tableAlias = 'Country Master'
  44. IF @flag = 'i'
  45. BEGIN
  46. IF EXISTS(SELECT 'X' FROM enrollcommsetup WITH(NOLOCK) WHERE agentId = @agentId AND ISNULL(isDeleted, 'N') <> 'Y')
  47. BEGIN
  48. EXEC proc_errorHandler 1, 'Enroll Commission Rate already exists', NULL
  49. RETURN
  50. END
  51. BEGIN TRANSACTION
  52. INSERT INTO enrollcommsetup (
  53. agentId
  54. ,commRate
  55. ,createdBy
  56. ,createdDate
  57. )
  58. SELECT
  59. @agentId
  60. ,@commRate
  61. ,@user
  62. ,GETDATE()
  63. SET @modType = 'Insert'
  64. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @enrollCommId , @newValue OUTPUT
  65. INSERT INTO #msg(errorCode, msg, id)
  66. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @enrollCommId, @user, @oldValue, @newValue
  67. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  68. BEGIN
  69. IF @@TRANCOUNT > 0
  70. ROLLBACK TRANSACTION
  71. EXEC proc_errorHandler 1, 'Failed to add new record.', @enrollCommId
  72. RETURN
  73. END
  74. IF @@TRANCOUNT > 0
  75. COMMIT TRANSACTION
  76. EXEC proc_errorHandler 0, 'Record has been added successfully.', @enrollCommId
  77. END
  78. ELSE IF @flag = 'a'
  79. BEGIN
  80. SELECT enrollCommId,a.agentId,commRate,B.agentName
  81. FROM enrollcommsetup a WITH(NOLOCK) INNER JOIN agentMaster B WITH(NOLOCK)
  82. ON a.agentId=B.agentId WHERE enrollCommId = @enrollCommId
  83. END
  84. ELSE IF @flag = 'u'
  85. BEGIN
  86. BEGIN TRANSACTION
  87. UPDATE
  88. enrollcommsetup SET
  89. agentId = @agentId
  90. ,commRate = @commRate
  91. ,modifiedBy = @user
  92. ,modifiedDate = GETDATE()
  93. WHERE enrollCommId = @enrollCommId
  94. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @enrollCommId, @newValue OUTPUT
  95. INSERT INTO #msg(errorCode, msg, id)
  96. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @enrollCommId, @user, @oldValue, @newValue
  97. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  98. BEGIN
  99. IF @@TRANCOUNT > 0
  100. ROLLBACK TRANSACTION
  101. EXEC proc_errorHandler 1, 'Failed to update record.', @enrollCommId
  102. RETURN
  103. END
  104. IF @@TRANCOUNT > 0
  105. COMMIT TRANSACTION
  106. EXEC proc_errorHandler 0, 'Record updated successfully.', @enrollCommId
  107. END
  108. ELSE IF @flag = 'd'
  109. BEGIN
  110. BEGIN TRANSACTION
  111. UPDATE enrollcommsetup SET
  112. isDeleted = 'Y'
  113. ,modifiedDate = GETDATE()
  114. ,modifiedBy = @user
  115. WHERE enrollCommId = @enrollCommId
  116. SET @modType = 'Delete'
  117. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @enrollCommId, @oldValue OUTPUT
  118. INSERT INTO #msg(errorCode, msg, id)
  119. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @enrollCommId, @user, @oldValue, @newValue
  120. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  121. BEGIN
  122. IF @@TRANCOUNT > 0
  123. ROLLBACK TRANSACTION
  124. EXEC proc_errorHandler 1, 'Failed to delete record.', @enrollCommId
  125. RETURN
  126. END
  127. IF @@TRANCOUNT > 0
  128. COMMIT TRANSACTION
  129. EXEC proc_errorHandler 0, 'Record deleted successfully.', @enrollCommId
  130. END
  131. ELSE IF @flag IN ('s')
  132. BEGIN
  133. IF @sortBy IS NULL
  134. SET @sortBy = 'enrollCommId'
  135. IF @sortOrder IS NULL
  136. SET @sortOrder = 'ASC'
  137. SET @table = '(
  138. SELECT
  139. main.enrollCommId
  140. ,main.agentId
  141. ,agentName=case when am.agentName is null then ''All Agent'' else am.agentName end
  142. ,main.commRate
  143. ,main.createdBy
  144. ,main.createdDate
  145. ,main.isDeleted
  146. FROM enrollcommsetup main WITH(NOLOCK) left join agentMaster am on am.agentId=main.agentId
  147. WHERE 1 = 1
  148. ) x'
  149. SET @sql_filter = ''
  150. SET @sql_filter = @sql_filter + ' AND ISNULL(isDeleted, '''') <> ''Y'''
  151. IF @agentId IS NOT NULL
  152. SET @sql_filter = @sql_filter + ' AND agentId = ''' + @agentId + ''''
  153. IF @agentName IS NOT NULL
  154. SET @sql_filter = @sql_filter + ' AND ISNULL(agentName, '''') LIKE ''%' + @agentName + '%'''
  155. IF @commRate IS NOT NULL
  156. SET @sql_filter = @sql_filter + ' AND commRate = ''' + @commRate + ''''
  157. SET @select_field_list ='
  158. enrollCommId
  159. ,agentId
  160. ,agentName
  161. ,commRate
  162. ,createdBy
  163. ,createdDate
  164. ,isDeleted '
  165. EXEC dbo.proc_paging
  166. @table
  167. ,@sql_filter
  168. ,@select_field_list
  169. ,@extra_field_list
  170. ,@sortBy
  171. ,@sortOrder
  172. ,@pageSize
  173. ,@pageNumber
  174. END
  175. END TRY
  176. BEGIN CATCH
  177. IF @@TRANCOUNT > 0
  178. ROLLBACK TRANSACTION
  179. DECLARE @errorMessage VARCHAR(MAX)
  180. SET @errorMessage = ERROR_MESSAGE()
  181. EXEC proc_errorHandler 1, @errorMessage, @enrollCommId
  182. END CATCH
  183. GO