Finalización de Endpoints para la gestión de Reportes. Se continúa con el Frontend.

This commit is contained in:
2025-05-28 16:01:59 -03:00
parent cdd4d3e0f7
commit 2273ebb1e0
17 changed files with 581 additions and 62 deletions

View File

@@ -1,4 +1,3 @@
// src/Data/Repositories/Reportes/IReportesRepository.cs
using GestionIntegral.Api.Dtos.Reportes;
using System;
using System.Collections.Generic;
@@ -29,6 +28,7 @@ namespace GestionIntegral.Api.Data.Repositories.Reportes
Task<IEnumerable<DetalleDistribucionCanillaDto>> GetDetalleDistribucionCanillasAccPubliFechaLiqAsync(DateTime fechaLiquidacion, int idEmpresa);
Task<IEnumerable<ObtenerCtrlDevolucionesDto>> GetReporteObtenerCtrlDevolucionesAsync(DateTime fecha, int idEmpresa);
Task<IEnumerable<ControlDevolucionesReporteDto>> GetReporteCtrlDevolucionesParaDistCanAsync(DateTime fecha, int idEmpresa);
Task<IEnumerable<DevueltosOtrosDiasDto>> GetEntradaSalidaOtrosDiasAsync(DateTime fecha, int idEmpresa);
Task<IEnumerable<TiradasPublicacionesSeccionesDto>> GetTiradasPublicacionesSeccionesAsync(int idPublicacion, DateTime fechaDesde, DateTime fechaHasta, int idPlanta);
Task<IEnumerable<TiradasPublicacionesSeccionesDto>> GetTiradasPublicacionesSeccionesConsolidadoAsync(int idPublicacion, DateTime fechaDesde, DateTime fechaHasta);
Task<IEnumerable<ConsumoBobinasSeccionDto>> GetConsumoBobinasPorSeccionAsync(DateTime fechaDesde, DateTime fechaHasta, int idPlanta);

View File

@@ -1,4 +1,3 @@
// src/Data/Repositories/Reportes/ReportesRepository.cs
using Dapper;
using GestionIntegral.Api.Dtos.Reportes;
using Microsoft.Extensions.Logging;
@@ -25,7 +24,7 @@ namespace GestionIntegral.Api.Data.Repositories.Reportes
{
string spName = consolidado ? "dbo.SP_ConsumoBobinasConsolidado" : "dbo.SP_ConsumoBobinas";
var parameters = new DynamicParameters();
parameters.Add("FechaDesde", fechaDesde, DbType.Date);
parameters.Add("FechaHasta", fechaHasta, DbType.Date);
@@ -77,6 +76,17 @@ namespace GestionIntegral.Api.Data.Repositories.Reportes
return Enumerable.Empty<MovimientoBobinasDto>();
}
}
public async Task<IEnumerable<DevueltosOtrosDiasDto>> GetEntradaSalidaOtrosDiasAsync(DateTime fecha, int idEmpresa)
{
using var conn = _dbConnectionFactory.CreateConnection() as IDbConnection;
// si no es IDbConnection, haz conn.Open() manual
var parametros = new { fecha, idEmpresa };
return await conn.QueryAsync<DevueltosOtrosDiasDto>(
"SP_DistCanillasCantidadEntradaSalidaOtrosDias",
parametros,
commandType: CommandType.StoredProcedure
);
}
public async Task<IEnumerable<MovimientoBobinaEstadoDetalleDto>> GetMovimientoBobinasEstadoDetalleAsync(DateTime fechaInicio, DateTime fechaFin, int idPlanta)
{
@@ -156,7 +166,7 @@ namespace GestionIntegral.Api.Data.Repositories.Reportes
try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<ListadoDistribucionCanillasSimpleDto>(spName, parameters, commandType: CommandType.StoredProcedure); }
catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<ListadoDistribucionCanillasSimpleDto>(); }
}
public async Task<IEnumerable<ListadoDistribucionCanillasPromedioDiaDto>> GetListadoDistribucionCanillasPromedioDiaAsync(int idPublicacion, DateTime fechaDesde, DateTime fechaHasta)
{
const string spName = "dbo.SP_CantidadEntradaSalidaCPromAgDiaCanilla";
@@ -209,7 +219,7 @@ namespace GestionIntegral.Api.Data.Repositories.Reportes
try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<VentaMensualSecretariaTirDevoDto>(spName, parameters, commandType: CommandType.StoredProcedure); }
catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<VentaMensualSecretariaTirDevoDto>(); }
}
public async Task<IEnumerable<DetalleDistribucionCanillaDto>> GetDetalleDistribucionCanillasPubliAsync(DateTime fecha, int idEmpresa)
{
const string spName = "dbo.SP_DistCanillasEntradaSalidaPubli";
@@ -229,7 +239,7 @@ namespace GestionIntegral.Api.Data.Repositories.Reportes
try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<DetalleDistribucionCanillaDto>(spName, parameters, commandType: CommandType.StoredProcedure); }
catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<DetalleDistribucionCanillaDto>(); }
}
public async Task<IEnumerable<DetalleDistribucionCanillaAllDto>> GetDetalleDistribucionCanillasAllPubliAsync(DateTime fecha, int idEmpresa)
{
const string spName = "dbo.SP_DistCanALLEntradaSalidaPubli";
@@ -269,7 +279,7 @@ namespace GestionIntegral.Api.Data.Repositories.Reportes
try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<ObtenerCtrlDevolucionesDto>(spName, parameters, commandType: CommandType.StoredProcedure); }
catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<ObtenerCtrlDevolucionesDto>(); }
}
public async Task<IEnumerable<ControlDevolucionesReporteDto>> GetReporteCtrlDevolucionesParaDistCanAsync(DateTime fecha, int idEmpresa)
{
const string spName = "dbo.SP_DistCanillasCantidadEntradaSalida";
@@ -291,7 +301,7 @@ namespace GestionIntegral.Api.Data.Repositories.Reportes
try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<TiradasPublicacionesSeccionesDto>(spName, parameters, commandType: CommandType.StoredProcedure); }
catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<TiradasPublicacionesSeccionesDto>(); }
}
public async Task<IEnumerable<TiradasPublicacionesSeccionesDto>> GetTiradasPublicacionesSeccionesConsolidadoAsync(int idPublicacion, DateTime fechaDesde, DateTime fechaHasta)
{
const string spName = "dbo.SP_TiradasPublicacionesSeccionesConsolidado";
@@ -358,7 +368,7 @@ namespace GestionIntegral.Api.Data.Repositories.Reportes
try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<ComparativaConsumoBobinasDto>(spName, parameters, commandType: CommandType.StoredProcedure); }
catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<ComparativaConsumoBobinasDto>(); }
}
// Implementación para SP_BalanceCuentaDistEntradaSalidaPorEmpresa
public async Task<IEnumerable<BalanceCuentaDistDto>> GetBalanceCuentaDistEntradaSalidaPorEmpresaAsync(int idDistribuidor, int idEmpresa, DateTime fechaDesde, DateTime fechaHasta)
{