private void SetRowEntity(ReqRpt002DepartmentTableRowEntity entity, string dept) { entity.Department = dept; var wips = WipQuerier.WipEntities.Where(w => w.Department == dept); var moves = YstdMoveQuerier.MoveEntities.Where(w => w.Department == dept); var td_moves = TdMoveQuerier.MoveEntities.Where(w => w.Department == dept); if (wips.Count() > 0) { entity.WipLot = wips.First().Lots; entity.WipWafer = wips.First().Wafers; entity.HoldLot = wips.First().HoldLots; entity.HoldWafer = wips.First().HoldWafers; entity.HoldLotOverTime = wips.First().HoldLotOverTime; } if (moves.Count() > 0) { entity.YstdMoveTarget = moves.First().MoveTarget; entity.YstdMoveActual = moves.First().MoveValue; entity.YstdMovePercentage = entity.YstdMoveTarget == 0?"": Math.Round(moves.First().Percentage * 100, 2).ToString() + "%"; entity.YstdMoveTurnRate = moves.First().TurnRate == -1?"": Math.Round(moves.First().TurnRate * 100, 2).ToString() + "%"; entity.YstdAvaWip = moves.First().AvaWip; } if (td_moves.Count() > 0) { entity.TdMoveTarget = td_moves.First().MoveTarget; entity.TdMoveActual = td_moves.First().MoveValue; entity.TdMovePercentage = entity.TdMoveTarget == 0 ? "" : Math.Round(td_moves.First().Percentage * 100, 2).ToString() + "%"; } }
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 SetTotalEntity(ReqRpt002DepartmentTableRowEntity entity, List <ReqRpt002DepartmentTableRowEntity> tableRowEntities) { entity.WipLot = tableRowEntities.Sum(s => s.WipLot); entity.WipWafer = tableRowEntities.Sum(s => s.WipWafer); entity.HoldLot = tableRowEntities.Sum(s => s.HoldLot); entity.HoldWafer = tableRowEntities.Sum(s => s.HoldWafer); entity.HoldLotOverTime = tableRowEntities.Sum(s => s.HoldLotOverTime); entity.TdMoveActual = tableRowEntities.Sum(s => s.TdMoveActual); entity.TdMoveTarget = tableRowEntities.Sum(s => s.TdMoveTarget); var target = entity.TdMoveTarget * (DateTime.Now - DtNow.Date.AddHours(8)).TotalHours / 24; entity.TdMovePercentage = target == 0 ? "" : Math.Round(entity.TdMoveActual * 100.0 / target, 2).ToString() + "%"; }
private void SetTotalEntity(ReqRpt002DepartmentTableRowEntity entity, List <ReqRpt002DepartmentTableRowEntity> tableRowEntities) { entity.WipLot = tableRowEntities.Sum(s => s.WipLot); entity.WipWafer = tableRowEntities.Sum(s => s.WipWafer); entity.HoldLot = tableRowEntities.Sum(s => s.HoldLot); entity.HoldWafer = tableRowEntities.Sum(s => s.HoldWafer); entity.HoldLotOverTime = tableRowEntities.Sum(s => s.HoldLotOverTime); entity.YstdMoveTarget = tableRowEntities.Sum(s => s.YstdMoveTarget); entity.YstdMoveActual = tableRowEntities.Sum(s => s.YstdMoveActual); entity.YstdMovePercentage = entity.YstdMoveTarget == 0 ? "" : Math.Round(entity.YstdMoveActual * 100.0 / entity.YstdMoveTarget, 2).ToString() + "%"; var module_avaWip = tableRowEntities.Sum(s => s.YstdAvaWip); entity.YstdMoveTurnRate = module_avaWip == 0 ? "" : Math.Round(tableRowEntities.Sum(s => s.YstdMoveActual) * 100.0 / module_avaWip, 2).ToString() + "%"; entity.TdMoveActual = tableRowEntities.Sum(s => s.TdMoveActual); entity.TdMoveTarget = tableRowEntities.Sum(s => s.TdMoveTarget); entity.TdMovePercentage = entity.TdMoveTarget == 0 ? "" : Math.Round(entity.TdMoveActual * 100.0 / entity.TdMoveTarget, 2).ToString() + "%"; }
void Initialze() { WipQuerier = new ReqRpt002WipQuerier(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); TdMoveQuerier = new ReqRpt002MoveQuerier(DtNow.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(); }