<?php
// Proteger con autenticación
require_once __DIR__ . '/../shared/includes/auth.php';
requireAuth();

require 'conexion.php';

// Configuración de paginación optimizada
$registros_por_pagina = 10;
$pagina_actual = isset($_GET['pagina']) ? (int)$_GET['pagina'] : 1;
$inicio = max(($pagina_actual - 1) * $registros_por_pagina, 0);

// Variables de filtro
$fechaInicio = $_GET['fechaInicio'] ?? '';
$fechaFin = $_GET['fechaFin'] ?? '';
$nombre = $_GET['nombre'] ?? '';
$tipo_evento = $_GET['tipo_evento'] ?? '';
$empresa = $_GET['empresa'] ?? '';

// Construcción de la consulta con filtros dinámicos
$where = [];
$params = [];

if (!empty($fechaInicio) && !empty($fechaFin)) {
    $where[] = "am.fecha_atencion BETWEEN :fechaInicio AND :fechaFin";
    $params[":fechaInicio"] = $fechaInicio;
    $params[":fechaFin"] = $fechaFin;
}

if (!empty($nombre)) {
    $where[] = "t.apellidos_nombres LIKE :nombre";
    $params[":nombre"] = "%".$nombre."%";
}

if (!empty($tipo_evento)) {
    $where[] = "am.tipo_evento = :tipoEvento"; // 🔹 Se cambia e.tipo_evento por am.tipo_evento
    $params[":tipoEvento"] = $tipo_evento;
}

if (!empty($empresa)) {
    $where[] = "t.empresa = :empresa";
    $params[":empresa"] = $empresa;
}

// 🔹 Nueva consulta SIN el JOIN con Evento
$query = "
    SELECT 
        am.fecha_atencion, am.hora_atencion, 
        t.apellidos_nombres, t.sexo, t.edad, t.dni_ce AS dni, t.empresa, 
        t.area, t.puesto_trabajo, 
        am.lugar_atencion, am.tipo_evento,  -- 🔹 Directamente desde Atencion_Medica
        am.diagnostico_cie10, am.tratamiento, 
        am.descanso_medico, am.fecha_inicio_descanso, am.fecha_final_descanso, 
        am.seguimiento, am.responsable_registro, 
        am.id_atencion
    FROM Atencion_Medica am
    JOIN Trabajador t ON am.id_trabajador = t.id_trabajador";

if (!empty($where)) {
    $query .= " WHERE " . implode(" AND ", $where);
}

// Contar total de registros para la paginación
$queryTotal = "SELECT COUNT(*) FROM Atencion_Medica am 
JOIN Trabajador t ON am.id_trabajador = t.id_trabajador";

if (!empty($where)) {
    $queryTotal .= " WHERE " . implode(" AND ", $where);
}

$stmtTotal = $pdo->prepare($queryTotal);
foreach ($params as $key => $value) {
    $stmtTotal->bindValue($key, $value);
}
$stmtTotal->execute();
$total_registros = $stmtTotal->fetchColumn();
$total_paginas = ceil($total_registros / $registros_por_pagina);

// Aplicar paginación
$query .= " ORDER BY am.fecha_atencion DESC, am.hora_atencion DESC, am.id_atencion DESC LIMIT :inicio, :limite";

$stmt = $pdo->prepare($query);
foreach ($params as $key => $value) {
    $stmt->bindValue($key, $value);
}
$stmt->bindValue(":inicio", $inicio, PDO::PARAM_INT);
$stmt->bindValue(":limite", $registros_por_pagina, PDO::PARAM_INT);
$stmt->execute();
$atenciones = $stmt->fetchAll();

