Continuación del módulo de reportes. -Backend
This commit is contained in:
		| @@ -1,4 +1,5 @@ | ||||
| using GestionIntegral.Api.Dtos.Reportes; // Para ExistenciaPapelDto | ||||
| // src/Data/Repositories/Reportes/IReportesRepository.cs | ||||
| using GestionIntegral.Api.Dtos.Reportes; | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Threading.Tasks; | ||||
| @@ -8,6 +9,36 @@ namespace GestionIntegral.Api.Data.Repositories.Reportes | ||||
|     public interface IReportesRepository | ||||
|     { | ||||
|         Task<IEnumerable<ExistenciaPapelDto>> GetExistenciaPapelAsync(DateTime fechaDesde, DateTime fechaHasta, int? idPlanta, bool consolidado); | ||||
|         // ... Aquí irán los métodos para otros reportes ... | ||||
|         Task<IEnumerable<MovimientoBobinasDto>> GetMovimientoBobinasAsync(DateTime fechaInicio, int diasPeriodo, int idPlanta); | ||||
|         Task<IEnumerable<MovimientoBobinaEstadoDetalleDto>> GetMovimientoBobinasEstadoDetalleAsync(DateTime fechaInicio, DateTime fechaFin, int idPlanta); | ||||
|         Task<IEnumerable<MovimientoBobinaEstadoTotalDto>> GetMovimientoBobinasEstadoTotalesAsync(DateTime fechaInicio, DateTime fechaFin, int idPlanta); | ||||
|  | ||||
|         // --- MÉTODOS AÑADIDOS AQUÍ --- | ||||
|         Task<IEnumerable<ListadoDistribucionGeneralResumenDto>> GetListadoDistribucionGeneralResumenAsync(int idPublicacion, DateTime fechaDesde, DateTime fechaHasta); | ||||
|         Task<IEnumerable<ListadoDistribucionGeneralPromedioDiaDto>> GetListadoDistribucionGeneralPromedioDiaAsync(int idPublicacion, DateTime fechaDesde, DateTime fechaHasta); | ||||
|         Task<IEnumerable<ListadoDistribucionCanillasSimpleDto>> GetListadoDistribucionCanillasSimpleAsync(int idPublicacion, DateTime fechaDesde, DateTime fechaHasta); | ||||
|         Task<IEnumerable<ListadoDistribucionCanillasPromedioDiaDto>> GetListadoDistribucionCanillasPromedioDiaAsync(int idPublicacion, DateTime fechaDesde, DateTime fechaHasta); | ||||
|         Task<IEnumerable<ListadoDistribucionCanillasImporteDto>> GetListadoDistribucionCanillasImporteAsync(int idPublicacion, DateTime fechaDesde, DateTime fechaHasta, bool esAccionista); | ||||
|         Task<IEnumerable<VentaMensualSecretariaElDiaDto>> GetVentaMensualSecretariaElDiaAsync(DateTime fechaDesde, DateTime fechaHasta); | ||||
|         Task<IEnumerable<VentaMensualSecretariaElPlataDto>> GetVentaMensualSecretariaElPlataAsync(DateTime fechaDesde, DateTime fechaHasta); | ||||
|         Task<IEnumerable<VentaMensualSecretariaTirDevoDto>> GetVentaMensualSecretariaTirDevoAsync(DateTime fechaDesde, DateTime fechaHasta); | ||||
|         Task<IEnumerable<DetalleDistribucionCanillaDto>> GetDetalleDistribucionCanillasPubliAsync(DateTime fecha, int idEmpresa); | ||||
|         Task<IEnumerable<DetalleDistribucionCanillaDto>> GetDetalleDistribucionCanillasAccPubliAsync(DateTime fecha, int idEmpresa); | ||||
|         Task<IEnumerable<DetalleDistribucionCanillaAllDto>> GetDetalleDistribucionCanillasAllPubliAsync(DateTime fecha, int idEmpresa); | ||||
|         Task<IEnumerable<DetalleDistribucionCanillaDto>> GetDetalleDistribucionCanillasPubliFechaLiqAsync(DateTime fechaLiquidacion, int idEmpresa); | ||||
|         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<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); | ||||
|         Task<IEnumerable<ConsumoBobinasSeccionDto>> GetConsumoBobinasPorSeccionConsolidadoAsync(DateTime fechaDesde, DateTime fechaHasta); | ||||
|         Task<IEnumerable<ConsumoBobinasPublicacionDto>> GetConsumoBobinasPorPublicacionAsync(DateTime fechaDesde, DateTime fechaHasta); | ||||
|         Task<IEnumerable<ComparativaConsumoBobinasDto>> GetComparativaConsumoBobinasAsync(DateTime fechaInicioMesA, DateTime fechaFinMesA, DateTime fechaInicioMesB, DateTime fechaFinMesB, int idPlanta); | ||||
|         Task<IEnumerable<ComparativaConsumoBobinasDto>> GetComparativaConsumoBobinasConsolidadoAsync(DateTime fechaInicioMesA, DateTime fechaFinMesA, DateTime fechaInicioMesB, DateTime fechaFinMesB); | ||||
|         Task<IEnumerable<BalanceCuentaDistDto>> GetBalanceCuentaDistEntradaSalidaPorEmpresaAsync(int idDistribuidor, int idEmpresa, DateTime fechaDesde, DateTime fechaHasta); | ||||
|         Task<IEnumerable<BalanceCuentaDebCredDto>> GetBalanceCuentDistDebCredEmpresaAsync(int idDistribuidor, int idEmpresa, DateTime fechaDesde, DateTime fechaHasta); | ||||
|         Task<IEnumerable<BalanceCuentaPagosDto>> GetBalanceCuentDistPagosEmpresaAsync(int idDistribuidor, int idEmpresa, DateTime fechaDesde, DateTime fechaHasta); | ||||
|         Task<IEnumerable<SaldoDto>> GetBalanceCuentSaldosEmpresasAsync(string destino, int idDestino, int idEmpresa); | ||||
|     } | ||||
| } | ||||
| @@ -1,3 +1,4 @@ | ||||
| // src/Data/Repositories/Reportes/ReportesRepository.cs | ||||
| using Dapper; | ||||
| using GestionIntegral.Api.Dtos.Reportes; | ||||
| using Microsoft.Extensions.Logging; | ||||
| @@ -26,24 +27,16 @@ namespace GestionIntegral.Api.Data.Repositories.Reportes | ||||
|             var parameters = new DynamicParameters(); | ||||
|              | ||||
|             parameters.Add("FechaDesde", fechaDesde, DbType.Date); | ||||
|             parameters.Add("FechaHasta", fechaHasta, DbType.Date); // SP_ConsumoBobinasConsolidado solo usa estas dos | ||||
|             parameters.Add("FechaHasta", fechaHasta, DbType.Date); | ||||
|  | ||||
|             if (!consolidado) | ||||
|             { | ||||
|                 if (!idPlanta.HasValue) | ||||
|                 { | ||||
|                     _logger.LogError("idPlanta es requerido para el reporte de existencia de papel no consolidado."); | ||||
|                     // Podríamos lanzar una ArgumentNullException o devolver una lista vacía. | ||||
|                     // Por ahora, el servicio debería validar esto antes. | ||||
|                     // Para el repositorio, asumimos que si no es consolidado, idPlanta viene. | ||||
|                     throw new ArgumentNullException(nameof(idPlanta), "El ID de planta es requerido para el reporte no consolidado."); | ||||
|                     throw new ArgumentNullException(nameof(idPlanta), "El ID de planta es requerido para el reporte no consolidado de existencia de papel."); | ||||
|                 } | ||||
|                 parameters.Add("@idPlanta", idPlanta.Value, DbType.Int32); | ||||
|                  | ||||
|             } | ||||
|             // Si los SPs realmente necesitaran @DiasPeriodo, lo calcularíamos así: | ||||
|             // int diasPeriodo = (fechaHasta - fechaDesde).Days + 1; // +1 para incluir ambos días | ||||
|             // parameters.Add("DiasPeriodo", diasPeriodo, DbType.Int32); | ||||
|  | ||||
|  | ||||
|             _logger.LogInformation("Ejecutando SP: {SPName} con parámetros: FechaDesde={FechaDesde}, FechaHasta={FechaHasta}, IdPlanta={IdPlanta}, Consolidado={Consolidado}", | ||||
| @@ -63,6 +56,358 @@ namespace GestionIntegral.Api.Data.Repositories.Reportes | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         // ... Implementaciones para otros reportes ... | ||||
|         public async Task<IEnumerable<MovimientoBobinasDto>> GetMovimientoBobinasAsync(DateTime fechaInicio, int diasPeriodo, int idPlanta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_MovimientoBobinas"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@FechaInicio", fechaInicio, DbType.Date); // El SP espera DateTime | ||||
|             parameters.Add("@DiasPeriodo", diasPeriodo, DbType.Int32); | ||||
|             parameters.Add("@idPlanta", idPlanta, DbType.Int32); | ||||
|  | ||||
|             _logger.LogInformation("Ejecutando SP: {SPName} con parámetros: FechaInicio={FechaInicio}, DiasPeriodo={DiasPeriodo}, IdPlanta={IdPlanta}", | ||||
|                 spName, fechaInicio, diasPeriodo, idPlanta); | ||||
|             try | ||||
|             { | ||||
|                 using var connection = _dbConnectionFactory.CreateConnection(); | ||||
|                 return await connection.QueryAsync<MovimientoBobinasDto>(spName, parameters, commandType: CommandType.StoredProcedure); | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 _logger.LogError(ex, "Error al ejecutar SP {SPName} para Movimiento de Bobinas.", spName); | ||||
|                 return Enumerable.Empty<MovimientoBobinasDto>(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         public async Task<IEnumerable<MovimientoBobinaEstadoDetalleDto>> GetMovimientoBobinasEstadoDetalleAsync(DateTime fechaInicio, DateTime fechaFin, int idPlanta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_MovimientosBobinasEstado"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@FechaInicio", fechaInicio, DbType.Date); | ||||
|             parameters.Add("@FechaFin", fechaFin, DbType.Date); | ||||
|             parameters.Add("@IdPlanta", idPlanta, DbType.Int32); | ||||
|  | ||||
|             _logger.LogInformation("Ejecutando SP: {SPName} con parámetros: FechaInicio={FechaInicio}, FechaFin={FechaFin}, IdPlanta={IdPlanta}", | ||||
|                 spName, fechaInicio, fechaFin, idPlanta); | ||||
|             try | ||||
|             { | ||||
|                 using var connection = _dbConnectionFactory.CreateConnection(); | ||||
|                 return await connection.QueryAsync<MovimientoBobinaEstadoDetalleDto>(spName, parameters, commandType: CommandType.StoredProcedure); | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 _logger.LogError(ex, "Error al ejecutar SP {SPName} para Detalle de Movimiento de Bobinas por Estado.", spName); | ||||
|                 return Enumerable.Empty<MovimientoBobinaEstadoDetalleDto>(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         public async Task<IEnumerable<MovimientoBobinaEstadoTotalDto>> GetMovimientoBobinasEstadoTotalesAsync(DateTime fechaInicio, DateTime fechaFin, int idPlanta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_MovimientosBobinasEstadoTotales"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@FechaInicio", fechaInicio, DbType.Date); | ||||
|             parameters.Add("@FechaFin", fechaFin, DbType.Date); | ||||
|             parameters.Add("@IdPlanta", idPlanta, DbType.Int32); | ||||
|  | ||||
|             _logger.LogInformation("Ejecutando SP: {SPName} con parámetros: FechaInicio={FechaInicio}, FechaFin={FechaFin}, IdPlanta={IdPlanta}", | ||||
|                 spName, fechaInicio, fechaFin, idPlanta); | ||||
|             try | ||||
|             { | ||||
|                 using var connection = _dbConnectionFactory.CreateConnection(); | ||||
|                 return await connection.QueryAsync<MovimientoBobinaEstadoTotalDto>(spName, parameters, commandType: CommandType.StoredProcedure); | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 _logger.LogError(ex, "Error al ejecutar SP {SPName} para Totales de Movimiento de Bobinas por Estado.", spName); | ||||
|                 return Enumerable.Empty<MovimientoBobinaEstadoTotalDto>(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         // Implementaciones que faltaban | ||||
|         public async Task<IEnumerable<ListadoDistribucionGeneralResumenDto>> GetListadoDistribucionGeneralResumenAsync(int idPublicacion, DateTime fechaDesde, DateTime fechaHasta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_DistObtenerResumenMensual"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@Id_Publicacion", idPublicacion, DbType.Int32); | ||||
|             parameters.Add("@Mes", fechaDesde.Month, DbType.Int32); | ||||
|             parameters.Add("@Anio", fechaDesde.Year, DbType.Int32); | ||||
|             // El SP no usa fechaHasta explícitamente, calcula el fin de mes internamente | ||||
|             try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<ListadoDistribucionGeneralResumenDto>(spName, parameters, commandType: CommandType.StoredProcedure); } | ||||
|             catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<ListadoDistribucionGeneralResumenDto>(); } | ||||
|         } | ||||
|  | ||||
|         public async Task<IEnumerable<ListadoDistribucionGeneralPromedioDiaDto>> GetListadoDistribucionGeneralPromedioDiaAsync(int idPublicacion, DateTime fechaDesde, DateTime fechaHasta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_DistObtenerResumenMensualPorDiaSemana"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@Id_Publicacion", idPublicacion, DbType.Int32); | ||||
|             parameters.Add("@Mes", fechaDesde.Month, DbType.Int32); | ||||
|             parameters.Add("@Anio", fechaDesde.Year, DbType.Int32); | ||||
|             try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<ListadoDistribucionGeneralPromedioDiaDto>(spName, parameters, commandType: CommandType.StoredProcedure); } | ||||
|             catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<ListadoDistribucionGeneralPromedioDiaDto>(); } | ||||
|         } | ||||
|  | ||||
|         public async Task<IEnumerable<ListadoDistribucionCanillasSimpleDto>> GetListadoDistribucionCanillasSimpleAsync(int idPublicacion, DateTime fechaDesde, DateTime fechaHasta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_CantidadEntradaSalidaCanillas"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@idPublicacion", idPublicacion, DbType.Int32); | ||||
|             parameters.Add("@fechaDesde", fechaDesde, DbType.DateTime); | ||||
|             parameters.Add("@fechaHasta", fechaHasta, DbType.DateTime); | ||||
|             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"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@idPublicacion", idPublicacion, DbType.Int32); | ||||
|             parameters.Add("@fechaDesde", fechaDesde, DbType.DateTime); | ||||
|             parameters.Add("@fechaHasta", fechaHasta, DbType.DateTime); | ||||
|             try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<ListadoDistribucionCanillasPromedioDiaDto>(spName, parameters, commandType: CommandType.StoredProcedure); } | ||||
|             catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<ListadoDistribucionCanillasPromedioDiaDto>(); } | ||||
|         } | ||||
|  | ||||
|         public async Task<IEnumerable<ListadoDistribucionCanillasImporteDto>> GetListadoDistribucionCanillasImporteAsync(int idPublicacion, DateTime fechaDesde, DateTime fechaHasta, bool esAccionista) | ||||
|         { | ||||
|             const string spName = "dbo.SP_CantidadESCanillasConImporte"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@idPublicacion", idPublicacion, DbType.Int32); | ||||
|             parameters.Add("@fechaDesde", fechaDesde, DbType.DateTime); | ||||
|             parameters.Add("@fechaHasta", fechaHasta, DbType.DateTime); | ||||
|             parameters.Add("@accionista", esAccionista, DbType.Boolean); | ||||
|             try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<ListadoDistribucionCanillasImporteDto>(spName, parameters, commandType: CommandType.StoredProcedure); } | ||||
|             catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<ListadoDistribucionCanillasImporteDto>(); } | ||||
|         } | ||||
|  | ||||
|         public async Task<IEnumerable<VentaMensualSecretariaElDiaDto>> GetVentaMensualSecretariaElDiaAsync(DateTime fechaDesde, DateTime fechaHasta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_VentaMensualSecretariaElDia"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@fechaDesde", fechaDesde, DbType.DateTime); | ||||
|             parameters.Add("@fechaHasta", fechaHasta, DbType.DateTime); | ||||
|             try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<VentaMensualSecretariaElDiaDto>(spName, parameters, commandType: CommandType.StoredProcedure); } | ||||
|             catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<VentaMensualSecretariaElDiaDto>(); } | ||||
|         } | ||||
|  | ||||
|         public async Task<IEnumerable<VentaMensualSecretariaElPlataDto>> GetVentaMensualSecretariaElPlataAsync(DateTime fechaDesde, DateTime fechaHasta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_VentaMensualSecretariaElPlata"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@fechaDesde", fechaDesde, DbType.DateTime); | ||||
|             parameters.Add("@fechaHasta", fechaHasta, DbType.DateTime); | ||||
|             try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<VentaMensualSecretariaElPlataDto>(spName, parameters, commandType: CommandType.StoredProcedure); } | ||||
|             catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<VentaMensualSecretariaElPlataDto>(); } | ||||
|         } | ||||
|  | ||||
|         public async Task<IEnumerable<VentaMensualSecretariaTirDevoDto>> GetVentaMensualSecretariaTirDevoAsync(DateTime fechaDesde, DateTime fechaHasta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_VentaMensualSecretariaTirDevo"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@fechaDesde", fechaDesde, DbType.DateTime); | ||||
|             parameters.Add("@fechaHasta", fechaHasta, DbType.DateTime); | ||||
|             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"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@fecha", fecha, DbType.DateTime); | ||||
|             parameters.Add("@idEmpresa", idEmpresa, DbType.Int32); | ||||
|             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<DetalleDistribucionCanillaDto>> GetDetalleDistribucionCanillasAccPubliAsync(DateTime fecha, int idEmpresa) | ||||
|         { | ||||
|             const string spName = "dbo.SP_DistCanillasAccEntradaSalidaPubli"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@fecha", fecha, DbType.DateTime); | ||||
|             parameters.Add("@idEmpresa", idEmpresa, DbType.Int32); | ||||
|             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"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@fecha", fecha, DbType.DateTime); | ||||
|             parameters.Add("@idEmpresa", idEmpresa, DbType.Int32); | ||||
|             try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<DetalleDistribucionCanillaAllDto>(spName, parameters, commandType: CommandType.StoredProcedure); } | ||||
|             catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<DetalleDistribucionCanillaAllDto>(); } | ||||
|         } | ||||
|  | ||||
|         public async Task<IEnumerable<DetalleDistribucionCanillaDto>> GetDetalleDistribucionCanillasPubliFechaLiqAsync(DateTime fechaLiquidacion, int idEmpresa) | ||||
|         { | ||||
|             const string spName = "dbo.SP_DistCanillasEntradaSalidaPubliFechaLiq"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@fecha", fechaLiquidacion, DbType.DateTime); | ||||
|             parameters.Add("@idEmpresa", idEmpresa, DbType.Int32); | ||||
|             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<DetalleDistribucionCanillaDto>> GetDetalleDistribucionCanillasAccPubliFechaLiqAsync(DateTime fechaLiquidacion, int idEmpresa) | ||||
|         { | ||||
|             const string spName = "dbo.SP_DistCanillasAccEntradaSalidaPubliFechaLiq"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@fecha", fechaLiquidacion, DbType.DateTime); | ||||
|             parameters.Add("@idEmpresa", idEmpresa, DbType.Int32); | ||||
|             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<ObtenerCtrlDevolucionesDto>> GetReporteObtenerCtrlDevolucionesAsync(DateTime fecha, int idEmpresa) | ||||
|         { | ||||
|             const string spName = "dbo.SP_ObtenerCtrlDevoluciones"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@Fecha", fecha, DbType.DateTime); | ||||
|             parameters.Add("@IdEmpresa", idEmpresa, DbType.Int32); | ||||
|             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"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@fecha", fecha, DbType.DateTime); | ||||
|             parameters.Add("@idEmpresa", idEmpresa, DbType.Int32); | ||||
|             try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<ControlDevolucionesReporteDto>(spName, parameters, commandType: CommandType.StoredProcedure); } | ||||
|             catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<ControlDevolucionesReporteDto>(); } | ||||
|         } | ||||
|  | ||||
|         public async Task<IEnumerable<TiradasPublicacionesSeccionesDto>> GetTiradasPublicacionesSeccionesAsync(int idPublicacion, DateTime fechaDesde, DateTime fechaHasta, int idPlanta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_TiradasPublicacionesSecciones"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@IdPublicacion", idPublicacion, DbType.Int32); | ||||
|             parameters.Add("@FechaInicio", fechaDesde, DbType.Date); | ||||
|             parameters.Add("@FechaFin", fechaHasta, DbType.Date); | ||||
|             parameters.Add("@IdPlanta", idPlanta, DbType.Int32); | ||||
|             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"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@IdPublicacion", idPublicacion, DbType.Int32); | ||||
|             parameters.Add("@FechaInicio", fechaDesde, DbType.Date); | ||||
|             parameters.Add("@FechaFin", fechaHasta, DbType.Date); | ||||
|             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<ConsumoBobinasSeccionDto>> GetConsumoBobinasPorSeccionAsync(DateTime fechaDesde, DateTime fechaHasta, int idPlanta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_BobinasUtilizadasPorSeccion"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@FechaInicio", fechaDesde, DbType.DateTime2); | ||||
|             parameters.Add("@FechaFin", fechaHasta, DbType.DateTime2); | ||||
|             parameters.Add("@idPlanta", idPlanta, DbType.Int32); | ||||
|             try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<ConsumoBobinasSeccionDto>(spName, parameters, commandType: CommandType.StoredProcedure); } | ||||
|             catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<ConsumoBobinasSeccionDto>(); } | ||||
|         } | ||||
|  | ||||
|         public async Task<IEnumerable<ConsumoBobinasSeccionDto>> GetConsumoBobinasPorSeccionConsolidadoAsync(DateTime fechaDesde, DateTime fechaHasta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_BobinasUtilizadasPorSeccionConsolidado"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@FechaInicio", fechaDesde, DbType.DateTime2); | ||||
|             parameters.Add("@FechaFin", fechaHasta, DbType.DateTime2); | ||||
|             try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<ConsumoBobinasSeccionDto>(spName, parameters, commandType: CommandType.StoredProcedure); } | ||||
|             catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<ConsumoBobinasSeccionDto>(); } | ||||
|         } | ||||
|  | ||||
|         public async Task<IEnumerable<ConsumoBobinasPublicacionDto>> GetConsumoBobinasPorPublicacionAsync(DateTime fechaDesde, DateTime fechaHasta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_BobinasUtilizadasPorPublicacion"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@FechaInicio", fechaDesde, DbType.DateTime2); | ||||
|             parameters.Add("@FechaFin", fechaHasta, DbType.DateTime2); | ||||
|             try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<ConsumoBobinasPublicacionDto>(spName, parameters, commandType: CommandType.StoredProcedure); } | ||||
|             catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<ConsumoBobinasPublicacionDto>(); } | ||||
|         } | ||||
|  | ||||
|         public async Task<IEnumerable<ComparativaConsumoBobinasDto>> GetComparativaConsumoBobinasAsync(DateTime fechaInicioMesA, DateTime fechaFinMesA, DateTime fechaInicioMesB, DateTime fechaFinMesB, int idPlanta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_CompararConsumoBobinasMeses"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@FechaInicioMesA", fechaInicioMesA, DbType.Date); | ||||
|             parameters.Add("@FechaFinMesA", fechaFinMesA, DbType.Date); | ||||
|             parameters.Add("@FechaInicioMesB", fechaInicioMesB, DbType.Date); | ||||
|             parameters.Add("@FechaFinMesB", fechaFinMesB, DbType.Date); | ||||
|             parameters.Add("@IdPlanta", idPlanta, DbType.Int32); | ||||
|             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>(); } | ||||
|         } | ||||
|  | ||||
|         public async Task<IEnumerable<ComparativaConsumoBobinasDto>> GetComparativaConsumoBobinasConsolidadoAsync(DateTime fechaInicioMesA, DateTime fechaFinMesA, DateTime fechaInicioMesB, DateTime fechaFinMesB) | ||||
|         { | ||||
|             const string spName = "dbo.SP_CompararConsumoBobinasMesesConsolidado"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@FechaInicioMesA", fechaInicioMesA, DbType.Date); | ||||
|             parameters.Add("@FechaFinMesA", fechaFinMesA, DbType.Date); | ||||
|             parameters.Add("@FechaInicioMesB", fechaInicioMesB, DbType.Date); | ||||
|             parameters.Add("@FechaFinMesB", fechaFinMesB, DbType.Date); | ||||
|             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) | ||||
|         { | ||||
|             const string spName = "dbo.SP_BalanceCuentaDistEntradaSalidaPorEmpresa"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@idDistribuidor", idDistribuidor, DbType.Int32); | ||||
|             parameters.Add("@idEmpresa", idEmpresa, DbType.Int32); | ||||
|             parameters.Add("@fechaDesde", fechaDesde, DbType.DateTime); | ||||
|             parameters.Add("@fechaHasta", fechaHasta, DbType.DateTime); | ||||
|             try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<BalanceCuentaDistDto>(spName, parameters, commandType: CommandType.StoredProcedure); } | ||||
|             catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<BalanceCuentaDistDto>(); } | ||||
|         } | ||||
|  | ||||
|         // Implementación para SP_BalanceCuentDistDebCredEmpresa | ||||
|         public async Task<IEnumerable<BalanceCuentaDebCredDto>> GetBalanceCuentDistDebCredEmpresaAsync(int idDistribuidor, int idEmpresa, DateTime fechaDesde, DateTime fechaHasta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_BalanceCuentDistDebCredEmpresa"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@idDistribuidor", idDistribuidor, DbType.Int32); | ||||
|             parameters.Add("@idEmpresa", idEmpresa, DbType.Int32); | ||||
|             parameters.Add("@fechaDesde", fechaDesde, DbType.DateTime); | ||||
|             parameters.Add("@fechaHasta", fechaHasta, DbType.DateTime); | ||||
|             try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<BalanceCuentaDebCredDto>(spName, parameters, commandType: CommandType.StoredProcedure); } | ||||
|             catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<BalanceCuentaDebCredDto>(); } | ||||
|         } | ||||
|  | ||||
|         // Implementación para SP_BalanceCuentDistPagosEmpresa | ||||
|         public async Task<IEnumerable<BalanceCuentaPagosDto>> GetBalanceCuentDistPagosEmpresaAsync(int idDistribuidor, int idEmpresa, DateTime fechaDesde, DateTime fechaHasta) | ||||
|         { | ||||
|             const string spName = "dbo.SP_BalanceCuentDistPagosEmpresa"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@idDistribuidor", idDistribuidor, DbType.Int32); | ||||
|             parameters.Add("@idEmpresa", idEmpresa, DbType.Int32); | ||||
|             parameters.Add("@fechaDesde", fechaDesde, DbType.DateTime); | ||||
|             parameters.Add("@fechaHasta", fechaHasta, DbType.DateTime); | ||||
|             try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<BalanceCuentaPagosDto>(spName, parameters, commandType: CommandType.StoredProcedure); } | ||||
|             catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<BalanceCuentaPagosDto>(); } | ||||
|         } | ||||
|  | ||||
|         // Implementación para SP_BalanceCuentSaldosEmpresas | ||||
|         public async Task<IEnumerable<SaldoDto>> GetBalanceCuentSaldosEmpresasAsync(string destino, int idDestino, int idEmpresa) | ||||
|         { | ||||
|             const string spName = "dbo.SP_BalanceCuentSaldosEmpresas"; | ||||
|             var parameters = new DynamicParameters(); | ||||
|             parameters.Add("@Destino", destino, DbType.String); | ||||
|             parameters.Add("@idDestino", idDestino, DbType.Int32); | ||||
|             parameters.Add("@idEmpresa", idEmpresa, DbType.Int32); | ||||
|             try { using var connection = _dbConnectionFactory.CreateConnection(); return await connection.QueryAsync<SaldoDto>(spName, parameters, commandType: CommandType.StoredProcedure); } | ||||
|             catch (Exception ex) { _logger.LogError(ex, "Error SP {SPName}", spName); return Enumerable.Empty<SaldoDto>(); } | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user