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();