/*
GEOSTARK NOMINA MASTER - VALIDACION V6.7
No modifica datos. Solo consulta estado del blindaje, motivos y ajustes.
*/

SELECT 
  id AS corrida_id,
  periodo_id,
  estado,
  bloqueada,
  fecha_pago,
  total_trabajadores,
  total_asignaciones,
  total_deducciones,
  total_neto
FROM nomina_corridas
ORDER BY id DESC
LIMIT 10;

SELECT 
  h.corrida_id,
  h.estado_anterior,
  h.estado_nuevo,
  h.usuario,
  h.created_at,
  CASE WHEN h.motivo IS NULL OR TRIM(h.motivo) = '' THEN 'SIN MOTIVO' ELSE h.motivo END AS motivo
FROM nomina_corrida_estado_historial h
ORDER BY h.id DESC
LIMIT 30;

SELECT 
  h.corrida_id,
  COUNT(*) AS pasos_sin_motivo
FROM nomina_corrida_estado_historial h
WHERE h.motivo IS NULL OR TRIM(h.motivo) = ''
GROUP BY h.corrida_id
ORDER BY h.corrida_id DESC;

SELECT 
  a.corrida_id,
  a.tipo,
  a.signo,
  a.monto,
  a.motivo,
  a.referencia,
  a.usuario,
  a.created_at
FROM nomina_corrida_ajustes a
ORDER BY a.id DESC
LIMIT 30;

SELECT 
  pn.id,
  pn.codigo,
  pn.fecha_desde,
  pn.fecha_hasta,
  pn.estado
FROM periodos_nomina pn
ORDER BY pn.fecha_desde DESC;
