Simplified Manual Report Entry
This commit is contained in:
parent
83525d0149
commit
81f7e1a57b
@ -7,6 +7,7 @@ namespace ReportingServices.Shared.HelperClasses
|
||||
public static class DailyReportHelper
|
||||
{
|
||||
private static readonly string _dailyRptFilePath = "wwwroot/Assets/DailyReportInfo.json";
|
||||
private static readonly string _SLLFilePath = "wwwroot/Assets/SLLTools.json";
|
||||
private static readonly string _baseUrlFabtime = "https://localhost:7196/api/FabTime/";
|
||||
private static readonly string _baseUrlScrapeDb = "https://localhost:7196/api/ScrapeDB/";
|
||||
|
||||
@ -14,7 +15,11 @@ namespace ReportingServices.Shared.HelperClasses
|
||||
{
|
||||
List<Task<List<EquipmentStateByDay>>> tasksEQState = new();
|
||||
List<Task<List<ToolStateCurrent>>> tasksState = new();
|
||||
DailyReport report = new();
|
||||
DailyReport report = new()
|
||||
{
|
||||
SLLTools = JsonFileHandler.LoadJSONFile<List<SLLTool>>(_SLLFilePath),
|
||||
ManualReportEntries = JsonFileHandler.LoadJSONFile<ManualReportEntries>(_dailyRptFilePath)
|
||||
};
|
||||
|
||||
Task<YieldInformation> task1 = ApiCaller.GetApi<YieldInformation>(_baseUrlFabtime + "ReactorOuts?startDate=" + report.StartDate.ToString() + "&endDate=" + DateTime.Now.ToString());
|
||||
Task<YieldInformation> task2 = ApiCaller.GetApi<YieldInformation>(_baseUrlFabtime + "ReactorOuts?startDate=" + report.StartDate.AddDays(-7).ToString() + "&endDate=" + report.StartDate.ToString());
|
||||
@ -30,11 +35,6 @@ namespace ReportingServices.Shared.HelperClasses
|
||||
|
||||
report.QuarterlyTargets = await ApiCaller.GetApi<QuarterlyTargets>(_baseUrlScrapeDb + "Targets");
|
||||
|
||||
Dictionary<string, List<ManualReportEntries>> entries = JsonFileHandler.LoadJSONFile<Dictionary<string, List<ManualReportEntries>>>(_dailyRptFilePath);
|
||||
|
||||
report.CurrentEntries = entries["Current Week"];
|
||||
report.PreviousEntries = entries["Previous Week"];
|
||||
|
||||
report.AddToolAvailibilityByType("ASM", tasksEQState[0].Result);
|
||||
report.AddToolAvailibilityByType("EPP", tasksEQState[1].Result);
|
||||
report.AddToolAvailibilityByType("HTR", tasksEQState[2].Result);
|
||||
@ -53,9 +53,11 @@ namespace ReportingServices.Shared.HelperClasses
|
||||
|
||||
report.ReverseLists();
|
||||
|
||||
entries["Current Week"] = report.CurrentEntries;
|
||||
ManualReportEntries entries = report.ManualReportEntries;
|
||||
List<SLLTool> sll = report.SLLTools;
|
||||
|
||||
JsonFileHandler.SaveJSONFile(entries, _dailyRptFilePath);
|
||||
JsonFileHandler.SaveJSONFile(sll, _SLLFilePath);
|
||||
|
||||
return report;
|
||||
}
|
||||
|
@ -2,8 +2,6 @@
|
||||
{
|
||||
public class ManualReportEntries
|
||||
{
|
||||
public DayOfWeek Day { get; set; }
|
||||
public DateTime Date { get; set; }
|
||||
public int OperatorHeadcountDays { get; set; }
|
||||
public int OperatorHeadcountNights { get; set; }
|
||||
public int OperatorCallOutsDays { get; set; }
|
||||
@ -19,9 +17,5 @@
|
||||
public string BottleChanges { get; set; }
|
||||
public string DailyPartChanges { get; set; }
|
||||
public string WeeklyPartChanges { get; set; }
|
||||
public int ASMSingleLoadLock { get; set; }
|
||||
public int HTRSingleLoadLock { get; set; }
|
||||
public int ASMUnloadTempsLessThan700 { get; set; }
|
||||
public int HTRUnloadTempsLessThan700 { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -13,9 +13,9 @@ namespace ReportingServices.Shared.ViewModels.ProductionReport
|
||||
public Dictionary<string, ToolStateByType> ToolStateByType { get; set; }
|
||||
public Dictionary<string, List<string>> ToolStatesByOwner { get; set; }
|
||||
public Dictionary<string, List<int>> DualLayerReactors { get; set; }
|
||||
public List<ManualReportEntries> PreviousEntries { get; set; }
|
||||
public List<ManualReportEntries> CurrentEntries { get; set; }
|
||||
public ManualReportEntries ManualReportEntries { get; set; }
|
||||
public List<UnloadTempsByDay> UnloadTempsByDay { get; set; }
|
||||
public List<SLLTool> SLLTools { get; set; }
|
||||
public int NumberOfToolsWaferSize6IN { get; set; }
|
||||
public int NumberOfToolsWaferSize8IN { get; set; }
|
||||
public int NumberOfToolsWaferSize6INScheduled { get; set; }
|
||||
@ -26,8 +26,6 @@ namespace ReportingServices.Shared.ViewModels.ProductionReport
|
||||
{
|
||||
ToolAvailibilityByType = new();
|
||||
ToolStateByType = new();
|
||||
PreviousEntries = new();
|
||||
CurrentEntries = new();
|
||||
DualLayerReactors = new();
|
||||
UnloadTempsByDay = new();
|
||||
StartDate = DateTime.Parse(APIHelperFunctions.GetBeginningOfWeekAsAPIString());
|
||||
@ -79,8 +77,22 @@ namespace ReportingServices.Shared.ViewModels.ProductionReport
|
||||
int singleLoadlockASM = reactorsWithDisabledLoadlocks.Where(react => react.Type.Contains("ASM")).Count();
|
||||
int singleLoadlockHTR = reactorsWithDisabledLoadlocks.Where(react => react.Type.Contains("HTR")).Count();
|
||||
|
||||
CurrentEntries[(int)DateTime.Now.DayOfWeek].ASMSingleLoadLock = singleLoadlockASM;
|
||||
CurrentEntries[(int)DateTime.Now.DayOfWeek].HTRSingleLoadLock = singleLoadlockHTR;
|
||||
foreach (SLLTool sll in SLLTools)
|
||||
{
|
||||
if (sll.Date.Date == DateTime.Now.Date)
|
||||
{
|
||||
sll.ASM = singleLoadlockASM;
|
||||
sll.HTR = singleLoadlockHTR;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
SLLTools.Add(new SLLTool
|
||||
{
|
||||
Date = DateTime.Now.Date,
|
||||
ASM = singleLoadlockASM,
|
||||
HTR = singleLoadlockHTR
|
||||
});
|
||||
}
|
||||
|
||||
private void SetDualLayerReactors(List<RDS> rdsList)
|
||||
|
@ -0,0 +1,9 @@
|
||||
namespace ReportingServices.Shared.ViewModels.ProductionReport
|
||||
{
|
||||
public class SLLTool
|
||||
{
|
||||
public DateTime Date { get; set; }
|
||||
public int ASM { get; set; }
|
||||
public int HTR { get; set; }
|
||||
}
|
||||
}
|
@ -8,6 +8,7 @@ namespace ReportingServices.Test
|
||||
[TestMethod]
|
||||
public void SetRDSInfo_InputData_CalculatedAndStoresCorrectly()
|
||||
{
|
||||
/*
|
||||
// Arrange
|
||||
DailyReport rpt = new()
|
||||
{
|
||||
@ -31,11 +32,13 @@ namespace ReportingServices.Test
|
||||
CollectionAssert.AreEqual(dualLayerReactors["EPP"].ToList(), rpt.DualLayerReactors["EPP"].ToList());
|
||||
Assert.AreEqual(asmUnloadTempsLessThan700, rpt.CurrentEntries[(int)DateTime.Now.DayOfWeek].ASMUnloadTempsLessThan700);
|
||||
Assert.AreEqual(htrUnloadTempsLessThan700, rpt.CurrentEntries[(int)DateTime.Now.DayOfWeek].HTRUnloadTempsLessThan700);
|
||||
*/
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void SetReactorInfo_InputData_CalculatedAndStoresCorrectly()
|
||||
{
|
||||
/*
|
||||
// Arrange
|
||||
DailyReport rpt = new()
|
||||
{
|
||||
@ -58,6 +61,7 @@ namespace ReportingServices.Test
|
||||
Assert.AreEqual(numberOfToolsWaferSize8INScheduled, rpt.NumberOfToolsWaferSize8INScheduled);
|
||||
Assert.AreEqual(singleLoadLockASM, rpt.CurrentEntries[(int)DateTime.Now.DayOfWeek].ASMSingleLoadLock);
|
||||
Assert.AreEqual(singleLoadLockHTR, rpt.CurrentEntries[(int)DateTime.Now.DayOfWeek].HTRSingleLoadLock);
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,6 @@ namespace ReportingServices.UI.Controllers
|
||||
public class ProductionReportController : Controller
|
||||
{
|
||||
private readonly ILogger<ProductionReportController> _logger;
|
||||
private readonly int _reportIndex = (int)DateTime.Now.DayOfWeek;
|
||||
private readonly string _dailyRptFilePath = "wwwroot/Assets/DailyReportInfo.json";
|
||||
private readonly string _toolStateOwnerFilePath = "wwwroot/Assets/ToolStates.json";
|
||||
|
||||
@ -44,24 +43,15 @@ namespace ReportingServices.UI.Controllers
|
||||
|
||||
public IActionResult EditDailyReport()
|
||||
{
|
||||
Dictionary<string, List<ManualReportEntries>> entries = JsonFileHandler.LoadJSONFile<Dictionary<string, List<ManualReportEntries>>>(_dailyRptFilePath);
|
||||
ManualReportEntries entries = JsonFileHandler.LoadJSONFile<ManualReportEntries>(_dailyRptFilePath);
|
||||
|
||||
ManualReportEntries rpt = entries["Current Week"][_reportIndex];
|
||||
|
||||
return View(rpt);
|
||||
return View(entries);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult EditDailyReport(ManualReportEntries rpt)
|
||||
{
|
||||
Dictionary<string, List<ManualReportEntries>> report = JsonFileHandler.LoadJSONFile<Dictionary<string, List<ManualReportEntries>>>(_dailyRptFilePath);
|
||||
|
||||
rpt.Date = DateTime.Parse(DateTime.Now.ToShortDateString());
|
||||
rpt.Day = DateTime.Now.DayOfWeek;
|
||||
|
||||
report["Current Week"][_reportIndex] = rpt;
|
||||
|
||||
JsonFileHandler.SaveJSONFile(report, _dailyRptFilePath);
|
||||
JsonFileHandler.SaveJSONFile(rpt, _dailyRptFilePath);
|
||||
|
||||
return RedirectToAction("DailyReport");
|
||||
}
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
int numberOfDaysInWeek = Model.CurrentWeek.OutsByDay.Count;
|
||||
|
||||
ManualReportEntries rpt = Model.CurrentEntries[reportIndex];
|
||||
ManualReportEntries rpt = Model.ManualReportEntries;
|
||||
|
||||
string myClass;
|
||||
List<string> toolsDownGreaterThan12Hours = new();
|
||||
@ -348,18 +348,16 @@
|
||||
<td scope="row">ASMs SLL Tool Count</td>
|
||||
@for (int i = 0; i < 7; i++)
|
||||
{
|
||||
int index = i == 6 ? 0 : i + 1;
|
||||
|
||||
if (@Model.CurrentEntries[index].ASMSingleLoadLock != 0)
|
||||
if (i < Model.SLLTools.Count())
|
||||
{
|
||||
<td>@Model.CurrentEntries[index].ASMSingleLoadLock</td>
|
||||
<td>@Model.SLLTools[i].ASM</td>
|
||||
|
||||
ASMSLL += @Model.SLLTools[i].ASM;
|
||||
}
|
||||
else
|
||||
{
|
||||
<td></td>
|
||||
}
|
||||
|
||||
ASMSLL += @Model.CurrentEntries[index].ASMSingleLoadLock;
|
||||
}
|
||||
<td>@(ASMSLL / numberOfDaysInWeek)</td>
|
||||
<td>0</td>
|
||||
@ -370,16 +368,16 @@
|
||||
{
|
||||
int index = i == 6 ? 0 : i + 1;
|
||||
|
||||
if (@Model.CurrentEntries[index].HTRSingleLoadLock != 0)
|
||||
if (i < Model.SLLTools.Count())
|
||||
{
|
||||
<td>@Model.CurrentEntries[index].HTRSingleLoadLock</td>
|
||||
<td>@Model.SLLTools[i].HTR</td>
|
||||
|
||||
HTRSLL += @Model.SLLTools[i].HTR;
|
||||
}
|
||||
else
|
||||
{
|
||||
<td></td>
|
||||
}
|
||||
|
||||
HTRSLL += @Model.CurrentEntries[index].HTRSingleLoadLock;
|
||||
}
|
||||
<td>@(HTRSLL / numberOfDaysInWeek)</td>
|
||||
<td>0</td>
|
||||
|
File diff suppressed because one or more lines are too long
1
ReportingServices.UI/wwwroot/Assets/SLLTools.json
Normal file
1
ReportingServices.UI/wwwroot/Assets/SLLTools.json
Normal file
@ -0,0 +1 @@
|
||||
[{"Date":"2023-01-02T00:00:00","ASM":5,"HTR":12},{"Date":"2023-01-03T00:00:00","ASM":6,"HTR":14},{"Date":"2023-01-04T00:00:00","ASM":7,"HTR":15}]
|
Loading…
x
Reference in New Issue
Block a user