#EQD-7215 追加预付金腿:发生日期错误并且金额似乎也不对

This commit is contained in:
锦麟 王
2026-08-28 13:34:10 +08:00
parent 07dd3e8eb5
commit 4cd368715c
@@ -131,6 +131,21 @@ namespace YLErp.Modules.SwapModule.Margin
return;
}
//开始日门槛:未到交易开始日(未起息)的不参与追保——维持保证金引擎从成交日就产出 trade_span,
//初始预付金流水却到开始日才入账,不过滤会在 成交日~开始日 之间把未到期的初始预付金
//误判成缺口、按维持全额追加(2026-08-28 交易2571实证:07-31成交/08-03起息,重刷07-31误追500000
var notStartedTrades = trades.Where(t => (t.StartDate ?? t.TradeDate) > settleDate).ToList();
if (notStartedTrades.Count > 0)
{
logger.Info($"EOD追保:{notStartedTrades.Count}笔交易未到开始日(id=[{string.Join(",", notStartedTrades.Select(t => t.id))}]),不参与追保结算");
trades = trades.Except(notStartedTrades).ToList();
if (trades.Count == 0)
{
logger.Info($"EOD追保:结算日{settleDate:yyyy-MM-dd} 交易均未到开始日,结束");
return;
}
}
//规则15(区间追保结构)交易:R1 三层级解析(BUG-02 修正,与引擎/确认书同口径)——
//交易绑定→客户默认→全局默认 找到即停,只配客户/全局默认模板的交易同样纳入追保结算
var candidateCount = trades.Count;