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.

205 lines
5.5 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[Proc_AgentBankMapping] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[Proc_AgentBankMapping]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[Proc_AgentBankMapping] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. ALTER PROC [dbo].[Proc_AgentBankMapping]
  12. (
  13. @flag VARCHAR(50)
  14. ,@user VARCHAR(100) = NULL
  15. ,@superAgentId VARCHAR(20) = NULL
  16. ,@bankpartnerId VARCHAR(20) = NULL
  17. ,@bankpartnerName VARCHAR(100) = NULL
  18. ,@agentId VARCHAR(20) = NULL
  19. ,@agentName VARCHAR(150) = NULL
  20. ,@countryId VARCHAR(30) = NULL
  21. ,@countryName VARCHAR(50) = NULL
  22. ,@functionId VARCHAR(MAX) = NULL
  23. ,@sortBy VARCHAR(50) = NULL
  24. ,@sortOrder VARCHAR(5) = NULL
  25. ,@pageSize INT = NULL
  26. ,@pageNumber INT = NULL
  27. ,@branchAddress VARCHAR(150) = NULL
  28. ,@branchName VARCHAR(150) = NULL
  29. )
  30. AS
  31. SET NOCOUNT ON
  32. SET XACT_ABORT ON
  33. BEGIN TRY
  34. DECLARE
  35. @sql VARCHAR(MAX)
  36. ,@table VARCHAR(MAX)
  37. ,@select_field_list VARCHAR(MAX)
  38. ,@extra_field_list VARCHAR(MAX)
  39. ,@sql_filter VARCHAR(MAX)
  40. ,@str VARCHAR(MAX)
  41. IF @flag = 'agentmappingBank'
  42. BEGIN
  43. --IF NOT EXISTS(SELECT 'x' FROM AgetBankMapping WHERE superAgentId = @superAgentId AND bankpartnerId = @bankpartnerId )
  44. select @countryId = agentCountryId from agentMaster(nolock) where agentId = @bankpartnerId
  45. SELECT
  46. @str = ISNULL(@str + '<br />', '')
  47. + '<input type = "checkbox"'
  48. + ' value = "' + CAST(am.agentId AS VARCHAR) + '"'
  49. + ' id = "chk_' + CAST(am.agentId AS VARCHAR) + '"'
  50. + ' name = "functionId"'
  51. + CASE WHEN X.bankId IS NOT NULL THEN ' checked = "checked" ' ELSE '' END
  52. + '> <label class = "rights" for = "chk_' + CAST(am.agentId AS VARCHAR) + '">' + am.agentName + '</label>'
  53. FROM AGENTMASTER AM (NOLOCK)
  54. LEFT JOIN (SELECT bankId FROM AgentBankMapping mp (NOLOCK) WHERE MP.bankpartnerId = @bankpartnerId)X ON X.bankId = am.agentId
  55. WHERE parentId <> @superAgentId AND agentType = 2903 AND IsIntl ='1'
  56. and agentCountryId = @countryId
  57. SELECT agentName AS partnerName,@str AS checkbox
  58. FROM agentMaster am WITH(NOLOCK) WHERE agentApiType='Parent' and agentId = @bankpartnerId
  59. END
  60. ELSE IF @flag = 's'
  61. BEGIN
  62. IF @sortBy IS NULL
  63. SET @sortBy = 'condition'
  64. IF @sortOrder IS NULL
  65. SET @sortOrder = 'ASC'
  66. SET @pageNumber = 1
  67. SET @pageSize = 10000
  68. SET @table = '(
  69. SELECT
  70. rowId,
  71. bankpartnerId,
  72. bankpartnerName =am1.agentName,
  73. bankName = am.agentName,
  74. bankId,
  75. -- bankCountry,
  76. mp.createdBy,
  77. mp.createdDate
  78. FROM AgentBankMapping mp WITH (NOLOCK)
  79. INNER JOIN AgentMaster am WITH (NOLOCK) ON mp.bankId = am.agentId
  80. LEFT JOIN AgentMaster am1 (NOLOCK) ON mp.bankpartnerId = am1.agentId
  81. WHERE 1=1
  82. ) x'
  83. SET @sql_filter = ''
  84. IF @bankpartnerId IS NOT NULL
  85. SET @sql_filter = @sql_filter + ' AND bankpartnerId = ''' + CAST(@bankpartnerId AS VARCHAR(50))+''''
  86. IF @bankpartnerName IS NOT NULL
  87. SET @sql_filter = @sql_filter + ' AND bankpartnerName = ''' + CAST(@bankpartnerName AS VARCHAR(50))+''''
  88. SET @select_field_list ='
  89. rowId,
  90. bankpartnerId,
  91. bankpartnerName,
  92. bankName,
  93. bankId,
  94. -- bankCountry,
  95. createdBy,
  96. createdDate
  97. '
  98. EXEC dbo.proc_paging
  99. @table
  100. ,@sql_filter
  101. ,@select_field_list
  102. ,@extra_field_list
  103. ,@sortBy
  104. ,@sortOrder
  105. ,@pageSize
  106. ,@pageNumber
  107. END
  108. ELSE IF @flag = 'i'
  109. BEGIN
  110. IF EXISTS ( SELECT 'x' FROM AgentBankMapping WITH (NOLOCK) WHERE bankpartnerId = @bankpartnerId)
  111. BEGIN
  112. DELETE FROM AgentBankMapping WHERE bankpartnerId = @bankpartnerId
  113. INSERT INTO AgentBankMapping(superAgentId, bankpartnerId, bankId, createdBy, createdDate, isActive)
  114. SELECT @superAgentId,@bankpartnerId, value, @user, GETDATE(), 'Y' FROM dbo.Split(',',@functionId)
  115. END
  116. ELSE
  117. BEGIN
  118. INSERT INTO AgentBankMapping(superAgentId, bankpartnerId, bankId, createdBy, createdDate, isActive)
  119. SELECT @superAgentId,@bankpartnerId, value, @user, GETDATE(), 'Y' FROM dbo.Split(',',@functionId)
  120. END
  121. Set @agentId = SCOPE_IDENTITY()
  122. EXEC proc_errorHandler 0, 'Bank Mapping is Done Successfully.', @agentId
  123. END
  124. ELSE IF @flag = 'pickBranchById'
  125. BEGIN
  126. BEGIN
  127. IF @sortBy IS NULL
  128. SET @sortBy = 'branchName'
  129. IF @sortOrder IS NULL
  130. SET @sortOrder = 'ASC'
  131. SET @pageNumber = 1
  132. SET @pageSize = 10000
  133. SET @table = '(
  134. SELECT
  135. agentId
  136. ,branchName = agentName
  137. ,agentCountry
  138. ,agentAddress
  139. ,agentPhone1
  140. FROM AgentMaster am WITH (NOLOCK)
  141. WHERE agentType=2904 AND parentId='''+ @agentId +'''
  142. ) x'
  143. SET @sql_filter = ''
  144. IF @branchName IS NOT NULL
  145. SET @sql_filter = @sql_filter + ' AND agentName like ''%' + @branchName +'%'''
  146. IF @branchAddress IS NOT NULL
  147. SET @sql_filter = @sql_filter + ' AND agentAddress = ''' + @branchAddress +''''
  148. SET @select_field_list ='
  149. agentId
  150. ,branchName
  151. ,agentCountry
  152. ,agentAddress
  153. ,agentPhone1
  154. '
  155. EXEC dbo.proc_paging
  156. @table
  157. ,@sql_filter
  158. ,@select_field_list
  159. ,@extra_field_list
  160. ,@sortBy
  161. ,@sortOrder
  162. ,@pageSize
  163. ,@pageNumber
  164. END
  165. END
  166. END TRY
  167. BEGIN CATCH
  168. IF @@TRANCOUNT > 0
  169. ROLLBACK TRANSACTION
  170. DECLARE @errorMessage VARCHAR(MAX)
  171. SET @errorMessage = ERROR_MESSAGE()
  172. EXEC proc_errorHandler 1, @errorMessage, @countryId
  173. END CATCH