Example #1
0
        public static void WriteActPeg(Mozart.SeePlan.Pegging.PegTarget target, Mozart.SeePlan.Pegging.IMaterial m, double qty)
        {
            try
            {
                MicronBEAssyPlanWip    wip = m as MicronBEAssyPlanWip;
                MicronBEAssyBEPegPart  pp  = target.PegPart as MicronBEAssyBEPegPart;
                MicronBEAssyBEMoMaster mo  = pp.MoMaster as MicronBEAssyBEMoMaster;

                PegHistory info = new PegHistory();

                info.LOT_ID        = LotType.ACT.ToString();
                info.LINE_ID       = wip.GetWipInfo().LineID;
                info.PRODUCT_ID    = wip.GetWipInfo().WipProductID;
                info.MAIN_QTY      = Convert.ToDecimal(wip.GetWipInfo().UnitQty);
                info.PEG_QTY       = Convert.ToDecimal(qty);
                info.STEP_ID       = StringUtility.IdentityNull;
                info.MO_PRODUCT_ID = mo.Product.ProductID;
                info.LOT_STATE     = StringUtility.IdentityNull;

                OutputMart.Instance.PegHistory.Add(info);
            }
            catch (Exception e)
            {
                WriteHelper.WriteErrorHistory(ErrorLevel.FATAL, string.Format("ErrorMessage : {0}   MethodName : {1}", e.Message, System.Reflection.MethodInfo.GetCurrentMethod().Name));
            }
        }
Example #2
0
            public override int ComparePegTarget(Mozart.SeePlan.Pegging.PegTarget x, Mozart.SeePlan.Pegging.PegTarget y)
            {
                bool handled     = false;
                int  returnValue = 0;

                returnValue = this.fpPeggerModelControl.COMPARE_PEG_TARGET(x, y, ref handled, returnValue);
                return(returnValue);
            }
Example #3
0
            public override Mozart.SeePlan.DataModel.StepTarget CreateStepTarget(Mozart.SeePlan.Pegging.PegTarget pegTarget, object stepPlanKey, Mozart.SeePlan.DataModel.Step step, bool isRun)
            {
                bool handled = false;

                Mozart.SeePlan.DataModel.StepTarget returnValue = null;
                returnValue = this.fpWRITE_TARGET.CREATE_STEP_TARGET0(pegTarget, stepPlanKey, step, isRun, ref handled, returnValue);
                return(returnValue);
            }
Example #4
0
        /// <summary>
        /// </summary>
        /// <param name="pegTarget"/>
        /// <param name="stepPlanKey"/>
        /// <param name="step"/>
        /// <param name="isRun"/>
        /// <param name="handled"/>
        /// <param name="prevReturnValue"/>
        /// <returns/>
        public Mozart.SeePlan.DataModel.StepTarget CREATE_STEP_TARGET0(Mozart.SeePlan.Pegging.PegTarget pegTarget, object stepPlanKey, Mozart.SeePlan.DataModel.Step step, bool isRun, ref bool handled, Mozart.SeePlan.DataModel.StepTarget prevReturnValue)
        {
            var pt = pegTarget as FabPegTarget;
            var st = new FabStepTarget(stepPlanKey, step, pt.Qty, pt.DueDate, isRun);

            st.Mo = pegTarget.MoPlan as FabMoPlan;

            return(st);
        }
Example #5
0
        /// <summary>
        /// </summary>
        /// <param name="target"/>
        /// <param name="m"/>
        /// <param name="isRun"/>
        /// <param name="handled"/>
        /// <param name="prevReturnValue"/>
        /// <returns/>
        public bool CAN_PEG_MORE0(Mozart.SeePlan.Pegging.PegTarget target, Mozart.SeePlan.Pegging.IMaterial m, bool isRun, ref bool handled, bool prevReturnValue)
        {
            FabPlanWip   wip = m.ToFabPlanWip();
            FabPegTarget pt  = target.ToFabPegTarget();

            if (wip.IsHold == false)
            {
                return(true);
            }

            // Hold Peg 방지 옵션
            //if (pt.CalcDate < wip.AvailableTime)
            //    return false;

            return(true);
        }
Example #6
0
        /// <summary>
        /// </summary>
        /// <param name="pegTarget"/>
        /// <param name="stage"/>
        /// <param name="isRun"/>
        /// <param name="handled"/>
        /// <param name="prevReturnValue"/>
        /// <returns/>
        public TimeSpan GET_TARGET_TAT0(Mozart.SeePlan.Pegging.PegTarget pegTarget, Mozart.SeePlan.Pegging.PegStage stage, bool isRun, ref bool handled, TimeSpan prevReturnValue)
        {
            FabPegTarget target = pegTarget as FabPegTarget;
            FabStep      step   = pegTarget.PegPart.CurrentStep as FabStep;

            float waitTat = (float)SiteConfigHelper.GetDefaultWaitTAT().TotalMinutes;
            float runTat  = (float)SiteConfigHelper.GetDefaultRunTAT().TotalMinutes;

            StepTat tat = step.GetTat(target.ProductID, target.IsMainLint);

            if (tat != null)
            {
                waitTat = tat.WaitTat;
                runTat  = tat.RunTat;
            }

            float time = isRun ? runTat : waitTat;

            return(TimeSpan.FromMinutes(time));
        }
