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.

241 lines
13 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_agentBankAccount] 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_agentBankAccount]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@abaId VARCHAR(30) = NULL
  12. ,@agentId INT = NULL
  13. ,@bankName VARCHAR(100) = NULL
  14. ,@bankBranch VARCHAR(100) = NULL
  15. ,@accountNo VARCHAR(30) = NULL
  16. ,@swiftCode VARCHAR(30) = NULL
  17. ,@routingNo VARCHAR(30) = NULL
  18. ,@bankNameB VARCHAR(100) = NULL
  19. ,@bankBranchB VARCHAR(100) = NULL
  20. ,@accountNoB VARCHAR(30) = NULL
  21. ,@swiftCodeB VARCHAR(30) = NULL
  22. ,@routingNoB VARCHAR(30) = NULL
  23. ,@isDefault VARCHAR(10) = NULL
  24. ,@sortBy VARCHAR(50) = NULL
  25. ,@sortOrder VARCHAR(5) = NULL
  26. ,@pageSize INT = NULL
  27. ,@pageNumber INT = NULL
  28. AS
  29. SET NOCOUNT ON
  30. SET XACT_ABORT ON
  31. BEGIN TRY
  32. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  33. DECLARE
  34. @sql VARCHAR(MAX)
  35. ,@oldValue VARCHAR(MAX)
  36. ,@newValue VARCHAR(MAX)
  37. ,@module VARCHAR(10)
  38. ,@tableAlias VARCHAR(100)
  39. ,@logIdentifier VARCHAR(50)
  40. ,@logParamMod VARCHAR(100)
  41. ,@logParamMain VARCHAR(100)
  42. ,@table VARCHAR(MAX)
  43. ,@select_field_list VARCHAR(MAX)
  44. ,@extra_field_list VARCHAR(MAX)
  45. ,@sql_filter VARCHAR(MAX)
  46. ,@modType VARCHAR(6)
  47. SELECT
  48. @logIdentifier = 'abaId'
  49. ,@logParamMain = 'agentBankAccount'
  50. ,@logParamMod = 'agentBankAccountMod'
  51. ,@module = '20'
  52. ,@tableAlias = 'Agent Bank Account'
  53. IF @flag = 'i'
  54. BEGIN
  55. --ALTER TABLE agentBankAccount ADD
  56. BEGIN TRANSACTION
  57. INSERT INTO agentBankAccount (
  58. agentId
  59. ,bankName
  60. ,bankBranch
  61. ,accountNo
  62. ,swiftCode
  63. ,routingNo
  64. ,bankNameB
  65. ,bankBranchB
  66. ,accountNoB
  67. ,swiftCodeB
  68. ,routingNoB
  69. ,isDefault
  70. ,createdBy
  71. ,createdDate
  72. )
  73. SELECT
  74. @agentId
  75. ,@bankName
  76. ,@bankBranch
  77. ,@accountNo
  78. ,@swiftCode
  79. ,@routingNo
  80. ,@bankNameB
  81. ,@bankBranchB
  82. ,@accountNoB
  83. ,@swiftCodeB
  84. ,@routingNoB
  85. ,@isDefault
  86. ,@user
  87. ,GETDATE()
  88. SET @modType = 'Insert'
  89. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @abaId , @newValue OUTPUT
  90. INSERT INTO #msg(errorCode, msg, id)
  91. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @abaId, @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 add new record.', @abaId
  97. RETURN
  98. END
  99. IF @@TRANCOUNT > 0
  100. COMMIT TRANSACTION
  101. EXEC proc_errorHandler 0, 'Record has been added successfully.', @abaId
  102. END
  103. ELSE IF @flag = 'a'
  104. BEGIN
  105. SELECT * FROM agentBankAccount WITH(NOLOCK) WHERE abaId = @abaId
  106. END
  107. ELSE IF @flag = 'u'
  108. BEGIN
  109. BEGIN TRANSACTION
  110. UPDATE agentBankAccount SET
  111. agentId = @agentId
  112. ,bankName = @bankName
  113. ,bankBranch = @bankBranch
  114. ,accountNo = @accountNo
  115. ,swiftCode = @swiftCode
  116. ,routingNo = @routingNo
  117. ,bankNameB = @bankNameB
  118. ,bankBranchB = @bankBranchB
  119. ,accountNoB = @accountNoB
  120. ,swiftCodeB = @swiftCodeB
  121. ,routingNoB = @routingNoB
  122. ,isDefault =@isDefault
  123. ,modifiedBy = @user
  124. ,modifiedDate = GETDATE()
  125. WHERE abaId = @abaId
  126. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @abaId, @newValue OUTPUT
  127. INSERT INTO #msg(errorCode, msg, id)
  128. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @abaId, @user, @oldValue, @newValue
  129. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  130. BEGIN
  131. IF @@TRANCOUNT > 0
  132. ROLLBACK TRANSACTION
  133. EXEC proc_errorHandler 1, 'Failed to update record.', @abaId
  134. RETURN
  135. END
  136. IF @@TRANCOUNT > 0
  137. COMMIT TRANSACTION
  138. EXEC proc_errorHandler 0, 'Record updated successfully.', @abaId
  139. END
  140. ELSE IF @flag = 'd'
  141. BEGIN
  142. BEGIN TRANSACTION
  143. UPDATE agentBankAccount SET
  144. isDeleted = 'Y'
  145. ,modifiedDate = GETDATE()
  146. ,modifiedBy = @user
  147. WHERE abaId = @abaId
  148. SET @modType = 'Delete'
  149. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @abaId, @oldValue OUTPUT
  150. INSERT INTO #msg(errorCode, msg, id)
  151. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @abaId, @user, @oldValue, @newValue
  152. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  153. BEGIN
  154. IF @@TRANCOUNT > 0
  155. ROLLBACK TRANSACTION
  156. EXEC proc_errorHandler 1, 'Failed to delete record.', @abaId
  157. RETURN
  158. END
  159. IF @@TRANCOUNT > 0
  160. COMMIT TRANSACTION
  161. EXEC proc_errorHandler 0, 'Record deleted successfully.', @abaId
  162. END
  163. ELSE IF @flag IN ('s')
  164. BEGIN
  165. IF @sortBy IS NULL
  166. SET @sortBy = 'abaId'
  167. IF @sortOrder IS NULL
  168. SET @sortOrder = 'ASC'
  169. SET @table = '(
  170. SELECT
  171. main.abaId
  172. ,main.agentId
  173. ,main.bankName
  174. ,main.bankBranch
  175. ,main.accountNo
  176. ,main.swiftCode
  177. ,main.routingNo
  178. ,main.bankNameB
  179. ,main.bankBranchB
  180. ,main.accountNoB
  181. ,main.swiftCodeB
  182. ,main.routingNoB
  183. ,main.isDefault
  184. ,main.createdBy
  185. ,main.createdDate
  186. ,main.isDeleted
  187. FROM agentBankAccount main WITH(NOLOCK)
  188. WHERE agentId = ' + CAST(@agentId AS VARCHAR) + '
  189. ) x'
  190. SET @sql_filter = ''
  191. SET @sql_filter = @sql_filter + ' AND ISNULL(isDeleted, '''') <> ''Y'''
  192. SET @select_field_list ='
  193. abaId
  194. ,agentId
  195. ,bankName
  196. ,bankBranch
  197. ,accountNo
  198. ,swiftCode
  199. ,routingNo
  200. ,bankNameB
  201. ,bankBranchB
  202. ,accountNoB
  203. ,swiftCodeB
  204. ,routingNoB
  205. ,isDefault
  206. ,createdBy
  207. ,createdDate
  208. ,isDeleted '
  209. EXEC dbo.proc_paging
  210. @table
  211. ,@sql_filter
  212. ,@select_field_list
  213. ,@extra_field_list
  214. ,@sortBy
  215. ,@sortOrder
  216. ,@pageSize
  217. ,@pageNumber
  218. END
  219. END TRY
  220. BEGIN CATCH
  221. IF @@TRANCOUNT > 0
  222. ROLLBACK TRANSACTION
  223. DECLARE @errorMessage VARCHAR(MAX)
  224. SET @errorMessage = ERROR_MESSAGE()
  225. EXEC proc_errorHandler 1, @errorMessage, @abaId
  226. END CATCH
  227. GO