-- 04_import_missing_agents.sql
-- Importar solo agentes que no existen en la BD

-- Usar base de datos asterisk
USE asterisk;

-- Crear tabla temporal con datos del Excel
CREATE TEMPORARY TABLE temp_agents_import (
    usuario VARCHAR(10),
    nombre VARCHAR(100),
    telefono VARCHAR(20),
    password VARCHAR(20),
    tipo VARCHAR(20)
);

-- Insertar datos del Excel (solo TAROT e INFO que no son coordinadores)
INSERT INTO temp_agents_import (usuario, nombre, telefono, password, tipo) VALUES
-- TAROT
('301', 'CLARA', '951990101', '5252', 'TAROT'),
('303', 'BRUNO', '983655881', '5252', 'TAROT'),
('308', 'ERIKA', '960153483', '5252', 'TAROT'),
('309', 'SAMUEL', '955351135', '5252', 'TAROT'),
('310', 'ITZIAR', '919339395', '5252', 'TAROT'),
('311', 'AURORA', '946940558', '5252', 'TAROT'),
('312', 'SANDRA', '923704401', '5252', 'TAROT'),
('314', 'INMA', '919320952', '5252', 'TAROT'),
('317', 'MARISOL', '918643035', '5252', 'TAROT'),
('318', 'LIA', '987665820', '5252', 'TAROT'),
('319', 'GABRIEL', '957912419', '5252', 'TAROT'),
('320', 'ALICIA', '854640802', '5252', 'TAROT'),
('321', 'FATIMA', '910075926', '5252', 'TAROT'),
('322', 'AURA', '951996141', '5252', 'TAROT'),
('323', 'PATRICIA', '919464342', '5252', 'TAROT'),
('324', 'VIRGINIA', '930129481', '5252', 'TAROT'),
('326', 'JORGE', '960990242', '5252', 'TAROT'),
('327', 'MARA', '951150949', '5252', 'TAROT'),
('329', 'AFRICA', '952219002', '5252', 'TAROT'),
('330', 'SARA', '864881569', '5252', 'TAROT'),
('331', 'YOLANDA', '950147010', '5252', 'TAROT'),
('332', 'ESTRELLA', '925591964', '5252', 'TAROT'),
('333', 'EVA', '915045005', '5252', 'TAROT'),
('334', 'MIRANDA', '913281122', '5252', 'TAROT'),
('335', 'MORGANA', '931299381', '5252', 'TAROT'),
('336', 'MENCIA', '828048500', '5252', 'TAROT'),
('337', 'NIX', '953051310', '5252', 'TAROT'),
('338', 'LLUVIA', '966165994', '5252', 'TAROT'),
('339', 'OLGA', '914609187', '5252', 'TAROT'),
('341', 'RUTH', '978767714', '5252', 'TAROT'),
('342', 'MALU', '919322548', '5252', 'TAROT'),
('343', 'JESUS', '966600755', '5252', 'TAROT'),
('344', 'PILAR', '918196729', '5252', 'TAROT'),
('345', 'MACARENA', '980097305', '5252', 'TAROT'),
('346', 'GRETA', '950047650', '5252', 'TAROT'),
('347', 'MAGNOLIA', '912017004', '5252', 'TAROT'),
('348', 'HADA', '925003533', '5252', 'TAROT'),
('349', 'CARMEN', '984518120', '5252', 'TAROT'),
('350', 'AHINOA', '937379505', '5252', 'TAROT'),
('352', 'RAFAELA', '960990460', '5252', 'TAROT'),
('353', 'BARBARA', '922085942', '5252', 'TAROT'),
('355', 'GLADIS', '966754753', '5252', 'TAROT'),
('356', 'LUNA', '919464388', '5252', 'TAROT'),
('358', 'ALBA', '854614674', '5252', 'TAROT'),
('359', 'RIKI', '856612508', '5252', 'TAROT'),
('360', 'AMPARO', '960218862', '5252', 'TAROT'),
('361', 'GALA', '958434634', '5252', 'TAROT'),
('362', 'CRISTAL', '919464341', '5252', 'TAROT'),
('363', 'CANDELA', '972972746', '5252', 'TAROT'),
('364', 'NEREA', '931248249', '5252', 'TAROT'),
('365', 'MAICA', '918646203', '5252', 'TAROT'),
('366', 'RAFAELA', '931776090', '5252', 'TAROT'),
('367', 'CHAR', '960990462', '5252', 'TAROT'),
('369', 'ZAMIRA', '914046363', '5252', 'TAROT'),
('370', 'BLANCA', '931312629', '5252', 'TAROT'),
('372', 'ANGELES', '910547475', '5252', 'TAROT'),
('374', 'ROSE', '910601673', '5252', 'TAROT'),
('375', 'SABRINA', '858133203', '5252', 'TAROT'),
('376', 'MAMEN', '948879356', '5252', 'TAROT'),
('377', 'CORAL', '951635273', '5252', 'TAROT'),
('378', 'ROSARIO', '910031982', '5252', 'TAROT'),
('379', 'AMBAR', '910601529', '5252', 'TAROT'),
('399', 'LUZ', '951383838', '5252', 'TAROT'),
-- INFO
('502', 'BORJA', 'CENTRALITA', '5252', 'INFO'),
('514', 'ANA', '911490669', '5252', 'INFO'),
('515', 'MIGUEL ANGEL', '926923194', '5252', 'INFO'),
('534', 'FLORIDA', NULL, '5252', 'INFO'),
('537', 'MARIA', '981753964', '5252', 'INFO'),
('555', 'BEATRIZ', '925821839', '5252', 'INFO'),
('568', 'LEONOR', '825852340', '5252', 'INFO'),
('569', 'MAGGIE', '965563678', '5252', 'INFO'),
('574', 'ESTRELLA', '881123980', '5252', 'INFO'),
('577', 'DANIEL', '924033345', '5252', 'INFO'),
-- CALL CENTER EXTERNO (se manejan como agentes especiales)
('586', 'COLOMBIA 1', '931212030', '1111', 'EXTERNO'),
('587', 'COLOMBIA 2', '931212031', '1111', 'EXTERNO'),
('588', 'COLOMBIA 3', '931212021', '1111', 'EXTERNO'),
('589', 'COLOMBIA 4', '931212032', '1111', 'EXTERNO'),
('591', 'COLOMBIA 5', '931212027', '1111', 'EXTERNO'),
('592', 'ERO 1', '931212022', '1111', 'EROTICO'),
('593', 'ERO 2', '931212034', '1111', 'EROTICO'),
('594', 'ERO 3', '931212035', '1111', 'EROTICO');

