92 Procesar y Finalizar Liquidación: Ajuste de Cuotas y Diferencia de Intereses en Laravel💳🔐 Parte 1
Duración: 20 min
Módulo: Módulo Liquidación de Préstamo
Lección 5 de
6
Descripción
💳 Lección 92: Procesar Liquidación (Parte 1) - Seguridad y Ajuste de Intereses
En esta sesión de Benji V2, conectamos la interfaz de usuario con la lógica del servidor para finalizar préstamos de forma atómica y segura.
1. 🔐 Gestión de Permisos sin Pérdida de Datos
Aprendemos a manejar cambios en la estructura de permisos cuando el sistema ya tiene datos reales (producción):
- Nuevo Permiso: Definimos el permiso liquidar préstamo en el archivo RollPermissions.php [04:16].
- Actualización Manual: En lugar de hacer un migrate:fresh (que borraría los préstamos existentes), insertamos el permiso directamente en la tabla permissions de la base de datos y lo sincronizamos con el rol de SuperAdministrador [05:40].
2. 🛣️ Ruta y Controlador de Liquidación
Establecemos el canal de comunicación para la acción:
- Definición de Ruta: Creamos una ruta de tipo POST (admin/prestamos/{id}/liquidar) protegida por el nuevo permiso de seguridad [03:19].
- Estructura del Método: En el PrestamoController, iniciamos el método liquidar, el cual recibe el ID del préstamo y utiliza la función de cálculo desarrollada anteriormente para obtener los valores finales [11:42].
3. 🛡️ Transacciones y Validación de Datos
Garantizamos que la operación sea segura y precisa:
- DB::beginTransaction(): Iniciamos una transacción de base de datos. Esto es vital porque la liquidación modifica múltiples registros (todas las cuotas pendientes) y si un paso falla, el sistema debe revertir todo para evitar datos corruptos [15:05].
- Identificación de Pendientes: Recuperamos solo las cuotas que aún no han sido pagadas, ordenándolas cronológicamente para procesar el saldo capital [15:44].
4. 🧮 Cálculo de la Diferencia de Intereses
Validamos matemáticamente lo que se cobrará:
- Suma de Capitales: Calculamos la suma neta de los campos monto_capital de las cuotas restantes [19:11].
- Interés Devengado: Identificamos la diferencia entre el total a liquidar y la suma de capitales. Este monto representa el interés proporcional por los días transcurridos desde el último pago [20:21].
Lecciones
Introducción e instalación
Módulo Ajustes del sistema
Lección 6. 11 ✅ | ¡Módulo de Ajustes Listo! Traer Información y Guardar Cambios | Laravel 12 💰
18 min
Módulo Roles
Lección 3. 14 📋 | Listado de Roles: Creando una Tabla Profesional con Tailwind CSS | Laravel 12 🚀
11 min
Lección 4. 15 ➕ Creando Nuevos Roles: Formulario de Registro y Validación | Laravel 12 & Spatie 🛡️
17 min
Lección 8. 19 💣 Método Destroy: Cómo Eliminar Registros con Validación y Alertas Pro en Laravel 12 ✨
9 min
Módulo Usuarios
Módulo clientes
Lección 2. 29 Cómo crear Datos de Prueba con Factories - Módulo Clientes Laravel Factories y Faker 🚀
21 min
Módulo Categorías
Módulo Prestamos y Pagos
Lección 5. 46 Módulo de Pagos en Laravel 12: Migración, Estructura de Cuotas y Control de Estados 💳📊
13 min
Módulo Contratos
Módulo Notificaciones
Módulo Permisos
Módulo Backups
Módulo Reportes
Módulo Producción
Lección 4. 77 Mostrar Roles de Usuario en la Interfaz: Personalización con Flux UI y FontAwesome 🛡️👤
13 min
Módulo Pagos Parciales
Módulo Liquidación de Préstamo
Últimos Ajustes del Sistema
Lección 7. 100 Página 404 Personalizada en Laravel: Diseño Elegante y Profesional para tu Sistema 🚫✨
7 min
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️