Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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);
        }