Added data pull for previous week and capability for production passdown to view previous week data, added tool state mapping json file and production passdown report shows owners, removed unnecessary jQuery package.

This commit is contained in:
Daniel Wathen
2022-12-07 10:44:11 -07:00
parent 3409ad58b7
commit 4592b035b6
16 changed files with 651 additions and 576 deletions

View File

@ -0,0 +1,63 @@
using ReportingServices.ReportingObjects;
namespace ReportingServices.Models.ProductionReport
{
public class YieldStatistics
{
public DateTime StartDate { get; set; }
public List<ReactorOutsByDay> OutsByDay { get; set; }
public List<ScrapByDay> ScrapByDay { get; set; }
public bool IsCurrentWeek { get; set; }
public YieldStatistics(DateTime startDate, bool isCurrentWeek)
{
StartDate = startDate;
IsCurrentWeek = isCurrentWeek;
}
public void SetOutsByDay(List<ReactorOutsByRDS> outs)
{
OutsByDay = GetReactorOutsByDay(outs);
}
public void SetScrapByDay(List<ScrapByDay> scrap)
{
ScrapByDay = scrap;
}
public static List<string> GetDistinctDatesFromReactorOuts(List<ReactorOutsByRDS> outs)
{
List<string> dates = new();
foreach (ReactorOutsByRDS rout in outs)
{
if (!dates.Contains(DateTime.Parse(rout.EndProcessTime).Date.ToString()))
dates.Add(DateTime.Parse(rout.EndProcessTime).Date.ToString());
}
return dates;
}
public static List<ReactorOutsByDay> GetReactorOutsByDay(List<ReactorOutsByRDS> outs)
{
List<ReactorOutsByDay> outsByDay = new();
List<string> dates = GetDistinctDatesFromReactorOuts(outs);
foreach (string date in dates)
{
int waferCount = 0;
foreach (ReactorOutsByRDS rout in outs)
{
if (DateTime.Parse(rout.EndProcessTime).Date.ToString() == date)
waferCount += (int)float.Parse(rout.Units);
}
outsByDay.Add(new ReactorOutsByDay(date, waferCount));
}
return outsByDay;
}
}
}