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.

690 lines
45 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_ceAcDepositHistory_V2] 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_ceAcDepositHistory_V2](
  9. @flag VARCHAR(20) = NULL
  10. ,@rowid BIGINT = NULL
  11. ,@ceNumber VARCHAR(20) = NULL
  12. ,@originatingAgentRefNum VARCHAR(20) = NULL
  13. ,@senderName VARCHAR(50) = NULL
  14. ,@senderCountry VARCHAR(50) = NULL
  15. ,@senderAgentCode VARCHAR(50) = NULL
  16. ,@senderAgentName VARCHAR(50) = NULL
  17. ,@senderMobileNumber VARCHAR(50) = NULL
  18. ,@senderMessageToBeneficiary VARCHAR(50) = NULL
  19. ,@txnCreatedDate VARCHAR(50) = NULL
  20. ,@receiverName VARCHAR(50) = NULL
  21. ,@receiverMobile VARCHAR(50) = NULL
  22. ,@payoutCurrencyCode VARCHAR(50) = NULL
  23. ,@payoutCurrencyName VARCHAR(50) = NULL
  24. ,@sentAmount VARCHAR(50) = NULL
  25. ,@charges VARCHAR(50) = NULL
  26. ,@finalPayoutAmount VARCHAR(50) = NULL
  27. ,@receiverAccountNumber VARCHAR(50) = NULL
  28. ,@receiverIbanNumber VARCHAR(50) = NULL
  29. ,@senderAddress VARCHAR(50) = NULL
  30. ,@receiverAddress VARCHAR(50) = NULL
  31. ,@senderIdType VARCHAR(50) = NULL
  32. ,@senderIdNumber VARCHAR(50) = NULL
  33. ,@senderIdDateType VARCHAR(50) = NULL
  34. ,@senderIdDate VARCHAR(50) = NULL
  35. ,@districtId VARCHAR(50) = NULL
  36. ,@districtName VARCHAR(50) = NULL
  37. ,@serviceId VARCHAR(50) = NULL
  38. ,@benBankCode VARCHAR(50) = NULL
  39. ,@benBankName VARCHAR(50) = NULL
  40. ,@benBranchCode VARCHAR(50) = NULL
  41. ,@benBranchName VARCHAR(50) = NULL
  42. ,@benAccountType VARCHAR(50) = NULL
  43. ,@benEftCode VARCHAR(50) = NULL
  44. ,@xml VARCHAR(MAX)= NULL
  45. ,@mapCodeInt INT = NULL
  46. ,@bankId INT = NULL
  47. ,@bankName VARCHAR(200)= NULL
  48. ,@pBranch VARCHAR(100)= NULL
  49. ,@rBankCode VARCHAR(50) = NULL
  50. ,@rBankName VARCHAR(200)= NULL
  51. ,@thirdPartyAgentId INT = NULL
  52. ,@payResponseCode VARCHAR(20) = NULL
  53. ,@payResponseMsg VARCHAR(100)= NULL
  54. ,@filterType VARCHAR(20) = NULL
  55. ,@extBankId INT = NULL
  56. ,@extBankBranchId INT = NULL
  57. ,@extBankBranchName VARCHAR(100)= NULL
  58. ,@pBankType CHAR(1) = NULL
  59. ,@redownload CHAR(1) = NULL
  60. ,@user VARCHAR(30) = NULL
  61. )
  62. AS
  63. BEGIN
  64. IF @flag = 'd'
  65. BEGIN
  66. DELETE FROM ceAcDepositHistory_V2 WHERE rowId = @rowId
  67. EXEC [proc_errorHandler] 0,'Transaction has been deleted successfully.', @rowId
  68. RETURN
  69. END
  70. IF @flag = 'i'
  71. BEGIN
  72. DECLARE @rowInserted VARCHAR(50)
  73. DECLARE @xml1 XML = REPLACE(REPLACE(@xml, '"', '"'), '&quot', '"')
  74. SELECT t.* INTO #tempCE
  75. FROM (
  76. SELECT
  77. ceNumber = NULLIF(p.value('@ceNumber','VARCHAR(200)'),'')
  78. ,originatingAgentRefNum = NULLIF(p.value('@originatingAgentRefNum','VARCHAR(200)'),'')
  79. ,senderName = NULLIF(p.value('@senderName','VARCHAR(200)'),'')
  80. ,senderCountry = NULLIF(p.value('@senderCountry','VARCHAR(200)'),'')
  81. ,senderAgentCode = NULLIF(p.value('@senderAgentCode','VARCHAR(200)'),'')
  82. ,senderAgentName = NULLIF(p.value('@senderAgentName','VARCHAR(200)'),'')
  83. ,senderMobileNumber = NULLIF(p.value('@senderMobileNumber','VARCHAR(200)'),'')
  84. ,senderMessageToBeneficiary = NULLIF(p.value('@senderMessageToBeneficiary','VARCHAR(200)'),'')
  85. ,txnCreatedDate = NULLIF(p.value('@txnCreatedDate','VARCHAR(200)'),'')
  86. ,receiverName = NULLIF(p.value('@receiverName','VARCHAR(200)'),'')
  87. ,receiverMobile = NULLIF(p.value('@receiverMobile','VARCHAR(200)'),'')
  88. ,payoutCurrencyCode = NULLIF(p.value('@payoutCurrencyCode','VARCHAR(200)'),'')
  89. ,payoutCurrencyName = NULLIF(p.value('@payoutCurrencyName','VARCHAR(200)'),'')
  90. ,sentAmount = NULLIF(p.value('@sentAmount','VARCHAR(200)'),'')
  91. ,charges = NULLIF(p.value('@charges','VARCHAR(200)'),'')
  92. ,finalPayoutAmount = NULLIF(p.value('@finalPayoutAmount','VARCHAR(200)'),'')
  93. ,receiverAccountNumber = NULLIF(p.value('@receiverAccountNumber','VARCHAR(200)'),'')
  94. ,receiverIbanNumber = NULLIF(p.value('@receiverIbanNumber','VARCHAR(200)'),'')
  95. ,senderAddress = NULLIF(p.value('@senderAddress','VARCHAR(200)'),'')
  96. ,receiverAddress = NULLIF(p.value('@receiverAddress','VARCHAR(200)'),'')
  97. ,senderIdType = NULLIF(p.value('@senderIdType','VARCHAR(200)'),'')
  98. ,senderIdNumber = NULLIF(p.value('@senderIdNumber','VARCHAR(200)'),'')
  99. ,senderIdDateType = NULLIF(p.value('@senderIdDateType','VARCHAR(200)'),'')
  100. ,senderIdDate = NULLIF(p.value('@senderIdDate','VARCHAR(200)'),'')
  101. ,districtId = NULLIF(p.value('@districtId','VARCHAR(200)'),'')
  102. ,districtName = NULLIF(p.value('@districtName','VARCHAR(200)'),'')
  103. ,serviceId = NULLIF(p.value('@serviceId','VARCHAR(200)'),'')
  104. ,benBankCode = NULLIF(p.value('@benBankCode','VARCHAR(200)'),'')
  105. ,benBankName = NULLIF(p.value('@benBankName','VARCHAR(200)'),'')
  106. ,benBranchCode = NULLIF(p.value('@benBranchCode','VARCHAR(200)'),'')
  107. ,benBranchName = NULLIF(p.value('@benBranchName','VARCHAR(200)'),'')
  108. ,benAccountType = NULLIF(p.value('@benAccountType','VARCHAR(200)'),'')
  109. ,benEftCode = NULLIF(p.value('@benEftCode','VARCHAR(200)'),'')
  110. FROM @xml1.nodes('/root/row') AS tmp(p)
  111. )t
  112. LEFT JOIN ceAcDepositHistory_V2 h WITH(NOLOCK) ON t.ceNumber = h.ceNumber
  113. WHERE h.ceNumber IS NULL
  114. BEGIN TRANSACTION
  115. INSERT ceAcDepositDownloadLogs(createdBy, createdDate) SELECT @user, GETDATE()
  116. INSERT INTO ceAcDepositHistory_V2 (
  117. ceNumber,originatingAgentRefNum,senderName,senderCountry,senderAgentCode,senderAgentName,senderMobileNumber
  118. ,senderMessageToBeneficiary,txnCreatedDate,receiverName,receiverMobile,payoutCurrencyCode,payoutCurrencyName
  119. ,sentAmount,charges,finalPayoutAmount,receiverAccountNumber,receiverIbanNumber,senderAddress,receiverAddress
  120. ,senderIdType,senderIdNumber,senderIdDateType,senderIdDate,districtId,districtName,serviceId,benBankCode,benBankName
  121. ,benBranchCode,benBranchName,benAccountType,benEftCode,recordStatus,createdDate,createdBy
  122. )
  123. SELECT
  124. ceNumber,originatingAgentRefNum,senderName,senderCountry,senderAgentCode,senderAgentName,senderMobileNumber
  125. ,senderMessageToBeneficiary,txnCreatedDate,receiverName,receiverMobile,payoutCurrencyCode,payoutCurrencyName
  126. ,sentAmount,charges,finalPayoutAmount,receiverAccountNumber,receiverIbanNumber,senderAddress,receiverAddress
  127. ,senderIdType,senderIdNumber,senderIdDateType,senderIdDate,districtId,districtName,serviceId,benBankCode,benBankName
  128. ,benBranchCode,benBranchName,benAccountType,benEftCode,'DRAFT',GETDATE(),@user
  129. FROM #tempCE
  130. SET @rowInserted = @@ROWCOUNT
  131. IF @@TRANCOUNT > 0
  132. COMMIT TRANSACTION
  133. DECLARE @msg VARCHAR(MAX)
  134. SET @msg=@rowInserted+' Transactions Downloaded Successfully.'
  135. EXEC proc_errorHandler 0,@msg,NULL
  136. RETURN
  137. END
  138. IF @flag='up-list'--unpaid list
  139. BEGIN
  140. SELECT
  141. [Control NO] = ceNumber
  142. ,[TRAN NO] =''
  143. ,[Sending Country]=''
  144. ,[Sending Agent]=''
  145. ,[Bank Name] = benBankName
  146. ,[Branch Name] = benBranchName
  147. ,[Receiver Name] = receiverName
  148. ,[Bank A/C NO] = receiverAccountNumber
  149. ,[DOT] = createdDate
  150. ,[Total Amount] = finalPayoutAmount
  151. ,[Unpaid Days] = DATEDIFF(DAY,createdDate,GETDATE())
  152. ,rowId
  153. FROM ceAcDepositHistory_V2 WITH(NOLOCK)
  154. WHERE recordStatus <> 'CANCEL' AND pAgent = @rbankCode
  155. RETURN
  156. END
  157. IF @flag='all-list' -- show all downloaded txn list
  158. BEGIN
  159. DECLARE @sql VARCHAR(MAX)
  160. SET @sql='
  161. SELECT
  162. [Control NO] = ceNumber
  163. ,[Sending Country]=''CASH EXPRESS API''
  164. ,[Sending Agent]=''CASH EXPRESS''
  165. ,[Bank Name] = benBankName
  166. ,[Branch Name] = benBranchName
  167. ,[Receiver Name] = receiverName
  168. ,[Bank A/C NO] = receiverAccountNumber
  169. ,[DOT] = createdDate
  170. ,[Total Amount] = finalPayoutAmount
  171. ,[Unpaid Days] = DATEDIFF(DAY,createdDate,GETDATE())
  172. ,[Record Status] = CASE WHEN pAgent IS NULL THEN ''UNASSIGNED'' ELSE ''ASSIGNED'' END
  173. ,rowId
  174. FROM ceAcDepositHistory_V2 WITH(NOLOCK)
  175. WHERE recordStatus NOT IN(''CANCEL'',''PAID'')'
  176. IF @filterType = 'UA' -- Unassigned
  177. SET @sql = @sql + 'AND pAgent IS NULL'
  178. ELSE IF @filterType = 'A' -- Assigned
  179. SET @sql = @sql + 'AND pAgent IS NOT NULL'
  180. SET @sql = @sql + ' ORDER BY createdDate DESC'
  181. PRINT @sql
  182. EXEC (@sql)
  183. SELECT TOP 1 createdBy, createdDate FROM ceAcDepositDownloadLogs WITH(NOLOCK) ORDER BY rowId DESC
  184. RETURN
  185. END
  186. IF @flag = 'ul' -- show unpaid list
  187. BEGIN
  188. SELECT DISTINCT
  189. receiveAgentId = am.agentId
  190. ,[bankName] = am.agentName
  191. ,[Txn] = COUNT(*)
  192. ,amt = SUM(CAST(finalPayoutAmount AS MONEY))
  193. FROM ceAcDepositHistory_V2 ce WITH(NOLOCK)
  194. INNER JOIN agentMaster am WITH(NOLOCK) ON ce.pAgent = am.agentId
  195. WHERE recordStatus <> 'CANCEL' AND pAgent IS NOT NULL
  196. GROUP BY am.agentName, am.agentId
  197. SELECT agentName FROM agentMaster WITH(NOLOCK) WHERE agentId = @thirdPartyAgentId
  198. END
  199. IF @flag = 'a' -- select by rowid
  200. BEGIN
  201. SELECT
  202. rowId
  203. ,[rCountry] = 'Nepal'
  204. ,[rAddress] = receiverAddress
  205. ,[rBankAcNo] = receiverAccountNumber
  206. ,[rBankBranchCode] = benBranchCode
  207. ,[rBankBranchName] = benBranchName
  208. ,[rBankCode] = benBankCode
  209. ,[rBankName] = benBankName
  210. ,[rIdType] = 'ID'
  211. ,[rIdNo] = ISNULL(NULL, ABS(CHECKSUM(NEWID())))
  212. ,[rName] = receiverName
  213. ,[rContactNo] = receiverMobile
  214. ,[sCountry] = 'United Arab Emirates'
  215. ,[sAddress] = senderAddress
  216. ,[sIdValidDate] = senderIdDate
  217. ,[sIdNo] = senderIdNumber
  218. ,[sIdType] = senderIdType
  219. ,[sName] = senderName
  220. ,[sNationality] = senderCountry
  221. ,[sContactNo] = senderMobileNumber
  222. ,[rAmount] = finalPayoutAmount
  223. ,[rCurrency] = payoutCurrencyName
  224. ,[controlNo] = ceNumber
  225. ,paymentMode = 'A'
  226. ,purpose = 'Family Support'
  227. ,settlementCurrency = payoutCurrencyName
  228. ,transactionStatus = recordStatus
  229. ,[pBankId] = CAST(pBank AS VARCHAR) + '|' + pBankType
  230. ,[pBranchId] = pBankBranch
  231. FROM ceAcDepositHistory_V2 ce WITH(NOLOCK)
  232. WHERE rowId = @rowId
  233. RETURN
  234. END
  235. IF @flag = 'select' -- select by control no
  236. BEGIN
  237. SELECT
  238. rowId
  239. ,[rCountry] = 'Nepal'
  240. ,[rAddress] = receiverAddress
  241. ,[rBankAcNo] = receiverAccountNumber
  242. ,[rBankBranchCode] = benBranchCode
  243. ,[rBankBranchName] = benBranchName
  244. ,[rBankCode] = benBankCode
  245. ,[rBankName] = benBankName
  246. ,[rIdType] = 'ID'
  247. ,[rIdNo] = ISNULL(NULL, ABS(CHECKSUM(NEWID())))
  248. ,[rName] = receiverName
  249. ,[rContactNo] = receiverMobile
  250. ,[sCountry] = 'United Arab Emirates'
  251. ,[sAddress] = senderAddress
  252. ,[sIdValidDate] = senderIdDate
  253. ,[sIdNo] = senderIdNumber
  254. ,[sIdType] = senderIdType
  255. ,[sName] = senderName
  256. ,[sNationality] = senderCountry
  257. ,[sContactNo] = senderMobileNumber
  258. ,[rAmount] = finalPayoutAmount
  259. ,[rCurrency] = payoutCurrencyName
  260. ,[controlNo] = ceNumber
  261. ,paymentMode = 'A'
  262. ,purpose = 'Family Support'
  263. ,settlementCurrency = payoutCurrencyName
  264. ,transactionStatus = recordStatus
  265. ,[pBankId] = CAST(pBank AS VARCHAR) + '|' + pBankType
  266. ,[pBranchId] = pBankBranch
  267. FROM ceAcDepositHistory_V2 ce WITH(NOLOCK)
  268. WHERE ceNumber = @ceNumber
  269. RETURN
  270. END
  271. IF @flag = 'payError'
  272. BEGIN
  273. UPDATE ceAcDepositHistory_V2 SET
  274. recordStatus = 'PAYERROR'
  275. ,payResponseCode = @payResponseCode
  276. ,payResponseMsg = @payResponseMsg
  277. WHERE rowId = @rowId
  278. EXEC [proc_errorHandler] 0, 'Pay error has been recorded successfully.', @rowId
  279. RETURN
  280. END
  281. IF @flag='updateBank' --Assign Bank
  282. BEGIN
  283. DECLARE @pAgent INT
  284. IF @pBankType = 'I'
  285. BEGIN
  286. SET @pAgent = @extBankId
  287. END
  288. ELSE
  289. BEGIN
  290. SELECT @pAgent = internalCode FROM externalBank WITH(NOLOCK) WHERE extBankId = @extBankId
  291. END
  292. IF @pBranch IS NULL
  293. SELECT TOP 1 @pBranch = agentId FROM agentMaster WITH(NOLOCK) WHERE parentId = @pAgent AND isHeadOffice = 'Y'
  294. UPDATE ceAcDepositHistory_V2 SET
  295. pAgent = @pAgent
  296. ,pBranch = @pBranch
  297. ,pBank = @extBankId
  298. ,pBankBranch = @extBankBranchId
  299. ,pBankBranchName = @extBankBranchName
  300. ,pBankType = @pBankType
  301. WHERE rowId = @rowId
  302. EXEC [proc_errorHandler] 0, 'Bank Updated Successfully.', @rowId
  303. END
  304. IF @flag = 'bl' --Bank List
  305. BEGIN
  306. SELECT extBankId,bankName FROM
  307. (
  308. SELECT extBankId = CAST(agentId AS VARCHAR) + '|I', bankName = agentName
  309. FROM agentMaster WITH(NOLOCK) WHERE agentId = 2054 UNION ALL
  310. SELECT extBankId = CAST(extBankId AS VARCHAR) + '|E', bankName
  311. FROM externalBank WITH(NOLOCK)
  312. )X
  313. ORDER BY bankName
  314. END
  315. IF @flag = 'bb' --Bank Branch List
  316. BEGIN
  317. SET @sql = CASE
  318. WHEN @extBankId='2054' THEN 'SELECT branchId = agentId,branchName = agentName FROM agentMaster WITH(NOLOCK) WHERE parentId = ' + CAST(@extBankId AS VARCHAR)+' ORDER BY agentName'
  319. ELSE 'SELECT branchId = extBranchId,branchName = BranchName FROM externalBankBranch WITH(NOLOCK) WHERE extBankId = ' + CAST(@extBankId AS VARCHAR)+' ORDER BY BranchName' END
  320. --PRINT(@sql)
  321. EXEC(@sql)
  322. RETURN
  323. END
  324. IF @flag IN ('pay', 'restore')
  325. BEGIN
  326. DECLARE
  327. @tranId BIGINT
  328. ,@beneficiaryAddress VARCHAR(300)
  329. ,@beneficiaryBankAccountNumber VARCHAR(300)
  330. ,@beneficiaryBankBranchCode VARCHAR(300)
  331. ,@beneficiaryBankBranchName VARCHAR(300)
  332. ,@beneficiaryBankCode VARCHAR(300)
  333. ,@beneficiaryBankCode2 VARCHAR(300)
  334. ,@beneficiaryBankName VARCHAR(300)
  335. ,@beneficiaryIdNo VARCHAR(300)
  336. ,@beneficiaryName VARCHAR(300)
  337. ,@beneficiaryPhone VARCHAR(300)
  338. ,@customerAddress VARCHAR(300)
  339. ,@customerIdDate VARCHAR(300)
  340. ,@customerIdNo VARCHAR(300)
  341. ,@customerIdType VARCHAR(300)
  342. ,@customerName VARCHAR(300)
  343. ,@customerNationality VARCHAR(300)
  344. ,@customerPhone VARCHAR(300)
  345. ,@destinationAmount VARCHAR(300)
  346. ,@destinationCurrency VARCHAR(300)
  347. ,@payOutMethod VARCHAR(300)
  348. ,@purpose VARCHAR(300)
  349. ,@settlementCurrency VARCHAR(300)
  350. ,@transactionStatus VARCHAR(300)
  351. ,@recordStatus VARCHAR(300)
  352. ,@createdDate VARCHAR(300)
  353. ,@createdBy VARCHAR(300)
  354. ,@sAgent INT
  355. ,@sAgentName VARCHAR(100)
  356. ,@sBranch INT
  357. ,@sBranchName VARCHAR(100)
  358. ,@sSuperAgent INT
  359. ,@sSuperAgentName VARCHAR(100)
  360. ,@sAgentMapCode INT
  361. ,@sBranchMapCode INT
  362. ,@sCountry VARCHAR(100)
  363. ,@agentType INT
  364. ,@pSuperAgent INT
  365. ,@pSuperAgentName VARCHAR(100)
  366. ,@pCountry VARCHAR(100)
  367. ,@pState VARCHAR(100)
  368. ,@pDistrict VARCHAR(100)
  369. ,@pLocation INT
  370. ,@pAgentComm MONEY
  371. ,@pAgentCommCurrency VARCHAR(25)
  372. ,@pSuperAgentComm MONEY
  373. ,@pSuperAgentCommCurrency VARCHAR(25)
  374. ,@MapCodeIntBranch VARCHAR(50)
  375. ,@pBankName VARCHAR(100)
  376. ,@pBankBranchName VARCHAR(100)
  377. ,@pBranchName VARCHAR(100)
  378. ,@sAgentSettRate VARCHAR(100)
  379. ,@pAgentName VARCHAR(100)
  380. ,@pCountryId INT
  381. ,@ControlNoModified VARCHAR(50)
  382. SELECT
  383. @sAgent = 4670
  384. ,@sAgentName = 'AL ANSARI EXCHANGE'
  385. ,@sBranch = 4671
  386. ,@sBranchName = 'AL ANSARI EXCHANGE - HEAD OFFICE'
  387. ,@sCountry = 'United Arab Emirates'
  388. ,@sSuperAgent = 4641
  389. ,@sSuperAgentName = 'INTERNATIONAL AGENTS'
  390. ,@pCountry = 'Nepal'
  391. ,@pCountryId = 151
  392. ,@pSuperAgent = 1002
  393. ,@pSuperAgentName = 'INTERNATIONAL MONEY EXPRESS (IME) PVT. LTD'
  394. SELECT
  395. @beneficiaryAddress = receiverAddress
  396. ,@beneficiaryBankAccountNumber = receiverAccountNumber
  397. ,@beneficiaryBankBranchCode = benBranchCode
  398. ,@beneficiaryBankBranchName = benBranchName
  399. ,@beneficiaryBankCode = benBankCode
  400. ,@beneficiaryBankName = benBankName
  401. ,@beneficiaryIdNo = ''
  402. ,@beneficiaryName = receiverName
  403. ,@beneficiaryPhone = receiverMobile
  404. ,@customerAddress = senderAddress
  405. ,@customerIdDate = senderIdDate
  406. ,@customerIdNo = senderIdNumber
  407. ,@customerIdType = senderIdType
  408. ,@customerName = senderName
  409. ,@customerNationality = ''
  410. ,@customerPhone = senderMobileNumber
  411. ,@destinationAmount = finalPayoutAmount
  412. ,@destinationCurrency = 'NPR'
  413. ,@ceNumber = ceNumber
  414. ,@purpose = 'Family Support'
  415. ,@settlementCurrency = 'NPR'
  416. ,@transactionStatus = recordStatus
  417. ,@recordStatus = recordStatus
  418. ,@createdDate = createdDate
  419. ,@createdBy = createdBy
  420. ,@pBranch = pBranch
  421. ,@extBankId = pBank
  422. ,@extBankBranchId = pBankBranch
  423. ,@pBankBranchName = pBankBranchName
  424. FROM ceAcDepositHistory_V2 ce WITH(NOLOCK)
  425. WHERE rowId = @rowId
  426. SET @ControlNoModified = dbo.FNAEncryptstring(@ceNumber+'A')
  427. SELECT
  428. @pAgent = parentId,
  429. @pBranchName = agentName,
  430. @agentType = agentType,
  431. @pCountry = agentCountry,
  432. @pState = agentState,
  433. @pDistrict = agentDistrict,
  434. @pLocation = agentLocation,
  435. @MapCodeIntBranch = mapCodeInt
  436. FROM agentMaster WITH(NOLOCK) WHERE agentId = @pBranch
  437. SELECT @pAgentName = agentName FROM agentMaster WITH(NOLOCK) WHERE agentId = @pAgent
  438. --## 3. Find Commission
  439. DECLARE @sCountryId INT, @deliveryMethodId INT, @pCommCheck MONEY
  440. SELECT @sCountryId = countryId FROM countryMaster WITH(NOLOCK) WHERE countryName = @sCountry
  441. SET @payoutMethod = 'Bank Deposit'
  442. SET @deliveryMethodId = 2
  443. SELECT @pSuperAgentComm = 0, @pSuperAgentCommCurrency = 'NPR'
  444. SELECT @pAgentComm = amount FROM dbo.FNAGetPayComm(
  445. NULL
  446. ,@sCountryId, NULL, 1002, 151, @pLocation, @pBranch, 'NPR'
  447. ,2, @destinationAmount, @destinationAmount, 0, NULL, NULL
  448. )
  449. SELECT
  450. @pBankName = bankName
  451. ,@pAgent = am.agentId
  452. ,@pAgentName = a.bankName
  453. FROM externalBank a with(nolock) inner join agentMaster am with(nolock)
  454. on a.internalCode = am.agentId
  455. WHERE a.extBankId = @extBankId
  456. SELECT top 1
  457. @pBranch = am.agentId
  458. ,@pBranchName = am.agentName
  459. FROM agentMaster am WITH(NOLOCK)
  460. WHERE am.parentId = @pAgent and am.isHeadOffice = 'Y'
  461. IF @pBranch IS NULL
  462. BEGIN
  463. SELECT top 1
  464. @pBranch = am.agentId
  465. ,@pBranchName = am.agentName
  466. FROM agentMaster am WITH(NOLOCK)
  467. WHERE am.parentId = @pAgent
  468. END
  469. BEGIN TRANSACTION
  470. INSERT INTO remitTran (
  471. [controlNo]
  472. ,[senderName]
  473. ,[sCountry]
  474. ,[sSuperAgent]
  475. ,[sSuperAgentName]
  476. ,[paymentMethod]
  477. ,[cAmt]
  478. ,[pAmt]
  479. ,[tAmt]
  480. ,[pAgentComm]
  481. ,[payoutCurr]
  482. ,[pAgent]
  483. ,[pAgentName]
  484. ,[pSuperAgent]
  485. ,[pSuperAgentName]
  486. ,[receiverName]
  487. ,[pCountry]
  488. ,[pBranch]
  489. ,[pBranchName]
  490. ,[pState]
  491. ,[pDistrict]
  492. ,[pLocation]
  493. ,[purposeofRemit]
  494. ,[pMessage]
  495. ,[sAgentSettRate]
  496. ,[createdDate]
  497. ,[createdDateLocal]
  498. ,[createdBy]
  499. ,[approvedDate]
  500. ,[approvedDateLocal]
  501. ,[approvedBy]
  502. ,[paidBy]
  503. ,[paidDate]
  504. ,[paidDateLocal]
  505. --## hardcoded parameters
  506. ,[tranStatus]
  507. ,[payStatus]
  508. ,[collCurr]
  509. ,[controlNo2]
  510. ,[tranType]
  511. ,[sAgent]
  512. ,[sAgentName]
  513. ,[sBranch]
  514. ,[sBranchName]
  515. ,[pBank]
  516. ,[pBankName]
  517. ,[pBankBranch]
  518. ,[pBankBranchName]
  519. ,[accountNo]
  520. ,[sCurrCostRate]
  521. )
  522. SELECT
  523. @ControlNoModified
  524. ,@customerName
  525. ,@sCountry
  526. ,@sSuperAgent
  527. ,@sSuperAgentName
  528. ,@payoutMethod
  529. ,@destinationAmount--cAmt
  530. ,@destinationAmount --tAmt
  531. ,@destinationAmount
  532. ,@pAgentComm
  533. ,@destinationCurrency
  534. ,@pAgent --[pAgent]
  535. ,@pAgentName --[pAgentName]
  536. ,@pSuperAgent --[pSuperAgent]
  537. ,@pSuperAgentName --[pSuperAgentName]
  538. ,@beneficiaryName
  539. ,'Nepal'
  540. ,@pBranch
  541. ,@pBranchName
  542. ,@pState
  543. ,@pDistrict
  544. ,@pLocation
  545. ,@purpose
  546. ,NULL --@remarks
  547. ,@sAgentSettRate
  548. ,GETDATE()
  549. ,GETDATE()
  550. ,'SWIFT:API'
  551. ,GETDATE()
  552. ,GETDATE()
  553. ,'SWIFT:API'
  554. ,@user
  555. ,dbo.FNAGetDateInNepalTZ()
  556. ,dbo.FNAGetDateInNepalTZ()
  557. --## hardCoded Parameters
  558. ,'Paid'
  559. ,'Paid'
  560. ,@destinationCurrency
  561. ,dbo.FNAEncryptString(@ceNumber)
  562. ,'I'
  563. ,@sAgent
  564. ,@sAgentName
  565. ,@sBranch
  566. ,@sBranchName
  567. ,@extBankId
  568. ,@pBankName
  569. ,@extBankBranchId
  570. ,@pBankBranchName
  571. ,@beneficiaryBankAccountNumber
  572. ,'1'
  573. SET @tranId = SCOPE_IDENTITY()
  574. INSERT INTO tranSenders (
  575. tranId
  576. ,firstName
  577. ,country
  578. ,[address]
  579. ,idType
  580. ,idNumber
  581. ,validDate
  582. ,homePhone
  583. )
  584. SELECT
  585. @tranId
  586. ,@customerName
  587. ,@sCountry
  588. ,@customerAddress
  589. ,@customerIdType
  590. ,@customerIdNo
  591. ,CONVERT(DATETIME,@customerIdDate,103)
  592. ,@customerPhone
  593. INSERT INTO tranReceivers (
  594. tranId
  595. ,firstName
  596. ,country
  597. ,city
  598. ,[address]
  599. ,homePhone
  600. ,idType
  601. ,idNumber
  602. ,idType2
  603. ,idNumber2
  604. )
  605. SELECT
  606. @tranId
  607. ,@beneficiaryName
  608. ,@pCountry
  609. ,@beneficiaryAddress
  610. ,@beneficiaryAddress
  611. ,@beneficiaryPhone
  612. ,NULL -- rIdType
  613. ,@beneficiaryIdNo
  614. ,NULL
  615. ,@beneficiaryIdNo
  616. UPDATE ceAcDepositHistory_V2 SET recordStatus = 'PAID' WHERE ceNumber = @ceNumber
  617. --Update Accounting
  618. EXEC dbo.proc_payAcDepositAC
  619. @flag = 'payIntl'
  620. ,@user = @user
  621. ,@tranIds = @tranId
  622. --Update Inficare
  623. EXEC proc_pushToAc @flag= 'i', @controlNoEncrypted = @ControlNoModified
  624. EXEC proc_INFICARE_sendTxn @flag = 'SI-SA', @controlNoEncrypted = @ControlNoModified
  625. EXEC proc_INFICARE_payTxn @flag = 'p', @tranIds = @tranId
  626. SET @ceNumber = dbo.FNADecryptString(@ControlNoModified)
  627. IF @@TRANCOUNT > 0
  628. COMMIT TRANSACTION
  629. SET @msg =
  630. CASE
  631. WHEN @flag = 'restore' THEN 'Transaction has been restored successfully'
  632. ELSE 'Transaction paid successfully'
  633. END
  634. EXEC [proc_errorHandler] 0, @msg, @ceNumber
  635. RETURN
  636. END
  637. END
  638. GO