From 10a12b7eefce25c32eaf8ddbe96c7bed040be2c7 Mon Sep 17 00:00:00 2001 From: hjhan Date: Thu, 20 Aug 2026 12:59:13 +0800 Subject: [PATCH] =?UTF-8?q?fix(swap):=20EQD-6977=20EOD=20=E6=89=8B?= =?UTF-8?q?=E5=8A=A8=E7=BB=93=E6=81=AF=E5=AE=88=E6=8A=A4=E6=8E=92=E9=99=A4?= =?UTF-8?q?=E7=BD=9A=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SaveAutoEodWithCloseInterestPosition 的 manualSettledInterestAmount 求和加 Where(IsPenaltyInterest!=1),防 auto-swap 重算相减时丢失罚息(评审8.1双守护之防御层)。 --- YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs b/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs index 714ba36d..07117e3d 100644 --- a/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs +++ b/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs @@ -1352,7 +1352,7 @@ namespace YLErp.Modules.SwapModule // manualSettledInterestAmount:swap_flow_event 实际落库的手工结息,金额已按分处理。 decimal TdInterestAmount = interests.Sum(x => x.TdInterestAmount); decimal interestAmountBeforeSettlement = interests.Sum(x => x.InterestAmount); - decimal manualSettledInterestAmount = flowEvents.Sum(x => x.InterestAmount); + decimal manualSettledInterestAmount = flowEvents.Where(x => x.IsPenaltyInterest != 1).Sum(x => x.InterestAmount); decimal autoSettledInterestAmount = 0m; if (autoSwap && interests.Count > 0) {