Example #1
0
        /// <summary>
        /// </summary>
        /// <param name="db"/>
        /// <param name="aeqp"/>
        /// <param name="wips"/>
        /// <param name="handled"/>
        /// <param name="prevReturnValue"/>
        /// <returns/>
        public IHandlingBatch[] SELECT0(Mozart.SeePlan.Simulation.DispatcherBase db, Mozart.SeePlan.Simulation.AoEquipment aeqp, IList <Mozart.SeePlan.Simulation.IHandlingBatch> wips, ref bool handled, Mozart.SeePlan.Simulation.IHandlingBatch[] prevReturnValue)
        {
            var eqp = aeqp.ToFabAoEquipment();

            if (wips == null || wips.Count == 0)
            {
                return(null);
            }

            var lot = wips[0].ToFabLot();

            //if (eqp.EqpID == "THCVD300" && eqp.NowDT >= LcdHelper.StringToDateTime("20191107 075929"))
            //	Console.WriteLine("B");

            if (lot.IsDummy)
            {
                eqp.IsDummyWait = true;
                return(null);
            }

            if (eqp.IsParallelChamber)
            {
                if (ChamberMaster.IsLoadable_ParallelChamber(eqp, lot) == false)
                {
                    return(null);
                }
            }

            eqp.IsDummyWait = false;

            return(new IHandlingBatch[] { lot });
        }