fix:交易编号生成 不同客户 在同一天、同一 OpponentRole 类型下的交易序号都会独立从 1/A 开始递增,互不干扰。

This commit is contained in:
张名锐
2026-06-10 10:55:25 +08:00
parent b8358a7198
commit 7bd1e6bff1
@@ -49,11 +49,12 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule
return existingForTrade;
}
// 通过当天同类交易的 id 排序确定序号(幂等)
// 通过当天同客户同类交易的 id 排序确定序号(幂等),每个客户独立递增
var tradeDateStart = tradeDate.Date;
var sameDayTradesCount = dbContext.trade
.Count(t => t.TradeDate >= tradeDateStart
&& t.TradeDate < tradeDateStart.AddDays(1)
&& t.ClientId == trade.ClientId
&& t.OpponentRole == trade.OpponentRole
&& t.id < trade.id);
var sequenceNo = sameDayTradesCount + 1;