[성현모] Overview Merged 추가
This commit is contained in:
@ -83,6 +83,80 @@ namespace Web.Tra.Services
|
||||
return overview.OrderBy(x=>x.TestDate).ToList();
|
||||
}
|
||||
|
||||
public async Task<List<OverviewMerged>> GetOverviewMerged(RequestSearch request)
|
||||
{
|
||||
List<OverviewMerged> overview = new List<OverviewMerged>();
|
||||
|
||||
int startYear = request.SearchStart.Year;
|
||||
int endYear = request.SearchEnd.Year;
|
||||
|
||||
//search log
|
||||
List<HIST_LogSummary> SearchLogList = new List<HIST_LogSummary>();
|
||||
for (int i = startYear; i <= endYear; i++)
|
||||
{
|
||||
using (var scope = _scopeFactory.CreateScope())
|
||||
{
|
||||
var provider = scope.ServiceProvider.GetRequiredService<DbContextProvider>();
|
||||
using (var context = GetDBContext<CPXV2Log>(provider, i))
|
||||
{
|
||||
if (context is not null)
|
||||
{
|
||||
SearchLogList.AddRange(await context.HIST_LogSummaries.Where(x => request.SearchStart <= DateOnly.FromDateTime(x.TestDT) && DateOnly.FromDateTime(x.TestDT) <= request.SearchEnd).ToListAsync());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//search testlist
|
||||
using (var scope = _scopeFactory.CreateScope())
|
||||
{
|
||||
var provider = scope.ServiceProvider.GetRequiredService<DbContextProvider>();
|
||||
using (var context = GetDBContext<CPXV2>(provider, 1))
|
||||
{
|
||||
if (context is not null)
|
||||
{
|
||||
var varProdVariant = context.PROD_Variants.ToList();
|
||||
var varProudGroup = context.PROD_Groups.ToList();
|
||||
var TesetInfoList = varProdVariant.Select(x => new TestInfo
|
||||
{
|
||||
PROD_Variant = x,
|
||||
PROD_Group = varProudGroup.Find(y => y.No == x.GroupNo)
|
||||
}).ToList();
|
||||
|
||||
var search = SearchLogList.Select(x => new SearchData
|
||||
{
|
||||
Summary = x,
|
||||
TestInfo = TesetInfoList.Find(y => y.PROD_Variant.No == x.TestListVariantNo)
|
||||
});
|
||||
|
||||
var ListSearchData = search
|
||||
//.Where(x => x.Summary.TestListVariantNo > 0)
|
||||
.OrderByDescending(x => x.Summary.TestDT).ToList();
|
||||
|
||||
var group = ListSearchData.GroupBy(x =>
|
||||
(DateOnly.FromDateTime(x.Summary.TestDT.Date),
|
||||
x.Summary.TestType,
|
||||
x.Summary.ProdNo_C,
|
||||
x.Summary.Testcode,
|
||||
x.Summary.TestListFileNo,
|
||||
x.Summary.TestListVariantNo,
|
||||
x.Summary.ProdNo_P,
|
||||
x.Summary.ProdCode,
|
||||
x.Summary.Version,
|
||||
x.Summary.StepVersion))
|
||||
.Select(x => x.ToOverviewMerged())
|
||||
.DistinctBy(x => (x.ModelName, x.TestType, x.ProductNo, x.TestCode, x.ParentNo,
|
||||
x.TestListFileNo, x.TestListVariantNo, x.FileCode, x.FileVersion))
|
||||
.OrderBy(x => (x.ProductNo, x.ParentNo, x.TestDate));
|
||||
|
||||
overview.AddRange(group);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return overview;
|
||||
}
|
||||
|
||||
//Get DBContext
|
||||
private T? GetDBContext<T>(DbContextProvider provider, int dbID) where T : DbContext
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user