-- Limpiar las tablas temporales anteriores
DROP TEMPORARY TABLE IF EXISTS tmp_centros;
DROP TEMPORARY TABLE IF EXISTS tmp_usuarios;

-- Paso 1: Crear la tabla temporal para los centros del departamento 15 con ROW_NUMBER()
CREATE TEMPORARY TABLE tmp_centros AS
SELECT cv.IdCentro, cv.IdDistrito, ROW_NUMBER() OVER (ORDER BY cv.IdCentro) AS row_num  -- Generar número de fila para cada centro
FROM centrosvotacion cv
JOIN distrito di ON cv.IdDistrito = di.idDistrito
JOIN provincia pro ON di.idProvincia = pro.idProvincia
JOIN departamentos dep ON pro.idDepartamento = dep.idDepartamento
WHERE dep.idDepartamento = 15;

-- Paso 2: Crear la tabla temporal para los usuarios con rol 4 (coordinadores), limitados al número de centros disponibles
CREATE TEMPORARY TABLE tmp_usuarios AS
SELECT u.IdUsuario, ROW_NUMBER() OVER (ORDER BY u.IdUsuario) AS row_num  -- Generar número de fila para cada usuario
FROM usuario u
WHERE u.IdRol = 4  -- Solo usuarios con rol 4 (coordinadores)
ORDER BY u.IdUsuario
LIMIT 149;  -- Limitar el número de usuarios a la cantidad de centros disponibles

-- Paso 3: Insertar los registros en la tabla coordinadorcentro utilizando asignación cíclica
SET @counter := 0;

-- Insertar los registros en la tabla coordinadorcentro
INSERT INTO coordinadorcentro (
    IdElectoral,
    IdCentro,
    IdUsuario,
    Estado,
    FechaRegistro,
    FechaModifica
)
SELECT
    1 AS IdElectoral,                             -- Valor fijo para IdElectoral
    c.IdCentro,                                   -- El IdCentro de la tabla temporal
    u.IdUsuario,                                  -- El IdUsuario de la tabla temporal
    'Activo' AS Estado,                           -- Valor fijo para Estado
    NOW() AS FechaRegistro,                       -- Fecha y hora actual para FechaRegistro
    NOW() AS FechaModifica                        -- Fecha y hora actual para FechaModifica
FROM tmp_centros c
JOIN tmp_usuarios u ON (u.row_num = c.row_num)  -- Asignación secuencial de usuarios a centros
ORDER BY c.IdCentro;









