From a425fcc1a41944f64a69d9b5ababdd07169c6a0d Mon Sep 17 00:00:00 2001 From: tanglong <842690096@qq.com> Date: Tue, 6 Jan 2026 13:28:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Server/YD_XinWei/Services/Impl/LargeScreenService.cs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/Server/YD_XinWei/Services/Impl/LargeScreenService.cs b/Server/YD_XinWei/Services/Impl/LargeScreenService.cs index d424af3..92f7250 100644 --- a/Server/YD_XinWei/Services/Impl/LargeScreenService.cs +++ b/Server/YD_XinWei/Services/Impl/LargeScreenService.cs @@ -309,10 +309,10 @@ namespace YD_XinWei.Api.Services.Impl .ToListAsync(); // 2. 内存分组取每个学生最新一条 - var realTimeResults = sourceData - .GroupBy(x => x.StudentNo) // 按学生分组 - .Select(g => g.MaxBy(x => x.ScoreTime)) // 每组取最新一条 - .Where(x => x != null) // 避免空值 + var latestPerStudent = sourceData.OrderBy(x => x.ScoreTime).ToList(); + + // 3. 映射到 DTO + var realTimeResults = latestPerStudent .Select(x => new ItemRealTimeResultDto { StudentNo = x.StudentNo, @@ -320,9 +320,7 @@ namespace YD_XinWei.Api.Services.Impl Photo = studentPhotoDict.TryGetValue(x.StudentNo, out var photo) ? photo : string.Empty, GradeAndClassName = $"{x.GradeName}-{x.ClassName}", CategoryValue = x.CategoryValue, - Value = x.CategoryValue == 1 - ? $"{x.Height}cm/{x.Weight}kg" - : $"{x.Value}{((SportsTestItemType)x.CategoryValue).GetUnit()}", + Value = x.CategoryValue == 1 ? $"{x.Height}cm/{x.Weight}kg" : $"{x.Value}{((SportsTestItemType)x.CategoryValue).GetUnit()}", Score = x.Score, Rank = string.IsNullOrEmpty(x.Rank) ? "不及格" : x.Rank, ScoreTime = x.ScoreTime.ToString("yyyy-MM-dd HH:mm:ss")