[성현모] HistoryMerged 조회 추가
This commit is contained in:
13
Projects/WebClient/Web.Tra/.config/dotnet-tools.json
Normal file
13
Projects/WebClient/Web.Tra/.config/dotnet-tools.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"version": 1,
|
||||
"isRoot": true,
|
||||
"tools": {
|
||||
"dotnet-ef": {
|
||||
"version": "9.0.8",
|
||||
"commands": [
|
||||
"dotnet-ef"
|
||||
],
|
||||
"rollForward": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3,7 +3,7 @@
|
||||
@inject ContextMenuService ContextMenuService
|
||||
|
||||
<RadzenDataGrid Style="height:calc(100vh - 23rem); font-size: 20px;" TItem="TDataModel" Data="@DataList" AllowPaging PageSize="@PageSize"
|
||||
AllowFiltering FilterMode="FilterMode.Advanced" CellRender="@CellRender"
|
||||
AllowFiltering FilterMode="FilterMode.Advanced" CellRender="@CellRender" AllowColumnResize
|
||||
SelectionMode="DataGridSelectionMode.Single" @bind-Value="@SelectedRow"
|
||||
CellContextMenu="@OnCellContextMenu" RowSelect="@SelectRow" RowDoubleClick="@OnRowDoublClick">
|
||||
<Columns>
|
||||
@ -12,7 +12,9 @@
|
||||
{
|
||||
<RadzenDataGridColumn Title="No.">
|
||||
<Template>
|
||||
<span class="custom-rz-value">
|
||||
@(DataList.ToList().IndexOf(context) + 1)
|
||||
</span>
|
||||
</Template>
|
||||
</RadzenDataGridColumn>
|
||||
}
|
||||
@ -130,6 +132,9 @@
|
||||
|
||||
if (args.Column.Property.ToLower().Equals("host"))
|
||||
{
|
||||
if (HostColumnMerge == false)
|
||||
return;
|
||||
|
||||
int rowCount = 0;
|
||||
var take = DataList.Skip(index).Take(((index / PageSize) + 1) * PageSize - index);
|
||||
foreach (var r in take)
|
||||
|
||||
@ -89,16 +89,24 @@
|
||||
@if (tab.Key == EnumTabs.OverviewC1.ToString())
|
||||
{
|
||||
<TraGrid TDataModel="Overview" DataList="@Overviews" OnClickContextMenu="@OnClickDetailOverviewContextMenu"
|
||||
OnSelectRow="@OnSelectRowOverview" PageSize="@PageSize" DisableColums="@DisableColums"
|
||||
OnDoubleClickRow="@OnDoubleClickRowOverview">
|
||||
OnSelectRow="@OnSelectRowOverview" PageSize="@PageSize" DisableColums="@OverviewDisableColums"
|
||||
OnDoubleClickRow="@OnDoubleClickRowOverview" HostColumnMerge>
|
||||
</TraGrid>
|
||||
}
|
||||
|
||||
@if (tab.Key == EnumTabs.OverviewC1Detail.ToString())
|
||||
{
|
||||
<TraGrid TDataModel="Overview" DataList="@DetailOverviews" OnClickContextMenu="@OnClickDetailOverviewContextMenu"
|
||||
OnSelectRow="@OnSelectRowOverview" PageSize="@PageSize" DisableColums="@DisableColums"
|
||||
OnDoubleClickRow="@OnDoubleClickRowOverview">
|
||||
OnSelectRow="@OnSelectRowOverview" PageSize="@PageSize" DisableColums="@OverviewDisableColums"
|
||||
OnDoubleClickRow="@OnDoubleClickRowDetailOverview" HostColumnMerge>
|
||||
</TraGrid>
|
||||
}
|
||||
|
||||
@if (tab.Key.Contains(EnumTabs.TestHistoryC1.ToString()))
|
||||
{
|
||||
<TraGrid TDataModel="TestHistory" DataList="@TestHistories.Where(x=>x.Key == tab.Key).First().Value" OnClickContextMenu="@OnClickDetailOverviewContextMenu"
|
||||
OnSelectRow="@OnSelectRowOverview" PageSize="@PageSize" DisableColums="@HistoryDisableColums"
|
||||
VisibleRowNo HostColumnMerge="false">
|
||||
</TraGrid>
|
||||
}
|
||||
</ChildContent>
|
||||
@ -121,7 +129,8 @@
|
||||
//options
|
||||
private bool IsMergePartNumberOption = false;
|
||||
private int PageSize = 30;
|
||||
private List<string> DisableColums = new List<string>();
|
||||
private List<string> OverviewDisableColums = new List<string>();
|
||||
private List<string> HistoryDisableColums = new List<string> { "testdate", "modelname", "firsttesttime", "finaltesttime", "testlistcntid" };
|
||||
|
||||
//tab
|
||||
RadzenTabs tabs;
|
||||
@ -132,6 +141,7 @@
|
||||
List<SearchData> SearchDataOverviews = new List<SearchData>();
|
||||
List<Overview> Overviews = new List<Overview>();
|
||||
List<Overview> DetailOverviews = new List<Overview>();
|
||||
Dictionary<string,List<TestHistory>> TestHistories = new();
|
||||
|
||||
private async Task OnSearch()
|
||||
{
|
||||
@ -155,9 +165,9 @@
|
||||
|
||||
private async Task GetOverviews()
|
||||
{
|
||||
DisableColums.Clear();
|
||||
DisableColums.Add("rn");
|
||||
DisableColums.Add("stepversion");
|
||||
OverviewDisableColums.Clear();
|
||||
OverviewDisableColums.Add("rn");
|
||||
OverviewDisableColums.Add("stepversion");
|
||||
|
||||
if (IsMergePartNumberOption == false)
|
||||
{
|
||||
@ -165,10 +175,10 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
DisableColums.Add("stationname");
|
||||
DisableColums.Add("host");
|
||||
DisableColums.Add("section");
|
||||
DisableColums.Add("testlistcntid");
|
||||
OverviewDisableColums.Add("stationname");
|
||||
OverviewDisableColums.Add("host");
|
||||
OverviewDisableColums.Add("section");
|
||||
OverviewDisableColums.Add("testlistcntid");
|
||||
Overviews = await CPXV2LogService.GetOverviewMerged(SearchDataOverviews);
|
||||
}
|
||||
}
|
||||
@ -204,6 +214,29 @@
|
||||
SelectedTabIndex = ListTabs.Keys.ToList().IndexOf(EnumTabs.OverviewC1Detail.ToString());
|
||||
}
|
||||
|
||||
private async Task OnDoubleClickRowDetailOverview(IDataModel row)
|
||||
{
|
||||
var historyIndex = TestHistories.Count();
|
||||
string histoiresKey = $"{EnumTabs.TestHistoryC1.ToString()}({historyIndex + 1})";
|
||||
|
||||
if (IsMergePartNumberOption == false)
|
||||
{
|
||||
var getHistories = await CPXV2LogService.GetTestHistory(SearchDataOverviews, row);
|
||||
TestHistories.Add(histoiresKey, getHistories);
|
||||
}
|
||||
else
|
||||
{
|
||||
var getHistories = await CPXV2LogService.GetTestHistoryMerged(SearchDataOverviews, row);
|
||||
TestHistories.Add(histoiresKey, getHistories);
|
||||
}
|
||||
|
||||
//tab control
|
||||
ListTabs.Add(histoiresKey, EnumTabs.TestHistoryC1);
|
||||
tabs.Reload();
|
||||
|
||||
SelectedTabIndex = ListTabs.Count - 1;
|
||||
}
|
||||
|
||||
private void OnClickDetailOverviewContextMenu()
|
||||
{
|
||||
// DetailOverviews = OverviewService.SearchDetailOverview(SelectedDataService.SelectedOverview);
|
||||
|
||||
@ -59,26 +59,28 @@ public static class ObjectExtend
|
||||
return data.ToOverview();
|
||||
}
|
||||
|
||||
public static TestHistory ToTestHistory(this IEnumerable<SearchData> data)
|
||||
public static TestHistory ToTestHistory(this SearchData data)
|
||||
{
|
||||
return new TestHistory
|
||||
{
|
||||
No = data.Last().Summary.No,
|
||||
TestDateTime = data.Last().Summary.TestDT,
|
||||
StationName = data.Last().Summary.StationName,
|
||||
Host = data.Last().Summary.HostID,
|
||||
Section = data.Last().Summary.Section,
|
||||
ProductID = data.Last().Summary.ProductID,
|
||||
TestType = data.Last().Summary.TestType,
|
||||
ProductNo = data.Last().Summary.ProdNo_C,
|
||||
TestCode = data.Last().Summary.Testcode,
|
||||
ParentNo = data.Last().Summary.ProdNo_P,
|
||||
FileCode = data.Last().Summary.ProdCode,
|
||||
FileVersion = data.Last().Summary.Version,
|
||||
StepVersion = data.Last().Summary.StepVersion,
|
||||
Duration = data.Last().Summary.Duration,
|
||||
TestResult = data.Last().Summary.Result,
|
||||
TestlistReqID = data.Last().Summary.TestListCntID,
|
||||
No = data.Summary.No,
|
||||
TestDate = data.Summary.TestDT,
|
||||
TestDateTime = data.Summary.TestDT,
|
||||
StationName = data.Summary.StationName,
|
||||
Host = data.Summary.HostID,
|
||||
Section = data.Summary.Section,
|
||||
ProductID = data.Summary.ProductID,
|
||||
TestType = data.Summary.TestType,
|
||||
ProductNo = data.Summary.ProdNo_C,
|
||||
TestCode = data.Summary.Testcode,
|
||||
ParentNo = data.Summary.ProdNo_P,
|
||||
FileCode = data.Summary.ProdCode,
|
||||
FileVersion = data.Summary.Version,
|
||||
StepVersion = data.Summary.StepVersion,
|
||||
Duration = data.Summary.Duration,
|
||||
TestResult = data.Summary.Result,
|
||||
TestListCntID = data.Summary.TestListCntID,
|
||||
TestListReqID = data.Summary.TestListCntID
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -2,11 +2,10 @@
|
||||
{
|
||||
public class TestHistory : IDataModel
|
||||
{
|
||||
public DateTime? TestDate { get; set; }
|
||||
public string ModelName { get; set; }
|
||||
|
||||
public long No { get; set; }
|
||||
public DateTime TestDateTime { get; set; }
|
||||
public DateTime? TestDate { get; set; }
|
||||
public DateTime? TestDateTime { get; set; }
|
||||
public string ModelName { get; set; } //no use
|
||||
public string StationName { get; set; }
|
||||
public string Host { get; set; }
|
||||
public string Section { get; set; }
|
||||
@ -20,10 +19,9 @@
|
||||
public int? StepVersion { get; set; }
|
||||
public string Duration { get; set; }
|
||||
public string TestResult { get; set; }
|
||||
public string TestlistReqID { get; set; }
|
||||
|
||||
public string FirstTestTime { get; set; }
|
||||
public string FinalTestTime { get; set; }
|
||||
public string TestListCntID { get; set; }
|
||||
public string TestListReqID { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -151,6 +151,34 @@ namespace Web.Tra.Services
|
||||
return detailOverview.ToList();
|
||||
}
|
||||
|
||||
public async Task<List<TestHistory>> GetTestHistory(List<SearchData> request, IDataModel row)
|
||||
{
|
||||
var testHistory = request
|
||||
.Where(x => x.Summary.TestDT.Date == row.TestDate.Value.Date &&
|
||||
x.Summary.HostID == row.Host &&
|
||||
x.Summary.Section == row.Section &&
|
||||
x.Summary.ProdNo_C == row.ProductNo &&
|
||||
x.Summary.ProdNo_P == row.ParentNo &&
|
||||
x.Summary.TestListCntID == row.TestListCntID)
|
||||
.Select(x=>x.ToTestHistory())
|
||||
.OrderBy(x => x.No);
|
||||
await Task.CompletedTask;
|
||||
return testHistory.ToList();
|
||||
}
|
||||
|
||||
public async Task<List<TestHistory>> GetTestHistoryMerged(List<SearchData> request, IDataModel row)
|
||||
{
|
||||
var testHistory = request
|
||||
.Where(x => x.Summary.TestDT.Date == row.TestDate.Value.Date &&
|
||||
x.Summary.Testcode == row.TestCode&&
|
||||
x.Summary.ProdNo_C == row.ProductNo &&
|
||||
x.Summary.ProdNo_P == row.ParentNo)
|
||||
.Select(x => x.ToTestHistory())
|
||||
.OrderBy(x => (x.TestListReqID, x.No));
|
||||
await Task.CompletedTask;
|
||||
return testHistory.ToList();
|
||||
}
|
||||
|
||||
//Get DBContext
|
||||
private T? GetDBContext<T>(DbContextProvider provider, int dbID) where T : DbContext
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user