diff --git a/src/WCTDataMiner.Core/Services/ScenarioService.cs b/src/WCTDataMiner.Core/Services/ScenarioService.cs index b070ed9..4ac0b39 100644 --- a/src/WCTDataMiner.Core/Services/ScenarioService.cs +++ b/src/WCTDataMiner.Core/Services/ScenarioService.cs @@ -264,6 +264,35 @@ public class ScenarioService return await query.ToListAsync(); } + /// + /// 获取指定场景的 Ploss 记录 + /// + /// 场景 ID + /// Ploss 记录列表,按 TriggerCount (Field9) 排序 + public async Task> GetPlossRecordsByScenarioIdAsync(Guid scenarioId) + { + return await _context.PlossRecords + .AsNoTracking() + .Where(r => r.ScenarioId == scenarioId && !r.IsDeleted) + .OrderBy(r => r.Field9) + .ToListAsync(); + } + + /// + /// 获取指定场景的 Qfod 记录 + /// + /// 场景 ID + /// Qfod 记录列表,按 ChargerIndex 和 CoilIndex 排序 + public async Task> GetQfodRecordsByScenarioIdAsync(Guid scenarioId) + { + return await _context.QfodRecords + .AsNoTracking() + .Where(r => r.ScenarioId == scenarioId && !r.IsDeleted) + .OrderBy(r => r.ChargerIndex) + .ThenBy(r => r.CoilIndex) + .ToListAsync(); + } + /// /// 检测 SQLite 唯一约束违反错误 ///