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.

179 lines
9.9 KiB

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