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.
 
 
 

70 lines
4.8 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[INBOUND_PROC_EXCHANGE_RATE] Script Date: 9/27/2019 1:30:13 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*/
EXEC INBOUND_PROC_EXCHANGE_RATE @agentCode = 'GMKOR403226',@userName = 'inmyr'
,@receivingCurrency = 'KRW',@sendingCountry = 'MY',@receivingCountry = 'KR'
,@processIdentifier = 'sdfsads'
SELECT @exRate=ROUND(ISNULL(pRate,0.0)-ISNULL(pMargin,0.0),2),@pRate=pRate,@pMargin=pMargin FROM dbo.INBOUND_COSTRATE(NOLOCK)
WHERE baseCurrency='USD' AND pCurrency=@receivingCurrency AND sAgent=@sSuperAgent AND sCountry=@sCountry
AND ISNULL(isEnable,0)=1 AND ISNULL(isActive,0)=1
*/
CREATE PROCEDURE [dbo].[INBOUND_PROC_EXCHANGE_RATE](
@agentCode VARCHAR(20) = NULL
,@userName VARCHAR(20) = NULL
,@receivingCurrency VARCHAR(3) = NULL
,@sendingCountry VARCHAR(2) = NULL
,@receivingCountry VARCHAR(2) = NULL
,@processIdentifier VARCHAR(36) = NULL
)AS
BEGIN TRY
DECLARE @exRate float,@pRate float,@pMargin FLOAT,@forex VARCHAR(36),@sCountry BIGINT,@sAgent BIGINT,@sSuperAgent BIGINT, @factor VARCHAR(1)
SELECT @sCountry=countryId FROM dbo.countryMaster(NOLOCK) WHERE countryCode=@sendingCountry
SELECT @sAgent=agentId FROM dbo.applicationUsers(NOLOCK) WHERE agentCode=@agentCode
SELECT @sSuperAgent=parentId FROM dbo.agentMaster(NOLOCK) WHERE agentId=@sAgent
SELECT
@exRate = ROUND(ISNULL(pRate,0.0) - ISNULL(pMargin,0.0),2)
,@pRate = pRate
,@pMargin = pMargin
,@factor = factor
FROM dbo.INBOUND_COSTRATE(NOLOCK)
WHERE baseCurrency='USD' AND pCurrency=@receivingCurrency AND sAgent=@sSuperAgent AND sCountry=@sCountry
AND ISNULL(isEnable,0)=1 AND ISNULL(isActive,0)=1
SET @forex=NEWID()
IF(@exRate>0.0)
BEGIN
INSERT INTO dbo.INBOUND_EXRATE_CALC_HISTORY(
forexSessionId,partnerTranRefNo,agentCode,userName,pCurrCostRate,pCurrHoMargin,createdDate,isExpired,controlNo
)SELECT @forex,@processIdentifier,@agentCode,@userName,@pRate,@pMargin,GETDATE(),0,''
SELECT '0' AS ErrorCode,'Success' AS Msg,@forex AS forexSessionId,@exRate AS exRate
RETURN
END
SELECT '1' AS ErrorCode, dbo.GetMessage('en','IBST0002') Msg, NULL AS forexSessionId,NULL AS exRate
RETURN
END TRY
BEGIN CATCH
IF @@ERROR>0
SELECT '999' AS ErrorCode, ERROR_MESSAGE() Msg, NULL AS forexSessionId,NULL AS exRate
RETURN
END CATCH
GO