Added Dual Layer data in the report (pulling from the database and displaying it back on the main form)
This commit is contained in:
@ -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];
|
||||||
|
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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; }
|
||||||
|
@ -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
Reference in New Issue
Block a user