<?php
// Script de diagnóstico para revisar las consultas SQL
// NO MODIFICA NADA, solo muestra información

require_once "../config/Conexion.php";
require_once "../modelos/Atencion.php";

echo "<h2>DIAGNÓSTICO DEL SISTEMA - SOLO LECTURA</h2>";
echo "<hr>";

// 1. Verificar conexión a la base de datos
echo "<h3>1. Conexión a Base de Datos</h3>";
try {
    $conexion = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME);
    if ($conexion->connect_error) {
        echo "<p style='color:red'>ERROR: " . $conexion->connect_error . "</p>";
    } else {
        echo "<p style='color:green'>✓ Conexión exitosa a la base de datos</p>";
    }
} catch (Exception $e) {
    echo "<p style='color:red'>ERROR: " . $e->getMessage() . "</p>";
}

// 2. Verificar registros en tabla atencion
echo "<h3>2. Registros en tabla 'atencion'</h3>";
$sql = "SELECT idatencion, fecha, hora, estado FROM atencion ORDER BY idatencion DESC LIMIT 10";
$result = $conexion->query($sql);
if ($result) {
    echo "<table border='1' cellpadding='5'>";
    echo "<tr><th>ID</th><th>Fecha</th><th>Hora</th><th>Estado</th></tr>";
    while ($row = $result->fetch_assoc()) {
        echo "<tr>";
        echo "<td>" . $row['idatencion'] . "</td>";
        echo "<td>" . $row['fecha'] . "</td>";
        echo "<td>" . $row['hora'] . "</td>";
        echo "<td><strong>" . $row['estado'] . "</strong></td>";
        echo "</tr>";
    }
    echo "</table>";
    echo "<p>Total de registros: " . $result->num_rows . "</p>";
} else {
    echo "<p style='color:red'>ERROR: " . $conexion->error . "</p>";
}

// 3. Verificar registros en tabla triaje
echo "<h3>3. Registros en tabla 'triaje'</h3>";
$sql = "SELECT idtriaje, idatencion, presion_arterial, temperatura FROM triaje ORDER BY idtriaje DESC LIMIT 10";
$result = $conexion->query($sql);
if ($result) {
    echo "<table border='1' cellpadding='5'>";
    echo "<tr><th>ID Triaje</th><th>ID Atención</th><th>Presión</th><th>Temperatura</th></tr>";
    while ($row = $result->fetch_assoc()) {
        echo "<tr>";
        echo "<td>" . $row['idtriaje'] . "</td>";
        echo "<td>" . $row['idatencion'] . "</td>";
        echo "<td>" . $row['presion_arterial'] . "</td>";
        echo "<td>" . $row['temperatura'] . "</td>";
        echo "</tr>";
    }
    echo "</table>";
    echo "<p>Total de registros: " . $result->num_rows . "</p>";
} else {
    echo "<p style='color:red'>ERROR: " . $conexion->error . "</p>";
}

// 4. Probar consulta del método listar()
echo "<h3>4. Prueba de consulta listar() (Registro de Atención)</h3>";
$atencion = new Atencion();
$rspta = $atencion->listar();
if ($rspta) {
    $count = 0;
    echo "<table border='1' cellpadding='5'>";
    echo "<tr><th>ID</th><th>Paciente</th><th>Fecha</th><th>Estado</th></tr>";
    while ($reg = $rspta->fetch_object()) {
        echo "<tr>";
        echo "<td>" . $reg->idatencion . "</td>";
        echo "<td>" . $reg->paciente . "</td>";
        echo "<td>" . $reg->fecha . "</td>";
        echo "<td><strong>" . $reg->estado . "</strong></td>";
        echo "</tr>";
        $count++;
    }
    echo "</table>";
    echo "<p>Total de registros devueltos: <strong>$count</strong></p>";

    if ($count == 0) {
        echo "<p style='color:orange'>⚠️ La consulta no devolvió registros. Esto puede indicar un problema con los JOINs.</p>";
    }
} else {
    echo "<p style='color:red'>ERROR en la consulta</p>";
}

// 5. Probar consulta del método listarPlan()
echo "<h3>5. Prueba de consulta listarPlan() (Atención Médica)</h3>";
$rspta = $atencion->listarPlan();
if ($rspta) {
    $count = 0;
    echo "<table border='1' cellpadding='5'>";
    echo "<tr><th>ID</th><th>Paciente</th><th>Fecha</th><th>Estado</th></tr>";
    while ($reg = $rspta->fetch_object()) {
        echo "<tr>";
        echo "<td>" . $reg->idatencion . "</td>";
        echo "<td>" . $reg->paciente . "</td>";
        echo "<td>" . $reg->fecha . "</td>";
        echo "<td><strong>" . $reg->estado . "</strong></td>";
        echo "</tr>";
        $count++;
    }
    echo "</table>";
    echo "<p>Total de registros devueltos: <strong>$count</strong></p>";

    if ($count == 0) {
        echo "<p style='color:orange'>⚠️ La consulta no devolvió registros. Verifica que haya atenciones con estado='Triaje'.</p>";
    }
} else {
    echo "<p style='color:red'>ERROR en la consulta</p>";
}

// 6. Verificar tabla persona
echo "<h3>6. Verificar tabla 'persona'</h3>";
$sql = "SELECT idpersona, concat(apaterno,' ',amaterno,' ',nombre) as nombre_completo FROM persona LIMIT 5";
$result = $conexion->query($sql);
if ($result) {
    echo "<table border='1' cellpadding='5'>";
    echo "<tr><th>ID Persona</th><th>Nombre Completo</th></tr>";
    while ($row = $result->fetch_assoc()) {
        echo "<tr>";
        echo "<td>" . $row['idpersona'] . "</td>";
        echo "<td>" . $row['nombre_completo'] . "</td>";
        echo "</tr>";
    }
    echo "</table>";
    echo "<p>Total de registros: " . $result->num_rows . "</p>";
} else {
    echo "<p style='color:red'>ERROR: " . $conexion->error . "</p>";
}

// 7. Verificar tabla servicio
echo "<h3>7. Verificar tabla 'servicio'</h3>";
$sql = "SELECT idservicio, nombre FROM servicio LIMIT 5";
$result = $conexion->query($sql);
if ($result) {
    echo "<table border='1' cellpadding='5'>";
    echo "<tr><th>ID Servicio</th><th>Nombre</th></tr>";
    while ($row = $result->fetch_assoc()) {
        echo "<tr>";
        echo "<td>" . $row['idservicio'] . "</td>";
        echo "<td>" . $row['nombre'] . "</td>";
        echo "</tr>";
    }
    echo "</table>";
    echo "<p>Total de registros: " . $result->num_rows . "</p>";
} else {
    echo "<p style='color:red'>ERROR: " . $conexion->error . "</p>";
}

$conexion->close();

echo "<hr>";
echo "<p><strong>Diagnóstico completado. Revisa los resultados arriba.</strong></p>";
?>