<?php
session_start();
// Incluir paths.php ANTES de cualquier redirección para tener la función url()
require_once __DIR__ . '/../config/paths.php';

// Proteger la página para que solo los roles autorizados puedan acceder
$rol = strtolower($_SESSION['rol'] ?? '');
if (!isset($_SESSION['user_id'])) {
    header('Location: ' . url('views/login.php'));
    exit;
}
if (!in_array($rol, ['administrador', 'digitador'])) {
    header('Location: ' . url('views/menu.php')); // Redirigir a una página accesible si no tiene permisos
    exit;
}
// Lógica para mostrar mensajes de la sesión
$mensaje = '';
if (isset($_SESSION['import_message'])) {
    $status_class = ($_SESSION['import_status'] ?? 'error') === 'success' ? 'alert-success' : 'alert-warning';
    $mensaje = '<div class="alert ' . $status_class . '">' . $_SESSION['import_message'] . '</div>';
    unset($_SESSION['import_message']);
    unset($_SESSION['import_status']);
}

// Lógica para definir la pestaña activa
$active_tab = $_GET['tab'] ?? 'alumnos'; // Pestaña por defecto

// Definir encabezados para las plantillas de descarga
$header_alumnos = ['run', 'nombre', 'ap_paterno', 'ap_materno', 'fecha_nac'];
$csv_alumnos_string = implode(',', $header_alumnos);

$header_familiares = ['run', 'nombre', 'ap_paterno', 'ap_materno', 'domicilio', 'parentesco', 'telefono', 'telefono2', 'email', 'escolaridad', 'profesion', 'actividad_laboral'];
$csv_familiares_string = implode(',', $header_familiares);

$header_matriculas = [
    'run_alumno',
    'grado_id',
    'fecha_matricula',
    'edad',
    'repitente',
    'grado_repitencia',
    'colegio_procedencia',
    'alumno_pie',
    'hermanos_escuela',
    'grado_hermanos',
    'nacionalidad',
    'domicilio',
    'observacion_alejamiento',
    'integrantes_familia',
    'orden_alejamiento',
    'programa_social',
    'etnia',
    'internet_hogar',
    'smartphone',
    'computador_hogar',
    'opta_religion',
    'religion',
    'transporte',
    'sector',
    'junaeb',
    'uso_imagen',
    'vive_con',
    'sistema_salud',
    'alergias',
    'enfermedad_cuidado',
    'medicamento_contraindicado',
    'medicamento_uso_diario',
    'observaciones_salud',
    'run_apoderado',
    'nombre_apoderado',
    'ap_paterno_apoderado',
    'ap_materno_apoderado',
    'parentesco_apoderado',
    'telefono_apoderado',
    'rol_apoderado'
];
$csv_matriculas_string = implode(',', $header_matriculas);

// NUEVO: Encabezado para la plantilla de actualización de salud
$header_salud = [
    'run_alumno',
    'sistema_salud',
    'alergias',
    'enfermedad_cuidado',
    'medicamento_contraindicado',
    'medicamento_uso_diario',
    'observaciones'
];
$csv_salud_string = implode(',', $header_salud);

// NUEVO: Encabezado para la plantilla de actualización social
$header_social = [
    'run_alumno',
    'edad',
    'repitente',
    'grado_repitencia',
    'colegio_procedencia',
    'alumno_pie',
    'hermanos_escuela',
    'grado_hermanos',
    'nacionalidad',
    'integrantes_familia',
    'orden_alejamiento',
    'programa_social',
    'etnia',
    'internet_hogar',
    'smartphone',
    'computador_hogar',
    'opta_religion',
    'religion',
    'transporte',
    'sector',
    'junaeb',
    'uso_imagen',
    'vive_con',
    'domicilio',
    'observacion_alejamiento'
];
$csv_social_string = implode(',', $header_social);

