From f228d9be1b5c8e78199126ae864c782ccc6ee64d Mon Sep 17 00:00:00 2001 From: gongpei Date: Wed, 22 Oct 2025 16:14:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AE=A1=E7=AE=97=E6=B5=AE=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E5=B9=B3=E4=BB=93=E7=9B=88=E4=BA=8F=E5=88=86=E7=BA=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs b/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs index 6e94cba2..3fb1e355 100644 --- a/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs +++ b/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs @@ -1226,6 +1226,13 @@ namespace YLErp.Modules.SwapModule curretEod.UnderlyingPrice = price; curretEod.UnderlyingMarketValue = curretEod.UnderlyingPrice * curretEod.PosiQuantity * curretEod.ContractSize * shortRatio; curretEod.PosiMtmPnL = (curretEod.UnderlyingPrice - curretEod.PosiGrossPrice) * curretEod.PosiQuantity * curretEod.ContractSize * shortRatio * directionRatio; + + decimal tax = um.ValueAddedTax ?? 0; + BondPaymentService bondPaymentService = new BondPaymentService(UserInfo); + decimal payment = bondPaymentService.CalcPayment(curretEod.UnderlyingCode, eod.ValueDate, valueDate, curretEod.PosiQuantity, shortRatio, directionRatio); + // 考虑增值税 + curretEod.TdPosiDividend = payment / (1 - tax) * (1 + tax); + curretEod.PosiDividendSum = eod.PosiDividendSum + curretEod.TdPosiDividend; curretEod.PosiProfitSum = curretEod.PosiMtmPnL + curretEod.PosiDividendSum + curretEod.PosiFeePending; curretEod.RealizedMtmPnL = eod.RealizedMtmPnL + curretEod.TdCloseMtmPnl;