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:
254
ReportingServices/Views/Shared/_DailyReportPartial.cshtml
Normal file
254
ReportingServices/Views/Shared/_DailyReportPartial.cshtml
Normal file
@ -0,0 +1,254 @@
|
||||
@model ReportingServices.Models.ProductionReport.YieldStatistics
|
||||
|
||||
@{
|
||||
int totalWafersOut = 0;
|
||||
int totalCustomerScrap = 0;
|
||||
int totalManufacturingScrap = 0;
|
||||
int totalProdScrap = 0;
|
||||
int totalYieldedWafersOut = 0;
|
||||
int deltaToCommit = 0;
|
||||
int deltaToPlan = 0;
|
||||
float totalYield = 0f;
|
||||
|
||||
string myClass;
|
||||
|
||||
int numberOfDaysInWeek = Model.OutsByDay.Count;
|
||||
int yieldOutDays = Model.IsCurrentWeek ? Model.OutsByDay.Count - 1 : Model.OutsByDay.Count;
|
||||
}
|
||||
|
||||
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" rowspan="2" class="text-center align-middle">SI Operations</th>
|
||||
@for (int i = 0; i < 7; i++)
|
||||
{
|
||||
<th scope="col" class="text-center">@Model.StartDate.AddDays(i).ToString("MM/dd/yyyy")</th>
|
||||
}
|
||||
<th scope="col" rowspan="2" class="text-center align-middle">Weekly 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">Commited Target to meet Shipment Requirements</td>
|
||||
<td class="text-center">4,500</td>
|
||||
<td class="text-center">4,500</td>
|
||||
<td class="text-center">4,500</td>
|
||||
<td class="text-center">4,500</td>
|
||||
<td class="text-center">4,500</td>
|
||||
<td class="text-center">4,500</td>
|
||||
<td class="text-center">4,500</td>
|
||||
<td class="text-center">31,500</td>
|
||||
<td>Number updated quarterly</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td scope="row">Actual Reactor Out</td>
|
||||
@for (int i = 0; i < 7; i++)
|
||||
{
|
||||
|
||||
if (i < numberOfDaysInWeek)
|
||||
{
|
||||
int reactorMoves = Model.OutsByDay[i].TotalWafers;
|
||||
|
||||
<td class="text-center">@reactorMoves</td>
|
||||
|
||||
totalWafersOut += reactorMoves;
|
||||
}
|
||||
else
|
||||
{
|
||||
<td></td>
|
||||
}
|
||||
}
|
||||
<td class="text-center">@totalWafersOut</td>
|
||||
<td>Before Scrap</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td scope="row" id="expandYield">
|
||||
Actual Yielded Wafers Out
|
||||
<button class="btn btn-default" onclick="expandYield()">
|
||||
<img src="~/Images/plusIcon.png" width="20" style="padding-bottom: 3px" id="yieldImage" />
|
||||
</button>
|
||||
</td>
|
||||
@for (int i = 0; i < 7; i++)
|
||||
{
|
||||
if (i < numberOfDaysInWeek)
|
||||
{
|
||||
int yieldedOuts = Model.OutsByDay[i].TotalWafers - Model.ScrapByDay[i].TOT_REJ_WFRS - Model.ScrapByDay[i].TW_PROD;
|
||||
|
||||
<td class="text-center">@yieldedOuts</td>
|
||||
|
||||
totalYieldedWafersOut += yieldedOuts;
|
||||
}
|
||||
else
|
||||
{
|
||||
<td></td>
|
||||
}
|
||||
}
|
||||
<td class="text-center">@totalYieldedWafersOut</td>
|
||||
<td>After Scrap</td>
|
||||
</tr>
|
||||
<tr class="yield hidden">
|
||||
@{
|
||||
int index = numberOfDaysInWeek - 1;
|
||||
int modifiedYieldedOuts = 0;
|
||||
if (Model.IsCurrentWeek)
|
||||
modifiedYieldedOuts = totalYieldedWafersOut - (Model.OutsByDay[index].TotalWafers - Model.ScrapByDay[index].TOT_REJ_WFRS - Model.ScrapByDay[index].TW_PROD);
|
||||
else
|
||||
modifiedYieldedOuts = totalYieldedWafersOut;
|
||||
}
|
||||
<td scope="row" colspan="10" id="expandYield" class="text-center">Yielded Wafers Out Daily Average: @(modifiedYieldedOuts / yieldOutDays)</td>
|
||||
</tr>
|
||||
<tr class="yield hidden">
|
||||
<td scope="row">Customer Scrap</td>
|
||||
@for (int i = 0; i < 7; i++)
|
||||
{
|
||||
if (i < numberOfDaysInWeek)
|
||||
{
|
||||
int custScrap = Model.ScrapByDay[i].TOT_REJ_CUST;
|
||||
|
||||
<td class="text-center">@custScrap</td>
|
||||
|
||||
totalCustomerScrap += custScrap;
|
||||
}
|
||||
else
|
||||
{
|
||||
<td></td>
|
||||
}
|
||||
}
|
||||
<td class="text-center">@totalCustomerScrap</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="yield hidden">
|
||||
<td scope="row">Manufacturing Scrap</td>
|
||||
@for (int i = 0; i < 7; i++)
|
||||
{
|
||||
if (i < numberOfDaysInWeek)
|
||||
{
|
||||
int manuScrap = Model.ScrapByDay[i].TOT_REJ_MANU;
|
||||
|
||||
<td class="text-center">@manuScrap</td>
|
||||
|
||||
totalManufacturingScrap += manuScrap;
|
||||
}
|
||||
else
|
||||
{
|
||||
<td></td>
|
||||
}
|
||||
}
|
||||
<td class="text-center">@totalManufacturingScrap</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="yield hidden">
|
||||
<td scope="row">Production Scrap</td>
|
||||
@for (int i = 0; i < 7; i++)
|
||||
{
|
||||
if (i < numberOfDaysInWeek)
|
||||
{
|
||||
int prodScrap = Model.ScrapByDay[i].TW_PROD;
|
||||
|
||||
<td class="text-center">@prodScrap</td>
|
||||
|
||||
totalProdScrap += prodScrap;
|
||||
}
|
||||
else
|
||||
{
|
||||
<td></td>
|
||||
}
|
||||
}
|
||||
<td class="text-center">@totalProdScrap</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="yield hidden">
|
||||
<td scope="row">Yield</td>
|
||||
@for (int i = 0; i < 7; i++)
|
||||
{
|
||||
if (i < numberOfDaysInWeek)
|
||||
{
|
||||
float yield = ((float)Model.OutsByDay[i].TotalWafers - (float)Model.ScrapByDay[i].TOT_REJ_WFRS) / (float)Model.OutsByDay[i].TotalWafers;
|
||||
|
||||
<td class="text-center">@(string.Format("{0:P2}", yield))</td>
|
||||
|
||||
totalYield += yield;
|
||||
}
|
||||
else
|
||||
{
|
||||
<td></td>
|
||||
}
|
||||
}
|
||||
<td class="text-center">@(string.Format("{0:P2}", totalYield / numberOfDaysInWeek))</td>
|
||||
<td>After Scrap</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td scope="row">Delta to commit</td>
|
||||
@for (int i = 0; i < 7; i++)
|
||||
{
|
||||
if (i < numberOfDaysInWeek)
|
||||
{
|
||||
int dayDelta = Model.OutsByDay[i].TotalWafers - Model.ScrapByDay[i].TOT_REJ_WFRS - 4500;
|
||||
|
||||
if (dayDelta < 0)
|
||||
myClass = "table-danger text-danger";
|
||||
else
|
||||
myClass = "";
|
||||
|
||||
<td class="text-center @myClass">@dayDelta</td>
|
||||
|
||||
deltaToCommit += dayDelta;
|
||||
}
|
||||
else
|
||||
{
|
||||
<td></td>
|
||||
}
|
||||
}
|
||||
<td class="text-center">@deltaToCommit</td>
|
||||
<td>Difference to commitment</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td scope="row">Delta to the Plan</td>
|
||||
@for (int i = 0; i < 7; i++)
|
||||
{
|
||||
if (i < numberOfDaysInWeek)
|
||||
{
|
||||
int dayDelta = Model.OutsByDay[i].TotalWafers - Model.ScrapByDay[i].TOT_REJ_WFRS - 4500;
|
||||
|
||||
if (dayDelta < 0)
|
||||
myClass = "table-danger text-danger";
|
||||
else
|
||||
myClass = "";
|
||||
|
||||
<td class="text-center @myClass">@dayDelta</td>
|
||||
|
||||
deltaToPlan += dayDelta;
|
||||
}
|
||||
else
|
||||
{
|
||||
<td></td>
|
||||
}
|
||||
}
|
||||
<td class="text-center">@deltaToPlan</td>
|
||||
<td>Difference to target</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td scope="row">Wafers Needed to make QTR</td>
|
||||
<td class="text-center">3,640</td>
|
||||
<td class="text-center">3,640</td>
|
||||
<td class="text-center">3,640</td>
|
||||
<td class="text-center">3,640</td>
|
||||
<td class="text-center">3,640</td>
|
||||
<td class="text-center">3,640</td>
|
||||
<td class="text-center">3,640</td>
|
||||
<td class="text-center">25,480</td>
|
||||
<td>Number updated weekly</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
Reference in New Issue
Block a user