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.

927 lines
52 KiB

  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[PROC_API_BANK_BRANCH_SETUP] Script Date: 4/8/2024 6:22:02 AM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROC [dbo].[PROC_API_BANK_BRANCH_SETUP] (
  9. @FLAG VARCHAR(40)
  10. --grid parameters
  11. ,@user VARCHAR(80) = NULL
  12. ,@pageSize VARCHAR(50) = NULL
  13. ,@pageNumber VARCHAR(50) = NULL
  14. ,@sortBy VARCHAR(50) = NULL
  15. ,@sortOrder VARCHAR(50) = NULL
  16. ,@API_PARTNER INT = NULL
  17. ,@PAYMENT_TYPE INT = NULL
  18. ,@bankId VARCHAR(30) = NULL
  19. ,@countryId INT = NULL
  20. ,@paymentMode INT = NULL
  21. ,@BRANCH_NAME VARCHAR(30) = NULL
  22. ,@isActive VARCHAR(5) = NULL
  23. ,@rowId VARCHAR(10) = NULL
  24. ,@XML NVARCHAR(MAX) = NULL
  25. ,@BANK_COUNTRY VARCHAR(50) = NULL
  26. ,@Branch_Country VARCHAR(50) = NULL
  27. ,@BANK_CURRENCY VARCHAR(5) = NULL
  28. ,@API_PARTNER_ID INT = NULL
  29. ,@CityId BIGINT = NULL
  30. ,@PaymentMethod INT = NULL
  31. )
  32. AS
  33. SET NOCOUNT ON;
  34. SET XACT_ABORT ON;
  35. ----------------------------------------
  36. --JME-544 -> added @FLAG = 'getBranch-new'
  37. -- -> Change logic to use API_BANK_LIST_MASTER
  38. -- #1574 -> Brac Bank Branch Sync
  39. -- #11358 -> show routing number for branch
  40. -----------------------------------------
  41. BEGIN
  42. DECLARE @table VARCHAR(MAX)
  43. ,@select_field_list VARCHAR(MAX)
  44. ,@extra_field_list VARCHAR(MAX)
  45. ,@sql_filter VARCHAR(MAX)
  46. ,@NEW_RECORD INT = 0
  47. ,@NEW_BRANCH_RECORD INT = 0
  48. ,@MSG VARCHAR(200)
  49. IF @FLAG = 'S'
  50. BEGIN
  51. SET @sortBy = 'BANK_ID'
  52. SET @sortOrder = 'desc'
  53. SET @table = '( SELECT BANK_ID,
  54. API_PARTNER = AM.AGENTNAME,
  55. API_PARTNER_ID,
  56. BANK = CM.CountryId,
  57. BANK_NAME,
  58. BANK_CODE1,
  59. BANK_CODE2,
  60. BANK_COUNTRY,
  61. IS_ACTIVE = CASE WHEN IS_ACTIVE = 1 THEN ''YES'' ELSE ''NO'' END,
  62. PAYMENT_TYPE = typeTitle,
  63. PAYMENT_TYPE_ID
  64. FROM API_BANK_LIST AB(NOLOCK)
  65. INNER JOIN AGENTMASTER AM(NOLOCK) ON AM.AGENTID = AB.API_PARTNER_ID AND AM.PARENTID = 0
  66. INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.CountryName = AB.BANK_COUNTRY
  67. INNER JOIN SERVICETYPEMASTER SM(NOLOCK) ON SM.serviceTypeId = AB.PAYMENT_TYPE_ID '
  68. SET @sql_filter = ''
  69. SET @table = @table + ')x'
  70. IF @API_PARTNER <> 0
  71. SET @sql_filter = @sql_filter + ' AND API_PARTNER_ID = ''' + CAST(@API_PARTNER AS VARCHAR) + ''''
  72. IF @BANK_COUNTRY <> 0
  73. SET @sql_filter = @sql_filter + ' AND BANK = ''' + CAST(@BANK_COUNTRY AS VARCHAR) + ''''
  74. IF @PAYMENT_TYPE <> 0
  75. SET @sql_filter = @sql_filter + ' AND PAYMENT_TYPE_ID = ''' + CAST(@PAYMENT_TYPE AS VARCHAR) + ''''
  76. SET @select_field_list = '
  77. BANK_ID,API_PARTNER_ID,API_PARTNER,BANK_NAME,BANK_CODE1,BANK_CODE2,BANK_COUNTRY,IS_ACTIVE,PAYMENT_TYPE'
  78. EXEC dbo.proc_paging @table
  79. ,@sql_filter
  80. ,@select_field_list
  81. ,@extra_field_list
  82. ,@sortBy
  83. ,@sortOrder
  84. ,@pageSize
  85. ,@pageNumber
  86. END
  87. IF @FLAG = 'SListNewBank'
  88. BEGIN
  89. SET @sortBy = 'MASTER_BANK_ID'
  90. SET @sortOrder = 'desc'
  91. SET @table = '( SELECT MASTER_BANK_ID,
  92. BANK_COUNTRY = AM.CountryName,
  93. BANK = AM.CountryId,
  94. BANK_NAME,
  95. SUPPORT_CURRENCY,
  96. IS_ACTIVE = CASE WHEN IS_ACTIVE = 1 THEN ''YES'' ELSE ''NO'' END,
  97. PAYMENT_TYPE = typeTitle,
  98. PAYMENT_TYPE_ID
  99. FROM API_BANK_LIST_MASTER AB(NOLOCK)
  100. INNER JOIN COUNTRYMASTER AM(NOLOCK) ON AM.CountryName = AB.BANK_COUNTRY
  101. INNER JOIN SERVICETYPEMASTER SM(NOLOCK) ON SM.serviceTypeId = AB.PAYMENT_TYPE_ID '
  102. SET @sql_filter = ''
  103. SET @table = @table + ')x'
  104. IF @BANK_COUNTRY <> 0
  105. SET @sql_filter = @sql_filter + ' AND BANK = ''' + CAST(@BANK_COUNTRY AS VARCHAR) + ''''
  106. IF @PAYMENT_TYPE <> 0
  107. SET @sql_filter = @sql_filter + ' AND PAYMENT_TYPE_ID = ''' + CAST(@PAYMENT_TYPE AS VARCHAR) + ''''
  108. SET @select_field_list = '
  109. MASTER_BANK_ID,BANK,BANK_COUNTRY,BANK_NAME,SUPPORT_CURRENCY,IS_ACTIVE,PAYMENT_TYPE'
  110. EXEC dbo.proc_paging @table
  111. ,@sql_filter
  112. ,@select_field_list
  113. ,@extra_field_list
  114. ,@sortBy
  115. ,@sortOrder
  116. ,@pageSize
  117. ,@pageNumber
  118. END
  119. IF @FLAG = 'SBranchList'
  120. BEGIN
  121. SET @sortBy = 'BRANCH_ID'
  122. SET @sortOrder = 'desc'
  123. SET @table = '( SELECT BRANCH_ID,
  124. BRANCH_COUNTRY = CM.CountryName,
  125. BranchC = CM.CountryId,
  126. BANK_ID = AM.Bank_Name,
  127. bankName = AM.BANK_ID,
  128. BRANCH_NAME,
  129. IS_ACTIVE = CASE WHEN AB.IS_ACTIVE = 1 THEN ''YES'' ELSE ''NO'' END,
  130. BRANCH_CODE1,
  131. BRANCH_CODE2
  132. FROM API_BANK_BRANCH_LIST AB(NOLOCK)
  133. INNER JOIN API_BANK_LIST AM(NOLOCK) ON AM.BANK_ID = AB.BANK_ID
  134. INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.CountryName = AB.BRANCH_COUNTRY'
  135. SET @sql_filter = ''
  136. SET @table = @table + ')x'
  137. --IF @API_PARTNER <> 0
  138. -- SET @sql_filter = @sql_filter + ' AND API_PARTNER_ID = ''' + CAST(@API_PARTNER AS VARCHAR) + ''''
  139. IF @Branch_Country <> 0
  140. SET @sql_filter = @sql_filter + ' AND BranchC = ''' + CAST(@Branch_Country AS VARCHAR) + ''''
  141. IF @bankId <> 0
  142. SET @sql_filter = @sql_filter + ' AND bankName = ''' + CAST(@bankId as VARCHAR) + ''''
  143. SET @select_field_list = '
  144. BRANCH_ID,BRANCH_COUNTRY,BranchC,BANK_ID,BRANCH_NAME,BRANCH_CODE1,BRANCH_CODE2, IS_ACTIVE'
  145. print @table
  146. EXEC dbo.proc_paging @table
  147. ,@sql_filter
  148. ,@select_field_list
  149. ,@extra_field_list
  150. ,@sortBy
  151. ,@sortOrder
  152. ,@pageSize
  153. ,@pageNumber
  154. END
  155. IF @FLAG = 'API-PARTNER'
  156. BEGIN
  157. SELECT *
  158. FROM (
  159. SELECT '' [value]
  160. ,'SELECT' [text]
  161. UNION ALL
  162. SELECT AGENTID [value]
  163. ,AGENTNAME [text]
  164. FROM agentMaster(NOLOCK)
  165. WHERE PARENTID = 0
  166. AND AGENTID NOT IN (
  167. 1001
  168. ,393877
  169. )
  170. ) X
  171. ORDER BY X.[value] ASC
  172. END
  173. IF @FLAG = 'Bank-Country'
  174. BEGIN
  175. SELECT *
  176. FROM (
  177. SELECT '' [value]
  178. ,'SELECT' [text]
  179. UNION ALL
  180. SELECT countryId [value]
  181. ,CountryName [text]
  182. FROM CountryMaster(NOLOCK)
  183. WHERE ISNULL(isOperativeCountry, 'Y') = 'Y'
  184. ) X
  185. ORDER BY X.[value] ASC
  186. END
  187. IF @FLAG = 'Bank'
  188. BEGIN
  189. SELECT *
  190. FROM (
  191. SELECT '' [value]
  192. ,'SELECT' [text]
  193. UNION ALL
  194. SELECT BANK_ID [value]
  195. ,BANK_NAME [text]
  196. FROM API_BANK_LIST(NOLOCK)
  197. WHERE ISNULL(IS_ACTIVE, '1') = '1'
  198. ) X
  199. ORDER BY X.[value] ASC
  200. END
  201. IF @FLAG = 'PAYOUT-METHOD'
  202. BEGIN
  203. SELECT *
  204. FROM (
  205. SELECT '' [value]
  206. ,'SELECT' [text]
  207. UNION ALL
  208. SELECT serviceTypeId [value]
  209. ,typeTitle [text]
  210. FROM SERVICETYPEMASTER(NOLOCK)
  211. WHERE ISNULL(ISACTIVE, 'Y') = 'Y'
  212. ) X
  213. ORDER BY X.[value] ASC
  214. END
  215. IF @FLAG = 'S-BankBranch'
  216. BEGIN
  217. SET @sortBy = 'BRANCH_ID'
  218. SET @sortOrder = 'desc'
  219. SET @table = '( SELECT BRANCH_ID,
  220. cm.countryName countryName,
  221. BRANCH_NAME,
  222. BRANCH_CODE1,
  223. BRANCH_STATE,
  224. BRANCH_ADDRESS,
  225. BRANCH_PHONE,
  226. BRANCH_COUNTRY,
  227. IS_ACTIVE = CASE WHEN AB.IS_ACTIVE = 1 THEN ''YES'' ELSE ''NO'' END
  228. FROM API_BANK_BRANCH_LIST AB(NOLOCK)
  229. INNER JOIN dbo.API_BANK_LIST ABL(NOLOCK) ON ABL.BANK_ID=AB.BANK_ID
  230. INNER JOIN dbo.countryMaster CM(NOLOCK) ON ABL.BANK_COUNTRY=CM.countryName
  231. WHERE AB.BANK_ID = ''' + @bankId + ''' '
  232. SET @sql_filter = ''
  233. SET @table = @table + ')x'
  234. IF @BRANCH_NAME <> ''
  235. SET @sql_filter = @sql_filter + ' AND BRANCH_NAME LIKE ''%' + CAST(@BRANCH_NAME AS VARCHAR) + '%'''
  236. --IF @PAYMENT_TYPE <> 0
  237. -- SET @sql_filter = @sql_filter+' AND PAYMENT_TYPE_ID = '''+CAST(@PAYMENT_TYPE AS VARCHAR)+''''
  238. SET @select_field_list = '
  239. countryName,BRANCH_ID,BRANCH_NAME,BRANCH_CODE1,BRANCH_STATE,BRANCH_ADDRESS,BRANCH_PHONE,BRANCH_COUNTRY,IS_ACTIVE'
  240. print @table
  241. EXEC dbo.proc_paging @table
  242. ,@sql_filter
  243. ,@select_field_list
  244. ,@extra_field_list
  245. ,@sortBy
  246. ,@sortOrder
  247. ,@pageSize
  248. ,@pageNumber
  249. END
  250. IF @FLAG = 'getBranchByAgentIdForDDL'
  251. BEGIN
  252. DECLARE @COUNTRY_ID INT
  253. ,@COLL_MODE INT
  254. SELECT @COUNTRY_ID = CM.COUNTRYID
  255. ,@COLL_MODE = PAYMENT_TYPE_ID
  256. FROM API_BANK_LIST ABL(NOLOCK)
  257. INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYNAME = ABL.BANK_COUNTRY
  258. WHERE BANK_ID = @bankId
  259. IF @COUNTRY_ID = 151
  260. BEGIN
  261. SELECT NULL agentId
  262. ,agentName = 'Any Branch'
  263. RETURN
  264. END
  265. SELECT BRANCH_ID agentId
  266. ,BRANCH_NAME agentName
  267. FROM dbo.API_BANK_BRANCH_LIST
  268. WHERE BANK_ID = @bankId
  269. AND IS_ACTIVE = 1 --AND PAYMENT_TYPE_ID=@PAYMENT_TYPE;
  270. END
  271. IF @FLAG = 'getBranch-new'
  272. BEGIN
  273. IF @countryId IN (
  274. 151
  275. ,203
  276. )
  277. BEGIN
  278. SELECT NULL agentId
  279. ,agentName = 'Any Branch'
  280. RETURN
  281. END
  282. SELECT ABM.BRANCH_ID agentId
  283. , agentName = CASE WHEN '+ @countryId + ' <> '151' THEN ABM.BRANCH_NAME + ' - ' + CAST(ABM.BRANCH_CODE1 AS VARCHAR) ELSE ABM.BRANCH_NAME END
  284. -- ,ABM.BRANCH_NAME agentName
  285. FROM dbo.API_BANK_BRANCH_LIST ABM(NOLOCK)
  286. INNER JOIN API_BANK_LIST ABL(NOLOCK) ON ABM.BANK_ID = ABL.BANK_ID
  287. INNER JOIN API_BANK_LIST_MASTER API(NOLOCK) ON API.JME_BANK_CODE = ABL.JME_BANK_CODE
  288. WHERE API.MASTER_BANK_ID = @bankId
  289. AND ABM.IS_ACTIVE = 1 --AND PAYMENT_TYPE_ID=@PAYMENT_TYPE;
  290. END
  291. IF @FLAG = 'enable-disable-bank'
  292. BEGIN
  293. IF @isActive = 'YES'
  294. BEGIN
  295. UPDATE API_BANK_LIST
  296. SET IS_ACTIVE = 0
  297. WHERE BANK_ID = @rowId
  298. SELECT '0' ErrorCode
  299. ,'Record has been disabled successfully.' Msg
  300. ,@rowId id
  301. END
  302. ELSE
  303. BEGIN
  304. UPDATE API_BANK_LIST
  305. SET IS_ACTIVE = 1
  306. WHERE BANK_ID = @rowId
  307. SELECT '0' ErrorCode
  308. ,'Record has been enabled successfully.' Msg
  309. ,@rowId id
  310. END
  311. END
  312. IF @FLAG = 'enable-disable-bankNew'
  313. BEGIN
  314. IF @isActive = 'YES'
  315. BEGIN
  316. UPDATE API_BANK_LIST_MASTER
  317. SET IS_ACTIVE = 0
  318. WHERE MASTER_BANK_ID = @rowId
  319. SELECT '0' ErrorCode
  320. ,'Record has been disabled successfully.' Msg
  321. ,@rowId id
  322. END
  323. ELSE
  324. BEGIN
  325. UPDATE API_BANK_LIST_MASTER
  326. SET IS_ACTIVE = 1
  327. WHERE MASTER_BANK_ID = @rowId
  328. SELECT '0' ErrorCode
  329. ,'Record has been enabled successfully.' Msg
  330. ,@rowId id
  331. END
  332. END
  333. IF @FLAG = 'enable-disable-bankBranch'
  334. BEGIN
  335. IF @isActive = 'YES'
  336. BEGIN
  337. UPDATE dbo.API_BANK_BRANCH_LIST
  338. SET IS_ACTIVE = 0
  339. WHERE BRANCH_ID = @rowId
  340. SELECT '0' ErrorCode
  341. ,'Record has been disabled successfully.' Msg
  342. ,@rowId id
  343. END
  344. ELSE
  345. BEGIN
  346. UPDATE dbo.API_BANK_BRANCH_LIST
  347. SET IS_ACTIVE = 1
  348. WHERE BRANCH_ID = @rowId
  349. SELECT '0' ErrorCode
  350. ,'Record has been enabled successfully.' Msg
  351. ,@rowId id
  352. END
  353. END
  354. IF @FLAG = 'countryList'
  355. BEGIN
  356. SELECT countryCode value
  357. ,countryName TEXT
  358. FROM dbo.countryMaster
  359. END
  360. IF @FLAG = 'syncBank'
  361. BEGIN
  362. IF OBJECT_ID('tempdb..#apiBanks') IS NOT NULL
  363. DROP TABLE #apiBanks
  364. DECLARE @XMLDATA XML = CONVERT(XML, replace(@XML, '&', '&amp;'), 2)
  365. IF(@API_PARTNER_ID='394414')
  366. BEGIN
  367. SELECT IDENTITY(INT, 1, 1) AS rowId
  368. ,p.value('(CodeId)[1]', 'VARCHAR(20)') AS 'CodeId'
  369. ,p.value('(CodeName)[1]', 'VARCHAR(150)') AS 'CodeName'
  370. ,p.value('(AdditionalData1)[1]', 'VARCHAR(150)') AS 'bankcode2'
  371. INTO #apiBanks1
  372. FROM @XMLDATA.nodes('/ArrayOfBankResponse/BankResponse') AS apiBanks(p)
  373. UPDATE ABL
  374. SET ABL.TRANSFER_MODE = 'RTP' , BANK_CODE2= t.bankcode2
  375. FROM API_BANK_LIST ABL(NOLOCK)
  376. INNER JOIN #apiBanks1 T ON T.CodeId = ABL.BANK_CODE1
  377. INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYNAME = ABL.BANK_COUNTRY
  378. WHERE ABL.API_PARTNER_ID = @API_PARTNER_ID
  379. AND CM.COUNTRYID = '16'
  380. AND ABL.PAYMENT_TYPE_ID = 2
  381. AND ABL.IS_ACTIVE = 1
  382. SELECT @NEW_RECORD = COUNT(1)
  383. FROM #apiBanks1
  384. SET @MSG = 'Bank synced successfully.' + CAST(@NEW_RECORD AS VARCHAR) + ' new records updated in system.'
  385. EXEC proc_errorHandler 0
  386. ,@MSG
  387. ,NULL
  388. RETURN;
  389. END
  390. ELSE
  391. BEGIN
  392. SELECT IDENTITY(INT, 1, 1) AS rowId
  393. ,p.value('(LocationIdField)[1]', 'VARCHAR(20)') AS 'Id'
  394. ,p.value('(AgentField)[1]', 'VARCHAR(150)') AS 'Name'
  395. ,p.value('(ext_Bank_IDField)[1]', 'VARCHAR(150)') AS 'ext_Bank_IDField'
  396. INTO #apiBanks
  397. FROM @XMLDATA.nodes('/ArrayOfBankResponse/BankResponse') AS apiBanks(p)
  398. ---- Check If Bank Details Already Exist for cash payment or not as a payer data
  399. UPDATE #apiBanks
  400. SET Name = LTRIM(RTRIM(Name))
  401. ,Id = LTRIM(RTRIM(Id))
  402. INSERT INTO tbl_bank_test
  403. SELECT *
  404. FROM #apiBanks
  405. RETURN
  406. UPDATE dbo.API_BANK_LIST
  407. SET PAYMENT_TYPE_ID = 0
  408. FROM #apiBanks ab
  409. WHERE LTRIM(RTRIM(ab.Id)) = LTRIM(RTRIM(BANK_CODE1))
  410. AND LTRIM(RTRIM(ab.Name)) = LTRIM(RTRIM(BANK_NAME))
  411. AND PAYMENT_TYPE_ID = 1
  412. --DELETE EXISTING DATA FROM TEMP TABLEf
  413. DELETE TMP
  414. FROM #apiBanks TMP
  415. INNER JOIN API_BANK_LIST ABL(NOLOCK) ON LTRIM(RTRIM(ABL.BANK_CODE1)) = LTRIM(RTRIM(TMP.Id))
  416. AND LTRIM(RTRIM(ABL.BANK_NAME)) = LTRIM((TMP.Name))
  417. WHERE LTRIM(RTRIM(BANK_COUNTRY)) = LTRIM(RTRIM(@BANK_COUNTRY))
  418. AND API_PARTNER_ID = @API_PARTNER_ID
  419. --INSERT NEW DATA INTO MAIN TABLE
  420. INSERT INTO API_BANK_LIST (
  421. API_PARTNER_ID
  422. ,BANK_NAME
  423. ,BANK_CODE1
  424. ,SUPPORT_CURRENCY
  425. ,BANK_COUNTRY
  426. ,PAYMENT_TYPE_ID
  427. ,IS_ACTIVE
  428. )
  429. SELECT @API_PARTNER_ID
  430. ,Name
  431. ,Id
  432. ,LTRIM(RTRIM(@BANK_CURRENCY))
  433. ,LTRIM(RTRIM(@BANK_COUNTRY))
  434. ,2
  435. ,1
  436. FROM #apiBanks
  437. SELECT @NEW_RECORD = COUNT(1)
  438. FROM #apiBanks
  439. SET @MSG = 'Bank synced successfully.' + CAST(@NEW_RECORD AS VARCHAR) + ' new records inserted in system.'
  440. EXEC proc_errorHandler 0
  441. ,@MSG
  442. ,NULL
  443. END
  444. END
  445. IF @FLAG = 'syncBankBranch'
  446. BEGIN
  447. DECLARE @BANK_ID INT ,
  448. @BANK_CODE1 INT
  449. IF @API_PARTNER_ID = '394414'
  450. BEGIN
  451. PRINT @bankId;
  452. IF EXISTS ( SELECT * FROM API_BANK_LIST WHERE bank_id=@bankId)
  453. BEGIN
  454. IF OBJECT_ID('tempdb..#TempBranchBrac') IS NOT NULL
  455. DROP TABLE #TempBranchBrac
  456. DECLARE @XMLBRANCH XML = CONVERT(XML, replace(@XML, '&', '&amp;'), 2)
  457. SELECT IDENTITY(INT, 1, 1) AS rowId
  458. ,p.value('(CodeId)[1]', 'VARCHAR(20)') AS 'CodeId'
  459. ,p.value('(CodeName)[1]', 'VARCHAR(150)') AS 'BranchName'
  460. ,p.value('(Address)[1]', 'VARCHAR(150)') AS 'BranchAddress'
  461. ,p.value('(ParentCodeId)[1]', 'VARCHAR(150)') AS 'BankId'
  462. ,p.value('(ParentName)[1]', 'VARCHAR(150)') AS 'BankName'
  463. ,p.value('(AdditionalData1)[1]', 'VARCHAR(150)') AS 'RoutingNo'
  464. ,p.value('(LastUpdatedDate)[1]', 'VARCHAR(150)') AS 'LastUpdatedDate'
  465. INTO #TempBranchBrac
  466. FROM @XMLBRANCH.nodes('/ArrayOfBracBranchDatum/BracBranchDatum') AS apiBranches(p)
  467. DELETE TMP
  468. FROM #TempBranchBrac TMP
  469. INNER JOIN dbo.API_BANK_BRANCH_LIST ABL(NOLOCK) ON LTRIM(RTRIM(ABL.BRANCH_CODE1)) = LTRIM(RTRIM(TMP.RoutingNo))
  470. AND LTRIM(RTRIM(abl.BRANCH_NAME)) = LTRIM(RTRIM(TMP.BranchName))
  471. AND ABL.PAYMENT_TYPE_ID = 2 and ABl.BANK_ID=@bankId
  472. --SELECT @BANK_ID = BANK_ID , @BANK_COUNTRY = BANK_COUNTRY
  473. --FROM dbo.API_BANK_LIST
  474. --WHERE CAST(BANK_CODE1 as varchar) = CAST( @bankId as varchar) and CAST( API_PARTNER_ID as varchar)= CAST(@API_PARTNER as varchar) --@BANK_CODE1
  475. INSERT INTO API_BANK_BRANCH_LIST (
  476. BANK_ID
  477. ,BRANCH_NAME
  478. ,BRANCH_CODE1
  479. ,BRANCH_CODE2
  480. ,BRANCH_STATE
  481. ,BRANCH_DISTRICT
  482. ,BRANCH_ADDRESS
  483. ,BRANCH_PHONE
  484. ,BRANCH_EMAIL
  485. ,BRANCH_COUNTRY
  486. ,IS_ACTIVE
  487. ,PAYMENT_TYPE_ID
  488. ,CREATED_ON
  489. )
  490. SELECT @bankId
  491. ,BranchName
  492. ,RoutingNo
  493. ,CodeId
  494. ,NULL
  495. ,NULL
  496. ,NULL
  497. ,BankId
  498. ,BankName
  499. ,'BANGLADESH'
  500. ,1
  501. ,2
  502. ,GETDATE()
  503. FROM #TempBranchBrac T
  504. SELECT @NEW_RECORD = COUNT(1)
  505. FROM #TempBranchBrac
  506. SET @MSG = 'Bank Branch synced successfully.' + CAST(@NEW_RECORD AS VARCHAR) + ' new records inserted in system.'
  507. END
  508. ELSE
  509. BEGIN
  510. SET @MSG='Invalid bank code';
  511. END
  512. END
  513. ELSE
  514. BEGIN
  515. IF OBJECT_ID('tempdb..#apiBanksBranch') IS NOT NULL
  516. DROP TABLE #apiBanksBranch
  517. DECLARE @XMLBranchData XML = CONVERT(XML, replace(@XML, '&', '&amp;'), 2)
  518. ,@banksId BIGINT = NULL
  519. ,@City_Id BIGINT = NULL
  520. SELECT IDENTITY(INT, 1, 1) AS rowId
  521. ,p.value('(BankBranchID)[1]', 'VARCHAR(200)') AS 'BranchCode'
  522. ,p.value('(BankID)[1]', 'VARCHAR(200)') AS 'BankCode'
  523. ,p.value('(BankBranchName)[1]', 'VARCHAR(200)') AS 'BranchName'
  524. INTO #apiBanksBranch
  525. FROM @XMLBranchData.nodes('/ArrayOfBankBranchResponse/BankBranchResponse') AS apiBanksBranch(p)
  526. --DELETE EXISTING DATA FROM TEMP TABLE
  527. DELETE TMP
  528. FROM #apiBanksBranch TMP
  529. INNER JOIN dbo.API_BANK_BRANCH_LIST ABL(NOLOCK) ON LTRIM(RTRIM(ABL.BRANCH_CODE1)) = LTRIM(RTRIM(TMP.BranchCode))
  530. AND LTRIM(RTRIM(abl.BRANCH_NAME)) = LTRIM(RTRIM(TMP.BranchName))
  531. AND ABL.PAYMENT_TYPE_ID = 2
  532. SELECT @banksId = BANK_ID
  533. FROM dbo.API_BANK_LIST
  534. WHERE BANK_CODE1 = @bankId
  535. SELECT @City_Id = CITY_ID
  536. FROM dbo.API_CITY_LIST
  537. WHERE CITY_CODE = @CityId
  538. --INSERT NEW DATA INTO MAIN TABLE
  539. INSERT INTO API_BANK_BRANCH_LIST (
  540. BRANCH_NAME
  541. ,BANK_ID
  542. ,BRANCH_CODE1
  543. ,BRANCH_DISTRICT
  544. ,BRANCH_COUNTRY
  545. ,IS_ACTIVE
  546. ,PAYMENT_TYPE_ID
  547. )
  548. SELECT LTRIM(RTRIM(BranchName))
  549. ,@banksId
  550. ,LTRIM(RTRIM(BranchCode))
  551. ,@City_Id
  552. ,LTRIM(RTRIM(@BANK_COUNTRY))
  553. ,1
  554. ,2
  555. FROM #apiBanksBranch
  556. SELECT @NEW_RECORD = COUNT(1)
  557. FROM #apiBanksBranch
  558. SET @MSG = 'Bank Branch synced successfully.' + CAST(@NEW_RECORD AS VARCHAR) + ' new records inserted in system.'
  559. END
  560. EXEC proc_errorHandler 0
  561. ,@MSG
  562. ,NULL
  563. END
  564. IF @FLAG = 'payerForJmeNepal'
  565. BEGIN
  566. IF OBJECT_ID('tempdb..#apiBankBranchForJMEData') IS NOT NULL
  567. DROP TABLE #apiBankBranchForJMEData
  568. IF OBJECT_ID('tempdb..#jmeTempBankList') IS NOT NULL
  569. DROP TABLE #jmeTempBankList
  570. DECLARE @XMLBankPayerFORJMEData XML = CONVERT(XML, replace(@XML, '&', '&amp;'), 2)
  571. SELECT IDENTITY(INT, 1, 1) AS rowId
  572. ,p.value('(aGENTField)[1]', 'VARCHAR(200)') AS 'BankName'
  573. ,p.value('(lOCATIONIDField)[1]', 'VARCHAR(200)') AS 'BranchCode'
  574. ,p.value('(bRANCHField)[1]', 'VARCHAR(200)') AS 'BranchName'
  575. ,p.value('(aDDRESSField)[1]', 'VARCHAR(200)') AS 'BranchAddress'
  576. ,p.value('(cITYField)[1]', 'VARCHAR(200)') AS 'CityName'
  577. ,p.value('(cURRENCYField)[1]', 'VARCHAR(200)') AS 'CurrencyCode'
  578. INTO #apiBankBranchForJMEData
  579. FROM @XMLBankPayerFORJMEData.nodes('/ArrayOfJmeNepalResponse/JmeNepalResponse') AS apiBankPayerData(p)
  580. UPDATE #apiBankBranchForJMEData
  581. SET BankName = REPLACE(LTRIM(RTRIM(BankName)), '&amp', '&')
  582. ,BranchCode = LTRIM(RTRIM(BranchCode))
  583. ,BranchName = LTRIM(RTRIM(BranchName))
  584. ,CityName = LTRIM(RTRIM(CityName))
  585. ,CurrencyCode = LTRIM(RTRIM(CurrencyCode))
  586. --DELETE EXISTING DATA FROM TEMP TABLE
  587. DELETE P
  588. FROM #apiBankBranchForJMEData P
  589. INNER JOIN dbo.API_BANK_BRANCH_LIST(NOLOCK) B ON LTRIM(RTRIM(b.BRANCH_CODE1)) = BranchCode
  590. AND LTRIM(RTRIM(b.BRANCH_NAME)) = BranchName
  591. AND B.PAYMENT_TYPE_ID = 2
  592. AND B.BRANCH_COUNTRY = @BANK_COUNTRY
  593. INNER JOIN dbo.API_BANK_LIST abl(NOLOCK) ON abl.BANK_ID = B.BANK_ID
  594. AND abl.API_PARTNER_ID = @API_PARTNER_ID
  595. --INSERT NEW DATA INTO BANK AND BANK BRANCH TABLE
  596. IF EXISTS (
  597. SELECT 1
  598. FROM #apiBankBranchForJMEData
  599. )
  600. BEGIN
  601. SELECT p.BankName
  602. ,p.CurrencyCode
  603. INTO #jmeTempBankList
  604. FROM #apiBankBranchForJMEData p
  605. GROUP BY p.BankName
  606. ,p.CurrencyCode
  607. --SELECT 'jmeBankTempCode'+CONVERT(VARCHAR(150),ROW_NUMBER() OVER (ORDER BY jb.BankName)) AS rowNo,jb.BankName,jb.CurrencyCode FROM #jmeTempBankList jb
  608. --RETURN
  609. DELETE j
  610. FROM #jmeTempBankList j
  611. INNER JOIN dbo.API_BANK_LIST(NOLOCK) abl ON LTRIM(RTRIM(abl.BANK_NAME)) = j.BankName
  612. AND abl.API_PARTNER_ID = @API_PARTNER_ID
  613. INSERT INTO dbo.API_BANK_LIST (
  614. API_PARTNER_ID
  615. ,BANK_NAME
  616. ,BANK_CODE1
  617. ,BANK_CODE2
  618. ,BANK_STATE
  619. ,BANK_DISTRICT
  620. ,BANK_ADDRESS
  621. ,BANK_PHONE
  622. ,BANK_EMAIL
  623. ,SUPPORT_CURRENCY
  624. ,BANK_COUNTRY
  625. ,PAYMENT_TYPE_ID
  626. ,IS_ACTIVE
  627. ,JME_BANK_CODE
  628. )
  629. SELECT @API_PARTNER_ID
  630. ,BankName
  631. ,''
  632. ,''
  633. ,''
  634. ,''
  635. ,''
  636. ,''
  637. ,''
  638. ,CurrencyCode
  639. ,'Nepal'
  640. ,'0'
  641. ,1
  642. ,'' --'jmeBankTempCode'+CONVERT(VARCHAR(50),ROW_NUMBER() OVER (ORDER BY jb.BankName)) AS rowNo
  643. FROM #jmeTempBankList
  644. INSERT INTO API_BANK_BRANCH_LIST (
  645. BRANCH_NAME
  646. ,BANK_ID
  647. ,BRANCH_CODE1
  648. ,BRANCH_DISTRICT
  649. ,BRANCH_COUNTRY
  650. ,IS_ACTIVE
  651. ,PAYMENT_TYPE_ID
  652. )
  653. SELECT abjd.BranchName
  654. ,ABL.BANK_ID
  655. ,abjd.BranchCode
  656. ,abjd.CityName
  657. ,LTRIM(RTRIM(@BANK_COUNTRY))
  658. ,1
  659. ,2
  660. FROM #apiBankBranchForJMEData abjd
  661. INNER JOIN dbo.API_BANK_LIST ABL(NOLOCK) ON LTRIM(RTRIM(ABL.BANK_NAME)) = abjd.BankName
  662. AND ABL.API_PARTNER_ID = @API_PARTNER_ID
  663. SELECT @NEW_RECORD = COUNT(1)
  664. FROM #apiBankBranchForJMEData
  665. SELECT @NEW_BRANCH_RECORD = COUNT(1)
  666. FROM #jmeTempBankList
  667. END
  668. SET @MSG = 'Jme Nepal . Total Bank ' + CAST(@NEW_BRANCH_RECORD AS VARCHAR) + ' And Bank Branch ' + CAST(@NEW_RECORD AS VARCHAR) + ' new records add successfully.'
  669. EXEC proc_errorHandler 0
  670. ,@MSG
  671. ,NULL
  672. END
  673. IF @FLAG = 'syncGMEBank'
  674. BEGIN
  675. IF OBJECT_ID('tempdb..#apiGMEBanks') IS NOT NULL
  676. DROP TABLE #apiGMEBanks
  677. DECLARE @XMLGMEDATA XML = CONVERT(XML, replace(@XML, '&', '&amp;'), 2)
  678. SELECT IDENTITY(INT, 1, 1) AS rowId
  679. ,p.value('(bankCodeField)[1]', 'VARCHAR(25)') AS 'bankCode'
  680. ,p.value('(bankNameField)[1]', 'VARCHAR(150)') AS 'Name'
  681. ,p.value('(addressField)[1]', 'VARCHAR(250)') AS 'Address'
  682. ,p.value('(cityField)[1]', 'VARCHAR(100)') AS 'City'
  683. INTO #apiGMEBanks
  684. FROM @XMLGMEDATA.nodes('/ArrayOfGMEBANKRESPONSE/GMEBANKRESPONSE') AS apiGMEBanks(p)
  685. ---- Check If Bank Details Already Exist for cash payment or not as a payer data
  686. UPDATE #apiGMEBanks
  687. SET Name = LTRIM(RTRIM(Name))
  688. ,bankCode = LTRIM(RTRIM(bankCode))
  689. ,Address = LTRIM(RTRIM(Address))
  690. ,City = LTRIM(RTRIM(City))
  691. --UPDATE dbo.API_BANK_LIST SET PAYMENT_TYPE_ID=0
  692. --FROM #apiBanks ab WHERE LTRIM(RTRIM(ab.Id))=LTRIM(RTRIM(BANK_CODE1)) AND LTRIM(RTRIM(ab.Name))=LTRIM(RTRIM(BANK_NAME)) AND PAYMENT_TYPE_ID=1
  693. --DELETE EXISTING DATA FROM TEMP TABLEf
  694. DELETE TMP
  695. FROM #apiGMEBanks TMP
  696. INNER JOIN API_BANK_LIST ABL(NOLOCK) ON LTRIM(RTRIM(ABL.BANK_CODE1)) = TMP.bankCode
  697. AND LTRIM(RTRIM(ABL.BANK_NAME)) = TMP.Name
  698. AND LTRIM(RTRIM(BANK_COUNTRY)) = LTRIM(RTRIM(@BANK_COUNTRY))
  699. AND API_PARTNER_ID = @API_PARTNER_ID
  700. --INSERT NEW DATA INTO MAIN TABLE
  701. INSERT INTO API_BANK_LIST (
  702. API_PARTNER_ID
  703. ,BANK_NAME
  704. ,BANK_CODE1
  705. ,SUPPORT_CURRENCY
  706. ,BANK_COUNTRY
  707. ,PAYMENT_TYPE_ID
  708. ,IS_ACTIVE
  709. ,BANK_ADDRESS
  710. ,BANK_DISTRICT
  711. )
  712. SELECT @API_PARTNER_ID
  713. ,Name
  714. ,bankCode
  715. ,LTRIM(RTRIM(@BANK_CURRENCY))
  716. ,LTRIM(RTRIM(@BANK_COUNTRY))
  717. ,2
  718. ,1
  719. ,Address
  720. ,City
  721. FROM #apiGMEBanks
  722. SELECT @NEW_RECORD = COUNT(1)
  723. FROM #apiGMEBanks
  724. SET @MSG = 'Bank synced successfully.' + CAST(@NEW_RECORD AS VARCHAR) + ' new records inserted in system.'
  725. EXEC proc_errorHandler 0
  726. ,@MSG
  727. ,NULL
  728. END
  729. IF @FLAG = 'syncGMEBankBranch'
  730. BEGIN
  731. IF OBJECT_ID('tempdb..#apiGMEBanksBranch') IS NOT NULL
  732. DROP TABLE #apiGMEBanksBranch
  733. DECLARE @XMLGMEBranchData XML = CONVERT(XML, replace(@XML, '&', '&amp;'), 2)
  734. ,@gmebanksId BIGINT = NULL
  735. SELECT IDENTITY(INT, 1, 1) AS rowId
  736. ,p.value('(bankBranchCodeField)[1]', 'VARCHAR(100)') AS 'BranchCode'
  737. ,p.value('(bankBranchField)[1]', 'VARCHAR(250)') AS 'BranchName'
  738. ,p.value('(branchAddressField)[1]', 'VARCHAR(100)') AS 'BranchAddress'
  739. ,p.value('(branchCityField)[1]', 'VARCHAR(100)') AS 'BranchCityName'
  740. ,p.value('(locationIdField)[1]', 'VARCHAR(200)') AS 'BranchLocation'
  741. INTO #apiGMEBanksBranch
  742. FROM @XMLGMEBranchData.nodes('/ArrayOfGMEBBRANCH/GMEBBRANCH') AS apiGMEBanksBranch(p)
  743. UPDATE #apiGMEBanksBranch
  744. SET BranchCode = LTRIM(RTRIM(BranchCode))
  745. ,BranchName = LTRIM(RTRIM(BranchName))
  746. ,BranchAddress = LTRIM(RTRIM(BranchAddress))
  747. ,BranchCityName = LTRIM(RTRIM(BranchCityName))
  748. ,BranchLocation = LTRIM(RTRIM(BranchLocation))
  749. SELECT @gmebanksId = BANK_ID
  750. FROM dbo.API_BANK_LIST
  751. WHERE BANK_CODE1 = @bankId
  752. --DELETE EXISTING DATA FROM TEMP TABLE
  753. DELETE TMP
  754. FROM #apiGMEBanksBranch TMP
  755. INNER JOIN dbo.API_BANK_BRANCH_LIST ABL(NOLOCK) ON LTRIM(RTRIM(ABL.BRANCH_CODE1)) = TMP.BranchCode
  756. AND LTRIM(RTRIM(abl.BRANCH_NAME)) = TMP.BranchName
  757. AND ABL.PAYMENT_TYPE_ID = 2
  758. AND LTRIM(RTRIM(ABL.BANK_ID)) = @gmebanksId
  759. --INSERT NEW DATA INTO MAIN TABLE
  760. INSERT INTO API_BANK_BRANCH_LIST (
  761. BRANCH_NAME
  762. ,BANK_ID
  763. ,BRANCH_CODE1
  764. ,BRANCH_ADDRESS
  765. ,BRANCH_DISTRICT
  766. ,BRANCH_COUNTRY
  767. ,IS_ACTIVE
  768. ,PAYMENT_TYPE_ID
  769. )
  770. SELECT BranchName
  771. ,@gmebanksId
  772. ,BranchCode
  773. ,BranchAddress
  774. ,BranchCityName
  775. ,LTRIM(RTRIM(@BANK_COUNTRY))
  776. ,1
  777. ,2
  778. FROM #apiGMEBanksBranch
  779. SELECT @NEW_RECORD = COUNT(1)
  780. FROM #apiGMEBanksBranch
  781. SET @MSG = 'Bank Branch synced successfully.' + CAST(@NEW_RECORD AS VARCHAR) + ' new records inserted in system.'
  782. EXEC proc_errorHandler 0
  783. ,@MSG
  784. ,NULL
  785. END
  786. IF @FLAG = 'BANKLIST'
  787. BEGIN
  788. DECLARE @COUNTRY_NAME VARCHAR(30) = 'Philippines'
  789. ,@PROVIDER_ID INT = 394130 --TF
  790. SELECT DISTINCT CM.countryId
  791. ,CM.countryCode
  792. ,CM.countryName
  793. ,CCM.currencyCode
  794. ,agentId = @PROVIDER_ID
  795. ,agentName = ''
  796. FROM COUNTRYMASTER CM(NOLOCK)
  797. INNER JOIN COUNTRYCURRENCY CC(NOLOCK) ON CC.COUNTRYID = CM.COUNTRYID
  798. INNER JOIN CURRENCYMASTER CCM(NOLOCK) ON CCM.currencyId = CC.currencyId
  799. WHERE COUNTRYNAME = @COUNTRY_NAME
  800. AND CURRENCYCODE <> 'JPY'
  801. SELECT BANK_CODE = BANK_CODE1
  802. ,PROVIDER_ID = @PROVIDER_ID
  803. ,BANK_NAME
  804. FROM API_BANK_LIST ABL(NOLOCK)
  805. WHERE BANK_COUNTRY = @COUNTRY_NAME
  806. AND API_PARTNER_ID = @PROVIDER_ID
  807. ORDER BY BANK_NAME
  808. END
  809. END
  810. --EXEC PROC_API_BANK_BRANCH_SETUP @flag='BANKLIST'