-- INSERT INTO coordinadorcentro (IdElectoral, IdCentro, IdUsuario, FechaRegistro) VALUES
--                                                                                     (1, 75, 30003, '2025-04-09 10:22:10'),
--                                                                                     (1, 76, 30008, '2025-04-09 10:22:10'),
--                                                                                     (1, 77, 30013, '2025-04-09 10:22:10'),
--                                                                                     (1, 78, 30018, '2025-04-09 10:22:10'),
--                                                                                     (1, 79, 30023, '2025-04-09 10:22:10'),
--                                                                                     (1, 80, 30028, '2025-04-09 10:22:10'),
--                                                                                     (1, 81, 30033, '2025-04-09 10:22:10'),
--                                                                                     (1, 82, 30038, '2025-04-09 10:22:10'),
--                                                                                     (1, 83, 30043, '2025-04-09 10:22:10'),
--                                                                                     (1, 84, 30048, '2025-04-09 10:22:10'),
--                                                                                     (1, 85, 30053, '2025-04-09 10:22:10'),
--                                                                                     (1, 86, 30058, '2025-04-09 10:22:10'),
--                                                                                     (1, 87, 30063, '2025-04-09 10:22:10'),
--                                                                                     (1, 88, 30068, '2025-04-09 10:22:10'),
--                                                                                     (1, 89, 30073, '2025-04-09 10:22:10'),
--                                                                                     (1, 90, 30078, '2025-04-09 10:22:10'),
--                                                                                     (1, 91, 30083, '2025-04-09 10:22:10'),
--                                                                                     (1, 92, 30088, '2025-04-09 10:22:10'),
--                                                                                     (1, 93, 30093, '2025-04-09 10:22:10'),
--                                                                                     (1, 94, 30098, '2025-04-09 10:22:10'),
--                                                                                     (1, 95, 30103, '2025-04-09 10:22:10'),
--                                                                                     (1, 96, 30108, '2025-04-09 10:22:10'),
--                                                                                     (1, 97, 30113, '2025-04-09 10:22:10'),
--                                                                                     (1, 98, 30118, '2025-04-09 10:22:10'),
--                                                                                     (1, 99, 30123, '2025-04-09 10:22:10'),
--                                                                                     (1, 100, 30128, '2025-04-09 10:22:10'),
--                                                                                     (1, 101, 30133, '2025-04-09 10:22:10'),
--                                                                                     (1, 102, 30138, '2025-04-09 10:22:10'),
--                                                                                     (1, 103, 30143, '2025-04-09 10:22:10'),
--                                                                                     (1, 104, 30148, '2025-04-09 10:22:10'),
--                                                                                     (1, 105, 30153, '2025-04-09 10:22:10'),
--                                                                                     (1, 106, 30158, '2025-04-09 10:22:10'),
--                                                                                     (1, 107, 30163, '2025-04-09 10:22:10'),
--                                                                                     (1, 108, 30168, '2025-04-09 10:22:10'),
--                                                                                     (1, 109, 30173, '2025-04-09 10:22:10'),
--                                                                                     (1, 110, 30178, '2025-04-09 10:22:10'),
--                                                                                     (1, 111, 30183, '2025-04-09 10:22:10'),
--                                                                                     (1, 112, 30188, '2025-04-09 10:22:10'),
--                                                                                     (1, 113, 30193, '2025-04-09 10:22:10'),
--                                                                                     (1, 74, 30198, '2025-04-09 10:22:10'),
--                                                                                     (1, 53, 30203, '2025-04-09 10:22:10'),
--                                                                                     (1, 54, 30208, '2025-04-09 10:22:10'),
--                                                                                     (1, 55, 30213, '2025-04-09 10:22:10'),
--                                                                                     (1, 56, 30218, '2025-04-09 10:22:10'),
--                                                                                     (1, 57, 30223, '2025-04-09 10:22:10'),
--                                                                                     (1, 58, 30228, '2025-04-09 10:22:10'),
--                                                                                     (1, 59, 30233, '2025-04-09 10:22:10'),
--                                                                                     (1, 60, 30238, '2025-04-09 10:22:10'),
--                                                                                     (1, 61, 30243, '2025-04-09 10:22:10'),
--                                                                                     (1, 62, 30248, '2025-04-09 10:22:10'),
--                                                                                     (1, 73, 30253, '2025-04-09 10:22:10'),
--                                                                                     (1, 72, 30258, '2025-04-09 10:22:10'),
--                                                                                     (1, 1, 30263, '2025-04-09 10:22:10'),
--                                                                                     (1, 2, 30268, '2025-04-09 10:22:10'),
--                                                                                     (1, 3, 30273, '2025-04-09 10:22:10'),
--                                                                                     (1, 4, 30278, '2025-04-09 10:22:10'),
--                                                                                     (1, 5, 30283, '2025-04-09 10:22:10'),
--                                                                                     (1, 6, 30288, '2025-04-09 10:22:10'),
--                                                                                     (1, 7, 30293, '2025-04-09 10:22:10'),
--                                                                                     (1, 8, 30298, '2025-04-09 10:22:10'),
--                                                                                     (1, 9, 30303, '2025-04-09 10:22:10'),
--                                                                                     (1, 10, 30308, '2025-04-09 10:22:10'),
--                                                                                     (1, 11, 30313, '2025-04-09 10:22:10'),
--                                                                                     (1, 12, 30318, '2025-04-09 10:22:10'),
--                                                                                     (1, 13, 30323, '2025-04-09 10:22:10'),
--                                                                                     (1, 14, 30328, '2025-04-09 10:22:10'),
--                                                                                     (1, 15, 30333, '2025-04-09 10:22:10'),
--                                                                                     (1, 16, 30338, '2025-04-09 10:22:10'),
--                                                                                     (1, 17, 30343, '2025-04-09 10:22:10'),
--                                                                                     (1, 18, 30348, '2025-04-09 10:22:10'),
--                                                                                     (1, 19, 30353, '2025-04-09 10:22:10'),
--                                                                                     (1, 20, 30358, '2025-04-09 10:22:10'),
--                                                                                     (1, 21, 30363, '2025-04-09 10:22:10'),
--                                                                                     (1, 22, 30368, '2025-04-09 10:22:10'),
--                                                                                     (1, 23, 30373, '2025-04-09 10:22:10'),
--                                                                                     (1, 24, 30378, '2025-04-09 10:22:10'),
--                                                                                     (1, 25, 30383, '2025-04-09 10:22:10'),
--                                                                                     (1, 26, 30388, '2025-04-09 10:22:10'),
--                                                                                     (1, 27, 30393, '2025-04-09 10:22:10'),
--                                                                                     (1, 28, 30398, '2025-04-09 10:22:10'),
--                                                                                     (1, 29, 30403, '2025-04-09 10:22:10'),
--                                                                                     (1, 30, 30408, '2025-04-09 10:22:10'),
--                                                                                     (1, 31, 30413, '2025-04-09 10:22:10'),
--                                                                                     (1, 32, 30418, '2025-04-09 10:22:10'),
--                                                                                     (1, 33, 30423, '2025-04-09 10:22:10'),
--                                                                                     (1, 34, 30428, '2025-04-09 10:22:10'),
--                                                                                     (1, 35, 30433, '2025-04-09 10:22:10'),
--                                                                                     (1, 36, 30438, '2025-04-09 10:22:10'),
--                                                                                     (1, 37, 30443, '2025-04-09 10:22:10'),
--                                                                                     (1, 38, 30448, '2025-04-09 10:22:10'),
--                                                                                     (1, 39, 30453, '2025-04-09 10:22:10'),
--                                                                                     (1, 40, 30458, '2025-04-09 10:22:10'),
--                                                                                     (1, 41, 30463, '2025-04-09 10:22:10'),
--                                                                                     (1, 42, 30468, '2025-04-09 10:22:10'),
--                                                                                     (1, 69, 30473, '2025-04-09 10:22:10'),
--                                                                                     (1, 70, 30478, '2025-04-09 10:22:10'),
--                                                                                     (1, 71, 30483, '2025-04-09 10:22:10'),
--                                                                                     (1, 67, 30488, '2025-04-09 10:22:10'),
--                                                                                     (1, 68, 30493, '2025-04-09 10:22:10'),
--                                                                                     (1, 64, 30498, '2025-04-09 10:22:10'),
--                                                                                     (1, 65, 30503, '2025-04-09 10:22:10'),
--                                                                                     (1, 66, 30508, '2025-04-09 10:22:10'),
--                                                                                     (1, 43, 30513, '2025-04-09 10:22:10'),
--                                                                                     (1, 44, 30518, '2025-04-09 10:22:10'),
--                                                                                     (1, 45, 30523, '2025-04-09 10:22:10'),
--                                                                                     (1, 46, 30528, '2025-04-09 10:22:10'),
--                                                                                     (1, 47, 30533, '2025-04-09 10:22:10'),
--                                                                                     (1, 48, 30538, '2025-04-09 10:22:10'),
--                                                                                     (1, 49, 30543, '2025-04-09 10:22:10'),
--                                                                                     (1, 50, 30548, '2025-04-09 10:22:10'),
--                                                                                     (1, 51, 30553, '2025-04-09 10:22:10'),
--                                                                                     (1, 52, 30558, '2025-04-09 10:22:10'),
--                                                                                     (1, 114, 30563, '2025-04-09 10:22:10'),
--                                                                                     (1, 63, 30568, '2025-04-09 10:22:10'),
--                                                                                     (1, 115, 30573, '2025-04-09 10:22:10'),
--                                                                                     (1, 116, 30578, '2025-04-09 10:22:10'),
--                                                                                     (1, 117, 30583, '2025-04-09 10:22:10'),
--                                                                                     (1, 118, 30588, '2025-04-09 10:22:10'),
--                                                                                     (1, 119, 30593, '2025-04-09 10:22:10'),
--                                                                                     (1, 120, 30598, '2025-04-09 10:22:10'),
--                                                                                     (1, 121, 30603, '2025-04-09 10:22:10'),
--                                                                                     (1, 122, 30608, '2025-04-09 10:22:10'),
--                                                                                     (1, 123, 30613, '2025-04-09 10:22:10'),
--                                                                                     (1, 124, 30618, '2025-04-09 10:22:10'),
--                                                                                     (1, 125, 30623, '2025-04-09 10:22:10'),
--                                                                                     (1, 126, 30628, '2025-04-09 10:22:10'),
--                                                                                     (1, 127, 30633, '2025-04-09 10:22:10'),
--                                                                                     (1, 128, 30638, '2025-04-09 10:22:10'),
--                                                                                     (1, 129, 30643, '2025-04-09 10:22:10'),
--                                                                                     (1, 130, 30648, '2025-04-09 10:22:10'),
--                                                                                     (1, 131, 30653, '2025-04-09 10:22:10'),
--                                                                                     (1, 132, 30658, '2025-04-09 10:22:10'),
--                                                                                     (1, 133, 30663, '2025-04-09 10:22:10'),
--                                                                                     (1, 134, 30668, '2025-04-09 10:22:10'),
--                                                                                     (1, 135, 30673, '2025-04-09 10:22:10'),
--                                                                                     (1, 136, 30678, '2025-04-09 10:22:10'),
--                                                                                     (1, 137, 30683, '2025-04-09 10:22:10'),
--                                                                                     (1, 138, 30688, '2025-04-09 10:22:10'),
--                                                                                     (1, 139, 30693, '2025-04-09 10:22:10'),
--                                                                                     (1, 140, 30698, '2025-04-09 10:22:10'),
--                                                                                     (1, 141, 30703, '2025-04-09 10:22:10'),
--                                                                                     (1, 142, 30708, '2025-04-09 10:22:10'),
--                                                                                     (1, 143, 30713, '2025-04-09 10:22:10'),
--                                                                                     (1, 144, 30718, '2025-04-09 10:22:10'),
--                                                                                     (1, 145, 30723, '2025-04-09 10:22:10'),
--                                                                                     (1, 146, 30728, '2025-04-09 10:22:10'),
--                                                                                     (1, 147, 30733, '2025-04-09 10:22:10'),
--                                                                                     (1, 148, 30738, '2025-04-09 10:22:10'),
--                                                                                     (1, 149, 30743, '2025-04-09 10:22:10');
