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

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[INBOUND_PROC_EXCHANGE_RATE] Script Date: 9/27/2019 1:30:13 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. /*/
  9. EXEC INBOUND_PROC_EXCHANGE_RATE @agentCode = 'GMKOR403226',@userName = 'inmyr'
  10. ,@receivingCurrency = 'KRW',@sendingCountry = 'MY',@receivingCountry = 'KR'
  11. ,@processIdentifier = 'sdfsads'
  12. SELECT @exRate=ROUND(ISNULL(pRate,0.0)-ISNULL(pMargin,0.0),2),@pRate=pRate,@pMargin=pMargin FROM dbo.INBOUND_COSTRATE(NOLOCK)
  13. WHERE baseCurrency='USD' AND pCurrency=@receivingCurrency AND sAgent=@sSuperAgent AND sCountry=@sCountry
  14. AND ISNULL(isEnable,0)=1 AND ISNULL(isActive,0)=1
  15. */
  16. CREATE PROCEDURE [dbo].[INBOUND_PROC_EXCHANGE_RATE](
  17. @agentCode VARCHAR(20) = NULL
  18. ,@userName VARCHAR(20) = NULL
  19. ,@receivingCurrency VARCHAR(3) = NULL
  20. ,@sendingCountry VARCHAR(2) = NULL
  21. ,@receivingCountry VARCHAR(2) = NULL
  22. ,@processIdentifier VARCHAR(36) = NULL
  23. )AS
  24. BEGIN TRY
  25. DECLARE @exRate float,@pRate float,@pMargin FLOAT,@forex VARCHAR(36),@sCountry BIGINT,@sAgent BIGINT,@sSuperAgent BIGINT, @factor VARCHAR(1)
  26. SELECT @sCountry=countryId FROM dbo.countryMaster(NOLOCK) WHERE countryCode=@sendingCountry
  27. SELECT @sAgent=agentId FROM dbo.applicationUsers(NOLOCK) WHERE agentCode=@agentCode
  28. SELECT @sSuperAgent=parentId FROM dbo.agentMaster(NOLOCK) WHERE agentId=@sAgent
  29. SELECT
  30. @exRate = ROUND(ISNULL(pRate,0.0) - ISNULL(pMargin,0.0),2)
  31. ,@pRate = pRate
  32. ,@pMargin = pMargin
  33. ,@factor = factor
  34. FROM dbo.INBOUND_COSTRATE(NOLOCK)
  35. WHERE baseCurrency='USD' AND pCurrency=@receivingCurrency AND sAgent=@sSuperAgent AND sCountry=@sCountry
  36. AND ISNULL(isEnable,0)=1 AND ISNULL(isActive,0)=1
  37. SET @forex=NEWID()
  38. IF(@exRate>0.0)
  39. BEGIN
  40. INSERT INTO dbo.INBOUND_EXRATE_CALC_HISTORY(
  41. forexSessionId,partnerTranRefNo,agentCode,userName,pCurrCostRate,pCurrHoMargin,createdDate,isExpired,controlNo
  42. )SELECT @forex,@processIdentifier,@agentCode,@userName,@pRate,@pMargin,GETDATE(),0,''
  43. SELECT '0' AS ErrorCode,'Success' AS Msg,@forex AS forexSessionId,@exRate AS exRate
  44. RETURN
  45. END
  46. SELECT '1' AS ErrorCode, dbo.GetMessage('en','IBST0002') Msg, NULL AS forexSessionId,NULL AS exRate
  47. RETURN
  48. END TRY
  49. BEGIN CATCH
  50. IF @@ERROR>0
  51. SELECT '999' AS ErrorCode, ERROR_MESSAGE() Msg, NULL AS forexSessionId,NULL AS exRate
  52. RETURN
  53. END CATCH
  54. GO