GEOSTARK NOMINA MASTER - PARCHE V4 CIERRE Y AUDITORIA LABORAL
Fecha: 2026-05-14

OBJETIVO
Subir el sistema de nomina de corrida calculada a flujo auditable:
CALCULADA -> REVISADA -> APROBADA -> PAGADA -> CERRADA.

QUE AGREGA
1. Flujo de estados en nomina_corrida_resumen.php.
2. Historial de cambios de estado en nomina_corrida_estado_historial.
3. Bloqueo de novedades y recalculo cuando una corrida del periodo ya esta REVISADA/APROBADA/PAGADA/CERRADA.
4. Observacion obligatoria para novedades sensibles: horas extra, bono nocturno, ausencias, retardos, descuentos, prestamos, vacaciones manuales y conceptos manuales.
5. Hoja de auditoria de corrida: nomina_auditoria_corrida.php.
6. Persistencia reforzada de parametros legales en nomina_parametros_legales.
7. Correccion de SQL con alias AS nuevo para evitar warnings de VALUES() obsoleto.

ARCHIVOS PRINCIPALES
- nomina_legal_master.php
- nomina_helpers.php
- novedades_periodo.php
- nomina_calcular_actualizado.php
- nomina_corrida_resumen.php
- nomina_auditoria_corrida.php
- nomina_parametros_legales.php
- SQL_OPCIONAL_V4_AUDITORIA_CIERRE.sql
- SQL_OPCIONAL_REVISION_CONCEPTOS.sql

INSTALACION
1. Haz respaldo de la carpeta del sistema y de la base de datos.
2. Copia estos archivos en la raiz del sistema de nomina, reemplazando los existentes.
3. Entra al sistema y abre nomina_parametros_legales.php para forzar la migracion master.
4. Abre nomina_corrida_resumen.php?corrida_id=ID_DE_TU_CORRIDA.
5. Avanza el flujo solo cuando la nomina haya sido revisada.

NOTAS IMPORTANTES
- No cierres una corrida de prueba con trabajadores DEMO. Usa el SQL opcional para revisar/inactivar demos si corresponde.
- Una vez que una corrida pasa a REVISADA, el periodo queda bloqueado para novedades y recalculo.
- Al cerrar una corrida, el periodo_nomina queda CERRADO.
- Si necesitas reabrir una nomina cerrada, debe hacerse en una fase posterior con procedimiento formal de reverso/anulacion, no editando manualmente.
