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.

199 lines
11 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_ExternalBankCode] 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_ExternalBankCode]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@extBankCodeId VARCHAR(20) = NULL
  12. ,@agentId VARCHAR(20) = NULL
  13. ,@bankId VARCHAR(20) = NULL
  14. ,@externalCode VARCHAR(50) = NULL
  15. ,@agentName VARCHAR(100) =NULL
  16. ,@sortBy VARCHAR(50) = NULL
  17. ,@sortOrder VARCHAR(5) = NULL
  18. ,@pageSize INT = NULL
  19. ,@pageNumber INT = NULL
  20. AS
  21. SET NOCOUNT ON
  22. SET XACT_ABORT ON
  23. BEGIN TRY
  24. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  25. DECLARE
  26. @sql VARCHAR(MAX)
  27. ,@oldValue VARCHAR(MAX)
  28. ,@newValue VARCHAR(MAX)
  29. ,@module VARCHAR(10)
  30. ,@tableAlias VARCHAR(100)
  31. ,@logIdentifier VARCHAR(50)
  32. ,@logParamMod VARCHAR(100)
  33. ,@logParamMain VARCHAR(100)
  34. ,@table VARCHAR(MAX)
  35. ,@select_field_list VARCHAR(MAX)
  36. ,@extra_field_list VARCHAR(MAX)
  37. ,@sql_filter VARCHAR(MAX)
  38. ,@modType VARCHAR(6)
  39. SELECT
  40. @logIdentifier = 'extBankCodeId'
  41. ,@logParamMain = 'ExternalBankCode'
  42. ,@module = '20'
  43. ,@tableAlias = ''
  44. IF @flag = 'i'
  45. BEGIN
  46. BEGIN TRANSACTION
  47. INSERT INTO ExternalBankCode (
  48. agentId
  49. ,bankId
  50. ,externalCode
  51. ,createdBy
  52. ,createdDate
  53. )
  54. SELECT
  55. @agentId
  56. ,@bankId
  57. ,@externalCode
  58. ,@user
  59. ,GETDATE()
  60. SET @extBankCodeId = @@IDENTITY
  61. SET @modType = 'Insert'
  62. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @extBankCodeId, @newValue OUTPUT
  63. INSERT INTO #msg(errorCode, msg, id)
  64. EXEC proc_applicationLogs 'i', NULL, @modType, @logParamMain, @extBankCodeId, @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.', @extBankCodeId
  70. RETURN
  71. END
  72. IF @@TRANCOUNT > 0
  73. COMMIT TRANSACTION
  74. EXEC proc_errorHandler 0, 'Record has been added successfully.', @extBankCodeId
  75. END
  76. ELSE IF @flag = 'a'
  77. BEGIN
  78. SELECT
  79. exb.*,
  80. am.agentName
  81. FROM ExternalBankCode exb WITH(NOLOCK)
  82. INNER JOIN agentMaster am WITH(NOLOCK) ON am.agentId = exb.agentId
  83. WHERE exb.extBankCodeId = @extBankCodeId
  84. END
  85. ELSE IF @flag = 'u'
  86. BEGIN
  87. BEGIN TRANSACTION
  88. UPDATE ExternalBankCode SET
  89. agentId = @agentId
  90. ,bankId = @bankId
  91. ,externalCode = @externalCode
  92. ,modifiedBy = @user
  93. ,modifiedDate = GETDATE()
  94. WHERE extBankCodeId = @extBankCodeId
  95. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @extBankCodeId, @newValue OUTPUT
  96. INSERT INTO #msg(errorCode, msg, id)
  97. EXEC proc_applicationLogs 'i', NULL, @modType, @logParamMain, @extBankCodeId, @user, @oldValue, @newValue
  98. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  99. BEGIN
  100. IF @@TRANCOUNT > 0
  101. ROLLBACK TRANSACTION
  102. EXEC proc_errorHandler 1, 'Failed to update record.', @extBankCodeId
  103. RETURN
  104. END
  105. IF @@TRANCOUNT > 0
  106. COMMIT TRANSACTION
  107. EXEC proc_errorHandler 0, 'Record updated successfully.', @extBankCodeId
  108. END
  109. ELSE IF @flag = 'd'
  110. BEGIN
  111. BEGIN TRANSACTION
  112. UPDATE ExternalBankCode SET
  113. isDeleted = 'Y'
  114. ,modifiedDate = GETDATE()
  115. ,modifiedBy = @user
  116. WHERE extBankCodeId = @extBankCodeId
  117. SET @modType = 'Delete'
  118. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @extBankCodeId, @oldValue OUTPUT
  119. INSERT INTO #msg(errorCode, msg, id)
  120. EXEC proc_applicationLogs 'i', NULL, @modType, @logParamMain, @extBankCodeId, @user, @oldValue, @newValue
  121. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  122. BEGIN
  123. IF @@TRANCOUNT > 0
  124. ROLLBACK TRANSACTION
  125. EXEC proc_errorHandler 1, 'Failed to delete record.', @extBankCodeId
  126. RETURN
  127. END
  128. IF @@TRANCOUNT > 0
  129. COMMIT TRANSACTION
  130. EXEC proc_errorHandler 0, 'Record deleted successfully.', @extBankCodeId
  131. END
  132. ELSE IF @flag ='s'
  133. BEGIN
  134. IF @sortBy IS NULL
  135. SET @sortBy = 'extBankCodeId'
  136. IF @sortOrder IS NULL
  137. SET @sortOrder = 'ASC'
  138. SET @table = '(
  139. SELECT
  140. EBC.extBankCodeId
  141. ,EBC.externalCode
  142. ,AM.agentName
  143. ,EB.bankName
  144. ,EBC.createdBy
  145. ,EBC.createdDate
  146. ,EBC.isDeleted
  147. ,EBC.bankId
  148. FROM ExternalBankCode EBC WITH(NOLOCK)
  149. INNER JOIN agentMaster AM WITH (NOLOCK) ON AM.agentId = EBC.agentId
  150. INNER JOIN ExternalBank EB WITH (NOLOCK) ON EBC.bankId = EB.extBankId
  151. WHERE EBC.extBranchId is null
  152. ) x'
  153. SET @sql_filter = ''
  154. SET @sql_filter = @sql_filter + ' AND ISNULL(isDeleted, '''') <> ''Y'''
  155. IF @bankId IS NOT NULL
  156. SET @sql_filter = @sql_filter + ' AND bankId = '''+@bankId+''''
  157. IF @agentName IS NOT NULL
  158. SET @sql_filter = @sql_filter + ' AND agentName LIKE '''+@agentName+'%'''
  159. SET @select_field_list ='
  160. extBankCodeId
  161. ,externalCode
  162. ,agentName
  163. ,bankName
  164. ,createdBy
  165. ,createdDate'
  166. EXEC dbo.proc_paging
  167. @table
  168. ,@sql_filter
  169. ,@select_field_list
  170. ,@extra_field_list
  171. ,@sortBy
  172. ,@sortOrder
  173. ,@pageSize
  174. ,@pageNumber
  175. END
  176. END TRY
  177. BEGIN CATCH
  178. IF @@TRANCOUNT > 0
  179. ROLLBACK TRANSACTION
  180. DECLARE @errorMessage VARCHAR(MAX)
  181. SET @errorMessage = ERROR_MESSAGE()
  182. EXEC proc_errorHandler 1, @errorMessage, @extBankCodeId
  183. END CATCH
  184. GO