-- ================================================================
-- GEOSTARK NOMINA - VALIDACION V8.3 VACACIONES COPIA A NOVEDADES
-- No modifica datos. Compatible MariaDB/MySQL.
-- ================================================================

SELECT 'Eventos vacaciones' AS revision, COUNT(*) AS total
FROM nomina_vacaciones_eventos;

SELECT 'Eventos vacaciones copiados a periodo' AS revision, COUNT(*) AS total
FROM nomina_vacaciones_eventos
WHERE IFNULL(periodo_id,0) > 0;

SELECT 'Eventos vacaciones no copiados con monto' AS revision, COUNT(*) AS total
FROM nomina_vacaciones_eventos
WHERE IFNULL(periodo_id,0) = 0
  AND (IFNULL(monto_disfrute_bs,0) + IFNULL(monto_bono_bs,0)) > 0
  AND estado = 'REGISTRADO';

SELECT 'Novedades con pago vacaciones' AS revision, COUNT(*) AS total, ROUND(SUM(IFNULL(pago_vacaciones_bs,0)),2) AS total_bs
FROM novedades_periodo
WHERE IFNULL(pago_vacaciones_bs,0) > 0;

SELECT e.id AS evento_id,
       e.fecha_documento,
       CONCAT(IFNULL(p.apellido,''),' ',IFNULL(p.nombre,'')) AS trabajador,
       e.periodo_id,
       pn.codigo AS periodo,
       pn.estado AS estado_periodo,
       ROUND(IFNULL(e.monto_disfrute_bs,0)+IFNULL(e.monto_bono_bs,0),2) AS monto_evento_bs,
       ROUND(IFNULL(n.pago_vacaciones_bs,0),2) AS monto_novedad_bs
FROM nomina_vacaciones_eventos e
LEFT JOIN personas p ON p.id = e.persona_id
LEFT JOIN periodos_nomina pn ON pn.id = e.periodo_id
LEFT JOIN novedades_periodo n ON n.persona_id = e.persona_id AND n.periodo_id = e.periodo_id
WHERE IFNULL(e.periodo_id,0) > 0
ORDER BY e.id DESC
LIMIT 20;
