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) public static DailyReport SetUpDailyReport(ILogger logger, string baseUrlScrapeDb)
{ {
DailyReport report = new(); DailyReport report = new();
DateTime currentDateTime = DateTime.Now;
try try
{ {
report.SLLTools = JsonFileHandler.LoadJSONFile<List<SLLTool>>(_SLLFilePath); List<SLLTool> tools = JsonFileHandler.LoadJSONFile<List<SLLTool>>(_SLLFilePath);
report.ManualReportEntries = JsonFileHandler.LoadJSONFile<ManualReportEntries>(_dailyRptFilePath); 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) catch (Exception ex)
@ -75,7 +113,7 @@ public static class DailyReportHelper
foreach (Reactor reactor in reactors) foreach (Reactor reactor in reactors)
{ {
toolEvents.Add(ApiCaller.GetApi<List<ReactorEvent>>(baseUrlScrapeDb + "ReactorEvents?startDate=" + report.StartDate.ToString() + 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(), lastUpTransactions.Add(reactor.ReactorNumber.ToString(),
ApiCaller.GetApi<int>(baseUrlScrapeDb + "GetLastUpTransaction?reactorNumber=" + reactor.ReactorNumber)); 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)); 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()); task2 = ApiCaller.GetApi<YieldInformation>(baseUrlScrapeDb + "ReactorOuts?startDate=" + report.StartDate.AddDays(-7).ToString() + "&endDate=" + report.StartDate.ToString());
task3 = ApiCaller.GetApi<DateTime>(baseUrlScrapeDb + "GetQuarterStartDate"); task3 = ApiCaller.GetApi<DateTime>(baseUrlScrapeDb + "GetQuarterStartDate");
targets = ApiCaller.GetApi<QuarterlyTargets>(baseUrlScrapeDb + "Targets"); targets = ApiCaller.GetApi<QuarterlyTargets>(baseUrlScrapeDb + "Targets");
rds = ApiCaller.GetApi<List<RDS>>(baseUrlScrapeDb + "RDS?date=" + report.StartDate.ToString()); 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()); 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()); 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) foreach (Task<List<ReactorEvent>> task in toolEvents)
{ {
ToolEventView toolEvent = new(task.Result, 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); reactors.FirstOrDefault(x => x.ReactorNumber == int.Parse(task.Result[0].REACT_NO)).Type);
toolEvent.SetDowntime(lastUpTransactions[toolEvent.Reactor].Result); toolEvent.SetDowntime(lastUpTransactions[toolEvent.Reactor].Result);

View File

@ -2,6 +2,7 @@
public class ManualReportEntries public class ManualReportEntries
{ {
public DateTime Date { get; set; }
public int OperatorHeadcountDays { get; set; } public int OperatorHeadcountDays { get; set; }
public int OperatorHeadcountNights { get; set; } public int OperatorHeadcountNights { get; set; }
public int OperatorCallOutsDays { get; set; } public int OperatorCallOutsDays { get; set; }

View File

@ -86,15 +86,21 @@ public class ScrapeDatabaseRepository : IScrapeDatabaseRepository
using (SqlDataReader reader = cmd.ExecuteReader()) using (SqlDataReader reader = cmd.ExecuteReader())
{ {
while (reader.Read() && reader[0].ToString() != "1/1/1900 12:00:00 AM") while (reader.Read() && reader[0].ToString() != "1/1/1900 12:00:00 AM")
{
int twProd = string.IsNullOrEmpty(reader[3].ToString()) ? 0 : int.Parse(reader[3].ToString());
int custScrap = string.IsNullOrEmpty(reader[1].ToString()) ? 0 : int.Parse(reader[1].ToString());
int manuScrap = string.IsNullOrEmpty(reader[2].ToString()) ? 0 : int.Parse(reader[2].ToString());
int totScrap = custScrap + manuScrap;
scrap.Add(new ScrapByDay scrap.Add(new ScrapByDay
{ {
StartDate = reader[0].ToString(), StartDate = reader[0].ToString(),
TW_PROD = int.Parse(reader[3].ToString()), TW_PROD = twProd,
TOT_REJ_CUST = int.Parse(reader[1].ToString()), TOT_REJ_CUST = custScrap,
TOT_REJ_MANU = int.Parse(reader[2].ToString()), TOT_REJ_MANU = manuScrap,
TOT_REJ_WFRS = TOT_REJ_WFRS = totScrap
int.Parse(reader[1].ToString()) + int.Parse(reader[2].ToString())
}); });
}
} }
cmd.Dispose(); cmd.Dispose();

View File

@ -52,6 +52,8 @@ public class ProductionReportController : Controller
[HttpPost] [HttpPost]
public IActionResult EditDailyReport(ManualReportEntries rpt) public IActionResult EditDailyReport(ManualReportEntries rpt)
{ {
rpt.Date = DateTime.Now.Date;
JsonFileHandler.SaveJSONFile(rpt, _dailyRptFilePath); JsonFileHandler.SaveJSONFile(rpt, _dailyRptFilePath);
return RedirectToAction("DailyReport"); return RedirectToAction("DailyReport");

View File

@ -417,7 +417,7 @@
<td></td> <td></td>
} }
} }
<td>@(ASMSLL / numberOfDaysInWeek)</td> <td>@(Math.Round((double)ASMSLL / (double)numberOfDaysInWeek))</td>
<td>0</td> <td>0</td>
</tr> </tr>
<tr> <tr>
@ -437,7 +437,7 @@
<td></td> <td></td>
} }
} }
<td>@(HTRSLL / numberOfDaysInWeek)</td> <td>@(Math.Round((double)HTRSLL / (double)numberOfDaysInWeek))</td>
<td>0</td> <td>0</td>
</tr> </tr>
<tr> <tr>
@ -455,7 +455,7 @@
<td></td> <td></td>
} }
} }
<td>@(ASMUnloadTemps / numberOfDaysInWeek)</td> <td>@(Math.Round((double)ASMUnloadTemps / (double)numberOfDaysInWeek))</td>
<td>0</td> <td>0</td>
</tr> </tr>
<tr> <tr>
@ -473,7 +473,7 @@
<td></td> <td></td>
} }
} }
<td>@(HTRUnloadTemps / numberOfDaysInWeek)</td> <td>@(Math.Round((double)HTRUnloadTemps / (double)numberOfDaysInWeek))</td>
<td>0</td> <td>0</td>
</tr> </tr>
</tbody> </tbody>

