Beispiel #1
0
        internal static List <FabSubEqp> GetLoadableSubEqpsByTriggerSubEqp(this FabSubEqp triggerSubEqp, FabLot lot)
        {
            List <FabSubEqp> loadableList = new List <FabSubEqp>();

            //group별 운영
            var group = triggerSubEqp.SubEqpGroup;

            if (group != null && group.SubEqps != null)
            {
                var list = group.SubEqps.Values.ToList();
                foreach (var subEqp in list)
                {
                    if (loadableList.Contains(subEqp))
                    {
                        continue;
                    }

                    //check eqpArrange (subEqp)
                    if (EqpArrangeMaster.IsLoadable_ParallelChamber(subEqp, lot) == false)
                    {
                        continue;
                    }

                    loadableList.Add(subEqp);
                }
            }

            return(loadableList);
        }
Beispiel #2
0
        private static List <FabSubEqp> GetLoadableList(this TriggerSubEqpInfo info, FabLot lot, DateTime now)
        {
            List <FabSubEqp> loadableList = new List <FabSubEqp>();

            if (info == null)
            {
                return(loadableList);
            }

            var triggerSubEqp = info.TriggerSubEqp;

            if (triggerSubEqp == null)
            {
                return(loadableList);
            }

            loadableList.Add(triggerSubEqp);

            //개별 운영
            //var list = info.AvailableList;
            //if (list == null || list.Count == 0)
            //	return loadableList;

            //foreach (var subEqp in list)
            //{
            //	if (loadableList.Contains(subEqp))
            //		continue;

            //	if (subEqp.GroupID != triggerSubEqp.GroupID)
            //		continue;

            //	//check eqpArrange (subEqp)
            //	if (EqpArrangeMaster.IsLoadable_ParallelChamber(subEqp, lot) == false)
            //		continue;

            //	//check state
            //	if (subEqp.IsLoadable(lot.CurrentFabStep, now) == false)
            //		continue;

            //	loadableList.Add(subEqp);
            //}

            //group별 운영
            var group = triggerSubEqp.SubEqpGroup;

            if (group != null && group.SubEqps != null)
            {
                var list = group.SubEqps.Values.ToList();
                foreach (var subEqp in list)
                {
                    if (loadableList.Contains(subEqp))
                    {
                        continue;
                    }

                    //check eqpArrange (subEqp)
                    if (EqpArrangeMaster.IsLoadable_ParallelChamber(subEqp, lot) == false)
                    {
                        continue;
                    }

                    loadableList.Add(subEqp);
                }
            }

            return(loadableList);
        }