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.

293 lines
17 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_externalBank] 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_externalBank]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@extBankId INT = NULL
  12. ,@bankName VARCHAR(250) = NULL
  13. ,@bankCode VARCHAR(50) = NULL
  14. ,@country VARCHAR(50) = NULL
  15. ,@address VARCHAR(500) = NULL
  16. ,@phone VARCHAR(20) = NULL
  17. ,@fax VARCHAR(20) = NULL
  18. ,@email VARCHAR(100) = NULL
  19. ,@contactPerson VARCHAR(100) = NULL
  20. ,@swiftCode VARCHAR(50) = NULL
  21. ,@routingCode VARCHAR(50) = NULL
  22. ,@externalCode VARCHAR(50) = NULL
  23. ,@internalCode VARCHAR(50) = NULL
  24. ,@domInternalCode VARCHAR(50) = NULL
  25. ,@externalBankType INT = NULL
  26. ,@IsBranchSelectionRequired VARCHAR(20) = NULL
  27. ,@receivingMode INT = NULL
  28. ,@isDeleted CHAR(1) = NULL
  29. ,@createdDate DATETIME = NULL
  30. ,@createdBy VARCHAR(100) = NULL
  31. ,@modifiedDate DATETIME = NULL
  32. ,@modifiedBy varchar(100) = NULL
  33. ,@sortBy VARCHAR(50) = NULL
  34. ,@sortOrder VARCHAR(5) = NULL
  35. ,@pageSize INT = NULL
  36. ,@pageNumber INT = NULL
  37. ,@isBlocked varchar(20) = NULL
  38. AS
  39. SET NOCOUNT ON
  40. SET XACT_ABORT ON
  41. BEGIN TRY
  42. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  43. DECLARE
  44. @sql VARCHAR(MAX)
  45. ,@oldValue VARCHAR(MAX)
  46. ,@newValue VARCHAR(MAX)
  47. ,@module VARCHAR(10)
  48. ,@tableAlias VARCHAR(100)
  49. ,@logIdentifier VARCHAR(50)
  50. ,@logParamMod VARCHAR(100)
  51. ,@logParamMain VARCHAR(100)
  52. ,@table VARCHAR(MAX)
  53. ,@select_field_list VARCHAR(MAX)
  54. ,@extra_field_list VARCHAR(MAX)
  55. ,@sql_filter VARCHAR(MAX)
  56. ,@modType VARCHAR(6)
  57. SELECT
  58. @logIdentifier = 'extBankId'
  59. ,@tableAlias = ' External Bank'
  60. IF @flag = 'i'
  61. BEGIN
  62. --alter table externalBank add isBlocked char(1)
  63. BEGIN TRANSACTION
  64. INSERT INTO externalBank (
  65. bankName
  66. ,bankCode
  67. ,country
  68. ,address
  69. ,phone
  70. ,fax
  71. ,email
  72. ,contactPerson
  73. ,swiftCode
  74. ,routingCode
  75. ,externalCode
  76. ,internalCode
  77. ,externalBankType
  78. ,IsBranchSelectionRequired
  79. ,receivingMode
  80. ,isDeleted
  81. ,createdDate
  82. ,createdBy
  83. ,modifiedDate
  84. ,modifiedBy
  85. ,domInternalCode
  86. ,isBlocked )
  87. SELECT
  88. @bankName
  89. ,@bankCode
  90. ,@country
  91. ,@address
  92. ,@phone
  93. ,@fax
  94. ,@email
  95. ,@contactPerson
  96. ,@swiftCode
  97. ,@routingCode
  98. ,@externalCode
  99. ,@internalCode
  100. ,@externalBankType
  101. ,@IsBranchSelectionRequired
  102. ,@receivingMode
  103. ,@isDeleted
  104. ,GETDATE()
  105. ,@user
  106. ,@modifiedDate
  107. ,@modifiedBy
  108. ,@domInternalCode
  109. ,@isBlocked
  110. SET @modType = 'Insert'
  111. SET @extBankId = @@IDENTITY
  112. EXEC [dbo].proc_GetColumnToRow @tableAlias, @logIdentifier, @extBankId, @newValue OUTPUT
  113. INSERT INTO #msg(errorCode, msg, id)
  114. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @extBankId, @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 update record.', @extBankId
  120. RETURN
  121. END
  122. IF @@TRANCOUNT > 0
  123. COMMIT TRANSACTION
  124. EXEC proc_errorHandler 0, 'Record has been added successfully.', @extBankId
  125. RETURN
  126. END
  127. ELSE IF @flag = 'a'
  128. BEGIN
  129. SELECT * from externalBank WITH(NOLOCK) where extBankId = @extBankId
  130. RETURN
  131. END
  132. ELSE IF @flag = 'u'
  133. BEGIN
  134. BEGIN TRANSACTION
  135. UPDATE externalBank SET
  136. bankName = @bankName
  137. ,bankCode = @bankCode
  138. ,country = @country
  139. ,address = @address
  140. ,phone = @phone
  141. ,fax = @fax
  142. ,email = @email
  143. ,contactPerson = @contactPerson
  144. ,swiftCode = @swiftCode
  145. ,routingCode = @routingCode
  146. ,externalCode = @externalCode
  147. ,internalCode = @internalCode
  148. ,externalBankType = @externalBankType
  149. ,IsBranchSelectionRequired = @IsBranchSelectionRequired
  150. ,receivingMode = @receivingMode
  151. ,modifiedDate = GETDATE()
  152. ,modifiedBy = @user
  153. ,domInternalCode = @domInternalCode
  154. ,isBlocked = @isBlocked
  155. WHERE extBankId = @extBankId
  156. SET @modType = 'Update'
  157. EXEC [dbo].proc_GetColumnToRow @tableAlias, @logIdentifier, @extBankId, @newValue OUTPUT
  158. INSERT INTO #msg(errorCode, msg, id)
  159. EXEC proc_applicationLogs 'u', NULL, @modType, @tableAlias, @extBankId, @user, @oldValue, @newValue
  160. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  161. BEGIN
  162. IF @@TRANCOUNT > 0
  163. ROLLBACK TRANSACTION
  164. EXEC proc_errorHandler 1, 'Failed to update record.', @extBankId
  165. RETURN
  166. END
  167. IF @@TRANCOUNT > 0
  168. COMMIT TRANSACTION
  169. EXEC proc_errorHandler 0, 'Record updated successfully.', @extBankId
  170. return
  171. END
  172. ELSE IF @flag = 'd'
  173. BEGIN
  174. BEGIN TRANSACTION
  175. UPDATE externalBank SET
  176. isDeleted = 'Y'
  177. ,modifiedDate = GETDATE()
  178. ,modifiedBy = @user
  179. WHERE extBankId = @extBankId
  180. SET @modType = 'Delete'
  181. EXEC [dbo].proc_GetColumnToRow @tableAlias, @logIdentifier, @extBankId, @newValue OUTPUT
  182. INSERT INTO #msg(errorCode, msg, id)
  183. EXEC proc_applicationLogs 'u', NULL, @modType, @tableAlias, @extBankId, @user, @oldValue, @newValue
  184. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  185. BEGIN
  186. IF @@TRANCOUNT > 0
  187. ROLLBACK TRANSACTION
  188. EXEC proc_errorHandler 1, 'Failed to update record.', @extBankId
  189. RETURN
  190. END
  191. IF @@TRANCOUNT > 0
  192. COMMIT TRANSACTION
  193. EXEC proc_errorHandler 0, 'Record deleted successfully.', @extBankId
  194. return
  195. END
  196. ELSE IF @flag = 's'
  197. BEGIN
  198. IF @sortBy IS NULL
  199. SET @sortBy = 'extBankId'
  200. IF @sortOrder IS NULL
  201. SET @sortOrder = 'ASC'
  202. SET @table = '( SELECT
  203. extBankId
  204. ,bankName
  205. ,bankCode = externalCode
  206. ,country = main.country
  207. ,address
  208. ,phone
  209. ,fax
  210. ,email
  211. ,contactPerson
  212. ,internalCode
  213. ,domInternalCode
  214. ,externalCode
  215. ,externalBankType =externalBankType
  216. ,swiftCode =swiftCode
  217. ,agentBankcode =ISNULL(CASE WHEN detailTitle=''Agent Specific'' THEN ''<a href="AgentWiseBankCodeStup/List.aspx?parentId=''+CAST(extBankId AS VARCHAR)+''&bankName=''+bankName+''" title="Agent Bankcode"><img src="../../../Images/branch.png" border=0 />Agent Bankcode</a>'' END,'''')
  218. +'' ''+ISNULL( CASE WHEN IsBranchSelectionRequired=''Select'' THEN ''<a href="ListBranch.aspx?bankName=''+bankName+''&parentId=''+CAST(extBankId AS VARCHAR)+''" title=Branches><img src="../../../Images/branch.png" border=0 />Branches</a>'' END,'''')
  219. ,isBlocked=ISNULL(main.isBlocked,''N'')
  220. FROM externalBank main WITH(NOLOCK)
  221. LEFT JOIN staticDataValue sdv WITH(NOLOCK) ON sdv.valueId = main.externalBankType
  222. WHERE ISNULL(main.isDeleted, '''')<>''Y''
  223. ) x'
  224. --print @table
  225. SET @sql_filter = ''
  226. IF @bankName IS NOT NULL
  227. SET @sql_filter= @sql_filter + ' AND bankName LIKE ''%'+@bankName+'%'''
  228. IF @country IS NOT NULL
  229. SET @sql_filter= @sql_filter + ' AND country LIKE ''%'+@country+'%'''
  230. IF @isBlocked is not null
  231. SET @sql_filter= @sql_filter + ' AND isBlocked LIKE ''%'+@isBlocked+'%'''
  232. SET @select_field_list ='
  233. extBankId
  234. ,bankName
  235. ,bankCode
  236. ,country
  237. ,address
  238. ,phone
  239. ,fax
  240. ,email
  241. ,contactPerson
  242. ,internalCode
  243. ,domInternalCode
  244. ,externalCode
  245. ,agentBankcode
  246. ,externalBankType
  247. ,swiftCode
  248. ,isBlocked
  249. '
  250. EXEC dbo.proc_paging
  251. @table
  252. ,@sql_filter
  253. ,@select_field_list
  254. ,@extra_field_list
  255. ,@sortBy
  256. ,@sortOrder
  257. ,@pageSize
  258. ,@pageNumber
  259. END
  260. END TRY
  261. BEGIN CATCH
  262. IF @@TRANCOUNT > 0
  263. ROLLBACK TRANSACTION
  264. DECLARE @errorMessage VARCHAR(MAX)
  265. SET @errorMessage = ERROR_MESSAGE()
  266. EXEC proc_errorHandler 1, @errorMessage, @extBankId
  267. END CATCH
  268. GO