-- insertamos el Partido
INSERT INTO partidopolitico(Nombre, Sigla, Logo, Estado)VALUES('Somos Peru', "SP", "https://logowik.com/content/uploads/images/partido-democratico-somos-peru8210.logowik.com.webp", "Activo");
INSERT INTO partidopolitico(Nombre, Sigla, Logo, Estado)VALUES('Alianza Progreso', "APL", "https://app.pe/wp-content/uploads/2025/01/logo-cabecera.png", "Activo");
INSERT INTO partidopolitico(Nombre, Sigla, Logo, Estado)VALUES('Podemos Peru', "PP", "https://podemosperu.org.pe/wp-content/uploads/2023/01/cropped-LOGO-PODEMOS-PERU-e1684165944606.png", "Activo");
INSERT INTO partidopolitico(Nombre, Sigla, Logo, Estado)VALUES('Fuerza Popular', "K","https://fuerzapopular.com.pe/wp-content/uploads/2023/09/LOGO-FP-1.png", "Activo");
INSERT INTO partidopolitico(Nombre, Sigla, Logo, Estado)VALUES('Renovacion Popular', "RP","https://renovacionpopular.com.pe/wp-content/uploads/2021/04/cropped-Mesa-de-trabajo-1-1.png", "Activo");


SET @clave_fija = '$2y$12$ULuC2R9E0Ot7E/uLw3VguuTXepVpWC176Ovb/43V8SnSltA6Q.wJO';

-- insertamos los Usuarios
    -- 1. INSERCCION DE USUARIOS CON ROL PERSONEROS (30,000 usuarios, rol 3)
INSERT INTO usuario (
    IdPersona,
    IdRol,
    IdPartido,
    Login,
    Clave,
    Estado,
    FechaRegistro,
    FechaModifica
)
SELECT
    p.IdPersona,
    3 AS IdRol,
    5 AS IdPartido,
    -- ((ROW_NUMBER() OVER (ORDER BY p.IdPersona) - 1) % 5) + 1 AS IdPartido, -- Para el IdPartido aleatorio
    CONCAT(LOWER(REPLACE(p.Nombre, ' ', '')), '.', LOWER(REPLACE(p.Apellido, ' ', '')), '.', p.IdPersona, '@gmail.com'),
    @clave_fija,
    'Activo',
    NOW(),
    NOW()
FROM persona p
WHERE p.IdPersona NOT IN (SELECT IdPersona FROM usuario)
ORDER BY p.IdPersona
LIMIT 1536;

-- 2.INSERCCION DE USUARIOS CON ROL COORDINADORES (4,000 usuarios, rol 4)
ALTER TABLE usuario auto_increment 1537;
INSERT INTO usuario (
    IdPersona,
    IdRol,
    IdPartido,
    Login,
    Clave,
    Estado,
    FechaRegistro,
    FechaModifica
)
SELECT
    p.IdPersona,
    4 AS IdRol,
    5 AS IdPartido,
    -- ((ROW_NUMBER() OVER (ORDER BY p.IdPersona) - 1) % 5) + 1 AS IdPartido,
    CONCAT(LOWER(REPLACE(p.Nombre, ' ', '')), '.', LOWER(REPLACE(p.Apellido, ' ', '')), '.', p.IdPersona, '@gmail.com'),
    @clave_fija,
    'Activo',
    NOW(),
    NOW()
FROM persona p
WHERE p.IdPersona NOT IN (SELECT IdPersona FROM usuario)
ORDER BY p.IdPersona
LIMIT 424;


-- 3.INSERCCION DE USUARIOS CON ROL ADMINISTRADOR (1 usuario, rol 2)
ALTER TABLE usuario auto_increment 1961;
insert into usuario(IdPersona, Login, Clave, IdRol, Estado, IdPartido)
values(7512, "admin@gmail.com", "$2y$12$ULuC2R9E0Ot7E/uLw3VguuTXepVpWC176Ovb/43V8SnSltA6Q.wJO", 2, "Activo", 5);

-- INSERT INTO usuario (
--     IdPersona,
--     IdRol,
--     IdPartido,
--     Login,
--     Clave,
--     Estado,
--     FechaRegistro,
--     FechaModifica
-- )
-- SELECT
--     p.IdPersona,
--     2 AS IdRol,
--     5 AS IdPartido,  -- o puedes dejarlo random si gustas
--     CONCAT(
--         LOWER(REPLACE(p.Nombre, ' ', '')),
--         '.',
--         LOWER(REPLACE(p.Apellido, ' ', '')),
--         '.',
--         p.IdPersona,
--         '.',
--         FLOOR(RAND() * 10000), -- Número aleatorio para garantizar unicidad
--         '@gmail.com'
--     ) AS Login,
--     @clave_fija,
--     'Activo',
--     NOW(),
--     NOW()
-- FROM persona p
-- ORDER BY p.IdPersona
-- LIMIT 1;
