SLLTools.json file and DailyReportInfo.json file automatically clear the first time it runs on Monday, and fixed bug when scrap is resolved as null.

This commit is contained in:
Daniel Wathen
2023-01-16 00:55:07 -07:00
parent 11a24b26a0
commit 62df6323d0
7 changed files with 100 additions and 17 deletions

View File

@ -12,11 +12,49 @@ public static class DailyReportHelper
public static DailyReport SetUpDailyReport(ILogger logger, string baseUrlScrapeDb)
{
DailyReport report = new();
DateTime currentDateTime = DateTime.Now;
try
{
report.SLLTools = JsonFileHandler.LoadJSONFile<List<SLLTool>>(_SLLFilePath);
report.ManualReportEntries = JsonFileHandler.LoadJSONFile<ManualReportEntries>(_dailyRptFilePath);
List<SLLTool> tools = JsonFileHandler.LoadJSONFile<List<SLLTool>>(_SLLFilePath);
ManualReportEntries manualEntries = JsonFileHandler.LoadJSONFile<ManualReportEntries>(_dailyRptFilePath);
if (currentDateTime.DayOfWeek == DayOfWeek.Monday && tools[tools.Count - 1].Date == currentDateTime.Date.AddDays(-1))
report.SLLTools = new List<SLLTool>();
else
report.SLLTools = tools;
if (currentDateTime.Date > manualEntries.Date)
{
string weeklyPtChng;
if (currentDateTime.DayOfWeek == DayOfWeek.Monday)
weeklyPtChng = null;
else
weeklyPtChng = manualEntries.WeeklyPartChanges;
report.ManualReportEntries = new ManualReportEntries()
{
Date = currentDateTime.Date,
OperatorHeadcountDays = 0,
OperatorHeadcountNights = 0,
OperatorCallOutsDays = 0,
OperatorCallOutsNights = 0,
MaintenanceHeadcountDays = 0,
MaintenanceHeadcountNights = 0,
MaintenanceCallOutsDays = 0,
MaintenanceCallOutsNights = 0,
EngineeringHeadcountDays = 0,
EngineeringHeadcountNights = 0,
EngineeringCallOutsDays = 0,
EngineeringCallOutsNights = 0,
BottleChanges = null,
DailyPartChanges = null,
WeeklyPartChanges = weeklyPtChng
};
}
else
report.ManualReportEntries = manualEntries;
}
catch (Exception ex)
@ -75,7 +113,7 @@ public static class DailyReportHelper
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));
"&endDate=" + currentDateTime.ToString() + "&reactorNumber=" + reactor.ReactorNumber + "&reactorType=" + reactor.Type));
lastUpTransactions.Add(reactor.ReactorNumber.ToString(),
ApiCaller.GetApi<int>(baseUrlScrapeDb + "GetLastUpTransaction?reactorNumber=" + reactor.ReactorNumber));
@ -91,13 +129,13 @@ public static class DailyReportHelper
metrologyEvents.Add(ApiCaller.GetApi<ToolEvent>(baseUrlScrapeDb + "ToolEvents?toolID=" + tool));
}
task1 = ApiCaller.GetApi<YieldInformation>(baseUrlScrapeDb + "ReactorOuts?startDate=" + report.StartDate.ToString() + "&endDate=" + DateTime.Now.ToString());
task1 = ApiCaller.GetApi<YieldInformation>(baseUrlScrapeDb + "ReactorOuts?startDate=" + report.StartDate.ToString() + "&endDate=" + currentDateTime.ToString());
task2 = ApiCaller.GetApi<YieldInformation>(baseUrlScrapeDb + "ReactorOuts?startDate=" + report.StartDate.AddDays(-7).ToString() + "&endDate=" + report.StartDate.ToString());
task3 = ApiCaller.GetApi<DateTime>(baseUrlScrapeDb + "GetQuarterStartDate");
targets = ApiCaller.GetApi<QuarterlyTargets>(baseUrlScrapeDb + "Targets");
rds = ApiCaller.GetApi<List<RDS>>(baseUrlScrapeDb + "RDS?date=" + report.StartDate.ToString());
task4 = ApiCaller.GetApi<OutsAndScrapTotal>(baseUrlScrapeDb + "GetOutsAndScrapTotals?startDate=" + task3.Result + "&endDate=" + DateTime.Now.ToString());
task4 = ApiCaller.GetApi<OutsAndScrapTotal>(baseUrlScrapeDb + "GetOutsAndScrapTotals?startDate=" + task3.Result + "&endDate=" + currentDateTime.ToString());
task5 = ApiCaller.GetApi<OutsAndScrapTotal>(baseUrlScrapeDb + "GetOutsAndScrapTotals?startDate=" + task3.Result + "&endDate=" + report.StartDate.ToString());
task6 = ApiCaller.GetApi<OutsAndScrapTotal>(baseUrlScrapeDb + "GetOutsAndScrapTotals?startDate=" + task3.Result + "&endDate=" + report.StartDate.AddDays(-7).ToString());
}
@ -115,7 +153,7 @@ public static class DailyReportHelper
foreach (Task<List<ReactorEvent>> task in toolEvents)
{
ToolEventView toolEvent = new(task.Result,
report.StartDate.ToString(), DateTime.Now.ToString(), task.Result[0].REACT_NO,
report.StartDate.ToString(), currentDateTime.ToString(), task.Result[0].REACT_NO,
reactors.FirstOrDefault(x => x.ReactorNumber == int.Parse(task.Result[0].REACT_NO)).Type);
toolEvent.SetDowntime(lastUpTransactions[toolEvent.Reactor].Result);