diff --git a/Projects/Config/WebClient.Tra.Config.json b/Projects/Config/WebClient.Tra.Config.json index 4b2e043..1857b7b 100644 --- a/Projects/Config/WebClient.Tra.Config.json +++ b/Projects/Config/WebClient.Tra.Config.json @@ -7,7 +7,7 @@ }, "DataBase": [ { - "IP": "127.0.0.1", + "IP": "192.168.0.69", "Port": 1433, "DBName": "CPXV2", "DBID": 1, diff --git a/Projects/WebClient/Web.Tra/Components/Module/TraGrid.razor b/Projects/WebClient/Web.Tra/Components/Module/TraGrid.razor index cbcd6a0..7cbbc1f 100644 --- a/Projects/WebClient/Web.Tra/Components/Module/TraGrid.razor +++ b/Projects/WebClient/Web.Tra/Components/Module/TraGrid.razor @@ -22,9 +22,6 @@ if(DisableColums?.Contains(col.Name.ToLower()) == true) continue; -@* - if (col.Name.ToLower().Equals("rn") || col.Name.ToLower().Equals("stepversion")) - continue; *@ if (col.Name.ToLower().Equals("testdate")) { @@ -77,6 +74,9 @@ [Parameter] public EventCallback OnSelectRow { get; set; } + [Parameter] + public EventCallback OnDoubleClickRow{ get; set; } + [Parameter] public EventCallback OnClickContextMenu { get; set; } @@ -177,8 +177,8 @@ await OnSelectRow.InvokeAsync(data); } - private async Task OnRowDoublClick(DataGridRowMouseEventArgs args) + private async Task OnRowDoublClick(DataGridRowMouseEventArgs args) { - + await OnDoubleClickRow.InvokeAsync(args.Data); } } diff --git a/Projects/WebClient/Web.Tra/Components/Pages/TRA.razor b/Projects/WebClient/Web.Tra/Components/Pages/TRA.razor index fc44cf7..eab114d 100644 --- a/Projects/WebClient/Web.Tra/Components/Pages/TRA.razor +++ b/Projects/WebClient/Web.Tra/Components/Pages/TRA.razor @@ -75,6 +75,7 @@ + @foreach (var tab in ListTabs) @@ -88,22 +89,18 @@ @if (tab.Key == EnumTabs.OverviewC1.ToString()) { + OnSelectRow="@OnSelectRowOverview" PageSize="@PageSize" DisableColums="@DisableColums" + OnDoubleClickRow="@OnDoubleClickRowOverview"> } @if (tab.Key == EnumTabs.OverviewC1Detail.ToString()) { - @* - *@ + + } -@* - @if (tab.Key.Contains(EnumTabs.TestHistoryC1.ToString())) - { - - - } *@ } @@ -113,6 +110,7 @@ @code { private RequestSearch RequestSearch = new RequestSearch(); + //selection private string SelectionStationName = string.Empty; private string SelectionProductNO = string.Empty; private string SelectionParentInfo = string.Empty; @@ -120,22 +118,20 @@ private string SelectionSearchEnd = string.Empty; private string SelectionStepVersion = string.Empty; + //options private bool IsMergePartNumberOption = false; private int PageSize = 30; private List DisableColums = new List(); + //tab RadzenTabs tabs; int SelectedTabIndex = 0; Dictionary ListTabs = new Dictionary(); + + //search data List SearchDataOverviews = new List(); List Overviews = new List(); - - //List DetailOverviews = new List(); - // List TestHistories = new List(); - - protected override async Task OnInitializedAsync() - { - } + List DetailOverviews = new List(); private async Task OnSearch() { @@ -177,26 +173,6 @@ } } - protected override void OnInitialized() - { - - } - - protected override void OnAfterRender(bool firstRender) - { - - } - - protected override void OnParametersSet() - { - - // var searchData = OverviewService.SearchOverview(); - //Overviews = searchData; - - // if (ListTabs.ContainsKey(EnumTabs.OverviewC1.ToString()) == false) - // ListTabs.Add($"{EnumTabs.OverviewC1}", EnumTabs.OverviewC1); - } - private void OnSelectRowOverview(IDataModel overview) { SelectionStationName = $"{overview.StationName} ({overview.Host},{overview.Section})"; @@ -208,6 +184,26 @@ SelectionStepVersion = $"{overview.StepVersion}"; } + private async Task OnDoubleClickRowOverview(IDataModel row) + { + DetailOverviews.Clear(); + + if (IsMergePartNumberOption == false) + { + DetailOverviews = await CPXV2LogService.GetDetailOverview(SearchDataOverviews, row); + } + else + { + DetailOverviews = await CPXV2LogService.GetDetailOverviewMerged(SearchDataOverviews, row); + } + + //tab control + if (ListTabs.ContainsKey(EnumTabs.OverviewC1Detail.ToString()) == false) + ListTabs.Add($"{EnumTabs.OverviewC1Detail.ToString()}", EnumTabs.OverviewC1Detail); + tabs.Reload(); + SelectedTabIndex = ListTabs.Keys.ToList().IndexOf(EnumTabs.OverviewC1Detail.ToString()); + } + private void OnClickDetailOverviewContextMenu() { // DetailOverviews = OverviewService.SearchDetailOverview(SelectedDataService.SelectedOverview); @@ -232,6 +228,11 @@ } void OnClickClose(string tabKey) + { + CloseTab(tabKey); + } + + void CloseTab(string tabKey) { if (ListTabs.ContainsKey(tabKey)) { @@ -245,7 +246,14 @@ async Task OnChangeMergePartNumberOption() { PopupService.OpenIndicator(""); - + + foreach(var tab in ListTabs) + { + if (tab.Value == EnumTabs.OverviewC1) + continue; + CloseTab(tab.Key.ToString()); + } + await GetOverviews(); await Task.Delay(300); diff --git a/Projects/WebClient/Web.Tra/Model/IDataModel.cs b/Projects/WebClient/Web.Tra/Model/IDataModel.cs index 6902f4a..a9bd399 100644 --- a/Projects/WebClient/Web.Tra/Model/IDataModel.cs +++ b/Projects/WebClient/Web.Tra/Model/IDataModel.cs @@ -15,5 +15,6 @@ public int? StepVersion { get; set; } public string FirstTestTime { get; set; } public string FinalTestTime { get; set; } + public string TestListCntID { get; set; } } } diff --git a/Projects/WebClient/Web.Tra/Model/Overview.cs b/Projects/WebClient/Web.Tra/Model/Overview.cs index a233a34..ff2ffeb 100644 --- a/Projects/WebClient/Web.Tra/Model/Overview.cs +++ b/Projects/WebClient/Web.Tra/Model/Overview.cs @@ -24,25 +24,4 @@ public int RN { get; set; } public string TestListCntID { get; set; } } - - //public class OverviewMerged : IDataModel - //{ - // public DateTime? TestDate { get; set; } - // public string ModelName { get; set; } - // public string TestType { get; set; } - // public string ProductNo { get; set; } - // public string TestCode { get; set; } - // public string ParentNo { get; set; } - // public int? TestListFileNo { get; set; } - // public int? TestListVariantNo { get; set; } - // public string FileCode { get; set; } - // public string FileVersion { get; set; } - // public int? StepVersion { get; set; } - // public string FirstTestTime { get; set; } - // public string FinalTestTime { get; set; } - // public int Total { get; set; } - // public int OK { get; set; } - // public int NG { get; set; } - // public int RN { get; set; } - //} } diff --git a/Projects/WebClient/Web.Tra/Model/TestHistory.cs b/Projects/WebClient/Web.Tra/Model/TestHistory.cs index b8dd00c..d4213c1 100644 --- a/Projects/WebClient/Web.Tra/Model/TestHistory.cs +++ b/Projects/WebClient/Web.Tra/Model/TestHistory.cs @@ -24,5 +24,6 @@ public string FirstTestTime { get; set; } public string FinalTestTime { get; set; } + public string TestListCntID { get; set; } } } diff --git a/Projects/WebClient/Web.Tra/Services/CPXV2LogService.cs b/Projects/WebClient/Web.Tra/Services/CPXV2LogService.cs index 678380d..a2e6b8e 100644 --- a/Projects/WebClient/Web.Tra/Services/CPXV2LogService.cs +++ b/Projects/WebClient/Web.Tra/Services/CPXV2LogService.cs @@ -114,6 +114,43 @@ namespace Web.Tra.Services return group.ToList(); } + public async Task> GetDetailOverview(List request, IDataModel row) + { + var detailOverview = request + .Where(x => x.Summary.HostID == row.Host && + x.Summary.Section == row.Section && + x.Summary.Testcode == row.TestCode + ) + .OrderByDescending(x=>x.Summary.TestDT.Date) + .GroupBy(x => ( + DateOnly.FromDateTime(x.Summary.TestDT.Date), + x.Summary.TestListCntID, + x.Summary.StepVersion + )) + .Select(x => x.ToOverview()) + .OrderBy(x=>x.TestDate); + + await Task.CompletedTask; + return detailOverview.ToList(); + } + + public async Task> GetDetailOverviewMerged(List request, IDataModel row) + { + var detailOverview = request + .Where(x => x.Summary.Testcode == row.TestCode && + x.Summary.ProdNo_C == row.ProductNo && + x.Summary.ProdNo_P == row.ParentNo) + .GroupBy(x => ( + DateOnly.FromDateTime(x.Summary.TestDT.Date), + x.Summary.StepVersion + )) + .Select(x => x.ToOverviewMerged()) + .OrderBy(x => x.TestDate); + + await Task.CompletedTask; + return detailOverview.ToList(); + } + //Get DBContext private T? GetDBContext(DbContextProvider provider, int dbID) where T : DbContext {