-- Configuracion de menu (no importa ordenes ni datos historicos locales).
-- Inserta dos subopciones bajo Comercial > Contact Center > Ancheteria
-- y dos capacidades internas. Solo concede acceso inicial al rol Sistemas.
SET NAMES utf8mb4;

SET @padre_ancheteria := (
  SELECT o.id
  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'
  ORDER BY o.id LIMIT 1
);
SET @submodulo_ancheteria := (
  SELECT submodulo_id FROM opcion WHERE id=@padre_ancheteria LIMIT 1
);

INSERT INTO opcion (submodulo_id,nombre,ruta,icono,opcion_padre_id)
SELECT @submodulo_ancheteria,'Cierre de temporada','/cierreancheteria/index',
       'bi-calendar2-check',@padre_ancheteria
WHERE @padre_ancheteria IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM opcion WHERE ruta='/cierreancheteria/index');

INSERT INTO opcion (submodulo_id,nombre,ruta,icono,opcion_padre_id)
SELECT @submodulo_ancheteria,'Reportes históricos','/reportesancheteria/index',
       'bi-archive',@padre_ancheteria
WHERE @padre_ancheteria IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM opcion WHERE ruta='/reportesancheteria/index');

INSERT INTO opcion (submodulo_id,nombre,ruta,icono,opcion_padre_id)
SELECT @submodulo_ancheteria,'Administrar cierre de temporada',
       '@perm:ancheteria-cierre-temporada','bi-shield-lock',NULL
WHERE @submodulo_ancheteria IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM opcion WHERE ruta='@perm:ancheteria-cierre-temporada');

INSERT INTO opcion (submodulo_id,nombre,ruta,icono,opcion_padre_id)
SELECT @submodulo_ancheteria,'Consultar reportes históricos de anchetería',
       '@perm:ancheteria-reportes-historicos','bi-file-earmark-bar-graph',NULL
WHERE @submodulo_ancheteria IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM opcion WHERE ruta='@perm:ancheteria-reportes-historicos');

INSERT IGNORE INTO rol_permiso_opcion (rol_id,opcion_id)
SELECT r.id,o.id
FROM rol r
JOIN opcion o ON o.ruta IN (
  '/cierreancheteria/index','/reportesancheteria/index',
  '@perm:ancheteria-cierre-temporada','@perm:ancheteria-reportes-historicos'
)
WHERE r.nombre='Sistemas' AND o.submodulo_id=@submodulo_ancheteria;

-- Deben salir cuatro filas. Las rutas @perm son capacidades, no pantallas.
SELECT o.id,o.nombre,o.ruta,o.icono,o.opcion_padre_id,
       CASE WHEN rpo.opcion_id IS NULL THEN 'SIN PERMISO SISTEMAS' ELSE 'SISTEMAS OK' END AS permiso
FROM opcion o
LEFT JOIN rol r ON r.nombre='Sistemas'
LEFT JOIN rol_permiso_opcion rpo ON rpo.rol_id=r.id AND rpo.opcion_id=o.id
WHERE o.ruta IN (
  '/cierreancheteria/index','/reportesancheteria/index',
  '@perm:ancheteria-cierre-temporada','@perm:ancheteria-reportes-historicos'
)
ORDER BY o.id;