?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Atenciones Médicas</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <!-- Bootstrap Icons -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.10.5/font/bootstrap-icons.min.css">

    <link rel="stylesheet" href="css/style.css">
    <!-- Toastify CSS y JS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css">

    <style>
    /* �7�3 Aplicar tama�0�9o de fuente 12px a todo el contenido */
    body, .table, .modal-body, .modal-footer, .modal-header, 
    .input-group-text, .form-control, .btn, .table th, .table td {
        font-size: 12px;
        font-family: Arial, sans-serif;
    }

    /* �7�3 Ajustar el tama�0�9o de los t��tulos */
    h2 {
        font-size: 18px;
        font-weight: bold;
        text-align: center;
        color: #343a40; /* Color oscuro elegante */
    }

    /* �7�3 Estilos de la tabla */
    .table {
        width: 100%;
        border-collapse: collapse;
        background: #ffffff;
    }

    /* �7�3 Encabezado de la tabla */
    .table thead {
        background: #343a40;
        color: #ffffff;
    }

    .table th {
        padding: 10px;
        text-align: center;
        font-weight: bold;
    }

    /* �7�3 Bordes redondeados en la parte superior de la tabla */
    .table thead th:first-child {
        border-top-left-radius: 8px;
    }

    .table thead th:last-child {
        border-top-right-radius: 8px;
    }

    /* �7�3 Celdas de la tabla */
    .table td {
        padding: 10px;
        border-bottom: 1px solid #dee2e6;
        text-align: center;
    }

    /* �7�3 Alternar color de filas (Zebra Stripes) */
    .table tbody tr:nth-child(odd) {
        background: #f8f9fa;
    }

    .table tbody tr:hover {
        background: rgba(0, 123, 255, 0.1);
        transition: background 0.3s;
    }

    /* �7�3 Ajustes de botones */
    .btn {
        font-size: 12px;
        padding: 6px 12px;
        border-radius: 5px;
        transition: 0.3s;
    }

    .btn-warning {
        background: #ffc107;
        color: #000;
    }

    .btn-danger {
        background: #dc3545;
        color: #fff;
    }

    .btn-warning:hover {
        background: #e0a800;
    }

    .btn-danger:hover {
        background: #c82333;
    }

    /* �7�3 Ajustes para dispositivos peque�0�9os */
    @media (max-width: 768px) {
        body {
            font-size: 11px;
        }
        h2 {
            font-size: 16px;
        }
        .table th, .table td {
            padding: 8px;
            font-size: 11px;
        }
        .btn {
            font-size: 11px;
        }
    }
</style>


</head>
<body>

<div class="container-fluid mt-4">
    <h2 class="text-center mb-4">Gestión de Atenciones Médicas</h2>

    <div class="mb-3">
        <a href="/ssoma/dashboard/" class="btn btn-primary">
            <i class="bi bi-speedometer2"></i> Dashboard
        </a>
        <button class="btn btn-success" data-bs-toggle="modal" data-bs-target="#modalAgregar">
            <i class="bi bi-plus-circle"></i> Agregar Atención
        </button>
    </div>

    <!-- 🔍 FILTROS COMBINADOS -->
    <?php include 'filtros.php'; ?>

    <div class="table-responsive">
        <table id="tablaAtencion"class="table table-striped table-hover table-bordered">
            <thead class="table-dark">
                <tr>
                    <th>Fecha de Atención</th>
                    <th>Hora</th>
                    <th>Apellidos y Nombres</th>
                    <th>Sexo</th>
                    <th>Edad</th>
                    <th>DNI</th>
                    <th>Empresa</th>
                    <th>Área</th>
                    <th>Puesto de Trabajo</th>
                    <th>Lugar de Atención</th>
                    <th>Tipo de Evento</th> <!-- 🔹 Ahora directamente desde Atencion_Medica -->
                    <th>Diagnóstico/CIE 10</th>
                    <th>Tratamiento</th>
                    <th>Descanso Médico</th>
                    <th>Inicio Descanso</th>
                    <th>Fin Descanso</th>
                    <th>Seguimiento</th>
                    <th>Responsable Registro</th>
                    <th>Acciones</th>
                </tr>
            </thead>
            <tbody>
                <?php foreach ($atenciones as $atencion): ?>
                    <tr>
                        <?php foreach ($atencion as $campo => $valor): ?>
                            <?php if ($campo != 'id_atencion'): ?>
                                <td><?= htmlspecialchars($valor) ?></td>
                            <?php endif; ?>
                        <?php endforeach; ?>
                        <td>
                            <button class="btn btn-warning btn-sm" data-bs-toggle="modal"
                                data-bs-target="#modalEditar<?= $atencion['id_atencion'] ?>">
                                <i class="bi bi-pencil-square"></i>
                            </button>
                            <button class="btn btn-danger btnEliminar" data-id="<?= $atencion['id_atencion'] ?>">
                                <i class="bi bi-trash"></i>
                            </button>
                        </td>
                    </tr>
                <?php endforeach; ?>
            </tbody>
        </table>
    </div>
    
    <?php include 'mi_paginacion.php'; ?>

<?php include 'modal_eliminar.php'; ?>
<?php include 'modal_edit_atencion.php'; ?>
<?php include 'modal_add_atencion.php'; ?>
<script src="scripts.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
 <script src="https://cdn.jsdelivr.net/npm/toastify-js"></script>
<script src="toastify.js"></script>


</body>

</html>
