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.

612 lines
46 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[PROC_KJAUTOREFUND] Script Date: 2019-09-27 $ 10:14:35 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. -- EXEC [PROC_KJAUTOREFUND] @flag = 'fail',@pRowId=596,@pCustomerId='59342',@pAmount='30000',@pActionBy='habiburrhmn52@gmail.com'
  9. --EXEC proc_CustomerTxnStatement @flag = 'refund', @user = 'pralhads@gmeremit.com', @IdNumber ='9424010696481', @chargeAmt = 1000, @refundAmt = 10000
  10. ALTER PROC [dbo].[PROC_KJAUTOREFUND]
  11. (
  12. @flag VARCHAR(20)
  13. ,@pCustomerId BIGINT = NULL
  14. ,@pCustomerSummary VARCHAR(20) = NULL
  15. ,@pAmount MONEY = NULL
  16. ,@pAction VARCHAR(10) = NULL
  17. ,@pActionDate DATETIME = NULL
  18. ,@pActionBy VARCHAR(50) = NULL
  19. ,@pBankCode VARCHAR(50) = NULL
  20. ,@pBankAccountNo VARCHAR(20) = NULL
  21. ,@pRowId BIGINT = 0
  22. ,@pSource CHAR(1) = NULL
  23. )
  24. AS
  25. SET NOCOUNT ON;
  26. SET XACT_ABORT ON;
  27. BEGIN TRY
  28. DECLARE @vRowId BIGINT = 0
  29. DECLARE @vBalance MONEY
  30. DECLARE @TEMPID BIGINT = 0
  31. DECLARE @vBankCode VARCHAR(4)
  32. DECLARE @vBankAccountNo VARCHAR(20)
  33. DECLARE @vRefundAmount MONEY
  34. DECLARE @vwalletAccountNo VARCHAR(20)
  35. DECLARE @custId VARCHAR(20)
  36. DECLARE @tempTbl TABLE (errorcode VARCHAR(5), msg VARCHAR(MAX), id VARCHAR(50))
  37. ------------------------------------------------
  38. --t | ­
  39. ------------------------------------------------
  40. IF @flag = 'REQ'
  41. BEGIN
  42. ------------------------------------------------
  43. -- Ĭ| 8(.
  44. ------------------------------------------------
  45. SELECT @vBankCode = bl.bankCode,
  46. @vBankAccountNo = bankAccountNo,
  47. @vBalance = cm.availableBalance,
  48. @vwalletAccountNo= cm.walletAccountNo
  49. FROM customerMaster cm (NOLOCK)
  50. INNER JOIN dbo.KoreanBankList bl (NOLOCK) ON cm.bankName=bl.rowId
  51. WHERE customerId=@pCustomerId
  52. AND ISNULL(onlineUser,'N')='Y'
  53. AND ISNULL(islocked,'N')='N'
  54. ------------------------------------------------
  55. -- l
  56. ------------------------------------------------
  57. IF(SELECT dbo.CheckCustomerPerDayAmt(@custId,@pAmount))=1
  58. BEGIN
  59. EXEC proc_errorHandler 1,'Easy remit Per day limit exceeded.!' ,null
  60. RETURN;
  61. END
  62. IF ISNULL(@vBankAccountNo,'') = ''
  63. BEGIN
  64. EXEC proc_errorHandler 1, 'Invalid Request Found .', @pCustomerId;
  65. RETURN;
  66. END
  67. IF (ISNULL(@pAmount,0) > @vBalance)
  68. BEGIN
  69. EXEC proc_errorHandler 1, 'Request balance is insufficient!', @pCustomerId;
  70. RETURN;
  71. END
  72. IF (ISNULL(@pAmount,0) <10000)
  73. BEGIN
  74. EXEC proc_errorHandler 1, 'Minimum Request amount is 10000', @pCustomerId;
  75. RETURN;
  76. END
  77. IF (ISNULL(@pAmount,0) >3900000)
  78. BEGIN
  79. EXEC proc_errorHandler 1, 'Maximum Request amount is 3900000', @pCustomerId;
  80. RETURN;
  81. END
  82. ------------------------------------------------
  83. BEGIN TRANSACTION
  84. ------------------------------------------------
  85. -- refundAmount = requestAmount - ̸(1000)
  86. SET @vRefundAmount = @pAmount - 1000
  87. ------------------------------------------------
  88. -- X = - a
  89. ------------------------------------------------
  90. SET @vBalance = @vBalance - @pAmount
  91. ------------------------------------------------
  92. -- KJ_AUTO_REFUND Lt 'REQ'\ INSERT
  93. ------------------------------------------------
  94. INSERT INTO KJ_AUTO_REFUND( customerId, bankCode, bankAccountNo, customerSummary,
  95. requestAmount, refundAmount, action, actionDate, actionBy,Balance,refundType,reqSource)
  96. SELECT @pCustomerId, @vBankCode, @vBankAccountNo, @pCustomerSummary,
  97. @pAmount, @vRefundAmount, @pAction, GETDATE(), @pActionBy,@vBalance,'Wallet',ISNULL(@pSource,'O')
  98. SET @vRowId = @@IDENTITY
  99. INSERT INTO @tempTbl(errorcode, msg, id)
  100. EXEC proc_CustomerTxnStatement @flag = 'refund', @user = 'online', @IdNumber =@vwalletAccountNo, @chargeAmt = 1000, @refundAmt = @pAmount
  101. IF EXISTS(SELECT '' FROM @tempTbl WHERE errorcode = 1)
  102. BEGIN
  103. EXEC proc_errorHandler 1, 'Error occured while requesting.', 0;
  104. END
  105. ELSE
  106. BEGIN
  107. SELECT '0' errorCode,@vBankCode vBankCode,@vRowId ID
  108. END
  109. ------------------------------------------------
  110. COMMIT TRANSACTION
  111. ------------------------------------------------
  112. --EXEC proc_errorHandler 0, 'Data Saved Successfully!', @TEMPID;
  113. END
  114. IF @flag = 'Autodebit_REQ'
  115. BEGIN
  116. IF (ISNULL(@pAmount,0) <10000)
  117. BEGIN
  118. EXEC proc_errorHandler 1, 'Minimum Request amount is 10000', @pCustomerId;
  119. RETURN;
  120. END
  121. IF (ISNULL(@pAmount,0) >3900000)
  122. BEGIN
  123. EXEC proc_errorHandler 1, 'Maximum Request amount is 3900000', @pCustomerId;
  124. RETURN;
  125. END
  126. ------------------------------------------------
  127. BEGIN TRANSACTION
  128. ------------------------------------------------
  129. ------------------------------------------------
  130. -- KJ_AUTO_REFUND Lt 'Autodebit_REQ'\ INSERT
  131. ------------------------------------------------
  132. INSERT INTO KJ_AUTO_REFUND( customerId, bankCode, bankAccountNo, customerSummary,
  133. requestAmount, refundAmount, action, actionDate, actionBy ,Balance ,refundType,reqSource)
  134. SELECT @pCustomerId, @pBankCode, @pBankAccountNo, @pCustomerSummary,
  135. @pAmount, @pAmount, 'REQ', GETDATE(), @pActionBy ,@pAmount ,'AutoDebit',ISNULL(@pSource,'O')
  136. SET @vRowId = @@IDENTITY
  137. --EXEC proc_errorHandler 0, 'Data Saved Successfully!', @TEMPID;
  138. SELECT '0' errorCode,@vBankCode vBankCode,@vRowId id
  139. ------------------------------------------------
  140. COMMIT TRANSACTION
  141. ------------------------------------------------
  142. END
  143. -----------------------------------------------------
  144. -- m@lj (Ĭ)  \X | KJ_AUTO_REFUND Lt INSERT
  145. -----------------------------------------------------
  146. IF @flag = 'Domestic'
  147. BEGIN
  148. IF (ISNULL(@pAmount,0) <10000)
  149. BEGIN
  150. EXEC proc_errorHandler 1, 'Minimum Request amount is 10000', @pCustomerId;
  151. RETURN;
  152. END
  153. ------------------------------------------------
  154. BEGIN TRANSACTION
  155. ------------------------------------------------
  156. ------------------------------------------------
  157. -- KJ_AUTO_REFUND Lt 'Domestic'\ INSERT
  158. ------------------------------------------------
  159. INSERT INTO KJ_AUTO_REFUND( customerId, bankCode, bankAccountNo, customerSummary,
  160. requestAmount, refundAmount, action, actionDate, actionBy ,Balance ,refundType,reqSource)
  161. SELECT @pCustomerId, @pBankCode, @pBankAccountNo, @pCustomerSummary,
  162. @pAmount, @pAmount, @pAction , GETDATE(), @pActionBy ,@pAmount ,'Domestic',ISNULL(@pSource,'O')
  163. SET @vRowId = @@IDENTITY
  164. --EXEC proc_errorHandler 0, 'Data Saved Successfully!', @TEMPID;
  165. SELECT '0' errorCode,@vBankCode vBankCode,@vRowId id
  166. ------------------------------------------------
  167. COMMIT TRANSACTION
  168. ------------------------------------------------
  169. END
  170. IF @flag = 'SUCCESS'
  171. BEGIN
  172. --------------------------------------------------
  173. ---- KJ_AUTO_REFUND Lt 'REQ' pt| 8(.
  174. --------------------------------------------------
  175. --SELECT TOP(1)
  176. -- @vRefundType = refundType,
  177. -- @pActionBy = actionBy
  178. --FROM KJ_AUTO_REFUND
  179. --WHERE rowId = @pRowId
  180. --AND customerId = @pCustomerId
  181. --AND [action] IN( 'REQ','Autodebit_REQ')
  182. ------------------------------------------------
  183. BEGIN TRANSACTION
  184. ------------------------------------------------
  185. ------------------------------------------------
  186. -- KJ_AUTO_REFUND Lt 'SUCCESS'\ UPDATE
  187. ------------------------------------------------
  188. UPDATE KJ_AUTO_REFUND
  189. SET action = @pAction
  190. WHERE rowId = @pRowId
  191. AND customerId = @pCustomerId
  192. EXEC proc_errorHandler 0, 'Data Saved Successfully!', @pCustomerId;
  193. ------------------------------------------------
  194. COMMIT TRANSACTION
  195. ------------------------------------------------
  196. END
  197. IF @flag = 'FAIL'
  198. BEGIN
  199. ----------------------------------------------------
  200. ------ KJ_AUTO_REFUND Lt 'REQ' pt| 8(.
  201. ----------------------------------------------------
  202. ----SELECT TOP(1)
  203. ---- @vRowId=rowId
  204. ----FROM KJ_AUTO_REFUND
  205. ----WHERE customerId=@pCustomerId
  206. ----AND requestAmount=@pAmount
  207. ----AND CONVERT(VARCHAR(10), actionDate,120) = CONVERT(VARCHAR(10), GETDATE(), 120)
  208. ----AND action = 'REQ'
  209. ------------------------------------------------
  210. BEGIN TRANSACTION
  211. ------------------------------------------------
  212. ------------------------------------------------
  213. -- KJ_AUTO_REFUND Lt 'FAIL'\ UPDATE
  214. ------------------------------------------------
  215. UPDATE KJ_AUTO_REFUND
  216. SET action = @pAction
  217. WHERE rowId = @pRowId
  218. AND customerId = @pCustomerId
  219. AND action = 'REQ'
  220. ------------------------------------------------
  221. -- Ĭ| 8(.
  222. ------------------------------------------------
  223. SELECT @vBalance = availableBalance,
  224. @vwalletAccountNo= cm.walletAccountNo
  225. FROM customerMaster cm (NOLOCK)
  226. WHERE customerId=@pCustomerId
  227. AND ISNULL(onlineUser,'N')='Y'
  228. AND ISNULL(islocked,'N')='N'
  229. ------------------------------------------------
  230. -- X = + a
  231. ------------------------------------------------
  232. SET @vBalance = @vBalance + @pAmount
  233. UPDATE customerMaster
  234. SET availableBalance = @vBalance
  235. WHERE customerId = @pCustomerId
  236. EXEC proc_errorHandler 0, 'Data Saved Successfully!', @pCustomerId;
  237. insert into TblVirtualBankDepositDetail(processId,obpId,customerName,virtualAccountNo,amount,receivedOn,partnerServiceKey
  238. ,institution,depositor,no,logDate)
  239. select top 1 0,obpId,customerName,virtualAccountNo, @pAmount,getdate(),'000'
  240. ,institution,depositor,no,getdate() from TblVirtualBankDepositDetail (nolock)
  241. where virtualAccountNo= @vwalletAccountNo
  242. set @vRowId = @@IDENTITY
  243. INSERT INTO FastMoneyPro_Account.dbo.temp_tran(entry_user_id,acct_num,part_tran_type,tran_amt,field1,field2
  244. ,sessionID,refrence)
  245. SELECT 'system','100241011536','dr',(@pAmount-1000),@vwalletAccountNo,'Refund Reverse',@vwalletAccountNo,@vRowId
  246. union all
  247. SELECT 'system',@vwalletAccountNo,'cr',@pAmount,@vwalletAccountNo,'Refund Reverse',@vwalletAccountNo,@vRowId
  248. INSERT INTO FastMoneyPro_Account.dbo.temp_tran(entry_user_id,acct_num,part_tran_type,tran_amt,field1,field2
  249. ,sessionID,refrence)
  250. SELECT 'system','910141097092','dr',1000,@vwalletAccountNo,'Refund Reverse',@vwalletAccountNo,@vRowId
  251. ------------------------------------------------
  252. COMMIT TRANSACTION
  253. ------------------------------------------------
  254. DECLARE @vDate date = GETDATE(),@vRemarks varchar(200) = 'being refund reversal to primary ac : '+@vwalletAccountNo
  255. DECLARE @vVoucherType CHAR(1) = 'Y'
  256. SET @vVoucherType = CASE WHEN YEAR(@vDate) = 2018 THEN 'J' ELSE @vVoucherType END
  257. INSERT INTO @tempTbl(errorcode, msg, id)
  258. exec FastMoneyPro_Account.dbo.[spa_saveTempTrn] @flag='i',@sessionID= @vwalletAccountNo,@date=@vDate,@narration = @vRemarks,@company_id=1,@v_type=@vVoucherType,@user='system'
  259. END
  260. IF @flag = 'Autodebit_FAIL'
  261. BEGIN
  262. ------------------------------------------------
  263. BEGIN TRANSACTION
  264. ------------------------------------------------
  265. ------------------------------------------------
  266. -- KJ_AUTO_REFUND Lt 'FAIL'\ UPDATE
  267. ------------------------------------------------
  268. UPDATE KJ_AUTO_REFUND
  269. SET action = @pAction
  270. WHERE rowId = @pRowId
  271. AND customerId = @pCustomerId
  272. AND action = 'REQ'
  273. EXEC proc_errorHandler 0, 'Data Saved Successfully!', @pCustomerId;
  274. ------------------------------------------------
  275. COMMIT TRANSACTION
  276. ------------------------------------------------
  277. END
  278. ELSE IF @flag = 'CUSTOMER-INFO'
  279. BEGIN
  280. SELECT [customerId]
  281. ,[email]
  282. ,[mobile]
  283. ,obpId
  284. ,BL.bankCode
  285. ,BL.bankName
  286. ,bankAccountNo
  287. FROM dbo.customerMaster CM (NOLOCK)
  288. INNER JOIN dbo.KoreanBankList BL (NOLOCK) ON CM.bankName=BL.rowId
  289. WHERE customerId=@pCustomerId
  290. AND isnull(onlineUser,'N')='Y'
  291. AND isnull(islocked,'N')='N'
  292. END
  293. ----------------------------------------------------
  294. -- Ĭ| \ m@lj  REQ
  295. ----------------------------------------------------
  296. IF @flag = 'DomesticWallet'
  297. BEGIN
  298. ------------------------------------------------
  299. -- Ĭ| 8(.
  300. ------------------------------------------------
  301. SELECT @vBalance = availableBalance,
  302. @vwalletAccountNo= cm.walletAccountNo
  303. FROM customerMaster cm (NOLOCK)
  304. WHERE customerId=@pCustomerId
  305. AND ISNULL(onlineUser,'N')='Y'
  306. AND ISNULL(islocked,'N')='N'
  307. ------------------------------------------------
  308. -- l
  309. ------------------------------------------------
  310. if not exists(select 'a' from TblVirtualBankDepositDetail(nolock) where virtualAccountNo = @vwalletAccountNo)
  311. BEGIN
  312. EXEC proc_errorHandler 1, 'Balance not found for refund', NULL
  313. RETURN
  314. END
  315. IF (ISNULL(@pAmount,0) > @vBalance)
  316. BEGIN
  317. EXEC proc_errorHandler 1, 'Request balance is insufficient!', @pCustomerId;
  318. RETURN;
  319. END
  320. IF (ISNULL(@pAmount,0) <10000)
  321. BEGIN
  322. EXEC proc_errorHandler 1, 'Minimum Request amount is 10000', @pCustomerId;
  323. RETURN;
  324. END
  325. ------------------------------------------------
  326. BEGIN TRANSACTION
  327. ------------------------------------------------
  328. -- refundAmount = requestAmount - ̸(1000)
  329. SET @vRefundAmount = @pAmount - (select value from serviceValueMaster(NOLOCK) where PartnerName = 'KJWallet' and ServiceType = 'DomesticRemittance')
  330. ------------------------------------------------
  331. -- X = - a
  332. ------------------------------------------------
  333. SET @vBalance = @vBalance - @pAmount
  334. ----
  335. insert into TblVirtualBankDepositDetail(processId,obpId,customerName,virtualAccountNo,amount,receivedOn,partnerServiceKey
  336. ,institution,depositor,no,logDate)
  337. select top 1 @pCustomerSummary,obpId,customerName,virtualAccountNo,- @vRefundAmount,getdate(),'000'
  338. ,institution,'DTWallet-'+@pCustomerSummary,no,getdate() from TblVirtualBankDepositDetail (nolock)
  339. where virtualAccountNo= @vwalletAccountNo
  340. update customerMaster set availableBalance = availableBalance- @vRefundAmount where walletAccountNo = @vwalletAccountNo
  341. ------------------------------------------------
  342. -- KJ_AUTO_REFUND Lt 'REQ'\ INSERT
  343. ------------------------------------------------
  344. INSERT INTO KJ_AUTO_REFUND( customerId, bankCode, bankAccountNo, customerSummary,
  345. requestAmount, refundAmount, action, actionDate, actionBy,Balance,refundType,reqSource)
  346. SELECT @pCustomerId, @pBankCode, @pBankAccountNo, @pCustomerSummary,
  347. @pAmount, @vRefundAmount, @pAction, GETDATE(), @pActionBy,@vBalance,'Wallet',ISNULL(@pSource,'O')
  348. SET @vRowId = @@IDENTITY
  349. -- SELECT '0' errorCode,@vBankCode vBankCode,@vRowId ID
  350. -- Voucher create process change to only run when KFTC Deposit Success. 2019.10.04 @Dana
  351. -- Voucher pt INSERT (Pralhad )
  352. -- EXEC proc_CustomerTxnStatement @flag = 'refund', @user = 'online', @IdNumber =@vwalletAccountNo, @chargeAmt = 1000, @refundAmt = @pAmount
  353. -- EXEC [proc_DomesticTransferVoucher] @flag = 'transfer', @user = @pCustomerId,@walletAccountNo = @vwalletAccountNo,@receiverAccountNo = @pBankAccountNo,@transferAmt = @vRefundAmount,@chargeAmt = 0,@processId = @pCustomerSummary
  354. ------------------------------------------------
  355. COMMIT TRANSACTION
  356. SELECT '0' errorCode,@vBankCode vBankCode,@vRowId ID
  357. ------------------------------------------------
  358. END
  359. ----------------------------------------------------
  360. ------ Ĭ| \ m@ljա 1.
  361. ----------------------------------------------------
  362. IF @flag = 'DomesticWallet_SUCC' --
  363. BEGIN
  364. ------------------------------------------------
  365. -- Ĭ| 8(.
  366. ------------------------------------------------
  367. SELECT @vwalletAccountNo= cm.walletAccountNo
  368. FROM customerMaster cm (NOLOCK)
  369. WHERE customerId=@pCustomerId
  370. AND ISNULL(onlineUser,'N')='Y'
  371. AND ISNULL(islocked,'N')='N'
  372. -- refundAmount = requestAmount - ̸(1000)
  373. IF (ISNULL(@pAmount,0) <10000)
  374. BEGIN
  375. EXEC proc_errorHandler 1, 'Minimum Request amount is 10000', @pCustomerId;
  376. RETURN;
  377. END
  378. SET @vRefundAmount = @pAmount - (select value from serviceValueMaster(NOLOCK) where PartnerName = 'KJWallet' and ServiceType = 'DomesticRemittance')
  379. ------------------------------------------------
  380. BEGIN TRANSACTION
  381. ------------------------------------------------
  382. ------------------------------------------------
  383. -- KJ_AUTO_REFUND Lt 'SUCCESS'\ UPDATE
  384. ------------------------------------------------
  385. UPDATE KJ_AUTO_REFUND
  386. SET action = @pAction
  387. WHERE rowId = @pRowId
  388. AND customerId = @pCustomerId
  389. AND action = 'REQ'
  390. EXEC proc_errorHandler 0, 'Data Saved Successfully!', @pCustomerId;
  391. ------------------------------------------------
  392. COMMIT TRANSACTION
  393. ------------------------------------------------
  394. -- Voucher create process change to only run when KFTC Deposit Success. 2019.10.04 @Dana
  395. -- Voucher pt INSERT (Pralhad )
  396. EXEC [proc_DomesticTransferVoucher] @flag = 'transfer',
  397. @user = @pCustomerId,
  398. @walletAccountNo = @vwalletAccountNo,
  399. @receiverBankCode = @pBankCode,
  400. @receiverAccountNo = @pBankAccountNo,
  401. @transferAmt = @vRefundAmount,
  402. @chargeAmt = 0,
  403. @processId = @pCustomerSummary
  404. END
  405. ----------------------------------------------------
  406. ------ Ĭ| \ m@ljա 1.
  407. ----------------------------------------------------
  408. IF @flag = 'KJAPI-DOMESTIC-TXN' --
  409. BEGIN
  410. ------------------------------------------------
  411. -- Ĭ| 8(.
  412. ------------------------------------------------
  413. SELECT @vwalletAccountNo= cm.walletAccountNo
  414. FROM customerMaster cm (NOLOCK)
  415. WHERE customerId=@pCustomerId
  416. AND ISNULL(onlineUser,'N')='Y'
  417. AND ISNULL(islocked,'N')='N'
  418. -- refundAmount = requestAmount - ̸(1000)
  419. IF (ISNULL(@pAmount,0) <10000)
  420. BEGIN
  421. EXEC proc_errorHandler 1, 'Minimum Request amount is 10000', @pCustomerId;
  422. RETURN;
  423. END
  424. SET @vRefundAmount = @pAmount - (select value from serviceValueMaster(NOLOCK) where PartnerName = 'KJWallet' and ServiceType = 'DomesticRemittance')
  425. ------------------------------------------------
  426. BEGIN TRANSACTION
  427. ------------------------------------------------
  428. ------------------------------------------------
  429. -- KJ_AUTO_REFUND Lt 'SUCCESS'\ UPDATE
  430. ------------------------------------------------
  431. UPDATE KJ_AUTO_REFUND
  432. SET action = @pAction
  433. WHERE rowId = @pRowId
  434. AND customerId = @pCustomerId
  435. AND action = 'REQ'
  436. EXEC proc_errorHandler 0, 'Data Saved Successfully!', @pCustomerId;
  437. ------------------------------------------------
  438. COMMIT TRANSACTION
  439. ------------------------------------------------
  440. -- Voucher create process change to only run when KFTC Deposit Success. 2019.10.04 @Dana
  441. -- Voucher pt INSERT (Pralhad )
  442. EXEC [proc_DomesticTransferVoucher] @flag = 'KJAPI-DOMESTIC-TXN',
  443. @user = @pCustomerId,
  444. @walletAccountNo = @vwalletAccountNo,
  445. @receiverBankCode = @pBankCode,
  446. @receiverAccountNo = @pBankAccountNo,
  447. @transferAmt = @vRefundAmount,
  448. @chargeAmt = 0,
  449. @processId = @pCustomerSummary
  450. END
  451. ----------------------------------------------------
  452. ------ Ĭ| \ m@ljա (.
  453. ----------------------------------------------------
  454. IF @flag = 'DomesticWallet_FAIL'
  455. BEGIN
  456. DECLARE @processId VARCHAR(30)
  457. SELECT @processId = customerSummary FROM KJ_AUTO_REFUND(NOLOCK) WHERE rowId = @pRowId
  458. AND customerId = @pCustomerId AND action = 'REQ'
  459. ------------------------------------------------
  460. BEGIN TRANSACTION
  461. ------------------------------------------------
  462. ------------------------------------------------
  463. -- KJ_AUTO_REFUND Lt 'FAIL'\ UPDATE
  464. ------------------------------------------------
  465. UPDATE KJ_AUTO_REFUND
  466. SET action = @pAction
  467. WHERE rowId = @pRowId
  468. AND customerId = @pCustomerId
  469. AND action = 'REQ'
  470. ------------------------------------------------
  471. -- Ĭ@ aD 8(
  472. ------------------------------------------------
  473. SELECT @vBalance = availableBalance,
  474. @vwalletAccountNo= cm.walletAccountNo
  475. FROM customerMaster cm (NOLOCK)
  476. WHERE customerId=@pCustomerId
  477. AND ISNULL(onlineUser,'N')='Y'
  478. AND ISNULL(islocked,'N')='N'
  479. ------------------------------------------------
  480. -- X = + a
  481. ------------------------------------------------
  482. SET @vBalance = @vBalance + @pAmount
  483. UPDATE customerMaster
  484. SET availableBalance = @vBalance
  485. WHERE customerId = @pCustomerId
  486. EXEC proc_errorHandler 0 , 'Data Saved Successfully!', @pCustomerId;
  487. ---- Pralhad 
  488. insert into TblVirtualBankDepositDetail(processId,obpId,customerName,virtualAccountNo,amount,receivedOn,partnerServiceKey
  489. ,institution,depositor,no,logDate)
  490. select top 1 0,obpId,customerName,virtualAccountNo, @pAmount,getdate(),'000'
  491. ,institution,'DT-WalletFailed',no,getdate() from TblVirtualBankDepositDetail (nolock)
  492. where virtualAccountNo= @vwalletAccountNo
  493. -- Voucher create process change to only run when KFTC Deposit Success. following cancel process no need. 2019.10.04 @Dana
  494. --set @vRowId = @@IDENTITY
  495. --INSERT INTO FastMoneyPro_Account.dbo.temp_tran(entry_user_id,acct_num,part_tran_type,tran_amt,field1,field2
  496. --,sessionID,refrence)
  497. --SELECT 'system','100241011536','dr',(@pAmount-1000),@vwalletAccountNo,'Domestic Reverse',@vwalletAccountNo,@vRowId ---- kj wallet account
  498. --union all
  499. --SELECT 'system',@vwalletAccountNo,'cr',@pAmount,@vwalletAccountNo,'Domestic Reverse',@vwalletAccountNo,@vRowId ---- customer wallet account
  500. --INSERT INTO FastMoneyPro_Account.dbo.temp_tran(entry_user_id,acct_num,part_tran_type,tran_amt,field1,field2 ---- domestic charge account
  501. --,sessionID,refrence)
  502. --SELECT 'system','421793414','dr',1000,@vwalletAccountNo,'Domestic Reverse',@vwalletAccountNo,@vRowId
  503. --SELECT @vDate = GETDATE(),@vRemarks = 'being Domestic Transfer reversal to: '+@vwalletAccountNo
  504. --SET @vVoucherType = 'Y'
  505. --INSERT INTO @tempTbl(errorcode, msg, id)
  506. --exec FastMoneyPro_Account.dbo.[spa_saveTempTrn] @flag='i',@sessionID= @vwalletAccountNo,@date=@vDate,@narration = @vRemarks,@company_id=1,@v_type=@vVoucherType,@user='system'
  507. ------------------------------------------------
  508. COMMIT TRANSACTION
  509. ------------------------------------------------
  510. END
  511. END TRY
  512. BEGIN CATCH
  513. IF @@TRANCOUNT <> 0
  514. ROLLBACK TRANSACTION;
  515. DECLARE @errorMessage VARCHAR(MAX);
  516. --SET @errorMessage = ERROR_MESSAGE();
  517. SET @errorMessage = 'Error Occur while requesting.'
  518. EXEC proc_errorHandler 1, @errorMessage, @pCustomerId;
  519. END CATCH;