小程序检录按照秩序册导入顺序排序

This commit is contained in:
马梓彭 2026-10-22 08:43:25 +08:00
parent 2e00719d56
commit b475fd6b08

View File

@ -173,17 +173,13 @@ public class CheckinScheduleService : ITransient
var sessionOrderMap = sessions.ToDictionary(
x => x.Id,
x => GetImportedSessionOrder(x.SessionName, GetSessionOrder(x.SessionNo)));
var orderedSessions = sessions
.OrderBy(x => sessionOrderMap[x.Id])
.ThenBy(x => venueMap.GetValueOrDefault(x.VenueId)?.Sort ?? int.MaxValue)
.ThenBy(x => x.SessionNo)
.ToList();
var sessionMap = sessions.ToDictionary(x => x.Id);
// 秩序册允许不同比赛日重复从“第1场”开始,不能再按场次数字排序。
// 导入时出场记录 ID 按 Excel 行顺序生成,因此按 ID 即为原始导入顺序。
var units = entries
.Where(x => sessionMap.ContainsKey(x.SessionId))
.OrderBy(x => sessionOrderMap[x.SessionId])
.ThenBy(x => x.PlayOrder)
.OrderBy(x => x.Id)
.Select((entry, index) =>
{
var session = sessionMap[entry.SessionId];