Feat: Implementado cálculo de ISR en nóminas

- Agregado campo isr_table_id en tabla months para seleccionar tabla ISR por mes
- Creado servicio IsrCalculator para calcular ISR mensual y quincenal
- Modificado CommissionCalculator para descontar ISR del total a pagar
- Agregado selector de tabla ISR en formulario de crear/editar mes
- Actualizada vista de meses para mostrar tabla ISR asignada
- Actualizados reportes mensual y quincenal para mostrar ISR descontado
This commit is contained in:
2026-04-21 13:45:39 -06:00
parent 4abf89c57f
commit e8aac6eaa5
10 changed files with 213 additions and 21 deletions

View File

@@ -8,7 +8,7 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
#[Fillable(['user_id', 'name', 'year', 'status'])]
#[Fillable(['user_id', 'name', 'year', 'status', 'isr_table_id'])]
class Month extends Model
{
use HasFactory;
@@ -25,6 +25,7 @@ class Month extends Model
'name',
'year',
'status',
'isr_table_id',
];
/**
@@ -63,6 +64,14 @@ class Month extends Model
return $this->hasMany(Expense::class);
}
/**
* Relación con tabla ISR
*/
public function isrTable(): BelongsTo
{
return $this->belongsTo(IsrTable::class);
}
/**
* Obtener el nombre del mes con formato
*/