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.

525 lines
20 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_globalBankTranFastPayHistory] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_globalBankTranFastPayHistory]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_globalBankTranFastPayHistory] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. CREATE PROC [dbo].[proc_globalBankTranFastPayHistory](
  12. @flag VARCHAR(50)
  13. ,@user VARCHAR(50)
  14. ,@rowId VARCHAR(20) = NULL
  15. ,@pBranch VARCHAR(100) = NULL
  16. ,@tokenId VARCHAR(100) = NULL
  17. ,@radNo VARCHAR(100) = NULL
  18. ,@agentBranchId VARCHAR(100) = NULL
  19. ,@status VARCHAR(100) = NULL
  20. ,@statusName VARCHAR(100) = NULL
  21. ,@transactionDate VARCHAR(100) = NULL
  22. ,@receiveCurrencyIsoCode VARCHAR(100) = NULL
  23. ,@rAmount VARCHAR(100) = NULL
  24. ,@sAmount VARCHAR(100) = NULL
  25. ,@paymentModeId VARCHAR(100) = NULL
  26. ,@exRate VARCHAR(100) = NULL
  27. ,@cAmountLocal VARCHAR(100) = NULL
  28. ,@cAmountForeign VARCHAR(100) = NULL
  29. ,@payoutBranchId VARCHAR(100) = NULL
  30. ,@paymentModeName VARCHAR(100) = NULL
  31. ,@senderFullName VARCHAR(100) = NULL
  32. ,@senderAddress VARCHAR(100) = NULL
  33. ,@senderAddressUnicode VARCHAR(100) = NULL
  34. ,@senCityId VARCHAR(100) = NULL
  35. ,@senderCityName VARCHAR(100) = NULL
  36. ,@senderStateId VARCHAR(100) = NULL
  37. ,@senderStateName VARCHAR(100) = NULL
  38. ,@senderCountryIsoCode VARCHAR(100) = NULL
  39. ,@senderCountryName VARCHAR(100) = NULL
  40. ,@senderPhoneHome VARCHAR(100) = NULL
  41. ,@senderPhoneMobile VARCHAR(100) = NULL
  42. ,@receiverFullName VARCHAR(100) = NULL
  43. ,@receiverCountryIsoCode VARCHAR(100) = NULL
  44. ,@receiverCountryName VARCHAR(100) = NULL
  45. ,@receiverStateId VARCHAR(100) = NULL
  46. ,@receiverStateName VARCHAR(100) = NULL
  47. ,@recCityId VARCHAR(100) = NULL
  48. ,@receiverCityName VARCHAR(100) = NULL
  49. ,@receiverAddress VARCHAR(100) = NULL
  50. ,@receiverPhoneMobile VARCHAR(100) = NULL
  51. ,@recNo VARCHAR(100) = NULL
  52. ,@senId VARCHAR(100) = NULL
  53. ,@partnerId VARCHAR(30) = NULL
  54. ,@pBranchId VARCHAR(50) = NULL
  55. ,@branchName VARCHAR(200) = NULL
  56. ,@amount VARCHAR(100) = NULL
  57. ,@rIdType VARCHAR(30) = NULL
  58. ,@rIdNumber VARCHAR(30) = NULL
  59. ,@rIdPlaceOfIssue VARCHAR(50) = NULL
  60. ,@rValidDate VARCHAR(30) = NULL
  61. ,@rDob VARCHAR(30) = NULL
  62. ,@rAddress VARCHAR(100) = NULL
  63. ,@rCity VARCHAR(100) = NULL
  64. ,@rOccupation VARCHAR(100) = NULL
  65. ,@rContactNo VARCHAR(50) = NULL
  66. ,@rNativeCountry VARCHAR(100) = NULL
  67. ,@relationType VARCHAR(50) = NULL
  68. ,@relativeName VARCHAR(100) = NULL
  69. ,@remarks VARCHAR(500) = NULL
  70. ,@customerId VARCHAR(50) = NULL
  71. ,@relationship VARCHAR(100) = NULL
  72. ,@purpose VARCHAR(100) = NULL
  73. ,@rIssuedDate DATETIME = NULL
  74. ,@membershipId VARCHAR(50) = NULL
  75. ,@rbankName VARCHAR(50) = NULL
  76. ,@rbankBranch VARCHAR(100) = NULL
  77. ,@rcheque VARCHAR(50) = NULL
  78. ,@rAccountNo VARCHAR(50) = NULL
  79. ,@payResponseCode VARCHAR(20) = NULL
  80. ,@payResponseMsg VARCHAR(100) = NULL
  81. ,@sBranchMapCOdeInt INT = NULL
  82. ,@remittanceEntryDt VARCHAR(100) = NULL
  83. ,@remittanceAuthorizedDt VARCHAR(100) = NULL
  84. ,@remitType VARCHAR(100) = NULL
  85. ,@pCommission VARCHAR(100) = NULL
  86. ,@apiStatus VARCHAR(100) = NULL
  87. ,@payConfirmationNo VARCHAR(100) = NULL
  88. ,@benefAccIdNo VARCHAR(100) = NULL
  89. ,@senderIdType VARCHAR(100) = NULL
  90. ,@senderIdNo VARCHAR(100) = NULL
  91. ,@agentName VARCHAR(100) = NULL
  92. ,@pAgent INT = NULL
  93. ,@pCurrency VARCHAR(100) = NULL
  94. ,@dollarRate VARCHAR(100) = NULL
  95. ,@recordStatus VARCHAR(50) = NULL
  96. ,@TPAgentID VARCHAR(100) = NULL
  97. ,@rCurrency VARCHAR(100) = NULL
  98. ,@pBranchName VARCHAR(100) = NULL
  99. ,@pAgentName VARCHAR(100) = NULL
  100. )
  101. AS
  102. SET XACT_ABORT ON
  103. SET NOCOUNT ON
  104. BEGIN TRY
  105. DECLARE @agentGrp INT
  106. ,@cotrolNo VARCHAR(50)
  107. ,@subPartnerId INT
  108. ,@radNoEnc VARCHAR(100) = dbo.FNAEncryptString(@radNo)
  109. IF @pBranchId IS NOT NULL
  110. SELECT @branchName = agentName, @agentGrp = agentGrp FROM agentMaster am WITH(NOLOCK) WHERE agentId = @pBranchId
  111. IF @rowId like '%|%'
  112. SELECT @rowId = value FROM DBO.SPLIT('|',@rowId) WHERE id = 1
  113. IF @flag = 'i'
  114. BEGIN
  115. IF EXISTS (SELECT 'x' FROM globalBankTranFastPayHistory WITH(NOLOCK) WHERE radNo= @radNoEnc)
  116. BEGIN
  117. UPDATE globalBankTranFastPayHistory SET
  118. recordStatus = 'EXPIRED'
  119. WHERE radNo = @radNoEnc AND recordStatus <> 'READYTOPAY'
  120. END
  121. IF @pBranch IS NULL
  122. SELECT @pBranch = agentId FROM applicationUsers WITH(NOLOCK) WHERE userName = @user
  123. IF @pBranch = '1001'
  124. BEGIN
  125. EXEC [proc_errorHandler] 1, 'Payout branch is missing.', @rowId
  126. RETURN;
  127. END
  128. INSERT INTO globalBankTranFastPayHistory (
  129. radNo,agentBranchId,status,statusName,transactionDate,receiveCurrencyIsoCode,rAmount,sAmount,paymentModeId
  130. ,exRate,cAmountLocal,cAmountForeign,payoutBranchId,paymentModeName,senderFullName,senderAddress
  131. ,senderAddressUnicode,senCityId,senderCityName,senderStateId,senderStateName,senderCountryIsoCode,senderCountryName
  132. ,senderPhoneHome,senderPhoneMobile,receiverFullName,receiverCountryIsoCode,receiverCountryName,receiverStateId
  133. ,receiverStateName,recCityId,receiverCityName,receiverAddress,receiverPhoneMobile,recNo,senId,createdDate
  134. ,createdBy,pBranch,recordStatus
  135. )
  136. SELECT
  137. @radNoEnc,@agentBranchId,@status,@statusName,@transactionDate,@receiveCurrencyIsoCode,@rAmount,@sAmount,@paymentModeId
  138. ,@exRate,@cAmountLocal,@cAmountForeign,@payoutBranchId,@paymentModeName,@senderFullName,@senderAddress
  139. ,@senderAddressUnicode,@senCityId,@senderCityName,@senderStateId,@senderStateName,@senderCountryIsoCode,@senderCountryName
  140. ,@senderPhoneHome,@senderPhoneMobile,@receiverFullName ,@receiverCountryIsoCode,@receiverCountryName,@receiverStateId
  141. ,@receiverStateName,@recCityId,@receiverCityName,@receiverAddress,@receiverPhoneMobile,@recNo,@senId,GETDATE()
  142. ,@user,@pBranch,'DRAFT'
  143. SET @rowId = SCOPE_IDENTITY()
  144. EXEC [proc_errorHandler] 0, 'Transaction Has Been Saved Successfully', @rowId
  145. RETURN
  146. END
  147. ELSE IF @flag = 's'
  148. BEGIN
  149. IF(@partnerId='6873')
  150. BEGIN
  151. EXEC proc_errorHandler 0, 'Transaction Verification Successful', @rowId
  152. SELECT TOP 1
  153. rowId = gbl.rowId
  154. ,securityNo = dbo.FNADecryptString(gbl.radNo)
  155. ,transactionDate =SUBSTRING(gbl.transactionDate,1,10)
  156. ,senderName = gbl.senderFullName
  157. ,senderAddress = gbl.senderAddress
  158. ,senderMobile = gbl.senderPhoneMobile
  159. ,senderTel = gbl.senderPhoneHome
  160. ,senderIdNo = ''--gbl.senderIdNo
  161. ,senderIdType = ''--gbl.senderIdType
  162. ,senderCity = gbl.senderCityName
  163. ,recName = gbl.receiverFullName
  164. ,recAddress = gbl.receiverAddress
  165. ,recMobile = gbl.receiverPhoneMobile
  166. ,recTelePhone = ''--gbl.benefTel
  167. ,recIdType ='' -- gbl.benefIdType
  168. ,recIdNo = '' --gbl.benefAccIdNo
  169. ,recCity = receiverCityName
  170. ,recCountry = receiverCountryName
  171. ,pAmount = isnull(gbl.rAmount,0)
  172. ,rCurrency = gbl.receiveCurrencyIsoCode
  173. ,pCurrency ='NPR' -- gbl.pCurrency
  174. ,remarks = '' --gbl.remarks
  175. ,paymentMethod = 'Cash Payment'
  176. ,tokenId = '' --gbl.tokenId
  177. --,amt = isnull(gbl.rAmount,0)--isnull(cast(cAmountLocal as decimal(10,2)),0)
  178. ,amt = cast(isnull(gbl.rAmount,0) as decimal(10,2))
  179. ,pBranch = gbl.pBranch
  180. ,sendingCountry = gbl.senderCountryName
  181. ,sendingAgent = ''
  182. ,branchName = @branchName
  183. ,providerName = 'Global Tranfast Remit'
  184. ,orderNo = ''
  185. ,agentGrp = @agentGrp
  186. ,subPartnerId = 0
  187. ,benefStateId = receiverStateId
  188. ,benefCityId = recCityId
  189. FROM globalBankTranFastPayHistory gbl WITH(NOLOCK)
  190. WHERE rowId = @rowId ORDER BY rowId DESC
  191. --- ## Log Details
  192. SELECT TOP 1 [message],trn.createdBy,trn.createdDate
  193. FROM tranModifyLog trn WITH(NOLOCK)
  194. WHERE 1=2
  195. RETURN
  196. END
  197. END
  198. ELSE IF @flag = 'readyToPay'
  199. BEGIN
  200. SELECT @rowId = value FROM DBO.SPLIT('|',@rowId) WHERE id = 1
  201. UPDATE globalBankTranFastPayHistory SET
  202. recordStatus = 'READYTOPAY'
  203. ,pBranch = isnull(@pBranch,pBranch)
  204. ,rIdType = @rIdType
  205. ,rIdNumber = @rIdNumber
  206. ,rIdPlaceOfIssue = @rIdPlaceOfIssue
  207. ,rValidDate = @rValidDate
  208. ,rDob = @rDob
  209. ,rAddress = @rAddress
  210. ,rCity = @rCity
  211. ,rOccupation = @rOccupation
  212. ,rContactNom = @rContactNo
  213. ,nativeCountry = @rNativeCountry
  214. ,relationType = @relationType
  215. ,relativeName = @relativeName
  216. ,remarks = @remarks
  217. ,customerId = @customerId
  218. ,relWithSender = @relationship
  219. ,purposeOfRemit = @purpose
  220. ,rIssueDate = @rIssuedDate
  221. WHERE rowId = @rowId
  222. -- SELECT @amount = cAmountLocal FROM globalBankTranFastPayHistory WITH(NOLOCK) WHERE rowId = @rowId
  223. SELECT '0' errorCode, 'Ready to pay has been recorded successfully.' msg, 'Nepal' id, @amount extra
  224. RETURN
  225. END
  226. ELSE IF @flag = 'payError'
  227. BEGIN
  228. UPDATE globalBankTranFastPayHistory SET
  229. recordStatus = 'PAYERROR'
  230. ,payResponseCode = @payResponseCode
  231. ,payResponseMsg = @payResponseMsg
  232. WHERE rowId = @rowId
  233. EXEC [proc_errorHandler] 0, 'Pay error has been recorded successfully.', @rowId
  234. RETURN
  235. END
  236. ELSE IF @flag IN ('pay', 'restore')
  237. BEGIN
  238. IF NOT EXISTS(SELECT 'x' FROM globalBankTranFastPayHistory WITH(NOLOCK) WHERE recordStatus IN('READYTOPAY', 'PAYERROR', 'PAID') AND rowid = @rowid)
  239. BEGIN
  240. EXEC proc_errorHandler 1, 'Transaction Not Found!', @rowid
  241. RETURN
  242. END
  243. DECLARE
  244. @tranId BIGINT
  245. ,@tranIdTemp BIGINT
  246. ,@pSuperAgent INT
  247. ,@pSuperAgentName VARCHAR(100)
  248. ,@pCountry VARCHAR(100)
  249. ,@pState VARCHAR(100)
  250. ,@pDistrict VARCHAR(100)
  251. ,@pLocation INT
  252. ,@pAgentComm MONEY
  253. ,@pAgentCommCurrency VARCHAR(3)
  254. ,@pSuperAgentComm MONEY
  255. ,@pSuperAgentCommCurrency VARCHAR(3)
  256. ,@sAgent INT
  257. ,@sAgentName VARCHAR(100)
  258. ,@sBranch INT
  259. ,@sBranchName VARCHAR(100)
  260. ,@sSuperAgent INT
  261. ,@sSuperAgentName VARCHAR(100)
  262. ,@sAgentMapCode INT = 1075
  263. ,@sBranchMapCode INT = @sBranchMapCOdeInt
  264. ,@bankName VARCHAR(100) = NULL
  265. --,@purposeOfRemit VARCHAR(100) = NULL
  266. ,@pBankBranch VARCHAR(100) = NULL
  267. ,@sAgentSettRate VARCHAR(100) = NULL
  268. ,@agentType INT
  269. ,@payoutMethod VARCHAR(50)
  270. ,@cAmt MONEY
  271. ,@beneIdNo INT
  272. ,@customerRate MONEY
  273. ,@payoutCurr VARCHAR(50)
  274. ,@collCurr VARCHAR(50)
  275. ,@MapCodeIntBranch VARCHAR(50)
  276. ,@companyId INT = 16
  277. ,@ControlNoModified VARCHAR(50)
  278. ,@controlNo VARCHAR(50)
  279. ,@sCountryId INT
  280. SELECT
  281. @radNo = gbl.radNo
  282. ,@receiverFullName = gbl.receiverFullName
  283. ,@senderPhoneHome = gbl.receiverPhoneMobile
  284. ,@receiverPhoneMobile = gbl.receiverPhoneMobile
  285. ,@receiverAddress = gbl.receiverAddress
  286. ,@benefAccIdNo = '' --gbl.benefAccIdNo
  287. ,@rIdType = gbl.rIdType
  288. ,@senderFullName = gbl.senderFullName
  289. ,@senderAddress = gbl.senderAddress
  290. ,@senderPhoneHome = gbl.senderPhoneHome
  291. ,@senderPhoneMobile = gbl.senderPhoneMobile
  292. ,@senderIdType = '' --gbl.senderIdType
  293. ,@senderIdNo ='' --gbl.senderIdNo
  294. ,@remittanceEntryDt = gbl.remittanceEntryDt
  295. ,@remittanceAuthorizedDt = gbl.remittanceAuthorizedDt
  296. ,@remitType = gbl.remitType
  297. ,@receiveCurrencyIsoCode = gbl.receiveCurrencyIsoCode --rCurrency
  298. ,@pCurrency = gbl.pCurrency
  299. ,@pCommission = gbl.pCommission
  300. ,@amount = gbl.rAmount --amount
  301. ,@cAmountLocal = gbl.cAmountLocal --localAmount
  302. ,@exRate = gbl.exRate
  303. ,@dollarRate = '' --gbl.dollarRate
  304. ,@apiStatus = gbl.apiStatus
  305. ,@recordStatus = gbl.recordStatus
  306. ,@rIdType = gbl.rIdType
  307. ,@rIdNumber = gbl.rIdNumber
  308. ,@rValidDate = gbl.rValidDate
  309. ,@rIssuedDate = gbl.rIssueDate
  310. ,@rDob = gbl.rDob
  311. ,@rOccupation = gbl.rOccupation
  312. ,@rNativeCountry = gbl.nativeCountry
  313. ,@pBranch = isnull(@pBranch,gbl.pBranch)
  314. ,@rIdPlaceOfIssue = gbl.rIdPlaceOfIssue
  315. ,@relationType = gbl.relationType
  316. ,@relativeName = gbl.relativeName
  317. ,@tpAgentId ='' -- gbl.tpAgentId
  318. ,@rbankName ='' -- rBank
  319. ,@rbankBranch = '' --rBankBranch
  320. ,@rcheque = '' --rAccountNo
  321. ,@rAccountNo = '' ---rChequeNo
  322. ,@membershipId = '' --membershipId
  323. ,@customerId = customerId
  324. ,@purpose = purposeOfRemit
  325. ,@relationship = relWithSender
  326. FROM globalBankTranFastPayHistory gbl WITH(NOLOCK)
  327. WHERE rowId = @rowId
  328. SELECT TOP 1
  329. @senderCountryName = cm.countryName,
  330. @sCountryId = cm.countryId
  331. FROM countryMaster cm WITH(NOLOCK) INNER JOIN countryCurrency cc WITH(NOLOCK) ON cm.countryId = cc.countryId
  332. INNER JOIN currencyMaster currM WITH(NOLOCK) ON currM.currencyId = cc.currencyId
  333. WHERE currM.currencyCode = @rCurrency --@receiveCurrencyIsoCode
  334. AND isOperativeCountry ='Y'
  335. AND ISNULL(cc.isDeleted,'N') = 'N'
  336. SET @ControlNoModified = @radNo
  337. SELECT
  338. @pAgent = parentId,
  339. @pBranchName = agentName,
  340. @agentType = agentType,
  341. @pCountry = agentCountry,
  342. @pState = agentState,
  343. @pDistrict = agentDistrict,
  344. @pLocation = agentLocation,
  345. @MapCodeIntBranch = mapCodeInt
  346. FROM agentMaster WITH(NOLOCK) WHERE agentId = @pBranch
  347. --## Check if controlno exist in remittran.
  348. IF EXISTS( SELECT 'x' FROM remitTran WITH(NOLOCK) WHERE controlNo = @ControlNoModified)
  349. BEGIN
  350. DECLARE @msg VARCHAR(100)
  351. SELECT @agentName = sAgentName,@status = payStatus
  352. FROM remitTran WITH(NOLOCK)
  353. WHERE controlNo = @ControlNoModified
  354. SET @msg = 'This transaction belongs to ' + @agentName + ' and is in status: ' + @status
  355. EXEC proc_errorHandler 1,@msg,NULL
  356. RETURN
  357. END
  358. --## Set paying agent details.
  359. SELECT
  360. @pAgent = parentId,
  361. @pBranchName = agentName,
  362. @agentType = agentType,
  363. @pCountry = agentCountry,
  364. @pState = agentState,
  365. @pDistrict = agentDistrict,
  366. @pLocation = agentLocation,
  367. @MapCodeIntBranch=mapCodeInt
  368. FROM agentMaster WITH(NOLOCK) WHERE agentId = @pBranch
  369. IF @agentType = 2903
  370. SET @pAgent = @pBranch
  371. --## Check if txn exist in remitTran but not in Inficare system.
  372. DECLARE @remitTrandate DATETIME,@remitTrandateNepal DATETIME
  373. SELECT
  374. @tranId = id
  375. ,@remitTrandate = paidDate
  376. ,@remitTrandateNepal = paidDateLocal
  377. ,@pAgentComm = pAgentComm
  378. ,@remitTrandate = GETDATE()
  379. ,@remitTrandateNepal = dbo.FNAGetDateInNepalTZ()
  380. FROM remitTran WITH(NOLOCK)
  381. WHERE controlNo = @ControlNoModified
  382. --## 1. Find Sending Agent Details
  383. SELECT @sBranch = agentId,
  384. @sAgent = parentId,
  385. @sBranchName = agentName,
  386. @agentType = agentType
  387. FROM agentMaster WITH(NOLOCK)
  388. WHERE mapCodeInt = @sBranchMapCode AND ISNULL(isDeleted, 'N') = 'N'
  389. IF @agentType = 2903
  390. BEGIN
  391. SET @sAgent = @sBranch
  392. END
  393. SELECT @sSuperAgent = parentId,@sAgentName = agentName FROM agentMaster WITH(NOLOCK)
  394. WHERE agentId = @sAgent
  395. SELECT @sSuperAgentName = agentName
  396. FROM agentMaster WITH(NOLOCK) WHERE agentId = @sSuperAgent
  397. --## 2. Find Payout Agent Details
  398. SELECT @pSuperAgent = parentId,@pAgentName = agentName FROM agentMaster WITH(NOLOCK)
  399. WHERE agentId = @pAgent
  400. SELECT @pSuperAgentName = agentName FROM agentMaster WITH(NOLOCK) WHERE agentId = @pSuperAgent
  401. --## 3. Find Commission
  402. DECLARE @deliveryMethodId INT, @pCommCheck MONEY
  403. SET @payoutMethod = 'Cash Payment'
  404. DECLARE @pCountryId INT = NULL
  405. SELECT @pCountryId = countryId FROM countryMaster WITH(NOLOCK) WHERE countryName = @pCountry
  406. SELECT @deliveryMethodId = serviceTypeId FROM serviceTypeMaster WITH(NOLOCK)
  407. WHERE typeTitle = @payoutMethod AND ISNULL(isDeleted, 'N') = 'N'
  408. SELECT @pSuperAgentComm = 0, @pSuperAgentCommCurrency = 'NPR'
  409. SELECT @pAgentComm = ISNULL(pAgentComm, 0)
  410. FROM dbo.FNAGetGIBLCommission(@sBranch, @radNo,@deliveryMethodId,'GIBLTFS')
  411. BEGIN TRANSACTION
  412. BEGIN
  413. --## Inserting Data in remittran table
  414. INSERT INTO remitTran (
  415. [controlNo],[senderName],[sCountry],[sSuperAgent],[sSuperAgentName],[paymentMethod]
  416. ,[cAmt],[pAmt],[tAmt],[customerRate],[pAgentComm],[payoutCurr]
  417. ,[pAgent],[pAgentName],[pSuperAgent],[pSuperAgentName],[receiverName],[pCountry]
  418. ,[pBranch],[pBranchName],[pState],[pDistrict],[pLocation],[pbankName],[purposeofRemit],[pMessage]
  419. ,[pBankBranch],[sAgentSettRate],[createdDate],[createdDateLocal],[createdBy],[approvedDate],[approvedDateLocal]
  420. ,[approvedBy],[paidBy],[paidDate],[paidDateLocal],[serviceCharge],[tranStatus],[payStatus],[collCurr],[controlNo2]
  421. ,[tranType],[sAgent],[sAgentName],[sBranch],[sBranchName]
  422. )
  423. SELECT
  424. @ControlNoModified,@senderFullName,isnull(@senderCountryName,''),@sSuperAgent,@sSuperAgentName,'Cash Payment'
  425. ,@amount,@amount,@amount,'1',@pAgentComm,@pCurrency
  426. ,@pAgent,@pAgentName,@pSuperAgent,@pSuperAgentName ,@receiverFullName,@pCountry
  427. ,@pBranch,@pBranchName,@pState,@pDistrict,@pLocation,@bankName,@purpose,@remarks
  428. ,@pBankBranch,@SagentsettRate,dbo.FNAGetDateInNepalTZ(),GETDATE(),@user,dbo.FNAGetDateInNepalTZ(),GETDATE()
  429. ,@user,@user,dbo.FNAGetDateInNepalTZ(),GETDATE(),'0','Paid','Paid',@pCurrency,@radNo
  430. ,'I',@sAgent,@sAgentName,@sBranch,@sBranchName
  431. SET @tranId = SCOPE_IDENTITY()
  432. BEGIN
  433. --## Inserting Data in tranSenders table
  434. INSERT INTO tranSenders (tranId,firstName,country,[address],idType,idNumber,homePhone,mobile)
  435. SELECT @tranId,@senderFullName,@senderCountryName,@senderAddress,@senderIdType,@senderIdNo,@senderPhoneHome,@senderPhoneMobile
  436. --,@senderTel
  437. --,@senderMobile
  438. --## Inserting Data in tranReceivers table
  439. INSERT INTO tranReceivers (
  440. tranId,firstName,country,city,[address],homePhone,mobile
  441. ,idType2,idNumber2,dob,occupation,validDate,idPlaceOfIssue,relationType,relativeName,bankName
  442. ,branchName,chequeNo,accountNo,membershipId,customerId,relWithSender,purposeOfRemit,issuedDate2,validDate2
  443. )
  444. SELECT
  445. @tranId,@receiverFullName,@pCountry,@receiverAddress,@receiverAddress,@senderPhoneHome,@receiverPhoneMobile
  446. ,@rIdType,@rIdNumber,@rDob,@rOccupation,@rValidDate,@rIdPlaceOfIssue,@relationType,@relativeName,@rbankName
  447. ,@rbankBranch,@rcheque,@raccountNo,@membershipId,@customerId,@relationship,@purpose,@rIssuedDate,@rValidDate
  448. --## Updating Data in globalBankPayHistory table by paid status
  449. UPDATE globalBankTranFastPayHistory SET
  450. recordStatus = 'PAID'
  451. ,tranPayProcess = CASE WHEN @flag = 'Pay' THEN 'REGULAR' ELSE 'RESTORED' END
  452. ,payResponseCode = @payResponseCode
  453. ,payResponseMsg = @payResponseMsg
  454. ,confirmationNo = @payConfirmationNo
  455. ,paidDate = GETDATE()
  456. ,paidBy = @user
  457. WHERE rowId = @rowId
  458. EXEC Proc_AgentBalanceUpdate @flag = 'p',@tAmt = @amount ,@settlingAgent = @pBranch
  459. END
  460. END
  461. COMMIT TRANSACTION
  462. SET @msg =
  463. CASE
  464. WHEN @flag = 'restore' THEN 'Transaction has been restored successfully'
  465. ELSE 'Transaction paid successfully'
  466. END
  467. EXEC proc_pushToAc @flag= 'i', @controlNoEncrypted = @ControlNoModified
  468. SET @controlNo = dbo.fnadecryptstring(@ControlNoModified)
  469. EXEC [proc_errorHandler] 0, @msg, @controlNo
  470. RETURN
  471. END
  472. END TRY
  473. BEGIN CATCH
  474. IF @@TRANCOUNT > 0
  475. ROLLBACK TRANSACTION
  476. SELECT 1 errorCode, ERROR_MESSAGE() msg, NULL id
  477. END CATCH
  478. GO