-- Mostrar qué agentes NO existen actualmente
SELECT t.* FROM temp_agents_import t
LEFT JOIN agentes a ON t.usuario = a.usuario
WHERE a.usuario IS NULL;

-- Insertar solo los que no existen
INSERT INTO agentes (usuario, nombre, apellidos, password, telefono, activo, estado_login, estado_ocupacion, dnd_status)
SELECT 
    t.usuario,
    SUBSTRING_INDEX(t.nombre, ' ', 1) as nombre,
    CASE 
        WHEN LOCATE(' ', t.nombre) > 0 THEN SUBSTRING(t.nombre, LOCATE(' ', t.nombre) + 1)
        ELSE ''
    END as apellidos,
    t.password,
    COALESCE(t.telefono, 'CENTRALITA'),
    1 as activo,
    0 as estado_login,
    0 as estado_ocupacion,
    0 as dnd_status
FROM temp_agents_import t
LEFT JOIN agentes a ON t.usuario = a.usuario
WHERE a.usuario IS NULL;

-- Actualizar tipo para agentes INFO y EROTICO (si la columna existe)
-- UPDATE agentes a
-- JOIN temp_agents_import t ON a.usuario = t.usuario
-- SET a.tipo = t.tipo
-- WHERE t.tipo IN ('INFO', 'EROTICO', 'EXTERNO');

-- Mostrar resumen
SELECT 
    'Agentes importados:' as info,
    COUNT(*) as total
FROM temp_agents_import t
LEFT JOIN agentes a ON t.usuario = a.usuario
WHERE a.usuario IS NULL;

-- Verificar resultado
SELECT 
    CASE 
        WHEN usuario >= '300' AND usuario < '400' THEN 'TAROT'
        WHEN usuario >= '500' AND usuario < '600' THEN 'INFO/EXTERNO'
        ELSE 'OTRO'
    END as tipo,
    COUNT(*) as total
FROM agentes
WHERE activo = 1
GROUP BY tipo;

-- Limpiar
DROP TEMPORARY TABLE temp_agents_import;