All checks were successful
Optimized Build and Deploy / remote-build-and-deploy (push) Successful in 8m3s
Se introduce una refactorización completa del sistema de registro de pagos para manejar correctamente los abonos parciales, asegurando que el estado de la factura y el saldo pendiente se reflejen con precisión tanto en el backend como en la interfaz de usuario. ### 🐛 Problema Solucionado - Anteriormente, el sistema no reconocía los pagos parciales. Una factura permanecía en estado "Pendiente" hasta que el monto total era cubierto, y la interfaz de usuario siempre mostraba el 100% del saldo como pendiente, lo cual era incorrecto y confuso. ### ✨ Nuevas Características y Mejoras - **Nuevo Estado de Factura "Pagada Parcialmente":** - Se introduce un nuevo estado para las facturas que han recibido uno o más pagos pero cuyo saldo aún no es cero. - El `PagoService` ahora actualiza el estado de la factura a "Pagada Parcialmente" cuando recibe un abono que no cubre el total. - **Mejoras en la Interfaz de Usuario (`ConsultaFacturasPage`):** - **Nuevas Columnas:** Se han añadido las columnas "Pagado" y "Saldo" a la tabla de detalle de facturas, mostrando explícitamente el monto abonado y el restante. - **Visualización de Estado:** El `Chip` de estado ahora muestra "Pagada Parcialmente" con un color distintivo (azul/primary) para una rápida identificación visual. - **Cálculo de Saldo Correcto:** El saldo pendiente total por suscriptor y el saldo para el modal de pago manual ahora se calculan correctamente, restando el `totalPagado` del `importeFinal`. ### 🔄 Cambios en el Backend - **`PagoService`:** Se actualizó la lógica para establecer el estado de la factura (`Pendiente`, `Pagada Parcialmente`, `Pagada`) basado en el `nuevoTotalPagado` después de registrar un pago. - **`FacturacionService`:** El método `ObtenerResumenesDeCuentaPorPeriodo` ahora calcula correctamente el `SaldoPendienteTotal` y pasa la propiedad `TotalPagado` al DTO del frontend. - **DTOs:** Se actualizó `FacturaConsolidadaDto` para incluir la propiedad `TotalPagado`.
14 lines
590 B
C#
14 lines
590 B
C#
namespace GestionIntegral.Api.Dtos.Suscripciones
|
|
{
|
|
public class FacturaConsolidadaDto
|
|
{
|
|
public int IdFactura { get; set; }
|
|
public string NombreEmpresa { get; set; } = string.Empty;
|
|
public decimal ImporteFinal { get; set; }
|
|
public string EstadoPago { get; set; } = string.Empty;
|
|
public string EstadoFacturacion { get; set; } = string.Empty;
|
|
public string? NumeroFactura { get; set; }
|
|
public decimal TotalPagado { get; set; }
|
|
public List<FacturaDetalleDto> Detalles { get; set; } = new List<FacturaDetalleDto>();
|
|
}
|
|
} |