-- ============================================
-- SICA - Datos Iniciales
-- Versión: 1.0
-- Fecha: 20 de Octubre, 2025
-- ============================================


-- ============================================
-- CONFIGURACIÓN ACADÉMICA
-- ============================================

-- Niveles educativos
INSERT INTO niveles (descripcion) VALUES
('PRIMARIA'),
('SECUNDARIA');

-- Grados
INSERT INTO grados (descripcion, orden) VALUES
('PRIMERO', 1),
('SEGUNDO', 2),
('TERCERO', 3),
('CUARTO', 4),
('QUINTO', 5),
('SEXTO', 6);

-- Secciones
INSERT INTO secciones (nombre) VALUES
('A'), ('B'), ('C'), ('D'), ('E');

-- Áreas curriculares
INSERT INTO areas (descripcion) VALUES
('Matemática'),
('Comunicación'),
('Ciencia y Tecnología'),
('Ciencias Sociales'),
('Educación Física'),
('Arte y Cultura'),
('Inglés'),
('Educación Religiosa'),
('Educación para el Trabajo'),
('Tutoría');

-- Turnos
INSERT INTO turnos (descripcion, hora_inicio, hora_fin) VALUES
('Mañana', '07:00:00', '12:35:00'),
('Tarde', '13:00:00', '18:35:00');

-- Cargos administrativos
INSERT INTO cargos (descripcion, observaciones) VALUES
('Director', 'Director de la institución educativa'),
('Subdirector de Primaria', 'Subdirector del nivel primaria'),
('Subdirector de Secundaria', 'Subdirector del nivel secundaria'),
('Coordinador Pedagógico', 'Coordinador del área pedagógica'),
('Coordinador de TOE', 'Coordinador de Tutoría y Orientación Educativa'),
('Psicólogo', 'Psicólogo de la institución');

-- Año lectivo actual
INSERT INTO anos_lectivos (ano, estado, fecha_inicio, fecha_fin) VALUES
('2025', 'ACTIVO', '2025-03-01', '2025-12-20');

-- ============================================
-- TIPOS DE INCIDENCIAS
-- ============================================

INSERT INTO tipos_incidencia (nombre, categoria, gravedad, descripcion) VALUES
-- Disciplinarias
('Interrumpir la clase', 'DISCIPLINARIA', 'LEVE', 'Interrumpe constantemente el desarrollo de la clase'),
('Desorden en el aula', 'DISCIPLINARIA', 'LEVE', 'Genera desorden en el salón de clases'),
('Falta de respeto al docente', 'DISCIPLINARIA', 'GRAVE', 'Muestra falta de respeto o insubordinación hacia el docente'),
('Agresión verbal', 'DISCIPLINARIA', 'GRAVE', 'Agresión verbal hacia compañeros o personal'),
('Agresión física', 'DISCIPLINARIA', 'MUY_GRAVE', 'Agresión física hacia compañeros o personal'),
('Bullying', 'DISCIPLINARIA', 'MUY_GRAVE', 'Acoso o intimidación sistemática a compañeros'),

-- Uniforme
('No porta uniforme completo', 'UNIFORME', 'LEVE', 'Asiste sin el uniforme completo'),
('Cabello largo (varones)', 'UNIFORME', 'LEVE', 'Varones con cabello que excede el largo permitido'),
('Uso indebido del uniforme', 'UNIFORME', 'MODERADA', 'Modifica o usa incorrectamente el uniforme'),

-- Convivencia
('Juegos bruscos', 'CONVIVENCIA', 'MODERADA', 'Realiza juegos que ponen en riesgo a otros'),
('Vocabulario inapropiado', 'CONVIVENCIA', 'MODERADA', 'Usa vocabulario soez o inapropiado'),
('Discriminación', 'CONVIVENCIA', 'GRAVE', 'Discrimina a compañeros por cualquier motivo'),
('Destrucción de propiedad', 'CONVIVENCIA', 'GRAVE', 'Daña mobiliario o propiedad de la institución'),

-- Académicas
('No trae materiales', 'ACADEMICA', 'LEVE', 'No trae los materiales solicitados para clase'),
('No cumple con tareas', 'ACADEMICA', 'LEVE', 'No cumple con las tareas asignadas'),
('Copia en evaluaciones', 'ACADEMICA', 'GRAVE', 'Copia durante evaluaciones o trabajos'),
('Plagio', 'ACADEMICA', 'GRAVE', 'Presenta trabajos copiados como propios'),

-- Otras
('Uso de celular en clase', 'OTRA', 'LEVE', 'Usa dispositivos electrónicos durante la clase sin autorización'),
('Salida del aula sin permiso', 'OTRA', 'MODERADA', 'Sale del aula sin autorización del docente'),
('Fuga del colegio', 'OTRA', 'MUY_GRAVE', 'Sale de la institución sin autorización');

-- ============================================
-- USUARIO ADMINISTRADOR INICIAL
-- ============================================

-- Crear usuario administrador
-- Usuario: admin
-- Contraseña: admin123 (debe cambiarse en producción)
INSERT INTO usuarios (username, password, email, rol, estado) VALUES
('admin', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'admin@sica.edu.pe', 'SUPER_ADMIN', 'ACTIVO');

