DROP PROCEDURE IF EXISTS panel_tarot.sync_estados;

DELIMITER $$

CREATE PROCEDURE panel_tarot.sync_estados()
BEGIN
    UPDATE panel_tarot.tarotistas t
    INNER JOIN asterisk.agentes a ON t.codigo_agente = a.usuario
    SET t.estado_actual = CASE 
        WHEN a.estado_login = 0 THEN 'offline'
        WHEN a.estado_ocupacion = 1 THEN 'ocupado'
        WHEN a.dnd_status = 1 THEN 'pausa'
        ELSE 'disponible'
    END;
END$$

DELIMITER ;