private static void StepChange_Curr(this StayHour info, FabStep currStep, DateTime now) { if (currStep != null) { //FromStepOutTime 미설정된 상태로 중간 Step에 진입한 경우(예외처리) if (info.FromStep.IsMainStep && info.FromStepOutTime == DateTime.MinValue) { if (info.IsMatchedStep(currStep)) { DateTime planStartTime = ModelContext.Current.StartTime; info.FromStepOutTime = planStartTime; #region WriteErrorHistory. string key = string.Format("Qtime{0}/{1}", info.Lot.LotID, currStep.StepKey); ErrHist.WriteIf(key, ErrCategory.SIMULATION, ErrLevel.INFO, currStep.FactoryID, currStep.ShopID, info.Lot.LineID, info.Product.ProductID, info.Lot.CurrentProductVersion, info.Lot.CurrentProcessID, Constants.NULL_ID, currStep.StepID, "NOT FOUND FROM_STEP_OUT_TIME", "Qtime:StepChange_Current"); #endregion } } info.CurrStepInTime = now; } }
private static bool IsMatched(this StayHour info, FabStep step, QTimeType qtype) { if (step == null) { return(false); } if (info.QType != qtype) { return(false); } return(info.IsMatchedStep(step)); }