Daniel Wathen 72e7a55ab4 Updated daily report to show correct information when two work weeks split quarters.
Also current changes to project with Blazor implementation is implemented here as well.
2023-04-03 09:58:28 -07:00

168 lines
8.3 KiB
Plaintext

@if (Dates != null)
{
<table class="table table-bordered">
<thead>
<tr>
<th scope="col" rowspan="2" class="text-center align-middle">SI Operations</th>
@foreach (DateTime date in Dates)
{
<th scope="col" class="text-center" >@date.ToShortDateString()</th>
}
<th scope="col" rowspan="2" class="text-center align-middle">Weekly Total</th>
<th scope="col" rowspan="2" class="text-center align-middle">QTD Total</th>
<th scope="col" rowspan="2" class="text-center align-middle">Comment</th>
</tr>
<tr>
<th scope="col" class="text-center">Monday</th>
<th scope="col" class="text-center">Tuesday</th>
<th scope="col" class="text-center">Wednesday</th>
<th scope="col" class="text-center">Thursday</th>
<th scope="col" class="text-center">Friday</th>
<th scope="col" class="text-center">Saturday</th>
<th scope="col" class="text-center">Sunday</th>
</tr>
</thead>
<tbody>
<tr>
<td scope="row">Committed Target to meet Shipment Requirements</td>
<td class="text-center">@string.Format("{0:##,###}", DailyPlanWafers)</td>
<td class="text-center">@string.Format("{0:##,###}", DailyPlanWafers)</td>
<td class="text-center">@string.Format("{0:##,###}", DailyPlanWafers)</td>
<td class="text-center">@string.Format("{0:##,###}", DailyPlanWafers)</td>
<td class="text-center">@string.Format("{0:##,###}", DailyPlanWafers)</td>
<td class="text-center">@string.Format("{0:##,###}", DailyPlanWafers)</td>
<td class="text-center">@string.Format("{0:##,###}", DailyPlanWafers)</td>
<td class="text-center">@string.Format("{0:##,###}", DailyPlanWafers * 7)</td>
<td></td>
<td>Number updated quarterly</td>
</tr>
<tr>
<td scope="row">Actual Yielded Wafers Out</td>
@foreach (DateTime date in Dates)
{
<td class="text-center">@string.Format("{0:##,###}", WeeklyYieldStatistics[date].Outs)</td>
}
<td class="text-center">@string.Format("{0:##,###}", TotalWafersOut)</td>
<td class="text-center">@string.Format("{0:##,###}", QTDOutsAndScrap.Outs)</td>
<td>Before Scrap</td>
</tr>
<tr>
<td scope="row">Actual Reactor Out</td>
@foreach (DateTime date in Dates)
{
<td class="text-center">@string.Format("{0:##,###}", WeeklyYieldStatistics[date].YieldedOuts)</td>
}
<td class="text-center">@string.Format("{0:##,###}", TotalYieldedWafersOut)</td>
<td class="text-center">@string.Format("{0:##,###}", (QTDOutsAndScrap.Outs - QTDOutsAndScrap.CustomerScrap - QTDOutsAndScrap.ManufacturingScrap - QTDOutsAndScrap.ProductionScrap))</td>
<td>After Scrap</td>
</tr>
<tr>
<td scope="row" colspan="11" class="text-center">Yielded Wafers out Daily Average: @(string.Format("{0:##,###}", YieldedWafersPerDay))</td>
</tr>
<tr>
<td scope="row">Customer Scrap</td>
@foreach (DateTime date in Dates)
{
<td class="text-center">@string.Format("{0:##,###}", WeeklyYieldStatistics[date].CustomerScrap)</td>
}
<td class="text-center">@string.Format("{0:##,###}", TotalCustomerScrap)</td>
<td class="text-center">@string.Format("{0:##,###}", QTDOutsAndScrap.CustomerScrap)</td>
<td></td>
</tr>
<tr>
<td scope="row">Manufacturing Scrap</td>
@foreach (DateTime date in Dates)
{
<td class="text-center">@string.Format("{0:##,###}", WeeklyYieldStatistics[date].ManufacturingScrap)</td>
}
<td class="text-center">@string.Format("{0:##,###}", TotalManufacturingScrap)</td>
<td class="text-center">@string.Format("{0:##,###}", QTDOutsAndScrap.ManufacturingScrap)</td>
<td></td>
</tr>
<tr>
<td scope="row">Production Scrap</td>
@foreach (DateTime date in Dates)
{
<td class="text-center">@string.Format("{0:##,###}", WeeklyYieldStatistics[date].ProductionScrap)</td>
}
<td class="text-center">@string.Format("{0:##,###}", TotalProdScrap)</td>
<td class="text-center">@string.Format("{0:##,###}", QTDOutsAndScrap.ProductionScrap)</td>
<td></td>
</tr>
<tr>
<td scope="row">Yield</td>
@foreach (DateTime date in Dates)
{
string myClass = "";
if (WeeklyYieldStatistics[date].YieldPercent != 0)
{
if (WeeklyYieldStatistics[date].YieldPercent < 98)
myClass = "table-danger text-danger";
<td class="text-center @myClass">@string.Format("{0:P2}", WeeklyYieldStatistics[date].YieldPercent)</td>
}
else
{
<td></td>
}
}
<td class="text-center">@string.Format("{0:P2}", (double)(TotalWafersOut - TotalManufacturingScrap) / TotalWafersOut)</td>
<td class="text-center">@string.Format("{0:P2}", (double)(QTDOutsAndScrap.Outs - QTDOutsAndScrap.ManufacturingScrap) / QTDOutsAndScrap.Outs)</td>
<td></td>
</tr>
<tr>
<td scope="row">Delta to Commit</td>
@foreach (DateTime date in Dates)
{
string myClass = "";
if (WeeklyYieldStatistics[date].YieldedOuts != 0)
{
if (WeeklyYieldStatistics[date].YieldedOuts - DailyWafersForQTR < 0)
myClass = "table-danger text-danger";
<td class="text-center @myClass">@string.Format("{0:##,###}", WeeklyYieldStatistics[date].YieldedOuts - DailyWafersForQTR)</td>
}
else
{
<td></td>
}
}
<td class="text-center">@string.Format("{0:##,###}", (TotalYieldedWafersOut - DailyWafersForQTR * (NumberCompletedDaysInWeek + AddExtraDay)))</td>
<td></td>
<td>Difference to Commit</td>
</tr>
<tr>
<td scope="row">Delta to the Plan</td>
@foreach (DateTime date in Dates)
{
string myClass = "";
if (WeeklyYieldStatistics[date].YieldedOuts != 0)
{
if (WeeklyYieldStatistics[date].YieldedOuts - DailyPlanWafers < 0)
myClass = "table-danger text-danger";
<td class="text-center @myClass">@string.Format("{0:##,###}", WeeklyYieldStatistics[date].YieldedOuts - DailyPlanWafers)</td>
}
else
{
<td></td>
}
}
<td class="text-center">@string.Format("{0:##,###}", (TotalYieldedWafersOut - DailyPlanWafers * (NumberCompletedDaysInWeek + AddExtraDay)))</td>
<td></td>
<td>Difference to Target</td>
</tr>
<tr>
<td scope="row">Wafers Needed to make QTR</td>
@foreach (DateTime date in Dates)
{
<td class="text-center">@string.Format("{0:##,###}", DailyWafersForQTR)</td>
}
<td class="text-center">@string.Format("{0:##,###}", DailyWafersForQTR * 7)</td>
<td></td>
<td>Number Updated Weekly</td>
</tr>
</tbody>
</table>
}