diff --git a/ReportingServices/Controllers/ProductionReportController.cs b/ReportingServices/Controllers/ProductionReportController.cs index 765a48d..38ce5a2 100644 --- a/ReportingServices/Controllers/ProductionReportController.cs +++ b/ReportingServices/Controllers/ProductionReportController.cs @@ -109,6 +109,15 @@ namespace ReportingServices.Controllers Task> task8 = ToolStatesCaller("HTR"); Task> task9 = ToolStatesCaller("Metrology"); Task> task10 = ToolStatesCaller("Cleans"); + + report.AddToolAvailibilityByType("ASM", task3.Result); + report.AddToolAvailibilityByType("EPP", task4.Result); + report.AddToolAvailibilityByType("HTR", task5.Result); + report.AddToolStateByType("ASM", task6.Result); + report.AddToolStateByType("EPP", task7.Result); + report.AddToolStateByType("HTR", task8.Result); + report.AddToolStateByType("Metrology", task9.Result); + report.AddToolStateByType("Cleans", task10.Result); report.CurrentWeek.SetOutsByDay(task1.Result); report.PreviousWeek.SetOutsByDay(task2.Result); @@ -118,14 +127,7 @@ namespace ReportingServices.Controllers report.CurrentWeek.SetScrapByDay(scrap); report.PreviousWeek.SetScrapByDay(previousScrap); - report.AddToolAvailibilityByType("ASM", task3.Result); - report.AddToolAvailibilityByType("EPP", task4.Result); - report.AddToolAvailibilityByType("HTR", task5.Result); - report.AddToolStateByType("ASM", task6.Result); - report.AddToolStateByType("EPP", task7.Result); - report.AddToolStateByType("HTR", task8.Result); - report.AddToolStateByType("Metrology", task9.Result); - report.AddToolStateByType("Cleans", task10.Result); + report.ReverseLists(); report.QuarterlyTargets = _scrapeDatabaseRepository.GetQuarterlyTargets(); @@ -153,6 +155,8 @@ namespace ReportingServices.Controllers reactors = reactors.Substring(0, reactors.Length - 2); + report.DualLayerReactors = _scrapeDatabaseRepository.GetDualLayerReactors(); + int[] toolsByWaferSizeScheduled = _scrapeDatabaseRepository.GetNumberOfToolsByWaferSize(reactors); report.NumberOfToolsWaferSize6INScheduled = toolsByWaferSizeScheduled[0]; diff --git a/ReportingServices/Dependency Injections/Implementations/ScrapeDatabaseRepository.cs b/ReportingServices/Dependency Injections/Implementations/ScrapeDatabaseRepository.cs index 9bbf945..4b3b675 100644 --- a/ReportingServices/Dependency Injections/Implementations/ScrapeDatabaseRepository.cs +++ b/ReportingServices/Dependency Injections/Implementations/ScrapeDatabaseRepository.cs @@ -279,5 +279,50 @@ namespace ReportingServices.Dependency_Injections return quarterlyTargets; } + + public Dictionary> GetDualLayerReactors() + { + Dictionary> dualLayers = new(); + + dualLayers.Add("ASM", new List()); + dualLayers.Add("HTR", new List()); + dualLayers.Add("EPP", new List()); + + OpenConnection(); + + SqlCommand cmd = _connection.CreateCommand(); + + string query = "SELECT REACTOR_TYPE, REACTOR FROM " + + "(SELECT " + + " REACTOR, " + + " rds.REACTOR_TYPE, " + + " PROD_SPEC_ID, " + + " SUM(CASE WHEN psn.LAYER_TYPE = 'Standard 2 Layer' THEN 1 ELSE 0 END) AS Dual " + + " FROM RDS " + + "INNER JOIN PROD_SPEC psn ON rds.PROD_SPEC_ID = psn.SEQ " + + " WHERE DATE_OUT BETWEEN DATEADD(DAY, -1, SYSDATETIME()) AND SYSDATETIME() " + + "GROUP BY REACTOR, PROD_SPEC_ID, rds.REACTOR_TYPE) res " + + "WHERE res.Dual > 0 " + + "ORDER BY 1, 2 "; + + cmd.CommandText = query; + + using (SqlDataReader reader = cmd.ExecuteReader()) + { + while (reader.Read()) + { + if (reader[0].ToString() == "ASM+") + dualLayers["ASM"].Add("R" + reader[1].ToString()); + else + dualLayers[reader[0].ToString()].Add("R" + reader[1].ToString()); + } + } + + cmd.Dispose(); + + CloseConnection(); + + return dualLayers; + } } } diff --git a/ReportingServices/Dependency Injections/Interfaces/IScrapeDatabaseRepository.cs b/ReportingServices/Dependency Injections/Interfaces/IScrapeDatabaseRepository.cs index 15100b5..2e29ad1 100644 --- a/ReportingServices/Dependency Injections/Interfaces/IScrapeDatabaseRepository.cs +++ b/ReportingServices/Dependency Injections/Interfaces/IScrapeDatabaseRepository.cs @@ -14,5 +14,6 @@ namespace ReportingServices.Dependency_Injections public int[] GetNumberOfSingleLoadLocks(); public int[] GetNumberOfToolUnloadTempsLessThan700(); public QuarterlyTargets GetQuarterlyTargets(); + public Dictionary> GetDualLayerReactors(); } } diff --git a/ReportingServices/Models/ProductionReport/DailyReport.cs b/ReportingServices/Models/ProductionReport/DailyReport.cs index 62b93ea..64b9bf3 100644 --- a/ReportingServices/Models/ProductionReport/DailyReport.cs +++ b/ReportingServices/Models/ProductionReport/DailyReport.cs @@ -11,6 +11,7 @@ namespace ReportingServices.Models.ProductionReport public Dictionary> ToolAvailibilityByType { get; set; } public Dictionary ToolStateByType { get; set; } public Dictionary> ToolStatesByOwner { get; set; } + public Dictionary> DualLayerReactors { get; set; } public List PreviousEntries { get; set; } public List CurrentEntries { get; set; } public int NumberOfToolsWaferSize6IN { get; set; } diff --git a/ReportingServices/Views/ProductionReport/DailyReport.cshtml b/ReportingServices/Views/ProductionReport/DailyReport.cshtml index 99512d8..942c471 100644 --- a/ReportingServices/Views/ProductionReport/DailyReport.cshtml +++ b/ReportingServices/Views/ProductionReport/DailyReport.cshtml @@ -203,7 +203,13 @@
  • 200mm - @Model.NumberOfToolsWaferSize8INScheduled
  • -
  • Dual Layer Reactors
  • +
  • Dual Layer Reactors +
      +
    • ASM - @(string.Join(',', Model.DualLayerReactors["ASM"]))
    • +
    • HTR - @(string.Join(',', Model.DualLayerReactors["HTR"]))
    • +
    • EpiPro - @(string.Join(',', Model.DualLayerReactors["EPP"]))
    • +
    +
  • Engineering Focus Tools (Down > 12 hours)
    • @string.Join(",", toolsDownGreaterThan12Hours)
    • diff --git a/ReportingServices/wwwroot/Assets/DailyReportInfo.json b/ReportingServices/wwwroot/Assets/DailyReportInfo.json index c8eba53..b4c3b87 100644 --- a/ReportingServices/wwwroot/Assets/DailyReportInfo.json +++ b/ReportingServices/wwwroot/Assets/DailyReportInfo.json @@ -1 +1 @@ -{"Previous Week":[{"Day":0,"Date":"2022-11-27T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":1,"Date":"2022-11-28T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":10,"HTRSingleLoadLock":16,"ASMUnloadTempsLessThan700":2,"HTRUnloadTempsLessThan700":1},{"Day":2,"Date":"2022-11-29T00:00:00","OperatorHeadcountDays":14,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":3,"HTRSingleLoadLock":12,"ASMUnloadTempsLessThan700":3,"HTRUnloadTempsLessThan700":1},{"Day":3,"Date":"2022-11-30T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":4,"Date":"2022-12-01T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":5,"Date":"2022-12-02T00:00:00","OperatorHeadcountDays":0,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":6,"Date":"2022-12-03T00:00:00","OperatorHeadcountDays":13,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0}],"Current Week":[{"Day":0,"Date":"2022-12-04T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":1,"Date":"2022-12-05T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":10,"HTRSingleLoadLock":16,"ASMUnloadTempsLessThan700":2,"HTRUnloadTempsLessThan700":1},{"Day":2,"Date":"2022-12-06T00:00:00","OperatorHeadcountDays":14,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":3,"HTRSingleLoadLock":12,"ASMUnloadTempsLessThan700":3,"HTRUnloadTempsLessThan700":1},{"Day":3,"Date":"2022-12-07T00:00:00","OperatorHeadcountDays":13,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":3,"HTRSingleLoadLock":12,"ASMUnloadTempsLessThan700":1,"HTRUnloadTempsLessThan700":1},{"Day":4,"Date":"2022-12-08T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":5,"Date":"2022-12-09T00:00:00","OperatorHeadcountDays":0,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":6,"Date":"2022-12-10T00:00:00","OperatorHeadcountDays":13,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0}]} \ No newline at end of file +{"Previous Week":[{"Day":0,"Date":"2022-11-27T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":1,"Date":"2022-11-28T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":10,"HTRSingleLoadLock":16,"ASMUnloadTempsLessThan700":2,"HTRUnloadTempsLessThan700":1},{"Day":2,"Date":"2022-11-29T00:00:00","OperatorHeadcountDays":14,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":3,"HTRSingleLoadLock":12,"ASMUnloadTempsLessThan700":3,"HTRUnloadTempsLessThan700":1},{"Day":3,"Date":"2022-11-30T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":4,"Date":"2022-12-01T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":5,"Date":"2022-12-02T00:00:00","OperatorHeadcountDays":0,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":6,"Date":"2022-12-03T00:00:00","OperatorHeadcountDays":13,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0}],"Current Week":[{"Day":0,"Date":"2022-12-04T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":1,"Date":"2022-12-05T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":10,"HTRSingleLoadLock":16,"ASMUnloadTempsLessThan700":2,"HTRUnloadTempsLessThan700":1},{"Day":2,"Date":"2022-12-06T00:00:00","OperatorHeadcountDays":14,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":3,"HTRSingleLoadLock":12,"ASMUnloadTempsLessThan700":3,"HTRUnloadTempsLessThan700":1},{"Day":3,"Date":"2022-12-07T00:00:00","OperatorHeadcountDays":13,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":3,"HTRSingleLoadLock":12,"ASMUnloadTempsLessThan700":2,"HTRUnloadTempsLessThan700":1},{"Day":4,"Date":"2022-12-08T00:00:00","OperatorHeadcountDays":6,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":3,"HTRSingleLoadLock":12,"ASMUnloadTempsLessThan700":2,"HTRUnloadTempsLessThan700":1},{"Day":5,"Date":"2022-12-09T00:00:00","OperatorHeadcountDays":0,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0},{"Day":6,"Date":"2022-12-10T00:00:00","OperatorHeadcountDays":13,"OperatorHeadcountNights":15,"OperatorCallOutsDays":2,"OperatorCallOutsNights":0,"EngineeringHeadcountDays":2,"EngineeringHeadcountNights":2,"EngineeringCallOutsDays":0,"EngineeringCallOutsNights":0,"MaintenanceHeadcountDays":4,"MaintenanceHeadcountNights":5,"MaintenanceCallOutsDays":0,"MaintenanceCallOutsNights":2,"BottleChanges":"R22","DailyPartChanges":"R22,R23,R25","WeeklyPartChanges":"R21,R23,R29,R30","ASMSingleLoadLock":0,"HTRSingleLoadLock":0,"ASMUnloadTempsLessThan700":0,"HTRUnloadTempsLessThan700":0}]} \ No newline at end of file