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.

99 lines
4.7 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_online_PushFromKjBank] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_online_PushFromKjBank]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_online_PushFromKjBank] 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_online_PushFromKjBank]
  12. @flag VARCHAR(50)
  13. ,@processId VARCHAR(50)
  14. ,@obpId VARCHAR(30)
  15. ,@customerName NVARCHAR(100)
  16. ,@virtualAccountNo VARCHAR(30)
  17. ,@amount VARCHAR(50)
  18. ,@receivedOn VARCHAR(30)
  19. ,@partnerServiceKey VARCHAR(5)
  20. ,@institution VARCHAR(5)
  21. ,@depositor NVARCHAR(100)
  22. ,@no VARCHAR(50)
  23. AS
  24. SET NOCOUNT ON;
  25. SET XACT_ABORT ON;
  26. IF @flag = 'i'
  27. BEGIN
  28. declare @rowId int
  29. if not exists(select 'a' from customerMaster(nolock) where walletAccountNo = @virtualAccountNo)
  30. BEGIN
  31. INSERT INTO dbo.tblRejectLogVirtualBankDepositRequest( processId ,obpId ,customerName ,virtualAccountNo ,amount ,receivedOn ,partnerServiceKey ,
  32. institution ,depositor ,[no] ,reason ,logDate)
  33. SELECT @processId, @obpId, @customerName, @virtualAccountNo, @amount, @receivedOn, @partnerServiceKey,
  34. @institution, @depositor, @no, 'Invalid Virtual Account Found.', GETDATE()
  35. SELECT '1' ErrorCode , 'Invalid Virtual Account Found.' Msg , NULL
  36. return
  37. END
  38. if not exists(select 'a' from customerMaster(nolock) where bankAccountNo = @no)
  39. begin
  40. --insert into log
  41. INSERT INTO dbo.tblRejectLogVirtualBankDepositRequest( processId ,obpId ,customerName ,virtualAccountNo ,amount ,receivedOn ,partnerServiceKey ,
  42. institution ,depositor ,[no] ,reason ,logDate)
  43. SELECT @processId, @obpId, @customerName, @virtualAccountNo, @amount, @receivedOn, @partnerServiceKey,
  44. @institution, @depositor, @no, 'Invalid Primary Bank Account Found.', GETDATE()
  45. SELECT '1' ErrorCode , 'Invalid Primary Bank Account Found.' Msg , NULL
  46. return
  47. END
  48. --IF EXISTS (SELECT 'a' FROM dbo.TblVirtualBankDepositDetail TV (NOLOCK) WHERE TV.depositor = @depositor AND TV.receivedOn = @receivedOn
  49. --AND TV.virtualAccountNo = @virtualAccountNo AND TV.amount = @amount)
  50. IF EXISTS (SELECT 'a' FROM dbo.TblVirtualBankDepositDetail TV(NOLOCK) WHERE TV.processId = @processId)
  51. BEGIN
  52. --insert into log
  53. INSERT INTO dbo.tblRejectLogVirtualBankDepositRequest( processId ,obpId ,customerName ,virtualAccountNo ,amount ,receivedOn ,partnerServiceKey ,
  54. institution ,depositor ,[no] ,reason ,logDate)
  55. SELECT @processId, @obpId, @customerName, @virtualAccountNo, @amount, @receivedOn, @partnerServiceKey,
  56. @institution, @depositor, @no, 'Duplicate Data', GETDATE()
  57. SELECT '0' ErrorCode , 'Same record already exists.' Msg , NULL
  58. return
  59. END
  60. begin tran
  61. ----##send sms to customer
  62. DECLARE @SMSBody VARCHAR(90) = 'Your GME Wallet is successfully credited by KRW '+FORMAT(cast(@amount AS MONEY),'0,00')+' Thank you for using GME.'
  63. DECLARE @Mobile VARCHAR(20)
  64. SELECT @Mobile = mobile FROM customerMaster(NOLOCK) WHERE walletAccountNo = @virtualAccountNo
  65. exec FastMoneyPro_Remit.dbo.proc_CallToSendSMS @FLAG = 'I',@SMSBody = @SMSBody,@MobileNo = @Mobile
  66. INSERT INTO TblVirtualBankDepositDetail (processId,obpId,customerName,virtualAccountNo,amount,receivedOn
  67. ,partnerServiceKey,institution,depositor,[no],logDate)
  68. SELECT @processId,@obpId,@customerName,@virtualAccountNo,@amount,@receivedOn
  69. ,@partnerServiceKey ,@institution ,@depositor ,@no ,GETDATE()
  70. set @rowId = @@IDENTITY
  71. UPDATE cm SET cm.availableBalance = ISNULL(cm.availableBalance,0) + @amount
  72. FROM dbo.customerMaster cm WHERE walletAccountNo=@virtualAccountNo AND bankAccountNo = @no
  73. INSERT INTO FastMoneyPro_Account.dbo.temp_tran(entry_user_id,acct_num,part_tran_type,tran_amt,field1,field2,sessionID,refrence,emp_name)
  74. SELECT 'system','100241011536','dr',@amount,@virtualAccountNo,'Fund Deposit',@virtualAccountNo,@rowId,@depositor union all
  75. SELECT 'system',@virtualAccountNo,'cr',@amount,@virtualAccountNo,'Fund Deposit',@virtualAccountNo,@rowId,@depositor
  76. commit tran
  77. DECLARE @vVoucherType CHAR(1) = 'R'
  78. SELECT '0' ErrorCode , 'Record has been added successfully.' Msg , NULL
  79. SELECT @receivedOn = convert(varchar,getdate(),101),@depositor='being amount deposited on virtual ac : '+@virtualAccountNo
  80. SET @vVoucherType = CASE WHEN YEAR(@receivedOn) = 2018 THEN 'J' ELSE @vVoucherType END
  81. exec FastMoneyPro_Account.dbo.[spa_saveTempTrn] @flag='i',@sessionID= @virtualAccountNo,@date=@receivedOn,@narration=@depositor,@company_id=1,@v_type=@vVoucherType,@user='kjBank'
  82. END
  83. GO