94 Categorías de Préstamos: Porcentaje de Interés Dinámico por Tipo de Crédito en Laravel 12 📊💼

Duración: 18 min
Módulo: Últimos Ajustes del Sistema Lección 1 de 9

Descripción

📊 Lección 94: Categorías de Préstamos e Interés Dinámico

En esta sesión, transformamos el módulo de categorías de un simple etiquetado a una herramienta financiera que define el porcentaje de interés de forma automática según el tipo de crédito.

1. 🛠️ Ajuste en el Comprobante de Pago (Liquidación)

Corregimos un detalle visual importante en los reportes de liquidación:

  • Interés Devengado vs. Mora: Anteriormente, el sistema mostraba la diferencia de intereses en una liquidación como "Mora". Ajustamos la lógica en la vista del comprobante para detectar si el pago es una liquidación total.
  • Nueva Condicional: Si el interés de la cuota se marcó como cero (proceso de liquidación), el sistema ahora muestra correctamente el monto como "Días Devengados" en lugar de mora, brindando mayor claridad al cliente [08:29].

2. 🗄️ Evolución de la Base de Datos

Para soportar intereses por categoría, modificamos la estructura de datos:

  • Nueva Migración: Agregamos el campo porcentaje (de tipo decimal) a la tabla prestamos_categorias [09:43].
  • Database Seeder: Actualizamos los sembradores para incluir porcentajes predefinidos (ej. Educativo 10%, Comercial 25%, Salud 5%) [11:12].
  • Comando: Ejecutamos php artisan migrate:fresh --seed para aplicar los cambios (teniendo en cuenta que esto reinicia los datos de prueba) [11:32].

3. 🖥️ Interfaz de Usuario y CRUD de Categorías

Actualizamos el panel administrativo para gestionar estos nuevos valores:

  • Vista Index: Añadimos la columna "Porcentaje" en la tabla de categorías para referencia rápida [12:47].
  • Formularios (Crear/Editar): Integramos el campo de porcentaje en los modales de Flux UI, asegurando que el usuario pueda definir tasas personalizadas para cada tipo de crédito [14:39].
  • Controlador de Categorías: Actualizamos los métodos store y update para validar que el porcentaje sea un campo numérico requerido entre 0 y 100 [16:14].