$page_title = 'Importación Masiva';
include __DIR__ . '/header.php';
include __DIR__ . '/navbar.php';
?>
<div class="container py-5" style="max-width: 1200px;">
    <div class="card shadow-sm">
        <div class="card-body p-4 p-md-5">
            <h2 class="text-center mb-4" style="color:#484A67;">
                <i class="fas fa-cloud-upload-alt me-3"></i>Central de Importación Masiva
            </h2>
            <p class="text-muted text-center">
                <i class="fas fa-info-circle me-2"></i>Selecciona una pestaña para importar alumnos, familiares o matrículas desde un archivo CSV.
            </p>

            <?php if ($mensaje) echo $mensaje; ?>

            <ul class="nav nav-tabs nav-fill mt-4" id="importTab" role="tablist">
                <li class="nav-item" role="presentation">
                    <button class="nav-link <?php echo $active_tab === 'alumnos' ? 'active' : ''; ?>" id="alumnos-tab" data-bs-toggle="tab" data-bs-target="#alumnos" type="button" role="tab">
                        <i class="fas fa-user-graduate me-2"></i>Importar Alumnos
                    </button>
                </li>
                <li class="nav-item" role="presentation">
                    <button class="nav-link <?php echo $active_tab === 'familiares' ? 'active' : ''; ?>" id="familiares-tab" data-bs-toggle="tab" data-bs-target="#familiares" type="button" role="tab">
                        <i class="fas fa-users me-2"></i>Importar Familiares
                    </button>
                </li>
                <li class="nav-item" role="presentation">
                    <button class="nav-link <?php echo $active_tab === 'matriculas' ? 'active' : ''; ?>" id="matriculas-tab" data-bs-toggle="tab" data-bs-target="#matriculas" type="button" role="tab">
                        <i class="fas fa-graduation-cap me-2"></i>Importar Matrículas
                    </button>
                </li>
                <li class="nav-item" role="presentation">
                    <button class="nav-link <?php echo $active_tab === 'adicional' ? 'active' : ''; ?>" id="adicional-tab" data-bs-toggle="tab" data-bs-target="#adicional" type="button" role="tab">
                        <i class="fas fa-notes-medical me-2"></i>Info Social/Salud
                    </button>
                </li>
            </ul>

            <div class="tab-content p-3 border border-top-0 rounded-bottom" id="importTabContent">
                <!-- Pestaña Alumnos -->
                <div class="tab-pane fade <?php echo $active_tab === 'alumnos' ? 'show active' : ''; ?>" id="alumnos" role="tabpanel">
                    <div class="alert alert-info">
                        <strong>Instrucciones para Alumnos:</strong>
                        <ul>
                            <li><i class="fas fa-info-circle text-primary"></i> Usa esta opción para crear o actualizar la información básica de los alumnos.</li>
                            <li><i class="fas fa-sync-alt text-success"></i> Si un RUN ya existe, sus datos serán actualizados. Si no, se creará un nuevo alumno.</li>
                            <li><i class="fas fa-calendar text-warning"></i> La fecha de nacimiento debe tener el formato <strong>YYYY-MM-DD</strong>.</li>
                            <li><i class="fas fa-download text-primary"></i> <a href="data:text/csv;charset=utf-8,<?php echo urlencode($csv_alumnos_string); ?>" download="plantilla_alumnos.csv" class="fw-bold">Descargar plantilla de Alumnos.</a></li>
                            <li><i class="fas fa-exclamation-triangle text-danger"></i> <strong>Tamaño máximo:</strong> 5MB | <strong>Codificación:</strong> UTF-8</li>
                        </ul>
                        <div class="mt-2">
                            <button class="btn btn-sm btn-outline-secondary" type="button" data-bs-toggle="collapse" data-bs-target="#headerAlumnos">
                                <i class="fas fa-eye"></i> Ver encabezado requerido
                            </button>
                            <div class="collapse mt-2" id="headerAlumnos">
                                <code class="text-muted small"><?php echo htmlspecialchars($csv_alumnos_string); ?></code>
                            </div>
                        </div>
                    </div>
                    <form action="../src/importar_alumnos.php" method="post" enctype="multipart/form-data" class="mt-4">
                        <div class="mb-3">
                            <label for="csv_alumnos" class="form-label">Selecciona el archivo CSV de Alumnos</label>
                            <input class="form-control" type="file" id="csv_alumnos" name="csv_file" accept=".csv" required>
                        </div>
                        <div class="d-grid">
                            <button type="submit" class="btn btn-primary btn-lg" style="background:#484A67; border:none;">
                                <i class="fas fa-upload me-2"></i>Procesar Alumnos
                            </button>
                        </div>
                    </form>
                </div>

                <!-- Pestaña Familiares -->
                <div class="tab-pane fade <?php echo $active_tab === 'familiares' ? 'show active' : ''; ?>" id="familiares" role="tabpanel">
                    <div class="alert alert-info">
                        <strong>Instrucciones para Familiares:</strong>
                        <ul>
                            <li><i class="fas fa-user-friends text-primary"></i> Usa esta opción para crear o actualizar la información de los familiares/apoderados.</li>
                            <li><i class="fas fa-sync-alt text-success"></i> Si un RUN ya existe, sus datos serán actualizados. Si no, se creará un nuevo familiar.</li>
                            <li><i class="fas fa-link text-warning"></i> Los roles (Apoderado, Contacto de emergencia, etc.) se asignan durante el proceso de matrícula, no aquí.</li>
                            <li><i class="fas fa-download text-primary"></i> <a href="data:text/csv;charset=utf-8,<?php echo urlencode($csv_familiares_string); ?>" download="plantilla_familiares.csv" class="fw-bold">Descargar plantilla de Familiares.</a></li>
                            <li><i class="fas fa-exclamation-triangle text-danger"></i> <strong>Tamaño máximo:</strong> 5MB | <strong>Codificación:</strong> UTF-8</li>
                        </ul>
                        <div class="mt-2">
                            <button class="btn btn-sm btn-outline-secondary" type="button" data-bs-toggle="collapse" data-bs-target="#headerFamiliares">
                                <i class="fas fa-eye"></i> Ver encabezado requerido
                            </button>
                            <div class="collapse mt-2" id="headerFamiliares">
                                <code class="text-muted small"><?php echo htmlspecialchars($csv_familiares_string); ?></code>
                            </div>
                        </div>
                    </div>
                    <form action="../src/importar_familiares.php" method="post" enctype="multipart/form-data" class="mt-4">
                        <div class="mb-3">
                            <label for="csv_familiares" class="form-label">Selecciona el archivo CSV de Familiares</label>
                            <input class="form-control" type="file" id="csv_familiares" name="csv_file" accept=".csv" required>
                        </div>
                        <div class="d-grid">
                            <button type="submit" class="btn btn-primary btn-lg" style="background:#484A67; border:none;">
                                <i class="fas fa-upload me-2"></i>Procesar Familiares
                            </button>
                        </div>
                    </form>
                </div>

                <!-- Pestaña Matrículas -->
                <div class="tab-pane fade <?php echo $active_tab === 'matriculas' ? 'show active' : ''; ?>" id="matriculas" role="tabpanel">
                    <div class="alert alert-info">
                        <strong>Instrucciones para Matrículas:</strong>
                        <ul>
                            <li><i class="fas fa-graduation-cap text-primary"></i> El alumno debe existir previamente en el sistema.</li>
                            <li><i class="fas fa-user-plus text-success"></i> Si el `run_apoderado` se proporciona, el sistema lo creará o actualizará y lo asociará al alumno.</li>
                            <li><i class="fas fa-calendar-alt text-warning"></i> La columna <code>fecha_matricula</code> debe tener el formato <strong>DD/MM/YYYY</strong>.</li>
                            <li><i class="fas fa-users text-info"></i> La columna <code>rol_apoderado</code> puede contener múltiples roles separados por coma (ej: <code>APODERADO TITULAR,CONTACTO DE EMERGENCIA 1</code>).</li>
                            <li><i class="fas fa-download text-primary"></i> <a href="data:text/csv;charset=utf-8,<?php echo urlencode($csv_matriculas_string); ?>" download="plantilla_matriculas.csv" class="fw-bold">Descargar plantilla de Matrículas.</a></li>
                            <li><i class="fas fa-exclamation-triangle text-danger"></i> <strong>Tamaño máximo:</strong> 5MB | <strong>Codificación:</strong> UTF-8</li>
                        </ul>
                        <div class="mt-2">
                            <button class="btn btn-sm btn-outline-secondary" type="button" data-bs-toggle="collapse" data-bs-target="#headerMatriculas">
                                <i class="fas fa-eye"></i> Ver encabezado requerido
                            </button>
                            <div class="collapse mt-2" id="headerMatriculas">
                                <code class="text-muted small" style="word-break: break-all;"><?php echo htmlspecialchars($csv_matriculas_string); ?></code>
                            </div>
                        </div>
                    </div>
                    <form action="../src/importar_matriculas.php" method="post" enctype="multipart/form-data" class="mt-4">
                        <div class="mb-3">
                            <label for="csv_matriculas" class="form-label">Selecciona el archivo CSV de Matrículas</label>
                            <input class="form-control" type="file" id="csv_matriculas" name="csv_file" accept=".csv" required>
                        </div>
                        <div class="d-grid">
                            <button type="submit" class="btn btn-primary btn-lg" style="background:#484A67; border:none;">
                                <i class="fas fa-upload me-2"></i>Procesar Matrículas
                            </button>
                        </div>
                    </form>
                </div>

                <!-- Pestaña Info Adicional (Social/Salud) -->
                <div class="tab-pane fade <?php echo $active_tab === 'adicional' ? 'show active' : ''; ?>" id="adicional" role="tabpanel">
                    <!-- Sub-pestañas para Social y Salud -->
                    <ul class="nav nav-pills mb-3" id="adicionalSubTab" role="tablist">
                        <li class="nav-item" role="presentation">
                            <button class="nav-link active" id="pills-salud-tab" data-bs-toggle="pill" data-bs-target="#pills-salud" type="button" role="tab">Info de Salud</button>
                        </li>
                        <li class="nav-item" role="presentation">
                            <button class="nav-link" id="pills-social-tab" data-bs-toggle="pill" data-bs-target="#pills-social" type="button" role="tab">Info Social</button>
                        </li>
                    </ul>
                    <div class="tab-content" id="pills-tabContent">
                        <!-- Contenido de la sub-pestaña Salud -->
                        <div class="tab-pane fade show active" id="pills-salud" role="tabpanel">
                            <div class="alert alert-info">
                                <strong>Instrucciones para Info de Salud:</strong>
                                <ul>
                                    <li><i class="fas fa-notes-medical text-primary"></i> Usa esta opción para <strong>actualizar</strong> la información de salud de alumnos ya existentes.</li>
                                    <li><i class="fas fa-user-check text-success"></i> El alumno debe existir previamente en el sistema (identificado por <code>run_alumno</code>).</li>
                                    <li><i class="fas fa-pencil-alt text-warning"></i> Solo los campos con información en el CSV serán actualizados. Los campos vacíos no borrarán datos existentes.</li>
                                    <li><i class="fas fa-download text-primary"></i> <a href="data:text/csv;charset=utf-8,<?php echo urlencode($csv_salud_string); ?>" download="plantilla_salud.csv" class="fw-bold">Descargar plantilla de Salud.</a></li>
                                </ul>
                            </div>
                            <form action="../src/importar_info_adicional.php" method="post" enctype="multipart/form-data" class="mt-4">
                                <input type="hidden" name="tipo_importacion" value="salud">
                                <div class="mb-3">
                                    <label for="csv_salud" class="form-label">Selecciona el archivo CSV de Salud</label>
                                    <input class="form-control" type="file" id="csv_salud" name="csv_file" accept=".csv" required>
                                </div>
                                <div class="d-grid">
                                    <button type="submit" class="btn btn-primary btn-lg" style="background:#484A67; border:none;">
                                        <i class="fas fa-upload me-2"></i>Procesar Info de Salud
                                    </button>
                                </div>
                            </form>
                        </div>
                        <!-- Contenido de la sub-pestaña Social -->
                        <div class="tab-pane fade" id="pills-social" role="tabpanel">
                            <div class="alert alert-info">
                                <strong>Instrucciones para Info Social:</strong>
                                <ul>
                                    <li><i class="fas fa-users text-primary"></i> Usa esta opción para <strong>actualizar</strong> la información social de alumnos ya existentes.</li>
                                    <li><i class="fas fa-user-check text-success"></i> El alumno debe existir previamente en el sistema (identificado por <code>run_alumno</code>).</li>
                                    <li><i class="fas fa-pencil-alt text-warning"></i> Solo los campos con información en el CSV serán actualizados. Los campos vacíos no borrarán datos existentes.</li>
                                    <li><i class="fas fa-download text-primary"></i> <a href="data:text/csv;charset=utf-8,<?php echo urlencode($csv_social_string); ?>" download="plantilla_social.csv" class="fw-bold">Descargar plantilla Social.</a></li>
                                </ul>
                                <div class="mt-2">
                                    <button class="btn btn-sm btn-outline-secondary" type="button" data-bs-toggle="collapse" data-bs-target="#headerSocial">
                                        <i class="fas fa-eye"></i> Ver encabezado requerido
                                    </button>
                                    <div class="collapse mt-2" id="headerSocial">
                                        <code class="text-muted small" style="word-break: break-all;"><?php echo htmlspecialchars($csv_social_string); ?></code>
                                    </div>
                                </div>
                            </div>
                            <form action="../src/importar_info_adicional.php" method="post" enctype="multipart/form-data" class="mt-4">
                                <input type="hidden" name="tipo_importacion" value="social">
                                <div class="mb-3">
                                    <label for="csv_social" class="form-label">Selecciona el archivo CSV Social</label>
                                    <input class="form-control" type="file" id="csv_social" name="csv_file" accept=".csv" required>
                                </div>
                                <div class="d-grid">
                                    <button type="submit" class="btn btn-primary btn-lg" style="background:#484A67; border:none;">
                                        <i class="fas fa-upload me-2"></i>Procesar Info Social
                                    </button>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>

            </div>
        </div>
    </div>
</div>

<!-- Include FontAwesome for icons -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">

<script src="<?php echo asset('importacion.js'); ?>"></script>
<?php include __DIR__ . '/footer.php'; ?>