GEOSTARK NOMINA - PARCHE V8 VACACIONES COMPLETAS
Fecha: 2026-05-17

Archivos:
- nomina_vacaciones.php
- nomina_vacaciones_master_helpers.php
- nomina_vacaciones_auditoria.php
- SQL_OPCIONAL_V8_VACACIONES_COMPLETAS.sql
- SQL_VALIDACION_V8_VACACIONES.sql

Objetivo:
- Completar el módulo legal de vacaciones antes de utilidades y liquidación final.
- Usar historial salarial real si existe en nomina_salario_historial.
- Congelar fuente salarial, salario diario, tasa BCV y snapshot en cada evento.
- Controlar vacaciones disfrutadas, bono vacacional, ajustes históricos, vacaciones colectivas/fraccionadas.
- Copiar opcionalmente el monto a novedades del período como pago manual de vacaciones si el período está abierto.

Instalación:
1. Respaldar base y archivos.
2. Copiar los PHP en /crud/.
3. Ejecutar SQL_OPCIONAL_V8_VACACIONES_COMPLETAS.sql si se desea crear columnas desde Workbench.
   Los PHP también intentan crear columnas automáticamente.
4. Abrir /crud/nomina_vacaciones.php.
5. Revisar /crud/nomina_vacaciones_auditoria.php.
6. Ejecutar SQL_VALIDACION_V8_VACACIONES.sql después de pruebas.

Notas auditoras:
- Trabajadores sin fecha de ingreso válida quedan bloqueados.
- La observación es obligatoria para registros de vacaciones.
- Si se copia a novedades, no se permite usar un período cerrado.
- El campo de vacaciones en novedades sigue siendo apoyo manual; el módulo legal maestro es nomina_vacaciones.php.
