Sorry, there's nothing at this address.
+Reactor | +Owner | +Issue | +Downtime | +
---|---|---|---|
@tool.Reactor | +@owner | +@tool.MostRecentEvent.COMMENT | +@string.Format("{0:##,###.##}", tool.Downtime) | +
Reactor | +Owner | +Issue | +Downtime | +
---|---|---|---|
@tool.Reactor | +@owner | +@tool.MostRecentEvent.COMMENT | +@string.Format("{0:##,###.##}", tool.Downtime) | +
Reactor | +Owner | +Issue | +Downtime | +
---|---|---|---|
@tool.Reactor | +@owner | +@tool.MostRecentEvent.COMMENT | +@string.Format("{0:##,###.##}", tool.Downtime) | +
*Rows highlighted in orange have been down for more than 12 hours
++ | Monday | +Tuesday | +Wednesday | +Thursday | +Friday | +Saturday | +Sunday | +WTD | +Daily / Weekly | +
---|---|---|---|---|---|---|---|---|---|
+ @for (int i = 0; i < 7; i++) + { + | @_dailyReport.StartDate.AddDays(i).ToString("MM/dd/yyyy") | + } +Actual | +Target | +||||||
ASMs Uptime | + @for (int i = 0; i < 7; i++) + { + asmTools = _dailyReport.ToolEvents.Where(x => x.Type.Contains("ASM")).ToList(); + + double availablePct = 0; + + if (i < asmTools[0].Uptime.Count) + { + for (int j = 0; j < asmTools.Count; j++) + { + availablePct += asmTools[j].Uptime[i].UptimePercentage; + } + + if (availablePct / asmTools.Count < .82) + _myClass = "table-danger text-danger"; + else + _myClass = ""; + +@string.Format("{0:P2}", availablePct / asmTools.Count) | + + _ASMAvailablePct += availablePct / asmTools.Count; + } + else + { ++ } + } + | @string.Format("{0:P2}", _ASMAvailablePct / _numberOfDaysInWeek) | +82% | +|||||
EPPs Uptime | + @for (int i = 0; i < 7; i++) + { + eppTools = _dailyReport.ToolEvents.Where(x => x.Type.Contains("EPP")).ToList(); + + double availablePct = 0; + + if (i < eppTools[0].Uptime.Count) + { + for (int j = 0; j < eppTools.Count; j++) + { + availablePct += eppTools[j].Uptime[i].UptimePercentage; + } + + if (availablePct / eppTools.Count < .60) + _myClass = "table-danger text-danger"; + else + _myClass = ""; + +@string.Format("{0:P2}", availablePct / eppTools.Count) | + + _EPPAvailablePct += availablePct / eppTools.Count; + } + else + { ++ } + } + | @string.Format("{0:P2}", _EPPAvailablePct / _numberOfDaysInWeek) | +60% | +|||||
HTRs Uptime | + @for (int i = 0; i < 7; i++) + { + htrTools = _dailyReport.ToolEvents.Where(x => x.Type.Contains("HTR")).ToList(); + + double availablePct = 0; + + if (i < htrTools[0].Uptime.Count) + { + for (int j = 0; j < htrTools.Count; j++) + { + availablePct += htrTools[j].Uptime[i].UptimePercentage; + } + + if (availablePct / htrTools.Count < .78) + _myClass = "table-danger text-danger"; + else + _myClass = ""; + +@string.Format("{0:P2}", availablePct / htrTools.Count) | + + _HTRAvailablePct += availablePct / htrTools.Count; + } + else + { ++ } + } + | @string.Format("{0:P2}", _HTRAvailablePct / _numberOfDaysInWeek) | +78% | +|||||
ASMs SLL Tool Count | + @for (int i = 0; i < 7; i++) + { + if (i < _dailyReport.SLLTools.Count()) + { +@_dailyReport.SLLTools[i].ASM | + + _ASMSLL += @_dailyReport.SLLTools[i].ASM; + } + else + { ++ } + } + | @(_ASMSLL / _numberOfDaysInWeek) | +0 | +|||||
HTRs SLL Tool Count | + @for (int i = 0; i < 7; i++) + { + int index = i == 6 ? 0 : i + 1; + + if (i < _dailyReport.SLLTools.Count()) + { +@_dailyReport.SLLTools[i].HTR | + + _HTRSLL += @_dailyReport.SLLTools[i].HTR; + } + else + { ++ } + } + | @(_HTRSLL / _numberOfDaysInWeek) | +0 | +|||||
ASMs <700C (Unload Temps) | + @for (int i = 0; i < 7; i++) + { + if (i < _dailyReport.UnloadTempsByDay.Count()) + { +@_dailyReport.UnloadTempsByDay[i].ASMUnloadsBelow700 | + + _ASMUnloadTemps += @_dailyReport.UnloadTempsByDay[i].ASMUnloadsBelow700; + } + else + { ++ } + } + | @(_ASMUnloadTemps / _numberOfDaysInWeek) | +0 | +|||||
HTRs <700C (Unload Temps) | + @for (int i = 0; i < 7; i++) + { + if (i < _dailyReport.UnloadTempsByDay.Count()) + { +@_dailyReport.UnloadTempsByDay[i].HTRUnloadsBelow700 | + + _HTRUnloadTemps += @_dailyReport.UnloadTempsByDay[i].HTRUnloadsBelow700; + } + else + { ++ } + } + | @(_HTRUnloadTemps / _numberOfDaysInWeek) | +0 | +
Number of Part Changes: @_weeklyPartChanges.TotalPartChanges
+@_weeklyPartChanges.StartDate - @_weeklyPartChanges.EndDate
+Reactor | +PSN | +WO_COUNT | +||
---|---|---|---|---|
@_weeklyPartChanges.ReactorPSNWORuns[i].REACTOR | +@_weeklyPartChanges.ReactorPSNWORuns[i].PSN | +@_weeklyPartChanges.ReactorPSNWORuns[i].WO_COUNT | + } + else + { +@_weeklyPartChanges.ReactorPSNWORuns[i + j].PSN | +@_weeklyPartChanges.ReactorPSNWORuns[i + j].WO_COUNT | + } +
SI Operations | + @for (int i = 0; i < 7; i++) + { +@YieldStatistics.StartDate.AddDays(i).ToString("MM/dd/yyyy") | + } +Weekly Total | +QTD Total | +Comment | +||||||
---|---|---|---|---|---|---|---|---|---|---|
Monday | +Tuesday | +Wednesday | +Thursday | +Friday | +Saturday | +Sunday | +||||
Commited Target to meet Shipment Requirements | +@string.Format("{0:#,###}", YieldStatistics.DailyPlanWafers) | +@string.Format("{0:#,###}", YieldStatistics.DailyPlanWafers) | +@string.Format("{0:#,###}", YieldStatistics.DailyPlanWafers) | +@string.Format("{0:#,###}", YieldStatistics.DailyPlanWafers) | +@string.Format("{0:#,###}", YieldStatistics.DailyPlanWafers) | +@string.Format("{0:#,###}", YieldStatistics.DailyPlanWafers) | +@string.Format("{0:#,###}", YieldStatistics.DailyPlanWafers) | +@string.Format("{0:##,###}", YieldStatistics.DailyPlanWafers * 7) | ++ | Number updated quarterly | +
Actual Reactor Out | + @for (int i = 0; i < 7; i++) + { + + if (i < NumberOfDaysInWeek) + { + int reactorMoves = YieldStatistics.OutsByDay[i].TotalWafers; + +@reactorMoves | + + totalWafersOut += reactorMoves; + } + else + { ++ } + } + | @totalWafersOut | +@string.Format("{0:###,###}", YieldStatistics.QTDOutsAndScrap.Outs) | +Before Scrap | +|||||
+ Actual Yielded Wafers Out + + | + @for (int i = 0; i < 7; i++) + { + if (i < NumberOfDaysInWeek) + { + int yieldedOuts = YieldStatistics.OutsByDay[i].TotalWafers - YieldStatistics.ScrapByDay[i].TOT_REJ_WFRS - + YieldStatistics.ScrapByDay[i].TW_PROD; + +@yieldedOuts | + + totalYieldedWafersOut += yieldedOuts; + } + else + { ++ } + } + | @totalYieldedWafersOut | +@string.Format("{0:###,###}", YieldStatistics.QTDOutsAndScrap.Outs - + YieldStatistics.QTDOutsAndScrap.CustomerScrap - YieldStatistics.QTDOutsAndScrap.ManufacturingScrap - + YieldStatistics.QTDOutsAndScrap.ProductionScrap) | +After Scrap | +|||||
Delta to commit | + @for (int i = 0; i < 7; i++) + { + if (i < NumberOfDaysInWeek) + { + int dayDelta = YieldStatistics.OutsByDay[i].TotalWafers - YieldStatistics.ScrapByDay[i].TOT_REJ_WFRS - 4500; + + if (dayDelta < 0) + myClass = "table-danger text-danger"; + else + myClass = ""; + +@dayDelta | + + deltaToCommit += dayDelta; + } + else + { ++ } + } + | @deltaToCommit | ++ | Difference to commitment | +|||||
Delta to the Plan | + @for (int i = 0; i < 7; i++) + { + if (i < NumberOfDaysInWeek) + { + int dayDelta = YieldStatistics.OutsByDay[i].TotalWafers - YieldStatistics.ScrapByDay[i].TOT_REJ_WFRS - 4500; + + if (dayDelta < 0) + myClass = "table-danger text-danger"; + else + myClass = ""; + +@dayDelta | + + deltaToPlan += dayDelta; + } + else + { ++ } + } + | @deltaToPlan | ++ | Difference to target | +|||||
Wafers Needed to make QTR | +@string.Format("{0:#,###}", YieldStatistics.DailyPlanWafers) | +@string.Format("{0:#,###}", YieldStatistics.DailyPlanWafers) | +@string.Format("{0:#,###}", YieldStatistics.DailyPlanWafers) | +@string.Format("{0:#,###}", YieldStatistics.DailyPlanWafers) | +@string.Format("{0:#,###}", YieldStatistics.DailyPlanWafers) | +@string.Format("{0:#,###}", YieldStatistics.DailyPlanWafers) | +@string.Format("{0:#,###}", YieldStatistics.DailyPlanWafers) | +@string.Format("{0:##,###}", YieldStatistics.DailyPlanWafers * 7) | ++ | Number updated weekly | +
`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-bs-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-bs-original-title] { // 1\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n direction: ltr #{\"/* rtl:ignore */\"};\n unicode-bidi: bidi-override;\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `