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
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
|