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.

211 lines
14 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_MapCodeReport] 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 procEDURE [dbo].[proc_MapCodeReport](
  9. @functionID VARCHAR(100) = NULL
  10. ,@user VARCHAR(30)
  11. ,@pageFrom INT = NULL
  12. ,@pageTo INT = NULL
  13. ,@branch INT = NULL
  14. ,@agent INT = NULL
  15. ,@fxml XML = NULL
  16. ,@qxml XML = NULL
  17. ,@dxml XML = NULL
  18. ,@flag VARCHAR(3) = NULL
  19. ,@bankId INT = NULL
  20. )AS
  21. SET NOCOUNT ON
  22. IF @functionID='20168000'
  23. BEGIN
  24. SET @pageFrom = ISNULL(NULLIF(@pageFrom, 0), 1)
  25. SET @pageTo = ISNULL(@pageTo, @pageFrom)
  26. DECLARE @pageSize INT = 50
  27. DECLARE @mapCodeFormat VARCHAR(50)
  28. SELECT
  29. @mapCodeFormat = p.value('@mapcodeformat','VARCHAR(50)')
  30. FROM @fxml.nodes('/root/row') AS tmp(p)
  31. IF @mapCodeFormat='N'
  32. BEGIN
  33. SELECT
  34. [New Ext Bank ID] = extBankId
  35. ,[Bank Name] = bankName
  36. ,[Branch MapCode] = branchMapCode
  37. ,[Branch Name] = branchName
  38. ,[Is Head Office] = case when isHeadOffice ='Y' then 'Yes' else '' end
  39. FROM (
  40. SELECT
  41. ROW_NUMBER() OVER (ORDER BY extBankId ASC) row_Id
  42. ,*
  43. FROM (
  44. SELECT * FROM (
  45. SELECT eb.extBankId, bankName, branchMapCode = ebb.extBranchId, branchName ,ebb.isHeadOffice
  46. FROM dbo.externalBank eb WITH(NOLOCK)
  47. LEFT JOIN dbo.externalBankBranch ebb WITH(NOLOCK) ON eb.extBankId = ebb.extBankId
  48. WHERE internalCode IN (
  49. SELECT agentId FROM dbo.agentMaster WITH(NOLOCK) WHERE agentType IN (2903) AND ISNULL(actAsBranch, 'N') = 'N' AND ISNULL(isActive, 'N') = 'Y' AND ISNULL(isDeleted, 'N') = 'N'
  50. )
  51. --AND ISNULL(ebb.isHeadOffice, 'N') = 'Y'
  52. AND ISNULL(eb.isDeleted, 'N') = 'N'
  53. AND ISNULL(ebb.isDeleted, 'N') = 'N'
  54. AND ISNULL(eb.isBlocked,'N') = 'N'
  55. AND ISNULL(ebb.isBlocked,'N') = 'N'
  56. UNION ALL
  57. SELECT eb.extBankId, bankName, branchMapCode = ebb.extBranchId, branchName ,ebb.isHeadOffice
  58. FROM dbo.externalBank eb WITH(NOLOCK)
  59. LEFT JOIN dbo.externalBankBranch ebb WITH(NOLOCK) ON eb.extBankId = ebb.extBankId
  60. WHERE internalCode IN (
  61. SELECT agentId FROM dbo.agentMaster WITH(NOLOCK) WHERE agentType IN (2905) AND ISNULL(actAsBranch, 'N') = 'N' AND ISNULL(isActive, 'N') = 'Y' AND ISNULL(isDeleted, 'N') = 'N'
  62. )
  63. AND ISNULL(eb.isDeleted, 'N') = 'N'
  64. AND ISNULL(ebb.isDeleted, 'N') = 'N'
  65. AND ISNULL(eb.isBlocked,'N') = 'N'
  66. AND ISNULL(ebb.isBlocked,'N') = 'N'
  67. ) xx
  68. ) x
  69. )x WHERE row_Id BETWEEN (@pageFrom -1) * @pageSize + 1 AND @pageTo * @pageSize
  70. ORDER BY bankName, branchName
  71. END
  72. ELSE IF @mapCodeFormat='O'
  73. BEGIN
  74. SELECT
  75. [Old Ext Bank ID] = extBankId
  76. ,[Bank Name] = bankName
  77. ,[Branch MapCode] = branchMapCode
  78. ,[Branch Name] = branchName
  79. FROM (
  80. SELECT
  81. ROW_NUMBER() OVER (ORDER BY extBankId ASC) row_Id
  82. ,*
  83. FROM (
  84. SELECT * FROM (
  85. SELECT
  86. eb.extBankId, bankName, branchMapCode = bm.mapCodeInt, branchName = bm.agentName
  87. FROM dbo.externalBank eb WITH(NOLOCK)
  88. INNER JOIN dbo.agentMaster am WITH(NOLOCK) ON eb.internalCode = am.agentId
  89. INNER JOIN agentMaster bm WITH(NOLOCK) ON am.agentId = bm.parentId
  90. WHERE am.agentType = 2903
  91. AND ISNULL(am.actAsBranch, 'N') = 'N'
  92. AND ISNULL(am.isActive, 'N') = 'Y'
  93. AND ISNULL(am.isDeleted, 'N') = 'N'
  94. --AND ISNULL(bm.isHeadOffice, 'N') = 'Y'
  95. AND ISNULL(eb.isDeleted, 'N') = 'N'
  96. AND ISNULL(bm.isActive, 'N') = 'Y'
  97. AND ISNULL(bm.isDeleted, 'N') = 'N'
  98. AND ISNULL(eb.isBlocked,'N') = 'N'
  99. AND bm.mapCodeInt IS NOT NULL
  100. UNION ALL
  101. SELECT
  102. eb.extBankId, bankName, branchMapCode = bm.mapCodeInt, branchName = bm.agentName
  103. FROM dbo.externalBank eb WITH(NOLOCK)
  104. INNER JOIN dbo.agentMaster am WITH(NOLOCK) ON eb.internalCode = am.agentId
  105. INNER JOIN agentMaster bm WITH(NOLOCK) ON am.agentId = bm.parentId
  106. WHERE am.agentType = 2905
  107. AND ISNULL(am.actAsBranch, 'N') = 'N'
  108. AND ISNULL(am.isActive, 'N') = 'Y'
  109. AND ISNULL(am.isDeleted, 'N') = 'N'
  110. AND ISNULL(eb.isDeleted, 'N') = 'N'
  111. AND ISNULL(bm.isActive, 'N') = 'Y'
  112. AND ISNULL(bm.isDeleted, 'N') = 'N'
  113. AND ISNULL(eb.isBlocked,'N') = 'N'
  114. AND bm.mapCodeInt IS NOT NULL
  115. ) xx
  116. )x
  117. )x WHERE row_Id BETWEEN (@pageFrom -1) * @pageSize + 1 AND @pageTo * @pageSize
  118. ORDER BY bankName, branchName
  119. END
  120. UPDATE #params SET
  121. ReportTitle='MapCode Report'
  122. ,Filters= 'MapCode System=' +CASE WHEN @mapCodeFormat='N' THEN 'NEW SYSTEM' ELSE 'OLD SYSTEM' END
  123. ,NoHeader = CASE WHEN @pageFrom > 1 THEN 1 ELSE 0 END
  124. ,IncludeSerialNo=1
  125. ,PageNumber=@pageFrom
  126. ,PageSize=@pageSize
  127. ,LoadMode = 3
  128. SELECT * FROM #params
  129. RETURN
  130. END
  131. IF @flag ='rpt'
  132. BEGIN
  133. SELECT
  134. [Bank ID] = extBankId
  135. ,[Bank Name] = bankName
  136. ,[Branch MapCode] = branchMapCode
  137. ,[Branch Name] = branchName
  138. ,[Is Head Office] = case when isHeadOffice ='Y' then 'Yes' else '' end
  139. FROM (
  140. SELECT
  141. ROW_NUMBER() OVER (ORDER BY extBankId ASC) row_Id
  142. ,*
  143. FROM
  144. (
  145. SELECT * FROM
  146. (
  147. SELECT eb.extBankId, bankName, branchMapCode = ebb.extBranchId, branchName ,ebb.isHeadOffice
  148. FROM dbo.externalBank eb WITH(NOLOCK)
  149. LEFT JOIN dbo.externalBankBranch ebb WITH(NOLOCK) ON eb.extBankId = ebb.extBankId
  150. WHERE internalCode IN (
  151. SELECT agentId FROM dbo.agentMaster WITH(NOLOCK)
  152. WHERE agentType IN (2903)
  153. AND ISNULL(actAsBranch, 'N') = 'N'
  154. AND ISNULL(isActive, 'N') = 'Y'
  155. AND ISNULL(isDeleted, 'N') = 'N'
  156. )
  157. AND eb.extBankId = ISNULL(@bankId,eb.extBankId)
  158. AND ISNULL(eb.isDeleted, 'N') = 'N'
  159. AND ISNULL(ebb.isDeleted, 'N') = 'N'
  160. AND ISNULL(eb.isBlocked,'N') = 'N'
  161. AND ISNULL(ebb.isBlocked,'N') = 'N'
  162. UNION ALL
  163. SELECT eb.extBankId, bankName, branchMapCode = ebb.extBranchId, branchName ,ebb.isHeadOffice
  164. FROM dbo.externalBank eb WITH(NOLOCK)
  165. LEFT JOIN dbo.externalBankBranch ebb WITH(NOLOCK) ON eb.extBankId = ebb.extBankId
  166. WHERE internalCode IN (
  167. SELECT agentId FROM dbo.agentMaster WITH(NOLOCK)
  168. WHERE agentType IN (2905)
  169. AND ISNULL(actAsBranch, 'N') = 'N'
  170. AND ISNULL(isActive, 'N') = 'Y'
  171. AND ISNULL(isDeleted, 'N') = 'N'
  172. )
  173. AND eb.extBankId = ISNULL(@bankId,eb.extBankId)
  174. AND ISNULL(eb.isDeleted, 'N') = 'N'
  175. AND ISNULL(ebb.isDeleted, 'N') = 'N'
  176. AND ISNULL(eb.isBlocked,'N') = 'N'
  177. AND ISNULL(ebb.isBlocked,'N') = 'N'
  178. ) xx
  179. ) x
  180. )x ORDER BY bankName, branchName
  181. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  182. SELECT 'Bank Name' head,CASE WHEN @bankId IS NULL THEN 'All' ELSE (SELECT bankName FROM dbo.externalBank WITH(NOLOCK) WHERE extBankId = @bankId) END VALUE
  183. SELECT 'Bank & Branch List' title
  184. RETURN
  185. END
  186. GO