-- Solo lectura. Ejecutar en la base de PRODUCCION seleccionada en phpMyAdmin.
SELECT DATABASE() AS base_seleccionada, VERSION() AS version_servidor;

-- Deben existir las 12 tablas operativas que se archivaran, y las tablas de menu/permisos.
SELECT TABLE_NAME
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = DATABASE()
  AND TABLE_NAME IN (
    'ordenes_ancheteria','ancheteria_documentos','ancheteria_orden_items',
    'ancheteria_orden_item_componentes','ancheteria_entregas','ancheteria_entrega_items',
    'ancheteria_entrega_conjunta','ancheteria_entrega_conjunta_orden',
    'ancheteria_anulaciones','ancheteria_desarme_tareas','ancheteria_auditoria',
    'ancheteria_produccion_tareas','modulo','submodulo','opcion','rol','rol_permiso_opcion'
  )
ORDER BY TABLE_NAME;

-- Debe aparecer un padre Ancheteria bajo Comercial > Contact Center y el rol Sistemas.
SELECT o.id AS padre_id, o.nombre AS opcion_padre, s.nombre AS submodulo, m.modulo
FROM opcion o
JOIN submodulo s ON s.id=o.submodulo_id
JOIN modulo m ON m.id=s.modulo_id
WHERE o.nombre='Ancheteria' AND o.opcion_padre_id IS NULL
  AND s.nombre='Contact Center' AND m.modulo='Comercial';

SELECT id,nombre FROM rol WHERE nombre='Sistemas';

-- Para el SQL 01 de ejecucion unica, esta consulta debe devolver CERO filas.
-- Si devuelve alguna, ya existe un despliegue parcial o previo: no ejecutar 01 a ciegas.
SELECT TABLE_NAME AS tabla_del_modulo_ya_existente
FROM information_schema.TABLES
WHERE TABLE_SCHEMA=DATABASE()
  AND (TABLE_NAME IN ('ancheteria_temporadas','ancheteria_cierres','ancheteria_cierre_eventos')
       OR TABLE_NAME LIKE 'hist_ancheteria_%'
       OR TABLE_NAME='hist_ordenes_ancheteria')
ORDER BY TABLE_NAME;

SELECT COLUMN_NAME AS columna_temporada_ya_existente
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA=DATABASE()
  AND TABLE_NAME='ordenes_ancheteria'
  AND COLUMN_NAME='temporada_id';

-- Antes de asignar temporadas, revisar las fechas reales de produccion.
SELECT DATE(fecha_creacion) AS fecha, COUNT(*) AS ordenes
FROM ordenes_ancheteria
GROUP BY DATE(fecha_creacion)
ORDER BY fecha;
