-- Phase 3: Cronograma & Legal Data

-- 1. Create Cronograma Hitos Table
CREATE TABLE IF NOT EXISTS cronograma_hitos (
  id INT AUTO_INCREMENT PRIMARY KEY,
  fecha_inicio DATE NOT NULL,
  fecha_fin DATE NULL,
  nombre_hito VARCHAR(255) NOT NULL,
  descripcion TEXT NULL,
  es_hito_clave BOOLEAN DEFAULT 0,
  estado ENUM('pendiente', 'en_curso', 'concluido') DEFAULT 'pendiente'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 2. Seed Cronograma ERM 2026 (Based on JNE Projections)
TRUNCATE TABLE cronograma_hitos;

INSERT INTO cronograma_hitos (fecha_inicio, fecha_fin, nombre_hito, descripcion, es_hito_clave, estado) VALUES
('2026-01-07', NULL, 'Convocatoria a Elecciones', 'Decreto Supremo N° 001-2026-PCM convoca a Elecciones Regionales y Municipales.', 1, 'concluido'),
('2026-01-07', '2026-01-07', 'Cierre de afiliación para candidatos', 'Fecha límite para afiliarse a un partido político para participar en primarias.', 1, 'concluido'),
('2026-01-15', NULL, 'Entrega de Padrones de Afiliados', 'Partidos entregan padrones al RENIEC.', 0, 'concluido'),
('2026-01-17', NULL, 'Cierre de Alianzas Electorales', 'Fecha límite para inscribir alianzas ante el ROP.', 0, 'concluido'),
('2026-04-07', NULL, 'Cierre del Padrón Electoral', 'RENIEC cierra el padrón de electores hábiles.', 1, 'pendiente'),
('2026-05-17', '2026-05-24', 'Elecciones Primarias', 'Realización de elecciones internas/primarias de las organizaciones políticas.', 1, 'pendiente'),
('2026-06-16', NULL, 'Cierre de Inscripción de Listas', 'Fecha límite para presentar solicitudes de inscripción de listas ante los JEE.', 1, 'pendiente'),
('2026-07-26', NULL, 'Sorteo de Miembros de Mesa', 'ONPE realiza el sorteo de miembros de mesa.', 0, 'pendiente'),
('2026-08-05', NULL, 'Publicación de Listas Admitidas', 'Fecha límite para publicar listas definitivamente admitidas.', 0, 'pendiente'),
('2026-10-04', NULL, 'Día de la Elección', 'Sufragio nacional para Elecciones Regionales y Municipales 2026.', 1, 'pendiente');

-- 3. Seed Normas (Legal Library)
-- Clearing previous dummy data if any (or maintaining user data if careful, but for this seed we act as master)
TRUNCATE TABLE normas;

INSERT INTO normas (titulo, tipo, emisor, fecha_publicacion, resumen, url_pdf, url_elperuano, tags) VALUES
('Ley Orgánica de Elecciones', 'Ley', 'Congreso', '1997-10-01', 'Ley N° 26859. Norma base de los procesos electorales. Incluye modificaciones recientes sobre bicameralidad y primarias.', 'https://portal.jne.gob.pe/portal_documentos/files/normativa/Leyes/LEY%20ORGANICA%20DE%20ELECCIONES.pdf', 'https://busquedas.elperuano.pe/normaslegales/ley-organica-de-elecciones-ley-n-26859-192534-1/', 'LOE, general'),
('Ley de Elecciones Municipales', 'Ley', 'Congreso', '1997-10-14', 'Ley N° 26864. Regula específicamente las elecciones de alcaldes y regidores.', 'https://portal.jne.gob.pe/portal_documentos/files/normativa/Leyes/LEY%20DE%20ELECCIONES%20MUNICIPALES.pdf', NULL, 'municipal, LEM'),
('Ley de Elecciones Regionales', 'Ley', 'Congreso', '2002-03-14', 'Ley N° 27683. Regula la elección de gobernadores y consejeros.', 'https://portal.jne.gob.pe/portal_documentos/files/normativa/Leyes/LEY%20DE%20ELECCIONES%20REGIONALES.pdf', NULL, 'regional, LER'),
('Reglamento de Inscripción de Listas Municipales 2026', 'Reglamento', 'JNE', '2025-10-15', 'Resolución N° 0848-2025-JNE. Establece requisitos y procedimientos para listas de alcaldes y regidores.', 'https://img.lpderecho.pe/wp-content/uploads/2022/01/Resolucion-0942-2021-JNE-LPDerecho.pdf', NULL, 'inscripción, municipal, requisitos'),
('Reglamento de Inscripción de Listas Regionales 2026', 'Reglamento', 'JNE', '2026-01-05', 'Resolución N° 0002-2026-JNE. Requisitos para Góbernadores y Consejeros.', NULL, NULL, 'inscripción, regional'),
('Convocatoria a Elecciones 2026', 'Decreto Supremo', 'PCM', '2026-01-07', 'D.S. 001-2026-PCM. Convoca a elecciones para el 4 de octubre de 2026.', NULL, NULL, 'convocatoria, fecha');

-- 4. Update Admin Settings defaults (just in case)
INSERT INTO settings (key_name, value_text) VALUES ('fecha_cierre_inscripcion', '2026-06-16') ON DUPLICATE KEY UPDATE value_text='2026-06-16';
