Used queries to get data from scrape database instead of FabTime to use a single data source.

This commit is contained in:
Daniel Wathen
2023-01-11 09:46:03 -07:00
parent cb14e93ad5
commit 43e5ec3e28
22 changed files with 1350 additions and 118 deletions

View File

@ -11,10 +11,67 @@ namespace ReportingServices.Shared.HelperClasses
public static DailyReport SetUpDailyReport(ILogger logger, string baseUrlFabtime, string baseUrlScrapeDb)
{
List<string> cleanTools = new()
{
"AHPS",
"AKRION1",
"CB3",
"MES",
"SRD 1",
"SRD 2"
};
List<string> metrologyTools = new()
{
"ASET",
"BIORAD2",
"BIORAD3",
"BIORAD4",
"BIORAD5",
"CDE2",
"CDE3",
"CDE5",
"FLEXUS",
"HGCV1",
"HGCV2",
"HGCV3",
"SRP"
};
List<Task<List<EquipmentStateByDay>>> tasksEQState = new();
List<Task<List<ToolStateCurrent>>> tasksState = new();
DailyReport report = new();
List<Reactor> reactors = ApiCaller.GetApi<List<Reactor>>(baseUrlScrapeDb + "Reactors").Result;
List<Task<List<ReactorEvent>>> toolEvents = new();
List<Task<ToolEvent>> cleanEvents = new();
List<Task<ToolEvent>> metrologyEvents = new();
try
{
foreach (Reactor reactor in reactors)
{
toolEvents.Add(ApiCaller.GetApi<List<ReactorEvent>>(baseUrlScrapeDb + "ReactorEvents?startDate=" + report.StartDate.ToString() +
"&endDate=" + DateTime.Now.ToString() + "&reactorNumber=" + reactor.ReactorNumber + "&reactorType=" + reactor.Type));
}
foreach (string tool in cleanTools)
{
cleanEvents.Add(ApiCaller.GetApi<ToolEvent>(baseUrlScrapeDb + "ToolEvents?toolID=" + tool));
}
foreach (string tool in metrologyTools)
{
metrologyEvents.Add(ApiCaller.GetApi<ToolEvent>(baseUrlScrapeDb + "ToolEvents?toolID=" + tool));
}
}
catch (Exception ex)
{
}
try
{
report.SLLTools = JsonFileHandler.LoadJSONFile<List<SLLTool>>(_SLLFilePath);
@ -34,8 +91,8 @@ namespace ReportingServices.Shared.HelperClasses
try
{
task1 = ApiCaller.GetApi<YieldInformation>(baseUrlFabtime + "ReactorOuts?startDate=" + report.StartDate.ToString() + "&endDate=" + DateTime.Now.ToString());
task2 = ApiCaller.GetApi<YieldInformation>(baseUrlFabtime + "ReactorOuts?startDate=" + report.StartDate.AddDays(-7).ToString() + "&endDate=" + report.StartDate.ToString());
task1 = ApiCaller.GetApi<YieldInformation>(baseUrlScrapeDb + "ReactorOuts?startDate=" + report.StartDate.ToString() + "&endDate=" + DateTime.Now.ToString());
task2 = ApiCaller.GetApi<YieldInformation>(baseUrlScrapeDb + "ReactorOuts?startDate=" + report.StartDate.AddDays(-7).ToString() + "&endDate=" + report.StartDate.ToString());
tasksEQState.Add(ApiCaller.GetApi<List<EquipmentStateByDay>>(baseUrlFabtime + "ToolStateTrend?toolType=ASM"));
tasksEQState.Add(ApiCaller.GetApi<List<EquipmentStateByDay>>(baseUrlFabtime + "ToolStateTrend?toolType=EPP"));
@ -53,13 +110,12 @@ namespace ReportingServices.Shared.HelperClasses
Task<QuarterlyTargets> targets = null;
Task<List<RDS>> rds = null;
Task<List<Reactor>> reactors = null;
try
{
targets = ApiCaller.GetApi<QuarterlyTargets>(baseUrlScrapeDb + "Targets");
rds = ApiCaller.GetApi<List<RDS>>(baseUrlScrapeDb + "RDS?date=" + report.StartDate.ToString());
reactors = ApiCaller.GetApi<List<Reactor>>(baseUrlScrapeDb + "Reactors");
}
catch (Exception ex)
{
@ -86,9 +142,29 @@ namespace ReportingServices.Shared.HelperClasses
try
{
report.QuarterlyTargets = targets.Result;
report.SetRDSInfo(rds.Result);
report.SetReactorInfo(reactors.Result, GetUnscheduledReactors(report));
report.SetReactorInfo(reactors, GetUnscheduledReactors(report));
foreach (var task in toolEvents)
{
report.ToolEvents.Add(new ToolEventView(task.Result,
report.StartDate.ToString(), DateTime.Now.ToString(), task.Result[0].REACT_NO,
reactors.FirstOrDefault(x => x.ReactorNumber == int.Parse(task.Result[0].REACT_NO)).Type));
}
report.ToolEvents = report.ToolEvents
.Where(x => x.Reactor != "100" && x.Reactor != "101" && x.Reactor != "47")
.OrderBy(x => x.Reactor)
.ToList();
foreach (Task<ToolEvent> task in cleanEvents)
report.CleanEvents.Add(task.Result);
foreach (Task<ToolEvent> task in metrologyEvents)
report.MetrologyEvents.Add(task.Result);
report.CleanEvents = report.CleanEvents.Where(x => (x.TOOL_MODE != "PROD" || x.TOOL_MODE_DESC != "Production") && x.TOOL_MODE != "OUT").ToList();
report.MetrologyEvents = report.MetrologyEvents.Where(x => (x.TOOL_MODE != "PROD" || x.TOOL_MODE_DESC != "Production") && x.TOOL_MODE != "OUT").ToList();
}
catch (Exception ex)
{