private void Initialze() { //今天的实时数据 if (Date.AddHours(32) > DateTime.Now) { WipQuerier = new ReqRpt002WipQuerier(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); } else { //查询历史数据 WipQuerier = new ReqRpt002WipQuerier(Date.AddHours(32).ToString("yyyy-MM-dd HH:mm:ss")); } TdMoveQuerier = new ReqRpt002MoveQuerier(Date.ToString("yyyy-MM-dd")); YstdMoveQuerier = new ReqRpt002MoveQuerier(Date.AddDays(-1).ToString("yyyy-MM-dd")); WaferOutQuerier = new ReqRpt002WaferOutQuerier(Date.ToString("yyyy-MM-dd")); foreach (var dept in ModuleDepartments) { var entity = new ReqRpt002DepartmentTableRowEntity(); SetRowEntity(entity, dept); DeptTableModuleRowEntities.Add(entity); } foreach (var dept in TestDepartment) { var entity = new ReqRpt002DepartmentTableRowEntity(); SetRowEntity(entity, dept); DeptTableTestRowEntities.Add(entity); } foreach (var dept in BankDepartment) { var entity = new ReqRpt002DepartmentTableRowEntity(); SetRowEntity(entity, dept); DeptTableBankRowEntities.Add(entity); } //ModuleTotal ModuleTotal.Department = "Module Total"; SetTotalEntity(ModuleTotal, DeptTableModuleRowEntities); //TestTotal TestTotal.Department = "Test Total"; SetTotalEntity(TestTotal, DeptTableTestRowEntities); //BankTotal DeptTableBankRowEntities[0].Department = "Normal Bank"; BankTotal.Department = "Bank Total"; SetTotalEntity(BankTotal, DeptTableBankRowEntities); //FabTotal FabTotal.Department = "Fab Total"; SetTotalEntity(FabTotal, DeptTableModuleRowEntities.Union(DeptTableTestRowEntities).Union(DeptTableBankRowEntities).ToList()); GetCtData(); SetDevValue(); WaferOutEntities = WaferOutQuerier.WaferOutEntities; WaferOutTotalEntity = WaferOutQuerier.WaferOutTotalEntity; }
private void Initialize() { Products = new ReqRptCommonProductQuerier(6).Prods; string month = Date.ToString("yyyy-MM"); var model = new ReqRpt011TableDataBuilder(month, Products); var lineYieldPostModel = new ReqRpt025PostModel() { FromCategory = "day", ToCategory = "day", FromDate = Date.ToString("yyyy-MM") + "-01", ToDate = Date.AddDays(1).ToString("yyyy-MM-dd") }; var lineYiledDataModel = new ReqRpt025TableViewModel(lineYieldPostModel); foreach (var prod in Products) { var outSource = model.WipEntities.Where(w => w.ProductID == prod); var outEntity = new ReqRpt002WaferOutEntity() { Product = prod }; outEntity.OutSourceAccActual = outSource.Any() ? outSource.First().Plans.Take(Date.Day).Sum(s => s.Actual) : 0; outEntity.OutSourceAccTarget = outSource.Any() ? outSource.First().Plans.Take(Date.Day).Sum(s => s.Target) : 0; var waferOut = model.ShipEntities.Where(w => w.ProductID == prod); outEntity.WFOutAccActual = waferOut.Any() ? waferOut.First().Plans.Take(Date.Day).Sum(s => s.Actual) : 0; outEntity.WFOutAccTarget = waferOut.Any() ? waferOut.First().Plans.Take(Date.Day).Sum(s => s.Target) : 0; var yieldFindList = lineYiledDataModel.TableEntities.Where(w => w.ProductID == prod); outEntity.WFOutYield = yieldFindList.Any() ? yieldFindList.First().Yield : 0; WaferOutEntities.Add(outEntity); } WaferOutTotalEntity.Product = "Total"; WaferOutTotalEntity.OutSourceAccActual = WaferOutEntities.Sum(s => s.OutSourceAccActual); WaferOutTotalEntity.OutSourceAccTarget = WaferOutEntities.Sum(s => s.OutSourceAccTarget); WaferOutTotalEntity.WFOutAccActual = WaferOutEntities.Sum(s => s.WFOutAccActual); WaferOutTotalEntity.WFOutAccTarget = WaferOutEntities.Sum(s => s.WFOutAccTarget); var fab_pass = lineYiledDataModel.TableEntities.Sum(s => s.FAB_PassQty); var fab_scrap = lineYiledDataModel.TableEntities.Sum(s => s.FAB_ScrapQty); var wat_pass = lineYiledDataModel.TableEntities.Sum(s => s.WAT_PassQty); var wat_scrap = lineYiledDataModel.TableEntities.Sum(s => s.WAT_ScrapQty); var fab_yield = fab_pass + fab_scrap == 0 ? 0 : fab_pass * 1.0 / (fab_pass + fab_scrap); var wat_yield = wat_pass + wat_scrap == 0 ? 0 : wat_pass * 1.0 / (wat_pass + wat_scrap); WaferOutTotalEntity.WFOutYield = fab_yield * wat_yield; }