private static void SetWipStayHours(this QTimeInfo info, string lotID, DateTime planStartTime) { if (info.HasQTime() == false) { return; } foreach (var it in info.List) { string fromStepID = it.FromStep.StepID; var finds = InputMart.Instance.WipStayHoursDict.FindRows(lotID, fromStepID); if (finds == null) { continue; } var find = finds.FirstOrDefault(); if (find == null) { continue; } DateTime fromStepOutTime = LcdHelper.Min(find.FROM_STEP_OUT_TIME, planStartTime); if (fromStepOutTime == DateTime.MinValue) { continue; } it.FromStepOutTime = fromStepOutTime; } }
private static void SetMatchedList(this QTimeInfo info, FabStep step) { if (step == null) { return; } if (info.HasQTime() == false) { return; } info.MinList = info.List.FindAll(t => t.IsMatched(step, QTimeType.MIN)); info.MaxList = info.List.FindAll(t => t.IsMatched(step, QTimeType.MAX)); }
private static void StepChange(this QTimeInfo info, FabStep prevStep, FabStep currStep, DateTime now) { var lot = info.Lot; if (lot == null) { return; } if (info.HasQTime() == false) { return; } info.StepChange_Prev(prevStep, now); info.SetMatchedList(currStep); info.StepChange_Curr(currStep, now); }