-- Limpiar la tabla temporal anterior (si existe)
DROP TEMPORARY TABLE IF EXISTS tmp_distritos;
CREATE TEMPORARY TABLE tmp_distritos AS
SELECT d.IdDistrito, ROW_NUMBER() OVER (ORDER BY d.IdDistrito) AS row_num
FROM distrito d;

-- Limpiar la tabla temporal anterior (si existe)
DROP TEMPORARY TABLE IF EXISTS tmp_distritos_15;
CREATE TEMPORARY TABLE tmp_distritos_15 AS
SELECT d.IdDistrito FROM distrito d
JOIN provincia p ON d.IdProvincia = p.idProvincia
JOIN departamentos dep ON p.idDepartamento = dep.idDepartamento
WHERE dep.idDepartamento = 15;

-- Contar cuántos distritos hay
SELECT COUNT(*) INTO @total_distritos FROM tmp_distritos;
INSERT INTO partidoalcance (IdElectoralPartido, IdDistrito,  EstadoAlcance)
SELECT 1 AS IdElectoralPartido, d.IdDistrito, 'Activo' AS EstadoAlcance
FROM tmp_distritos d ORDER BY d.IdDistrito;

alter table partidoalcance auto_increment 1831;
INSERT INTO partidoalcance (IdElectoralPartido, IdDistrito,  EstadoAlcance)
SELECT 2 AS IdElectoralPartido,  d.IdDistrito, 'Activo' AS EstadoAlcance
FROM tmp_distritos d ORDER BY d.IdDistrito;

alter table partidoalcance auto_increment 3662;
INSERT INTO partidoalcance (IdElectoralPartido, IdDistrito,  EstadoAlcance)
SELECT 3 AS IdElectoralPartido, d.IdDistrito,  'Activo' AS EstadoAlcance
FROM tmp_distritos d ORDER BY d.IdDistrito;

alter table partidoalcance auto_increment 5492;
INSERT INTO partidoalcance (IdElectoralPartido, IdDistrito,  EstadoAlcance)
SELECT 4 AS IdElectoralPartido, d.IdDistrito, 'Activo' AS EstadoAlcance
FROM tmp_distritos d ORDER BY d.IdDistrito;

-- Insertar los registros en la tabla partidoalcance (IdElectoralPartido 5)
alter table partidoalcance auto_increment 5492;
INSERT INTO partidoalcance (IdElectoralPartido,  IdDistrito, EstadoAlcance)
SELECT 5 AS IdElectoralPartido, d.IdDistrito, 'Activo' AS EstadoAlcance
FROM tmp_distritos_15 d;
