Finalización de Reportes y arreglos varios de controles y comportamientos...
This commit is contained in:
@@ -63,5 +63,11 @@ namespace GestionIntegral.Api.Services.Reportes
|
||||
)> ObtenerReporteCuentasDistribuidorAsync(int idDistribuidor, int idEmpresa, DateTime fechaDesde, DateTime fechaHasta);
|
||||
|
||||
Task<(IEnumerable<ListadoDistribucionDistSimpleDto> Simple, IEnumerable<ListadoDistribucionDistPromedioDiaDto> Promedios, string? Error)> ObtenerListadoDistribucionDistribuidoresAsync(int idDistribuidor, int idPublicacion, DateTime fechaDesde, DateTime fechaHasta);
|
||||
|
||||
Task<(
|
||||
IEnumerable<LiquidacionCanillaDetalleDto> Detalles,
|
||||
IEnumerable<LiquidacionCanillaGananciaDto> Ganancias,
|
||||
string? Error
|
||||
)> ObtenerDatosTicketLiquidacionAsync(DateTime fecha, int idCanilla);
|
||||
}
|
||||
}
|
||||
@@ -449,5 +449,46 @@ namespace GestionIntegral.Api.Services.Reportes
|
||||
return (Enumerable.Empty<ListadoDistribucionDistSimpleDto>(), Enumerable.Empty<ListadoDistribucionDistPromedioDiaDto>(), "Error interno al generar el reporte.");
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<(
|
||||
IEnumerable<LiquidacionCanillaDetalleDto> Detalles,
|
||||
IEnumerable<LiquidacionCanillaGananciaDto> Ganancias,
|
||||
string? Error
|
||||
)> ObtenerDatosTicketLiquidacionAsync(DateTime fecha, int idCanilla)
|
||||
{
|
||||
try
|
||||
{
|
||||
var detallesTask = _reportesRepository.GetLiquidacionCanillaDetalleAsync(fecha, idCanilla);
|
||||
var gananciasTask = _reportesRepository.GetLiquidacionCanillaGananciasAsync(fecha, idCanilla);
|
||||
|
||||
await Task.WhenAll(detallesTask, gananciasTask);
|
||||
|
||||
var detalles = await detallesTask;
|
||||
var ganancias = await gananciasTask;
|
||||
|
||||
if ((detalles == null || !detalles.Any()) && (ganancias == null || !ganancias.Any()))
|
||||
{
|
||||
// Podrías optar por no devolver error aquí si es válido que uno de los dos esté vacío
|
||||
// y manejarlo en el controlador o el RDLC.
|
||||
}
|
||||
|
||||
// Convertir fechas a UTC si es necesario para el RDLC (aunque estos DTOs no tienen fechas)
|
||||
|
||||
return (
|
||||
detalles ?? Enumerable.Empty<LiquidacionCanillaDetalleDto>(),
|
||||
ganancias ?? Enumerable.Empty<LiquidacionCanillaGananciaDto>(),
|
||||
null
|
||||
);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Error en ReportesService al obtener datos para Ticket Liquidación Canilla. Fecha: {Fecha}, Canilla: {IdCanilla}", fecha, idCanilla);
|
||||
return (
|
||||
Enumerable.Empty<LiquidacionCanillaDetalleDto>(),
|
||||
Enumerable.Empty<LiquidacionCanillaGananciaDto>(),
|
||||
"Error interno al obtener los datos para el ticket de liquidación."
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user