Example #7
0
        public static void WritePeg(Mozart.SeePlan.Pegging.IMaterial m, Mozart.SeePlan.Pegging.PegTarget target, double qty)
        {
            try
            {
                MicronBEAssyPlanWip    wip    = m as MicronBEAssyPlanWip;
                MicronBEAssyBEPegPart  pp     = target.PegPart as MicronBEAssyBEPegPart;
                MicronBEAssyBEMoMaster mo     = pp.MoMaster as MicronBEAssyBEMoMaster;
                MicronBEAssyBEMoPlan   moPlan = target.MoPlan as MicronBEAssyBEMoPlan;

                PegHistory info = new PegHistory();

                info.LOT_ID        = wip.LotID;
                info.PRODUCT_ID    = wip.Product.ProductID;
                info.STEP_ID       = string.IsNullOrEmpty(wip.MapStep.StepID) ? StringUtility.IdentityNull : wip.MapStep.StepID;
                info.MAIN_QTY      = Convert.ToDecimal(wip.Wip.UnitQty);
                info.PEG_QTY       = Convert.ToDecimal(qty);
                info.LOT_STATE     = wip.Wip.CurrentState.ToString();
                info.LINE_ID       = wip.Product.LineID;
                info.MO_PRODUCT_ID = mo.Product.ProductID;
                info.DESIGN_ID     = wip.Product.DesignID();
                info.DEMAND_ID     = moPlan.DemandID;
                info.WEEK_NO       = moPlan.WeekNo;
                info.IS_BASE       = UtilityHelper.IsYN(pp.Product.IsBase());

                if (pp.Product is AssyMcpPart)
                {
                    info.COMP_SEQ = (pp.Product as AssyMcpPart).CompSeq;
                }
                else
                {
                    info.COMP_SEQ = 1;
                }


                OutputMart.Instance.PegHistory.Add(info);
            }
            catch (Exception e)
            {
                WriteHelper.WriteErrorHistory(ErrorLevel.FATAL, string.Format("ErrorMessage : {0}   MethodName : {1}", e.Message, System.Reflection.MethodInfo.GetCurrentMethod().Name));
            }
        }
Example #8
0
            public override void WritePeg(Mozart.SeePlan.Pegging.PegTarget target, Mozart.SeePlan.Pegging.IMaterial m, double qty)
            {
                bool handled = false;

                this.fpPEG_WIP.WRITE_PEG0(target, m, qty, ref handled);
            }
Example #9
0
 /// <summary>
 /// </summary>
 /// <param name="pegTarget"/>
 /// <param name="oldDueDate"/>
 /// <param name="newDueDate"/>
 /// <param name="tat"/>
 /// <param name="isRun"/>
 /// <param name="handled"/>
 public void UPDATE_TAT_INFO0(Mozart.SeePlan.Pegging.PegTarget pegTarget, DateTime oldDueDate, DateTime newDueDate, TimeSpan tat, bool isRun, ref bool handled)
 {
 }
Example #10
0
            public override void UpdatePegInfo(Mozart.SeePlan.Pegging.PegTarget target, Mozart.SeePlan.Pegging.IMaterial m, double qty)
            {
                bool handled = false;

                this.fPEG_WIP.UPDATE_PEG_INFO0(target, m, qty, ref handled);
            }
Example #11
0
 /// <summary>
 /// </summary>
 /// <param name="target"/>
 /// <param name="m"/>
 /// <param name="qty"/>
 /// <param name="handled"/>
 public void WRITE_PEG0(Mozart.SeePlan.Pegging.PegTarget target, Mozart.SeePlan.Pegging.IMaterial m, double qty, ref bool handled)
 {
     PegHelper.WritePeg(target, m, qty);
 }
Example #12
0
 /// <summary>
 /// </summary>
 /// <param name="target"/>
 /// <param name="m"/>
 /// <param name="isRun"/>
 /// <param name="handled"/>
 /// <param name="prevReturnValue"/>
 /// <returns/>
 public double AVAIL_PEG_QTY0(Mozart.SeePlan.Pegging.PegTarget target, Mozart.SeePlan.Pegging.IMaterial m, bool isRun, ref bool handled, double prevReturnValue)
 {
     return(m.Qty);
 }