/// <summary> /// Construye la estructura y camputa sus estadísticos generales. /// </summary> /// <param name="valores">Lista con los detalles de cada réplica</param> public InfoReporteUtilizacion(List <UnidadBackup> valores) { UnidadBackup unidadBackup = valores[0]; this.valores = valores; this.subflota = unidadBackup.TramoBase.Ac_Owner + " " + unidadBackup.TramoBase.Numero_Vuelo; this.estacion = unidadBackup.Estacion; this.id = unidadBackup.Id; this.tiempo_ini_slot = unidadBackup.TramoBase.Hora_Salida; this.tiempo_fin_slot = unidadBackup.TramoBase.Hora_Llegada; this.duracion_slot = unidadBackup.TiempoFinPrg - unidadBackup.TiempoIniPrg; List <double> valoresUtilizacionNeta = new List <double>(); List <double> valoresTramosRecuperados = new List <double>(); List <double> valoresMinutosRecuperados = new List <double>(); List <double> valoresUtilizacionSlotSinTA = new List <double>(); List <double> valoresUtilizacionSlotConTA = new List <double>(); foreach (UnidadBackup bu in valores) { EstadisticosUtilizacion estadisticos_replica = bu.Estadisticos; valoresUtilizacionNeta.Add(estadisticos_replica.porcentajeUtilizacionNeta); valoresTramosRecuperados.Add(estadisticos_replica.tramosRecuperados); valoresMinutosRecuperados.Add(estadisticos_replica.minutosRecuperados); valoresUtilizacionSlotSinTA.Add(estadisticos_replica.porcentajeUtilizacionSlotSinTA); valoresUtilizacionSlotConTA.Add(estadisticos_replica.porcentajeUtilizacionSlotConTA); } this.estadisticosMinutosRecuperados = new EstadisticosGenerales(valoresMinutosRecuperados); this.estadisticosPorcentajeUtilizacionNeta = new EstadisticosGenerales(valoresUtilizacionNeta); this.estadisticosTramosRecuperados = new EstadisticosGenerales(valoresTramosRecuperados); this.estadisticosUtilizacionSlot = new EstadisticosGenerales(valoresUtilizacionSlotConTA); }
private void CrearReporteDetalles(Dictionary <int, List <UnidadBackup> > detalles_backups) { Workbook.CreateSheet("Detalles Backups"); base.CrearSheetReporteGeneral("Detalles Backups", "Detalles Backups", new string[] { "Réplica", "Id_slot", "Base", "SubFlota", "Utilización_Neta", "Minutos Recuperados", "Tramos Recuperados" }, 0); Sheet sheet = Workbook.GetSheet("Detalles Backups"); int contadorRow = 0; foreach (int replica in detalles_backups.Keys) { foreach (UnidadBackup bu in detalles_backups[replica]) { int col = _primera_columna; Cell cell = sheet.CreateRow(_primera_fila + contadorRow).CreateCell(col); cell.CellStyle = GetEstilo(EstilosTexto.NumeroEntero); cell.SetCellType(CellType.NUMERIC); cell.SetCellValue(replica); col++; cell = sheet.GetRow(_primera_fila + contadorRow).CreateCell(col); cell.CellStyle = GetEstilo(EstilosTexto.Porcentajes); cell.SetCellType(CellType.STRING); cell.SetCellValue(bu.Id); col++; cell = sheet.GetRow(_primera_fila + contadorRow).CreateCell(col); cell.CellStyle = GetEstilo(EstilosTexto.Porcentajes); cell.SetCellType(CellType.STRING); cell.SetCellValue(bu.Estacion); col++; cell = sheet.GetRow(_primera_fila + contadorRow).CreateCell(col); cell.CellStyle = GetEstilo(EstilosTexto.Porcentajes); cell.SetCellType(CellType.STRING); cell.SetCellValue(bu.TramoBase.Ac_Owner + " " + bu.TramoBase.Numero_Vuelo); col++; EstadisticosUtilizacion estadisticos = bu.Estadisticos; cell = sheet.GetRow(_primera_fila + contadorRow).CreateCell(col); cell.CellStyle = GetEstilo(EstilosTexto.Porcentajes); cell.SetCellType(CellType.STRING); cell.SetCellValue(estadisticos.porcentajeUtilizacionNeta); col++; cell = sheet.GetRow(_primera_fila + contadorRow).CreateCell(col); cell.CellStyle = GetEstilo(EstilosTexto.NumeroEntero); cell.SetCellType(CellType.STRING); cell.SetCellValue(estadisticos.minutosRecuperados); col++; cell = sheet.GetRow(_primera_fila + contadorRow).CreateCell(col); cell.CellStyle = GetEstilo(EstilosTexto.NumeroEntero); cell.SetCellType(CellType.NUMERIC); cell.SetCellValue(estadisticos.tramosRecuperados); col++; contadorRow++; } } }