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); }
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); }