diff --git a/YLErpDAL/Modules/SwapModule/SwapDealService.cs b/YLErpDAL/Modules/SwapModule/SwapDealService.cs index 16e7ae35..98cde2db 100644 --- a/YLErpDAL/Modules/SwapModule/SwapDealService.cs +++ b/YLErpDAL/Modules/SwapModule/SwapDealService.cs @@ -475,10 +475,11 @@ namespace YLErp.Modules.SwapModule var stockEqvNotional = realPostitions.Where(x => x.PosiDirection > 0).Sum(s => s.PosiNotionalValue); // 当前平仓前的实时剩余本金 var posiNotionalValue = stockEqvNotional * closePercent;// 本次平仓名义本金 var orginPv = ResolveUnwindPreviousNotional(lastEod, lastEodPositions, stockEqvNotional); // 上一日终的浮动端本金 - var closeList = DbContext.swap_flow_event.Where(x => x.SwapTradeId == tradeId - && x.UnwindDate == unwindDate - && eventTypes.Contains(x.EventType) - && x.DataState == (int)SwapFlowDateStateEnum.完成).ToList(); + var closeList = DbContext.swap_flow_event.Where(x => x.SwapTradeId == tradeId + && x.UnwindDate == unwindDate + && eventTypes.Contains(x.EventType) + && x.DataState == (int)SwapFlowDateStateEnum.完成 + && x.IsPenaltyInterest != 1).ToList(); bool tdClose = closeList.Count > 0; // 显式入口:平仓前剩余本金 + 实际平掉额 + B语义比例,盘中重放(语义见 InterestCalcRequest.IntradayUnwind) interests = GetIntradayUnwindInterests(InterestCalcRequest.IntradayUnwind(