[성현모] DetailOverview 추가
This commit is contained in:
@ -7,7 +7,7 @@
|
||||
},
|
||||
"DataBase": [
|
||||
{
|
||||
"IP": "127.0.0.1",
|
||||
"IP": "192.168.0.69",
|
||||
"Port": 1433,
|
||||
"DBName": "CPXV2",
|
||||
"DBID": 1,
|
||||
|
||||
@ -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<TDataModel> OnSelectRow { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<TDataModel> OnDoubleClickRow{ get; set; }
|
||||
|
||||
[Parameter]
|
||||
public EventCallback OnClickContextMenu { get; set; }
|
||||
|
||||
@ -177,8 +177,8 @@
|
||||
await OnSelectRow.InvokeAsync(data);
|
||||
}
|
||||
|
||||
private async Task OnRowDoublClick<T>(DataGridRowMouseEventArgs<T> args)
|
||||
private async Task OnRowDoublClick(DataGridRowMouseEventArgs<TDataModel> args)
|
||||
{
|
||||
|
||||
await OnDoubleClickRow.InvokeAsync(args.Data);
|
||||
}
|
||||
}
|
||||
|
||||
@ -75,6 +75,7 @@
|
||||
</RadzenStack>
|
||||
</RadzenStack>
|
||||
|
||||
<!--Data Grid-->
|
||||
<RadzenTabs @ref="@tabs" Style="width:100%; height:100%;" RenderMode="TabRenderMode.Client" @bind-SelectedIndex=@SelectedTabIndex>
|
||||
<Tabs>
|
||||
@foreach (var tab in ListTabs)
|
||||
@ -88,22 +89,18 @@
|
||||
@if (tab.Key == EnumTabs.OverviewC1.ToString())
|
||||
{
|
||||
<TraGrid TDataModel="Overview" DataList="@Overviews" OnClickContextMenu="@OnClickDetailOverviewContextMenu"
|
||||
OnSelectRow="@OnSelectRowOverview" PageSize="@PageSize" DisableColums="@DisableColums">
|
||||
OnSelectRow="@OnSelectRowOverview" PageSize="@PageSize" DisableColums="@DisableColums"
|
||||
OnDoubleClickRow="@OnDoubleClickRowOverview">
|
||||
</TraGrid>
|
||||
}
|
||||
|
||||
@if (tab.Key == EnumTabs.OverviewC1Detail.ToString())
|
||||
{
|
||||
@* <TraGrid TDataModel="Overview" DataList="@DetailOverviews" OnClickContextMenu="@OnClickHistoryContextMenu"
|
||||
OnSelectRow="@OnSelectRowOverview" HostColumnMerge="true">
|
||||
</TraGrid> *@
|
||||
<TraGrid TDataModel="Overview" DataList="@DetailOverviews" OnClickContextMenu="@OnClickDetailOverviewContextMenu"
|
||||
OnSelectRow="@OnSelectRowOverview" PageSize="@PageSize" DisableColums="@DisableColums"
|
||||
OnDoubleClickRow="@OnDoubleClickRowOverview">
|
||||
</TraGrid>
|
||||
}
|
||||
@*
|
||||
@if (tab.Key.Contains(EnumTabs.TestHistoryC1.ToString()))
|
||||
{
|
||||
<TRAGrid TDataModel="TestHistory" DataList="@TestHistories" HostColumnMerge="true" VisibleRowNo="true">
|
||||
</TRAGrid>
|
||||
} *@
|
||||
</ChildContent>
|
||||
</RadzenTabsItem>
|
||||
}
|
||||
@ -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<string> DisableColums = new List<string>();
|
||||
|
||||
//tab
|
||||
RadzenTabs tabs;
|
||||
int SelectedTabIndex = 0;
|
||||
Dictionary<string, EnumTabs> ListTabs = new Dictionary<string, EnumTabs>();
|
||||
|
||||
//search data
|
||||
List<SearchData> SearchDataOverviews = new List<SearchData>();
|
||||
List<Overview> Overviews = new List<Overview>();
|
||||
|
||||
//List<Overview> DetailOverviews = new List<Overview>();
|
||||
// List<TestHistory> TestHistories = new List<TestHistory>();
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
}
|
||||
List<Overview> DetailOverviews = new List<Overview>();
|
||||
|
||||
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))
|
||||
{
|
||||
@ -246,6 +247,13 @@
|
||||
{
|
||||
PopupService.OpenIndicator("");
|
||||
|
||||
foreach(var tab in ListTabs)
|
||||
{
|
||||
if (tab.Value == EnumTabs.OverviewC1)
|
||||
continue;
|
||||
CloseTab(tab.Key.ToString());
|
||||
}
|
||||
|
||||
await GetOverviews();
|
||||
|
||||
await Task.Delay(300);
|
||||
|
||||
@ -15,5 +15,6 @@
|
||||
public int? StepVersion { get; set; }
|
||||
public string FirstTestTime { get; set; }
|
||||
public string FinalTestTime { get; set; }
|
||||
public string TestListCntID { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -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; }
|
||||
//}
|
||||
}
|
||||
|
||||
@ -24,5 +24,6 @@
|
||||
|
||||
public string FirstTestTime { get; set; }
|
||||
public string FinalTestTime { get; set; }
|
||||
public string TestListCntID { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -114,6 +114,43 @@ namespace Web.Tra.Services
|
||||
return group.ToList();
|
||||
}
|
||||
|
||||
public async Task<List<Overview>> GetDetailOverview(List<SearchData> 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<List<Overview>> GetDetailOverviewMerged(List<SearchData> 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<T>(DbContextProvider provider, int dbID) where T : DbContext
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user