View File

@ -1 +1 @@
{"OperatorHeadcountDays":0,"OperatorHeadcountNights":0,"OperatorCallOutsDays":0,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":0,"EngineeringHeadcountNights":0,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":0,"MaintenanceHeadcountNights":0,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":0,"BottleChanges":null,"DailyPartChanges":null,"WeeklyPartChanges":null} {"Date":"2023-01-15T00:00:00-07:00","OperatorHeadcountDays":14,"OperatorHeadcountNights":12,"OperatorCallOutsDays":0,"OperatorCallOutsNights":1,"EngineeringHeadcountDays":1,"EngineeringHeadcountNights":1,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":3,"MaintenanceHeadcountNights":3,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":0,"BottleChanges":"R22","DailyPartChanges":"R23,R25","WeeklyPartChanges":"R23,R25,R27,R29,R36,R37"}

View File

@ -1 +1,37 @@
[{"Date":"2023-01-09T00:00:00-07:00","ASM":8,"HTR":16},{"Date":"2023-01-10T00:00:00-07:00","ASM":8,"HTR":16},{"Date":"2023-01-11T00:00:00-07:00","ASM":8,"HTR":16},{"Date":"2023-01-12T00:00:00-07:00","ASM":7,"HTR":16},{"Date":"2023-01-13T00:00:00-07:00","ASM":7,"HTR":15}] [
{
"Date": "2023-01-09T00:00:00-07:00",
"ASM": 8,
"HTR": 16
},
{
"Date": "2023-01-10T00:00:00-07:00",
"ASM": 8,
"HTR": 16
},
{
"Date": "2023-01-11T00:00:00-07:00",
"ASM": 8,
"HTR": 16
},
{
"Date": "2023-01-12T00:00:00-07:00",
"ASM": 7,
"HTR": 16
},
{
"Date": "2023-01-13T00:00:00-07:00",
"ASM": 7,
"HTR": 15
},
{
"Date": "2023-01-14T00:00:00-07:00",
"ASM": 8,
"HTR": 15
},
{
"Date": "2023-01-15T00:00:00-07:00",
"ASM": 9,
"HTR": 15
}
]