Пример #1
0
        private ReqRpt028ChartModel GetChartModelByProd(string prod, IEnumerable <Report28_Lot> lots)
        {
            var model = new ReqRpt028ChartModel()
            {
                Product = prod
            };

            foreach (var flow in flowList.Where(w => w.ProdSpec_ID == prod).OrderByDescending(o => o.Ope_No))
            {
                var entity = new ReqRpt028ChartEntity()
                {
                    Stage    = flow.ModulePD_Name,
                    Step     = flow.PD_ID,
                    OpeNo    = flow.Ope_No,
                    RemainCT = flow.PD_Std_Cycle_Time_Min + (model.ChartEntities.Any() ? model.ChartEntities.Last().RemainCT : 0)
                };
                var lot_flow = lots.Where(w => w.MainPD_ID == flow.MainPD_ID && w.Ope_No == flow.Ope_No);
                foreach (var lot in lot_flow)
                {
                    entity.LotEntities.Add(new ReqRpt028LotEntity {
                        LotID = lot.Lot_ID, HoldState = lot.Lot_Hold_State, Priority = lot.Priority_Class, Qty = lot.Qty, InBank = lot.Lot_Inv_State == "NonProBank"
                    });
                }
                entity.Wip = entity.GetCurWip();
                model.ChartEntities.Add(entity);
            }
            model.ChartEntities.Reverse();
            model.ChartEntities.ForEach(el => el.RemainCT = FixRemianCT(el.RemainCT / (24 * 60)));
            return(model);
        }
Пример #2
0
        private ReqRpt028ChartModel GetOtherModelByOtherModels(List <ReqRpt028ChartModel> models)
        {
            var model = new ReqRpt028ChartModel()
            {
                Product = "Others"
            };

            foreach (var m in models)
            {
                model.ChartEntities.InsertRange(0, m.ChartEntities);
            }
            model.ChartEntities.OrderByDescending(o => o.RemainCT).ThenBy(t => t.OpeNo);
            return(model);
        }