-- Crear datos del administrador
SET @admin_usuario_id = LAST_INSERT_ID();

INSERT INTO administradores (nombres, apellido_paterno, apellido_materno, dni, cargo_id, email, usuario_id)
SELECT 'Administrador', 'del', 'Sistema', '00000000', id, 'admin@sica.edu.pe', @admin_usuario_id
FROM cargos WHERE descripcion = 'Director' LIMIT 1;

-- ============================================
-- DÍAS NO LABORABLES 2025 (PERÚ)
-- ============================================

SET @ano_lectivo_id = (SELECT id FROM anos_lectivos WHERE ano = '2025' LIMIT 1);

INSERT INTO calendario_no_laborables (fecha, motivo, tipo, ano_lectivo_id) VALUES
-- Enero
('2025-01-01', 'Año Nuevo', 'FERIADO', @ano_lectivo_id),

-- Marzo
('2025-03-29', 'Día de los Héroes de la Guerra del Pacífico', 'FERIADO', @ano_lectivo_id),

-- Abril
('2025-04-17', 'Jueves Santo', 'FERIADO', @ano_lectivo_id),
('2025-04-18', 'Viernes Santo', 'FERIADO', @ano_lectivo_id),
('2025-04-19', 'Sábado Santo', 'FERIADO', @ano_lectivo_id),

-- Mayo
('2025-05-01', 'Día del Trabajo', 'FERIADO', @ano_lectivo_id),

-- Junio
('2025-06-29', 'San Pedro y San Pablo', 'FERIADO', @ano_lectivo_id),

-- Julio
('2025-07-28', 'Día de la Independencia', 'FERIADO', @ano_lectivo_id),
('2025-07-29', 'Día de la Independencia', 'FERIADO', @ano_lectivo_id),

-- Agosto
('2025-08-06', 'Batalla de Junín', 'FERIADO', @ano_lectivo_id),
('2025-08-30', 'Santa Rosa de Lima', 'FERIADO', @ano_lectivo_id),

-- Octubre
('2025-10-08', 'Combate de Angamos', 'FERIADO', @ano_lectivo_id),

-- Noviembre
('2025-11-01', 'Todos los Santos', 'FERIADO', @ano_lectivo_id),

-- Diciembre
('2025-12-08', 'Inmaculada Concepción', 'FERIADO', @ano_lectivo_id),
('2025-12-25', 'Navidad', 'FERIADO', @ano_lectivo_id);

-- ============================================
-- DATOS DE EJEMPLO (OPCIONALES)
-- ============================================

-- Crear un estudiante de ejemplo
INSERT INTO estudiantes (nombres, apellido_paterno, apellido_materno, dni, genero, fecha_nacimiento, estado)
VALUES ('Juan Carlos', 'Pérez', 'García', '75123456', 'M', '2010-05-15', 'ACTIVO');

-- Crear un apoderado de ejemplo
INSERT INTO apoderados (nombres, apellido_paterno, apellido_materno, dni, celular, genero)
VALUES ('María Elena', 'García', 'López', '45678901', '987654321', 'F');

-- Vincular estudiante con apoderado
INSERT INTO estudiante_apoderado (estudiante_id, apoderado_id, parentesco, es_principal)
VALUES (LAST_INSERT_ID(), (SELECT id FROM apoderados WHERE dni = '45678901'), 'MADRE', TRUE);

-- Crear un docente de ejemplo
INSERT INTO docentes (nombres, apellido_paterno, apellido_materno, dni, email, estado)
VALUES ('Carlos Alberto', 'Rodríguez', 'Martínez', '12345678', 'carlos.rodriguez@sica.edu.pe', 'ACTIVO');

-- Asignar área al docente
INSERT INTO docente_area (docente_id, area_id)
SELECT d.id, a.id
FROM docentes d, areas a
WHERE d.dni = '12345678' AND a.descripcion = 'Matemática';

-- ============================================
-- VERIFICACIÓN
-- ============================================

-- Contar registros creados
SELECT 'Datos iniciales insertados exitosamente' AS mensaje;
SELECT 'Niveles' as tabla, COUNT(*) as registros FROM niveles
UNION ALL SELECT 'Grados', COUNT(*) FROM grados
UNION ALL SELECT 'Secciones', COUNT(*) FROM secciones
UNION ALL SELECT 'Áreas', COUNT(*) FROM areas
UNION ALL SELECT 'Turnos', COUNT(*) FROM turnos
UNION ALL SELECT 'Cargos', COUNT(*) FROM cargos
UNION ALL SELECT 'Años Lectivos', COUNT(*) FROM anos_lectivos
UNION ALL SELECT 'Tipos de Incidencia', COUNT(*) FROM tipos_incidencia
UNION ALL SELECT 'Usuarios', COUNT(*) FROM usuarios
UNION ALL SELECT 'Días No Laborables', COUNT(*) FROM calendario_no_laborables;

-- Mostrar credenciales del administrador
SELECT
    'CREDENCIALES DE ACCESO' as info,
    'Usuario: admin' as usuario,
    'Contraseña: admin123' as password,
    '¡CAMBIAR CONTRASEÑA INMEDIATAMENTE EN PRODUCCIÓN!' as advertencia;
