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.
 
 
 

140 lines
4.1 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[proc_online_customerWallet] Script Date: 7/4/2019 11:35:48 AM ******/
DROP PROCEDURE [dbo].[proc_online_customerWallet]
GO
/****** Object: StoredProcedure [dbo].[proc_online_customerWallet] Script Date: 7/4/2019 11:35:48 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROC [dbo].[proc_online_customerWallet]
@flag VARCHAR(50) = NULL
,@customerId VARCHAR(30) = NULL
,@amount VARCHAR(15) = NULL
,@remarks VARCHAR(150) = NULL
,@fromDate VARCHAR(20) = NULL
,@toDate VARCHAR(20) = NULL
AS
SET NOCOUNT ON;
SET XACT_ABORT ON;
BEGIN TRY
IF @flag = 'i'
BEGIN
DECLARE
@walletTxnId BIGINT
,@bankId INT
,@remBalance VARCHAR(20)
,@withDrawalCharge VARCHAR(20)
,@availableBal VARCHAR(20)
SELECT @withDrawalCharge = 1000
SELECT @bankId = bankName, @availableBal = availableBalance FROM customerMaster(NOLOCK) WHERE customerId = @customerId
SELECT '1' ErrorCode, 'Sorry, you can not perform withfrawal. Please contact GME HO for any assistance' Msg, '' Id
RETURN
IF ISNULL(@amount,0) <=0
BEGIN
SELECT '1' ErrorCode, 'Invalid Operation withdraw amount not sufficient.' Msg, '' Id
RETURN
END
IF CAST(@availableBal AS MONEY) <= 0
BEGIN
SELECT '1' ErrorCode,'Invalid Operation available balance not sufficient.' Msg, '' Id
RETURN
END
IF CAST(@availableBal AS MONEY) < @amount
BEGIN
SELECT '1' ErrorCode,'Invalid Operation available balance not sufficient.' Msg, '' Id
RETURN
END
INSERT INTO WalletTransactions(
createdDate
,customerId
,bankId
,controlNo
,tranId
,remarks
,amount
,approvedDate
,approvedBy
,status
)
SELECT GETDATE(), @customerId, @bankId, NULL, NULL, 'Customer Withdrawal', @amount, NULL, NULL, 1
SELECT @walletTxnId = SCOPE_IDENTITY()
INSERT INTO WithdrawalLogs(
WalletTransactionId
,createdDate
,customerId
,bankId
,remarks
,amount
,approvedDate
,approvedBy
,status
)
SELECT @walletTxnId, GETDATE(), @customerId, @bankId, @remarks, @amount, NULL, NULL, 1
SELECT @remBalance = ISNULL(CAST(@availableBal AS MONEY), 0.00) - CAST(@withDrawalCharge AS MONEY) - CAST(@amount AS MONEY)
UPDATE customerMaster SET availableBalance = @remBalance WHERE customerId = @customerId
SELECT '0' ErrorCode, 'Your request for withdrawal of amount ' + @amount + ' has been successful.' Msg, '' Id, @remBalance Extra
END
IF @flag = 's'
BEGIN
--SELECT Debit = '' , Credit = '', [Date] = '', Particular = 'Opening Balance', Balance = ISNULL(SUM(amount),'0.00')
--FROM WalletTransactions(NOLOCK)
--WHERE customerId = @customerId AND createdDate < @fromDate
--UNION ALL
--SELECT Debit = CASE WHEN amount > 0 THEN amount ELSE '0.00' END,
-- Credit = CASE WHEN amount < 0 THEN amount ELSE '0.00' END,
-- [Date] = CONVERT(VARCHAR(10), wt.createdDate, 103),
-- Particular = remarks,
-- Balance = ''
--FROM WalletTransactions(NOLOCK) wt INNER JOIN customerMaster cm ON wt.customerId = cm.customerId
--WHERE wt.customerId = @customerId AND wt.createdDate BETWEEN CAST(@fromDate AS DATETIME) AND CAST(@toDate AS DATETIME) + '23:59:59'
DECLARE @SQL VARCHAR(MAX),@email VARCHAR(500), @requestFrom varchar(20)
SELECT @email=email FROM customerMaster(NOLOCK) WHERE customerId = @customerId
EXEC mobile_proc_WalletStatement @UserID = @email,@startDate = @fromDate ,@endDate = @toDate
--DECLARE @RESULT TABLE(ID INT IDENTITY(1,1),TRNDate VARCHAR(10),tran_rmks VARCHAR(MAX),DRTotal DECIMAL(18,2),cRTotal DECIMAL(18,2),end_clr_balance DECIMAL(18,2),ref_num VARCHAR(20))
--SET @SQL = 'mobile_proc_WalletStatement @UserID = ''' + @email +''',@startDate = ''' + @fromDate + ''',@endDate = ''' + @toDate + ''''
--INSERT INTO @RESULT
--EXEC(@SQL)
--SELECT
--Debit= DRTotal,
--Credit= cRTotal,
--[Date] = TrnDate,
--Particular= tran_Rmks,
--Balance = ISNULL(end_Clr_Balance,'0.00')
--FROM @RESULT
END
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION
DECLARE @errorMessage VARCHAR(MAX)
SET @errorMessage = ERROR_MESSAGE()
EXEC proc_errorHandler 1, @errorMessage, @customerId
END CATCH
GO