From e36a7ba8a6b085938f658938da3bf26b1bafe9f3 Mon Sep 17 00:00:00 2001 From: SHM Date: Thu, 4 Sep 2025 10:35:17 +0900 Subject: [PATCH] =?UTF-8?q?[=EC=84=B1=ED=98=84=EB=AA=A8]=20Overview=20?= =?UTF-8?q?=EC=98=88=EC=99=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Web.Tra/Components/Module/TraGrid.razor | 22 ++++++++++++++++++- .../WebClient/Web.Tra/Model/IDataModel.cs | 1 + .../Web.Tra/Services/CPXV2LogService.cs | 19 +++++++++------- 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/Projects/WebClient/Web.Tra/Components/Module/TraGrid.razor b/Projects/WebClient/Web.Tra/Components/Module/TraGrid.razor index eceeadc..a22cc33 100644 --- a/Projects/WebClient/Web.Tra/Components/Module/TraGrid.razor +++ b/Projects/WebClient/Web.Tra/Components/Module/TraGrid.razor @@ -96,7 +96,7 @@ private void CellRender(DataGridCellRenderEventArgs args) { - if (args.Column.Property == null || !args.Column.Property.ToLower().Equals("testdate")) + if (args.Column.Property == null) return; int index = DataList.ToList().FindIndex(x => x.Equals(args.Data)); @@ -124,6 +124,26 @@ if (rowCount > 0) args.Attributes.Add("rowspan", rowCount); } + + if (args.Column.Property.ToLower().Equals("host")) + { + int rowCount = 0; + var take = DataList.Skip(index).Take(((index / PageSize) + 1) * PageSize - index); + foreach (var r in take) + { + if (r.Host == args.Data.Host) + { + rowCount += 1; + } + else + { + break; + } + } + args.Attributes.Clear(); + if (rowCount > 0) + args.Attributes.Add("rowspan", rowCount); + } } private async Task OnCellContextMenu(DataGridCellMouseEventArgs args) diff --git a/Projects/WebClient/Web.Tra/Model/IDataModel.cs b/Projects/WebClient/Web.Tra/Model/IDataModel.cs index f7e4688..a815274 100644 --- a/Projects/WebClient/Web.Tra/Model/IDataModel.cs +++ b/Projects/WebClient/Web.Tra/Model/IDataModel.cs @@ -4,5 +4,6 @@ { public DateTime? TestDate { get; set; } public string ModelName { get; set; } + public string Host { get; set; } } } diff --git a/Projects/WebClient/Web.Tra/Services/CPXV2LogService.cs b/Projects/WebClient/Web.Tra/Services/CPXV2LogService.cs index 2dfe31b..678380d 100644 --- a/Projects/WebClient/Web.Tra/Services/CPXV2LogService.cs +++ b/Projects/WebClient/Web.Tra/Services/CPXV2LogService.cs @@ -83,16 +83,18 @@ namespace Web.Tra.Services var group = request .GroupBy(x => (x.Summary.HostID, x.Summary.Section)) .Select(x => x.ToOverview()) - .OrderBy(x => x.Host); + .OrderBy(x => (x.Host, x.Section)); await Task.CompletedTask; - return group.OrderBy(x => x.TestDate).ToList(); + return group.ToList(); } public async Task> GetOverviewMerged(List request) { - var group = request.OrderByDescending(x=>x.Summary.TestDT).GroupBy(x => - (DateOnly.FromDateTime(x.Summary.TestDT.Date), + var group = request.OrderByDescending(x=>x.Summary.TestDT) + .GroupBy(x => + ( + DateOnly.FromDateTime(x.Summary.TestDT.Date), x.Summary.TestType, x.Summary.ProdNo_C, x.Summary.Testcode, @@ -101,11 +103,12 @@ namespace Web.Tra.Services x.Summary.ProdNo_P, x.Summary.ProdCode, x.Summary.Version, - x.Summary.StepVersion)) + x.Summary.StepVersion + )) .Select(x => x.ToOverviewMerged()) - .DistinctBy(x => (x.TestType, x.ProductNo, x.TestCode, - x.ParentNo,x.FileCode, x.FileVersion)) - .OrderBy(x => (x.ProductNo, x.ParentNo)); + .OrderByDescending(x=>x.TestDate) + .DistinctBy(x => (x.TestType, x.ProductNo, x.TestCode)) + .OrderBy(x => (x.ProductNo, x.ParentNo, x.TestCode)); await Task.CompletedTask; return group.ToList();