コード例 #1
0
ファイル: WriteHelper.cs プロジェクト: BruceWooWxl/wxl
        internal static void WriteStepTarget(Mozart.SeePlan.Pegging.PegPart pegPart, bool isOut)
        {
            MicronBETestBEPegPart pp = pegPart as MicronBETestBEPegPart;

            foreach (MicronBETestBEPegTarget target in pegPart.PegTargetList)
            {
                MicronBETestBEMoPlan   moPlan   = target.Mo as MicronBETestBEMoPlan;
                MicronBETestBEMoMaster moMaster = moPlan.MoMaster as MicronBETestBEMoMaster;

                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;

                OutputMart.Instance.StepTarget.Add(info);
            }
        }
コード例 #2
0
        private List <ResultItem> GetResultItemList(DateTime startTime, DateTime endTime, Dictionary <IComparable, EqpPlan> eqpPlanMappings, Dictionary <IComparable, StepTarget> stepTargetMappings)
        {
            var result = this._expDataContext.Result(this._result.Name);
            var list   = new List <ResultItem>();

            var keys = eqpPlanMappings.Keys.Union(stepTargetMappings.Keys).Distinct();

            foreach (var key in keys)
            {
                Tuple <string, string, string, string, DateTime> tuple = key as Tuple <string, string, string, string, DateTime>;

                ResultItem item = new ResultItem();

                StepTarget stepTarget = null;
                EqpPlan    eqpPlan    = null;
                DateTime   date       = tuple.Item5;
                if (stepTargetMappings.TryGetValue(tuple, out stepTarget))
                {
                    item.TargetQty = Convert.ToDouble(stepTarget.OUT_QTY);
                }
                if (eqpPlanMappings.TryGetValue(tuple, out eqpPlan))
                {
                    item.PlanQty = Convert.ToDouble(eqpPlan.QTY);
                }

                var prodMaster = this.FindProductMaster(tuple.Item1, tuple.Item2);
                var procStep   = this.FindProcessStep(tuple.Item1, tuple.Item3, tuple.Item4);

                item.LineID        = prodMaster.LINE_ID;
                item.DesignID      = prodMaster.DESIGN_ID;
                item.ProductID     = prodMaster.PRODUCT_ID;
                item.ProcessID     = prodMaster.PROCESS_ID;
                item.StepID        = procStep.STEP_ID;
                item.Sequence      = procStep.SEQUENCE;
                item.Date          = date.DbToString().Substring(0, 11);
                item.MaterialGroup = prodMaster.MATERIAL_GROUP;
                item.PkgFamily     = prodMaster.PKG_FAMILY;
                item.PkgType       = prodMaster.PKG_TYPE;

                list.Add(item);
            }

            return(list);
        }
コード例 #3
0
ファイル: WriteHelper.cs プロジェクト: parkheenam/test
        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));
            }
        }
コード例 #4
0
        private Dictionary <IComparable, StepTarget> GetStepTargetMappings(DateTime startTime, DateTime endTime, string timeUnit)
        {
            var result      = this._expDataContext.Result(this._result.Name);
            var stepTargets = result.StepTarget;

            Dictionary <IComparable, StepTarget> stepTargetMappings = new Dictionary <IComparable, StepTarget>();

            foreach (var item in stepTargets)
            {
                if (startTime > item.TARGET_DATE)
                {
                    continue;
                }

                if (endTime < item.TARGET_DATE)
                {
                    continue;
                }

                if (this._selectedLineIDSet.Contains(item.LINE_ID) == false)
                {
                    continue;
                }

                if (this._selectedDesignIDSet.Contains(item.DESIGN_ID) == false)
                {
                    continue;
                }

                if (this._selectedProdIDSet.Contains(item.PRODUCT_ID) == false)
                {
                    continue;
                }

                StepTarget target = null;
                DateTime   date   = DateTime.MinValue;
                if (timeUnit == Constants.DAY)
                {
                    date = item.TARGET_DATE.StartTimeOfDayT();
                }
                if (timeUnit == Constants.SHIFT)
                {
                    date = item.TARGET_DATE.ShiftStartTimeOfDayT();
                }
                if (timeUnit == Constants.HOUR)
                {
                    date = new DateTime(item.TARGET_DATE.Year, item.TARGET_DATE.Month, item.TARGET_DATE.Day, item.TARGET_DATE.Hour, 00, 00);
                }

                var key = Tuple.Create(item.LINE_ID, item.PRODUCT_ID, item.PROCESS_ID, item.STEP_ID, date);
                if (stepTargetMappings.TryGetValue(key, out target))
                {
                    target.OUT_QTY += item.OUT_QTY;
                }
                else
                {
                    stepTargetMappings[key] = item;
                }
            }

            for (DateTime dateTime = startTime.StartTimeOfDayT(); dateTime <= endTime;)
            {
                foreach (var item in stepTargets)
                {
                    if (startTime > item.TARGET_DATE)
                    {
                        continue;
                    }

                    if (endTime < item.TARGET_DATE)
                    {
                        continue;
                    }

                    if (this._selectedLineIDSet.Contains(item.LINE_ID) == false)
                    {
                        continue;
                    }

                    if (this._selectedDesignIDSet.Contains(item.DESIGN_ID) == false)
                    {
                        continue;
                    }

                    if (this._selectedProdIDSet.Contains(item.PRODUCT_ID) == false)
                    {
                        continue;
                    }

                    var        key  = Tuple.Create(item.LINE_ID, item.PRODUCT_ID, item.PROCESS_ID, item.STEP_ID, dateTime);
                    StepTarget find = null;
                    if (stepTargetMappings.TryGetValue(key, out find) == false)
                    {
                        StepTarget dummyTarget = new StepTarget();
                        dummyTarget.LINE_ID     = item.LINE_ID;
                        dummyTarget.PRODUCT_ID  = item.PRODUCT_ID;
                        dummyTarget.PROCESS_ID  = item.PROCESS_ID;
                        dummyTarget.STEP_ID     = item.STEP_ID;
                        dummyTarget.OUT_QTY     = 0;
                        stepTargetMappings[key] = dummyTarget;
                    }
                }

                if (timeUnit == Constants.DAY)
                {
                    dateTime = dateTime.AddDays(1);
                }
                if (timeUnit == Constants.SHIFT)
                {
                    dateTime = dateTime.AddHours(8);
                }
                if (timeUnit == Constants.HOUR)
                {
                    dateTime = dateTime.AddHours(1);
                }
            }

            return(stepTargetMappings);
        }