Added Dual Layer data in the report (pulling from the database and displaying it back on the main form)

This commit is contained in:
Daniel Wathen
2022-12-08 12:03:19 -07:00
parent 4592b035b6
commit 32d8ad8b3c
6 changed files with 67 additions and 10 deletions

View File

@ -109,6 +109,15 @@ namespace ReportingServices.Controllers
Task<List<ToolStateCurrent>> task8 = ToolStatesCaller("HTR"); Task<List<ToolStateCurrent>> task8 = ToolStatesCaller("HTR");
Task<List<ToolStateCurrent>> task9 = ToolStatesCaller("Metrology"); Task<List<ToolStateCurrent>> task9 = ToolStatesCaller("Metrology");
Task<List<ToolStateCurrent>> task10 = ToolStatesCaller("Cleans"); Task<List<ToolStateCurrent>> 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.CurrentWeek.SetOutsByDay(task1.Result);
report.PreviousWeek.SetOutsByDay(task2.Result); report.PreviousWeek.SetOutsByDay(task2.Result);
@ -118,14 +127,7 @@ namespace ReportingServices.Controllers
report.CurrentWeek.SetScrapByDay(scrap); report.CurrentWeek.SetScrapByDay(scrap);
report.PreviousWeek.SetScrapByDay(previousScrap); 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.ReverseLists();
report.QuarterlyTargets = _scrapeDatabaseRepository.GetQuarterlyTargets(); report.QuarterlyTargets = _scrapeDatabaseRepository.GetQuarterlyTargets();
@ -153,6 +155,8 @@ namespace ReportingServices.Controllers
reactors = reactors.Substring(0, reactors.Length - 2); reactors = reactors.Substring(0, reactors.Length - 2);
report.DualLayerReactors = _scrapeDatabaseRepository.GetDualLayerReactors();
int[] toolsByWaferSizeScheduled = _scrapeDatabaseRepository.GetNumberOfToolsByWaferSize(reactors); int[] toolsByWaferSizeScheduled = _scrapeDatabaseRepository.GetNumberOfToolsByWaferSize(reactors);
report.NumberOfToolsWaferSize6INScheduled = toolsByWaferSizeScheduled[0]; report.NumberOfToolsWaferSize6INScheduled = toolsByWaferSizeScheduled[0];

View File

@ -279,5 +279,50 @@ namespace ReportingServices.Dependency_Injections
return quarterlyTargets; return quarterlyTargets;
} }
public Dictionary<string, List<string>> GetDualLayerReactors()
{
Dictionary<string, List<string>> dualLayers = new();
dualLayers.Add("ASM", new List<string>());
dualLayers.Add("HTR", new List<string>());
dualLayers.Add("EPP", new List<string>());
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;
}
} }
} }

View File

@ -14,5 +14,6 @@ namespace ReportingServices.Dependency_Injections
public int[] GetNumberOfSingleLoadLocks(); public int[] GetNumberOfSingleLoadLocks();
public int[] GetNumberOfToolUnloadTempsLessThan700(); public int[] GetNumberOfToolUnloadTempsLessThan700();
public QuarterlyTargets GetQuarterlyTargets(); public QuarterlyTargets GetQuarterlyTargets();
public Dictionary<string, List<string>> GetDualLayerReactors();
} }
} }

View File

@ -11,6 +11,7 @@ namespace ReportingServices.Models.ProductionReport
public Dictionary<string, List<EquipmentStateByDay>> ToolAvailibilityByType { get; set; } public Dictionary<string, List<EquipmentStateByDay>> ToolAvailibilityByType { get; set; }
public Dictionary<string, ToolStateByType> ToolStateByType { get; set; } public Dictionary<string, ToolStateByType> ToolStateByType { get; set; }
public Dictionary<string, List<string>> ToolStatesByOwner { get; set; } public Dictionary<string, List<string>> ToolStatesByOwner { get; set; }
public Dictionary<string, List<string>> DualLayerReactors { get; set; }
public List<ManualReportEntries> PreviousEntries { get; set; } public List<ManualReportEntries> PreviousEntries { get; set; }
public List<ManualReportEntries> CurrentEntries { get; set; } public List<ManualReportEntries> CurrentEntries { get; set; }
public int NumberOfToolsWaferSize6IN { get; set; } public int NumberOfToolsWaferSize6IN { get; set; }

View File

@ -203,7 +203,13 @@
<li>200mm - @Model.NumberOfToolsWaferSize8INScheduled</li> <li>200mm - @Model.NumberOfToolsWaferSize8INScheduled</li>
</ul> </ul>
</li> </li>
<li>Dual Layer Reactors</li> <li>Dual Layer Reactors
<ul>
<li>ASM - @(string.Join(',', Model.DualLayerReactors["ASM"]))</li>
<li>HTR - @(string.Join(',', Model.DualLayerReactors["HTR"]))</li>
<li>EpiPro - @(string.Join(',', Model.DualLayerReactors["EPP"]))</li>
</ul>
</li>
<li>Engineering Focus Tools (Down > 12 hours) <li>Engineering Focus Tools (Down > 12 hours)
<ul> <ul>
<li>@string.Join(",", toolsDownGreaterThan12Hours)</li> <li>@string.Join(",", toolsDownGreaterThan12Hours)</li>

File diff suppressed because one or more lines are too long