예제 #1
0
        /// <summary>
        /// </summary>
        /// <param name="pegPart"/>
        /// <param name="handled"/>
        /// <param name="prevReturnValue"/>
        /// <returns/>
        public PegPart PREPARE_TARGET0(PegPart pegPart, ref bool handled, PegPart prevReturnValue)
        {
            //초기화
            PegMaster.InitPegMaster();

            //최초 MergedPegPart 생성.
            MergedPegPart mpp = pegPart as MergedPegPart;

            switch (pegPart.CurrentStage.StageID)
            {
            case ("InitStage"):
                PrePareTarget_Fab(mpp);
                break;

            case ("CellPreStage"):
                PrePareTarget_Cell(mpp);
                break;

            default:
                break;
            }


            return(mpp);
        }
예제 #2
0
파일: Rules.cs 프로젝트: yichunbong/CSOT
        public PegPart CELL_BANK_PREPARE(PegPart pegPart)
        {
            MergedPegPart mg = pegPart as MergedPegPart;

            //PREPARE_TARGET
            PegMaster.PrePareTargetbyCell_InTarget(mg);

            //PREPARE_WIP
            PegMaster.PrePareBankWip();

            return(pegPart);
        }
예제 #3
0
파일: PEG_WIP.cs 프로젝트: yichunbong/CSOT
        /// <summary>
        /// </summary>
        /// <param name="pegPart"/>
        /// <param name="isRun"/>
        /// <param name="handled"/>
        /// <param name="prevReturnValue"/>
        /// <returns/>
        public IList <Mozart.SeePlan.Pegging.IMaterial> GET_WIPS0(Mozart.SeePlan.Pegging.PegPart pegPart, bool isRun, ref bool handled, IList <IMaterial> prevReturnValue)
        {
            if (pegPart.CurrentStage.State == "CellBankStage")
            {
                return(PegMaster.GetBankWip(pegPart));
            }

            var pp   = pegPart as FabPegPart;
            var prod = pp.Product;
            var step = pegPart.CurrentStage.Tag as FabStep;

            var rows = InputMart.Instance.FabPlanWipView.FindRows(step);

            List <IMaterial> result = new List <IMaterial>();

            foreach (FabPlanWip planWip in rows)
            {
                if (planWip.Qty == 0)
                {
                    continue;
                }

                if (isRun != planWip.IsRunWip)
                {
                    continue;
                }

                if (planWip.ProductID != prod.ProductID)
                {
                    if (planWip.Product.IsTestProduct == false)
                    {
                        continue;
                    }

                    if (planWip.Product.MainProductID != prod.ProductID)
                    {
                        continue;
                    }
                }

                planWip.MapCount++;

                result.Add(planWip);
            }

            return(result);
        }