|
|
ALTER PROC PROC_WSB_DEPOSIT_NOTICE (@Flag VARCHAR(20), @customerId BIGINT = NULL, @processId VARCHAR(50) = NULL, @requestData NVARCHAR(max) = NULL, @requestDate DATETIME = NULL, @responseData NVARCHAR(max) = NULL, @responseDate DATETIME = NULL, @dataLen NUMERIC(4) = NULL, @orgtId VARCHAR(10) = NULL, @srvcDs VARCHAR(6) = NULL, @trxTypeCd VARCHAR(4) = NULL, @rspsCd VARCHAR(4) = NULL, @tlgSeqNo NUMERIC(10) = NULL, @tlgSendHur VARCHAR(14) = NULL, @filler NVARCHAR(max) = NULL, @virtualAccountNo VARCHAR(20) = NULL, @maccNo VARCHAR(20) = NULL, @trxDt VARCHAR(8) = NULL, @trxTime VARCHAR(6) = NULL, @trxAmt NUMERIC(15) = NULL, @bankCd VARCHAR(3) = NULL, @bankBranCd VARCHAR(7) = NULL, @vtulAccTrnfCustNm NVARCHAR(max) = NULL, @trxSeqNo NUMERIC(9) = NULL, @cnclYn VARCHAR(1) = NULL, @vtulAccTrnfAccNo VARCHAR(16) = NULL, @filler1 NVARCHAR(max) = NULL, @rowId INT = NULL, @MethodName VARCHAR(100) = NULL) AS SET nocount ON; SET xact_abort ON;
BEGIN try DECLARE @depositor NVARCHAR(100), @receivedOn VARCHAR(30)
IF @trxTypeCd = '0210' BEGIN SET @flag='iulog' END
IF @flag = 'iulog' BEGIN INSERT INTO dbo.wsb_deposit_notice (customerid, processid, requestdata, requestdate, datalen, orgtid, srvcds, trxtypecd, rspscd, tlgseqno, tlgsendhur, filler, virtualaccountno, maccno, trxdt, trxtime, trxamt, bankcd, bankbrancd, vtulacctrnfcustnm, trxseqno, cnclyn, vtulacctrnfaccno, filler1, responsedata, responsedate) VALUES ( @customerId, @processId, @requestData, Getdate(), @dataLen, @orgtId, @srvcDs, @trxTypeCd, @rspsCd, @tlgSeqNo, @tlgSendHur, @filler, @virtualAccountNo, @maccNo, @trxDt, @trxTime, @trxAmt, @bankCd, @bankBranCd, @vtulAccTrnfCustNm, @trxSeqNo, Isnull(@cnclYn, 'N'), @vtulAccTrnfAccNo, @filler1, @responseData, CASE WHEN @responseData = N'' THEN NULL ELSE Getdate() END )
SET @rowId = @@IDENTITY
IF @rspsCd = '0000' BEGIN ----##send sms to customer
DECLARE @SMSBody VARCHAR(90) = 'Your GME Wallet is successfully credited by KRW ' + Format(Cast(@trxAmt AS MONEY), '0,00') + ' Thank you for using GME.' DECLARE @Mobile VARCHAR(20) ,@avaiableBalance MONEY
SELECT @Mobile = mobile, @depositor = firstname, @customerId = customerid ,@avaiableBalance=availableBalance FROM customermaster(nolock) WHERE walletaccountno = @virtualAccountNo AND customertype = 11068
EXEC fastmoneypro_remit.dbo.Proc_calltosendsms @FLAG = 'I', @SMSBody = @SMSBody, @MobileNo = @Mobile
----## VOUCHER ENTRY
UPDATE cm SET cm.availablebalance = Isnull(cm.availablebalance, 0) + @trxAmt FROM dbo.customermaster cm WHERE walletAccountNo = @virtualAccountNo
/*block easy remit customer if balance is more than 3 mil*/ IF(ISNULL(@avaiableBalance,0) + ISNULL(@trxAmt,0))>3000000 BEGIN UPDATE customermaster SET
onlineUser ='N' ,isactive ='N' ,islocked ='Y' ,modifiedBy = 'SYSTEM' ,modifieddate = GETDATE() WHERE customerid=@customerid AND walletaccountno = @virtualAccountNo AND customertype = 11068 END
--AND bankAccountNo = @no INSERT INTO fastmoneypro_account.dbo.temp_tran (entry_user_id, acct_num, part_tran_type, tran_amt, field1, field2, sessionid, refrence, emp_name) SELECT 'system', '100241008219', 'DR', @trxAmt, @virtualAccountNo, 'Easy Deposit', @virtualAccountNo, @rowId, @depositor ----Welcome Savings Bank-Customer Account(0678571) UNION ALL SELECT 'system', @virtualAccountNo, 'CR', @trxAmt, @virtualAccountNo, 'Easy Deposit', @virtualAccountNo, @rowId, @depositor
SELECT '0' ErrorCode, 'Record has been added successfully.' Msg, @rowId id
SELECT @receivedOn = CONVERT(VARCHAR, Getdate(), 101), @depositor = 'Being Easy remit amount deposited on virtual ac : ' + @virtualAccountNo
EXEC fastmoneypro_account.dbo.[Spa_savetemptrn] @flag='i', @sessionID= @virtualAccountNo, @date=@receivedOn, @narration=@depositor, @company_id=1, @v_type='R', @user='WSB' END ELSE SELECT '0' ErrorCode, 'Record has been added successfully.' Msg, @rowId id
RETURN END
IF @flag = 'ilog' BEGIN SET @processId =Newid()
IF NOT EXISTS(SELECT 'A' FROM customermaster(nolock) WHERE walletaccountno = @virtualAccountNo AND customertype = 11068) ---WSB CUSTOMER BEGIN INSERT INTO dbo.wsb_deposit_notice (customerid, processid, requestdata, requestdate, datalen, orgtid, srvcds, trxtypecd, rspscd, tlgseqno, tlgsendhur, filler, virtualaccountno, maccno, trxdt, trxtime, trxamt, bankcd, bankbrancd, vtulacctrnfcustnm, trxseqno, cnclyn, vtulacctrnfaccno, filler1) VALUES ( @customerId, @processId, @requestData, Getdate(), @dataLen, @orgtId, @srvcDs, @trxTypeCd, @rspsCd, @tlgSeqNo, @tlgSendHur, @filler, @virtualAccountNo, @maccNo, @trxDt, @trxTime, @trxAmt, @bankCd, @bankBranCd, @vtulAccTrnfCustNm, @trxSeqNo, Isnull(@cnclYn, 'N'), @vtulAccTrnfAccNo, @filler1 )
SELECT '1' ErrorCode, 'Invalid Virtual Account Found.' Msg, NULL
RETURN END
IF EXISTS (SELECT 'A' FROM dbo.wsb_deposit_notice (nolock) WHERE processid = @processId) BEGIN INSERT INTO dbo.wsb_deposit_notice (customerid, processid, requestdata, requestdate, datalen, orgtid, srvcds, trxtypecd, rspscd, tlgseqno, tlgsendhur, filler, virtualaccountno, maccno, trxdt, trxtime, trxamt, bankcd, bankbrancd, vtulacctrnfcustnm, trxseqno, cnclyn, vtulacctrnfaccno, filler1) VALUES ( @customerId, @processId, @requestData, Getdate(), @dataLen, @orgtId, @srvcDs, @trxTypeCd, @rspsCd, @tlgSeqNo, @tlgSendHur, @filler, @virtualAccountNo, @maccNo, @trxDt, @trxTime, @trxAmt, @bankCd, @bankBranCd, @vtulAccTrnfCustNm, @trxSeqNo, Isnull(@cnclYn, 'N'), @vtulAccTrnfAccNo, @filler1 )
SELECT '1' ErrorCode, 'Same record already exists.' Msg, NULL
RETURN END
BEGIN TRAN
SELECT @Mobile = mobile, @depositor = firstname, @customerId = customerid FROM customermaster(nolock) WHERE walletaccountno = @virtualAccountNo AND customertype = 11068
INSERT INTO dbo.wsb_deposit_notice (customerid, processid, requestdata, requestdate, datalen, orgtid, srvcds, trxtypecd, rspscd, tlgseqno, tlgsendhur, filler, virtualaccountno, maccno, trxdt, trxtime, trxamt, bankcd, bankbrancd, vtulacctrnfcustnm, trxseqno, cnclyn, vtulacctrnfaccno, filler1, responsedata, responsedate) VALUES ( @customerId, @processId, @requestData, Getdate(), @dataLen, @orgtId, @srvcDs, @trxTypeCd, @rspsCd, @tlgSeqNo, @tlgSendHur, @filler, @virtualAccountNo, @maccNo, @trxDt, @trxTime, @trxAmt, @bankCd, @bankBranCd, @vtulAccTrnfCustNm, @trxSeqNo, Isnull(@cnclYn, 'N'), @vtulAccTrnfAccNo, @filler1, @responseData, CASE WHEN @responseData = N'' THEN NULL ELSE Getdate() END ) SET @rowId = @@IDENTITY INSERT INTO dbo.TblVirtualBankDepositDetail ( processId, virtualAccountNo, amount, receivedOn, partnerServiceKey, logDate ) VALUES ( @processId, @virtualAccountNo, @trxAmt, CONVERT(VARCHAR(19), GETDATE(), 120), 'WSB', GETDATE() )
/*Customer block logic after deposit 1000000 mil krw*/ DECLARE @todayTotalAmt NUMERIC(15) SELECT @todayTotalAmt=ISNULL(sum(amount),0) FROM TblVirtualBankDepositDetail(NOLOCK) WHERE virtualaccountno=@virtualAccountNo AND receivedOn BETWEEN CAST(GETDATE() AS DATE) AND GETDATE() and partnerServiceKey='WSB' GROUP BY virtualaccountno
print @todayTotalAmt
/*new table insert logic here */ IF @todayTotalAmt >1000000 BEGIN INSERT INTO CUSTOMER_BLOCK_LIST ( customerId, reason, isBlock, blockedDate, blockedBy ) SELECT @customerId,'01', 'Y', Getdate(), 'system'
END
COMMIT TRAN
SELECT '0' ErrorCode, 'Record has been added successfully.' Msg, @rowId id END
IF @flag = 'ulog' BEGIN BEGIN TRANSACTION
SELECT TOP 1 @processId = processid FROM wsb_deposit_notice(nolock) WHERE rowid = @rowId
UPDATE wsb_deposit_notice SET responsedata = @responseData, responsedate = Getdate(), datalen = Isnull(@dataLen, datalen), orgtid = Isnull(@orgtId, orgtid), srvcds = Isnull(@srvcDs, srvcds), trxtypecd = Isnull(@trxTypeCd, trxtypecd), rspscd = Isnull(@rspsCd, rspscd), tlgseqno = Isnull(@tlgSeqNo, tlgseqno), tlgsendhur = Isnull(@tlgSendHur, tlgsendhur), filler = Isnull(@filler, filler), virtualaccountno = Isnull(@virtualAccountNo, virtualaccountno ), maccno = Isnull(@maccNo, maccno), trxdt = Isnull(@trxDt, trxdt), trxtime = Isnull(@trxTime, trxtime), trxamt = Isnull(@trxAmt, trxamt), bankcd = Isnull(@bankCd, bankcd), bankbrancd = Isnull(@bankBranCd, bankbrancd), vtulacctrnfcustnm = Isnull(@vtulAccTrnfCustNm, vtulacctrnfcustnm), trxseqno = Isnull(@trxSeqNo, trxseqno), cnclyn = Isnull(@cnclYn, cnclyn), vtulacctrnfaccno = Isnull(@vtulAccTrnfAccNo, vtulacctrnfaccno ), filler1 = Isnull(@filler1, filler1) WHERE rowid = @rowId
COMMIT TRANSACTION
SELECT 0 AS code, 'Record saved successfully' message, @processId id END
IF @Flag = 'details' BEGIN --DECLARE @NewValue VARCHAR(10) --SET @NewValue= NEXT VALUE FOR dbo.WSB_SEQUENCE --SET @tlgSeqNo=(SELECT CONVERT(VARCHAR(6), GETDATE(), 12)) +@NewValue SELECT datalen, orgtid, srvcds, '0210' AS trxTypeCd, Isnull(rspscd, '0000') AS rspsCd, tlgseqno, tlgsendhur, filler, virtualaccountno AS vtulAccNo, maccno, trxdt, trxtime, trxamt, bankcd, bankbrancd, vtulacctrnfcustnm, trxseqno, Isnull(cnclyn, 'N'), vtulacctrnfaccno, filler1, customerid, processid FROM wsb_deposit_notice (nolock) WHERE rowid = @rowId
RETURN END END try
BEGIN catch IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION
DECLARE @errorMessage VARCHAR(max)
SET @errorMessage = Error_message()
EXEC Proc_errorhandler 1, @errorMessage, NULL END catch
|