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.

230 lines
13 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_agentComMaster] 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_agentComMaster]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@COMM_ID VARCHAR(30) = NULL
  12. ,@COMM_NAME VARCHAR(200) = NULL
  13. ,@COMM_DESC VARCHAR(500) = NULL
  14. ,@IS_ACTIVE CHAR(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. ,@functionId INT
  38. ,@id VARCHAR(10)
  39. ,@modType VARCHAR(6)
  40. ,@verifyInsert CHAR(1)
  41. ,@verifyUpdate CHAR(1)
  42. ,@verifyDelete CHAR(1)
  43. SELECT
  44. @functionId = 0
  45. ,@logIdentifier = 'COMM_ID'
  46. ,@logParamMain = 'agentComMaster'
  47. ,@logParamMod = 'agentComMasterMod'
  48. ,@module = ''
  49. ,@tableAlias = ''
  50. IF @flag = 'i'
  51. BEGIN
  52. BEGIN TRANSACTION
  53. INSERT INTO agentComMaster (
  54. COMM_NAME
  55. ,COMM_DESC
  56. ,IS_ACTIVE
  57. ,created_By
  58. ,created_Date
  59. )
  60. SELECT
  61. @COMM_NAME
  62. ,@COMM_DESC
  63. ,@IS_ACTIVE
  64. ,@user
  65. ,GETDATE()
  66. SET @id = SCOPE_IDENTITY()
  67. IF @verifyInsert = 'N'
  68. BEGIN
  69. UPDATE agentComMaster SET
  70. approved_By= 'system'
  71. ,approved_Date= GETDATE()
  72. WHERE COMM_ID = @id
  73. SET @modType = 'Insert'
  74. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @COMM_ID , @newValue OUTPUT
  75. INSERT INTO #msg(errorCode, msg, id)
  76. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @COMM_ID, @user, @oldValue, @newValue
  77. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  78. BEGIN
  79. IF @@TRANCOUNT > 0
  80. ROLLBACK TRANSACTION
  81. EXEC proc_errorHandler 1, 'Failed to add new record.', @COMM_ID
  82. RETURN
  83. END
  84. END
  85. IF @@TRANCOUNT > 0
  86. COMMIT TRANSACTION
  87. EXEC proc_errorHandler 0, 'Record has been added successfully.', @COMM_ID
  88. END
  89. ELSE IF @flag = 'a'
  90. BEGIN
  91. SELECT * FROM agentComMaster WITH(NOLOCK) WHERE COMM_ID = @COMM_ID
  92. END
  93. ELSE IF @flag = 's'
  94. BEGIN
  95. SELECT * FROM agentComMaster WITH(NOLOCK)
  96. END
  97. ELSE IF @flag = 'u'
  98. BEGIN
  99. IF EXISTS (
  100. SELECT 'X' FROM agentComMaster WITH(NOLOCK)
  101. WHERE COMM_ID = @COMM_ID AND ( created_By <> @user AND approved_By IS NULL)
  102. )
  103. BEGIN
  104. EXEC proc_errorHandler 1, '<center>You can not modify this record. <br /> You are trying to perform an illegal operation.</center>', @COMM_ID
  105. RETURN
  106. END
  107. BEGIN TRANSACTION
  108. IF EXISTS (SELECT 'X' FROM agentComMaster WHERE approved_By IS NULL AND COMM_ID = @COMM_ID)
  109. OR @verifyUpdate = 'N'
  110. BEGIN
  111. SET @modType = 'Insert'
  112. --Record in main table not approved yet
  113. IF EXISTS(SELECT 'X' FROM agentComMaster WHERE approved_By IS NOT NULL AND COMM_ID = @COMM_ID)
  114. BEGIN
  115. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @COMM_ID, @oldValue OUTPUT
  116. SET @modType = 'Update'
  117. END
  118. UPDATE agentComMaster SET
  119. COMM_NAME = @COMM_NAME
  120. ,COMM_DESC = @COMM_DESC
  121. ,IS_ACTIVE = @IS_ACTIVE
  122. ,modify_By = CASE WHEN @verifyUpdate = 'N' THEN @user ELSE modify_By END
  123. ,modify_Date = CASE WHEN @verifyUpdate = 'N' THEN GETDATE() ELSE modify_Date END
  124. WHERE COMM_ID = @COMM_ID
  125. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @COMM_ID, @newValue OUTPUT
  126. INSERT INTO #msg(errorCode, msg, id) EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @COMM_ID, @user, @oldValue, @newValue
  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 update record.', @COMM_ID
  132. RETURN
  133. END
  134. END
  135. IF @@TRANCOUNT > 0
  136. COMMIT TRANSACTION
  137. EXEC proc_errorHandler 0, 'Record updated successfully.', @COMM_ID
  138. END
  139. ELSE IF @flag = 'd'
  140. BEGIN
  141. IF EXISTS (
  142. SELECT 'X' FROM agentComMaster WITH(NOLOCK)
  143. WHERE COMM_ID = @COMM_ID AND (created_By <> @user AND approved_By IS NULL)
  144. )
  145. BEGIN
  146. EXEC proc_errorHandler 1, '<center>You can not delete this record. <br /> You are trying to perform an illegal operation.</center>', @COMM_ID
  147. RETURN
  148. END
  149. IF EXISTS (
  150. SELECT 'X' FROM agentComMasterMod WITH(NOLOCK)
  151. WHERE COMM_ID = @COMM_ID
  152. )
  153. BEGIN
  154. EXEC proc_errorHandler 1, '<center>You can not delete this record. <br /> Previous modification has not been approved yet.</center>', @COMM_ID
  155. RETURN
  156. END
  157. BEGIN TRANSACTION
  158. UPDATE agentComMaster SET
  159. is_Delete = 'Y'
  160. ,modify_Date = GETDATE()
  161. ,modify_By = @user
  162. WHERE COMM_ID = @COMM_ID
  163. SET @modType = 'Delete'
  164. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @COMM_ID, @oldValue OUTPUT
  165. INSERT INTO #msg(errorCode, msg, id)
  166. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @COMM_ID, @user, @oldValue, @newValue
  167. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  168. BEGIN
  169. IF @@TRANCOUNT > 0
  170. ROLLBACK TRANSACTION
  171. EXEC proc_errorHandler 1, 'Failed to delete record.', @COMM_ID
  172. RETURN
  173. END
  174. IF @@TRANCOUNT > 0
  175. COMMIT TRANSACTION
  176. EXEC proc_errorHandler 0, 'Record deleted successfully.', @COMM_ID
  177. END
  178. END TRY
  179. BEGIN CATCH
  180. IF @@TRANCOUNT > 0
  181. ROLLBACK TRANSACTION
  182. DECLARE @errorMessage VARCHAR(MAX)
  183. SET @errorMessage = ERROR_MESSAGE()
  184. EXEC proc_errorHandler 1, @errorMessage, @COMM_ID
  185. END CATCH
  186. GO