示例#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));
            }
        }
示例#2
0
        public static void WriteStepTarget(Mozart.SeePlan.Pegging.PegPart pegPart, bool isOut)
        {
            try
            {
                MicronBEAssyBEPegPart pp = pegPart as MicronBEAssyBEPegPart;

                foreach (MicronBEAssyBEPegTarget target in pegPart.PegTargetList)
                {
                    MicronBEAssyBEMoPlan   moPlan   = target.Mo as MicronBEAssyBEMoPlan;
                    MicronBEAssyBEMoMaster moMaster = moPlan.MoMaster as MicronBEAssyBEMoMaster;

                    StepTarget info = new StepTarget();

                    info.LINE_ID    = pp.Product.LineID;
                    info.PRODUCT_ID = pp.Product.ProductID;
                    info.PROCESS_ID = pp.CurrentStep.RouteID;
                    info.STEP_ID    = pp.CurrentStep.StepID;

                    if (isOut)
                    {
                        info.OUT_QTY = Convert.ToDecimal(target.Qty);
                    }
                    else
                    {
                        info.IN_QTY = Convert.ToDecimal(target.Qty);
                    }

                    info.TARGET_DATE   = target.DueDate;
                    info.MO_PRODUCT_ID = moPlan.ProductID;
                    info.DESIGN_ID     = pp.Product.DesignID();
                    info.DEMAND_ID     = moPlan.DemandID;
                    info.WEEK_NO       = moPlan.WeekNo;
                    info.SEQUENCE      = (pp.CurrentStep as MicronBEAssyBEStep).Sequence;
                    info.IS_BASE       = UtilityHelper.IsYN(pp.Product.IsBase());

                    OutputMart.Instance.StepTarget.Add(info);
                }
            }
            catch (Exception e)
            {
                WriteHelper.WriteErrorHistory(ErrorLevel.FATAL, string.Format("ErrorMessage : {0}   MethodName : {1}", e.Message, System.Reflection.MethodInfo.GetCurrentMethod().Name));
            }
        }
示例#3
0
        public bool OnAfterLoad_Demand(Demand entity)
        {
            try
            {
                entity.DEMAND_ID    = UtilityHelper.Trim(entity.DEMAND_ID);
                entity.LINE_ID      = UtilityHelper.Trim(entity.LINE_ID);
                entity.PRODUCT_ID   = UtilityHelper.Trim(entity.PRODUCT_ID);
                entity.PRODUCT_NAME = UtilityHelper.Trim(entity.PRODUCT_NAME);
                entity.CUSTOMER     = UtilityHelper.Trim(entity.CUSTOMER);
                entity.WEEK_NO      = UtilityHelper.Trim(entity.WEEK_NO);
                entity.DEMAND_TYPE  = UtilityHelper.Trim(entity.DEMAND_TYPE);
                entity.PRODUCT_TYPE = UtilityHelper.Trim(entity.PRODUCT_TYPE);
                entity.GRADE        = UtilityHelper.Trim(entity.GRADE);

                Product demandProd = FindHelper.FindProduct(entity.LINE_ID, entity.PRODUCT_ID);
                if (demandProd == null)
                {
                    return(false);
                }

                i++;

                MicronBEAssyBEMoMaster moMaster;
                if (InputMart.Instance.MicronBEAssyBEMoMaster.TryGetValue(entity.PRODUCT_ID, out moMaster) == false)
                {
                    moMaster         = new MicronBEAssyBEMoMaster();
                    moMaster.Product = demandProd;
                    InputMart.Instance.MicronBEAssyBEMoMaster.Add(entity.PRODUCT_ID, moMaster);
                }

                MicronBEAssyBEMoPlan moPlan = NewHelper.NewMicronBEAssyMoPlan(moMaster, entity, i);

                moMaster.AddMoPlan(moPlan);

                return(false);
            }
            catch (Exception e)
            {
                WriteHelper.WriteErrorHistory(ErrorLevel.FATAL, string.Format("ErrorMessage : {0}   MethodName : {1}", e.Message, System.Reflection.MethodInfo.GetCurrentMethod().Name));
                return(false);
            }
        }
示例#4
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));
            }
        }
示例#5
0
        internal static MicronBEAssyBEMoPlan NewMicronBEAssyMoPlan(MicronBEAssyBEMoMaster moMaster, Demand entity, int i)
        {
            try
            {
                MicronBEAssyBEMoPlan moPlan = new MicronBEAssyBEMoPlan();

                moPlan.MoMaster = moMaster;
                moPlan.Qty      = (double)entity.QTY;
                moPlan.DueDate  = entity.DUE_DATE;
                moPlan.DemandID = entity.DEMAND_ID;
                moPlan.WeekNo   = entity.WEEK_NO;
                moPlan.Priority = i.ToString();

                return(moPlan);
            }
            catch (Exception e)
            {
                WriteHelper.WriteErrorHistory(ErrorLevel.FATAL, string.Format("ErrorMessage : {0}   MethodName : {1}", e.Message, System.Reflection.MethodInfo.GetCurrentMethod().Name));
                return(null);
            }
        }