From 5c0c8a8506123a3a6b86cf16fa8f88832799c79b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=90=8D=E9=94=90?= <1565842059@qq.com> Date: Wed, 26 Aug 2026 18:23:47 +0800 Subject: [PATCH] =?UTF-8?q?fix(swap):=20=E5=BC=80=E5=B9=B3=E4=BB=93?= =?UTF-8?q?=E8=B4=B9=E7=94=A8=20=E5=8F=96=E5=8F=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YLErpDAL/Modules/SwapModule/EodPnlCalculator.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/YLErpDAL/Modules/SwapModule/EodPnlCalculator.cs b/YLErpDAL/Modules/SwapModule/EodPnlCalculator.cs index 2caee13f..26a88e55 100644 --- a/YLErpDAL/Modules/SwapModule/EodPnlCalculator.cs +++ b/YLErpDAL/Modules/SwapModule/EodPnlCalculator.cs @@ -194,7 +194,7 @@ namespace YLErp.Modules.SwapModule string structureType, decimal notionalValue, DateTime? startDate, - DateTime? maturityDate, + DateTime? ExerciseDate, decimal periodAmount, int dividendPayDate) { @@ -245,7 +245,7 @@ namespace YLErp.Modules.SwapModule InitialPrice = initialPrice, NotionalQuantity = notionalValue, ContractStartDate = startDate, - ContractMaturityDate = maturityDate, + ContractMaturityDate = ExerciseDate, // 只要普通利息腿存在 FR007,即按需求显示 FR007;保证金腿不影响该展示基准。 InterestBenchmark = ordinaryInterests.Any(x => !string.IsNullOrWhiteSpace(x.FloatRateUnderlyingCode) @@ -253,8 +253,10 @@ namespace YLErp.Modules.SwapModule ? "FR007" : "固定利率", // 使用日终当日实际适用的 TdInterestRate 合计,而非合同初始利率或利差字段。 InterestRatePrice = ordinaryInterests.Sum(x => x.TdInterestRate), - OpeningClosingFee = openingClosingFee, + OpeningClosingFee = -openingClosingFee, + // 合约浮动端待实现收益 FloatingUnrealizedPnl = floatingUnrealizedPnl, + // 合约利息端待实现收益 OrdinaryInterestPnl = ordinaryInterestPnl, MarginInterestAmount = marginInterestAmount, MarginInterestGain = marginInterests