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.
131 lines
4.7 KiB
131 lines
4.7 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_GetUSDAmountFromCollKRWAmt] Script Date: 7/4/2019 11:35:48 AM ******/
|
|
DROP PROCEDURE [dbo].[proc_GetUSDAmountFromCollKRWAmt]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_GetUSDAmountFromCollKRWAmt] Script Date: 7/4/2019 11:35:48 AM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
CREATE proc [dbo].[proc_GetUSDAmountFromCollKRWAmt]
|
|
@flag VARCHAR(30),
|
|
@user VARCHAR(150) = NULL,
|
|
@pCountryId INT,
|
|
@pCurr VARCHAR(5),
|
|
@deliveryMethod VARCHAR(20),
|
|
@cAmt MONEY,
|
|
@pAmt MONEY = NULL,
|
|
@calBy CHAR(1),
|
|
@pCountry VARCHAR(50)
|
|
|
|
AS
|
|
SET NOCOUNT ON ;
|
|
|
|
DECLARE @payOutPartner BIGINT
|
|
DECLARE @sCountryId INT = 118,@sAgent INT = 2080,@sSuperAgent INT = 1008 ,@sBranch INT ,@collCurr VARCHAR(5) = 'KRW'
|
|
DECLARE @scValue MONEY,@exRateOffer MONEY,@scDiscount MONEY ,@AmountLimitPerTran MONEY,@AmountLimitPerDay MONEY
|
|
|
|
DECLARE @place INT,@currDecimal INT,@exRate FLOAT,@serviceCharge MONEY,@tAmt MONEY
|
|
|
|
DECLARE @pSuperAgent INT,@pSuperAgentName VARCHAR(200),@pAgent BIGINT,@pAgentName VARCHAR(200),@pBranch INT,@pBranchName VARCHAR(200)
|
|
|
|
DECLARE @errorCode INT,@msg VARCHAR(MAX)
|
|
|
|
SELECT @pCountryId = countryId FROM countryMaster(NOLOCK) WHERE countryName = @pCountry
|
|
|
|
SELECT @payOutPartner = AgentId FROM TblPartnerwiseCountry (NOLOCK)
|
|
WHERE COUNTRYID = @pCountryId
|
|
AND ISNULL(PaymentMethod, @deliveryMethod) = @deliveryMethod
|
|
AND IsActive = 1
|
|
|
|
SELECT TOP 1 @pAgent = AM.agentId
|
|
FROM agentMaster AM(NOLOCK)
|
|
WHERE AM.parentId = @payOutPartner AND agentType=2903 AND AM.isSettlingAgent = 'Y' AND AM.isApiPartner = 1
|
|
|
|
SELECT @pSuperAgent = sSuperAgent,@pSuperAgentName = sSuperAgentName,
|
|
@pAgent = sAgent,@pAgentName = sAgentName ,@pBranch = sBranch,@pBranchName = sBranchName
|
|
FROM dbo.FNAGetBranchFullDetails(@pAgent)
|
|
|
|
IF @flag = 'getUSDAmountFromCAmt'
|
|
BEGIN
|
|
IF @pCurr IS NULL
|
|
BEGIN
|
|
SELECT '1' ErrorCode ,
|
|
'Currency not been defined yet for receiving country' Msg ,
|
|
amountLimitPerDay = @AmountLimitPerDay ,
|
|
customerTotalSentAmt = 0 ,
|
|
maxAmountLimitPerTran = @AmountLimitPerTran ,
|
|
PerTxnMinimumAmt = @AmountLimitPerDay;
|
|
RETURN;
|
|
END;
|
|
|
|
SELECT @exRate =
|
|
dbo.FNAGetCustomerRate(@sCountryId,@sAgent,@sBranch,@collCurr,@pCountryId,@pAgent, @pCurr,@deliveryMethod);
|
|
IF @exRate IS NULL
|
|
BEGIN
|
|
SELECT '1' ErrorCode ,
|
|
'Exchange rate not defined yet for receiving currency ('+ @pCurr + ')' Msg ,
|
|
amountLimitPerDay = @AmountLimitPerDay ,
|
|
customerTotalSentAmt = 0 ,
|
|
maxAmountLimitPerTran = @AmountLimitPerTran ,
|
|
PerTxnMinimumAmt = @AmountLimitPerDay;
|
|
RETURN;
|
|
END;
|
|
|
|
IF @calBy = 'C'
|
|
BEGIN
|
|
IF @pCountryId = 36
|
|
BEGIN
|
|
SET @pAmt = @cAmt * @exRate
|
|
SELECT @serviceCharge = amount
|
|
FROM [dbo].FNAGetServiceCharge(@sCountryId,@sSuperAgent,@sAgent,@sBranch,
|
|
@pCountryId,@pSuperAgent,@pAgent,NULL,@deliveryMethod,@pAmt,@collCurr);
|
|
END
|
|
ELSE IF @pCountryId = 42 AND @pCurr = 'USD' and @deliveryMethod = 2
|
|
BEGIN
|
|
SELECT @serviceCharge = amount
|
|
FROM [dbo].FNAGetServiceCharge(@sCountryId,@sSuperAgent,@sAgent,@sBranch,
|
|
@pCountryId,@pSuperAgent,@pAgent,NULL,@deliveryMethod,@pAmt,'USD');
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT @serviceCharge = amount
|
|
FROM [dbo].FNAGetServiceCharge(@sCountryId,@sSuperAgent,@sAgent,@sBranch,
|
|
@pCountryId,@pSuperAgent,@pAgent,@pBranch,@deliveryMethod,@cAmt,@collCurr);
|
|
END
|
|
IF @serviceCharge IS NULL
|
|
BEGIN
|
|
SELECT '1' ErrorCode ,
|
|
'Service charge not defined yet for receiving country' Msg ,
|
|
amountLimitPerDay = @AmountLimitPerDay ,
|
|
customerTotalSentAmt = 0 ,
|
|
maxAmountLimitPerTran = @AmountLimitPerTran ,
|
|
PerTxnMinimumAmt = @AmountLimitPerDay;
|
|
RETURN;
|
|
END;
|
|
|
|
SET @tAmt = @cAmt - @serviceCharge;
|
|
END;
|
|
|
|
DECLARE @complianceRuleId INT, @cAmtUSD MONEY,@sCurrCostRate MONEY,@sCurrHoMargin MONEY,@tAmtUSD MONEY
|
|
|
|
SELECT
|
|
@sCurrCostRate = sCurrCostRate
|
|
,@sCurrHoMargin = sCurrHoMargin
|
|
FROM dbo.FNAGetExRate(@sCountryId, @sAgent, @sBranch, @collCurr, @pCountryId, @pAgent, @pCurr, @deliveryMethod)
|
|
|
|
IF @sCurrCostRate IS NULL
|
|
BEGIN
|
|
SELECT @errorCode = '1', @msg = 'Transaction cannot be proceed. Exchange Rate not defined!'
|
|
RETURN
|
|
END
|
|
|
|
SET @tAmtUSD = @tAmt / (@sCurrCostRate + ISNULL(@sCurrHoMargin, 0))
|
|
SET @tAmtUSD = ROUND(@tAmtUSD,2)
|
|
SELECT 0 ErrorCode, Msg = @msg,Id = @tAmtUSD
|
|
END
|
|
|
|
|
|
GO
|