<?php
session_start();

// Verifica si el ID del evaluador y el tipo de usuario están en la sesión
$evaluador_id = isset($_SESSION['usuario']['id']) ? $_SESSION['usuario']['id'] : null;
$tipousuario = isset($_SESSION['usuario']['tipousuario']) ? $_SESSION['usuario']['tipousuario'] : null;

// Si no existe el ID del evaluador o el tipo de usuario, redirigir a la página de inicio
if (!$evaluador_id || !$tipousuario) {
    header("Location: ../../index.php");
    exit; // Detener la ejecución del script después de la redirección
}
?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Resumen de Trabajos</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css">
    <style>
        td, th {
            height: 15px;
            vertical-align: middle;
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
            font-size: 10px;
            padding: 5px;
        }
        [data-bs-toggle="tooltip"] {
            cursor: pointer;
        }
        .truncate-title {
            display: inline-block;
            max-width: 150px;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
    </style>
</head>
<body>

<div class="container mt-5">
    <div class="row mb-3">
        <div class="col">
            <h5><strong>Cantidad de resúmenes asignados: </strong>
            <?php
                // Asumimos que la conexión a la base de datos ya está establecida correctamente

                // Consulta condicional según el tipo de usuario
                if ($tipousuario === 'S') {
                    $sql_count = "SELECT COUNT(*) as total_resumenes FROM ttrabajo t
                                  LEFT JOIN tusuario e1 ON t.evaluador1 = e1.id
                                  LEFT JOIN tusuario e2 ON t.evaluador2 = e2.id
                                  LEFT JOIN tusuario e3 ON t.evaluador3 = e3.id";
                } else {
                    $sql_count = "SELECT COUNT(*) as total_resumenes FROM ttrabajo t
                                  LEFT JOIN tusuario e1 ON t.evaluador1 = e1.id
                                  LEFT JOIN tusuario e2 ON t.evaluador2 = e2.id
                                  LEFT JOIN tusuario e3 ON t.evaluador3 = e3.id
                                  WHERE t.evaluador1 = $evaluador_id OR t.evaluador2 = $evaluador_id OR t.evaluador3 = $evaluador_id";
                }

                $result_count = $conexion->query($sql_count);
                if ($result_count && $row_count = $result_count->fetch_assoc()) {
                    echo $row_count['total_resumenes'];
                } else {
                    echo 0;
                }
            ?>
            </h5>
        </div>
    </div>

    <div class="table-responsive">
        <table class="table table-hover table-bordered table-striped" id="table_resumenes">
            <thead>
                <tr>
                    <th scope="col" style="text-align: center;">Código</th>
                    <th scope="col" style="text-align: center;">Título</th>
                    <th scope="col" style="text-align: center;">Evaluador 1</th>
                    <th scope="col" style="text-align: center;">Evaluador 2</th>
                    <th scope="col" style="text-align: center;">Evaluador 3</th>
                    <th scope="col" style="text-align: center;">Estado</th>
                    <th scope="col" style="text-align: center;">Activo</th>
                    <th scope="col" style="text-align: center;">Acciones</th>
                </tr>
            </thead>
            <tbody id="resumenesBody">
                <?php
                // Consulta condicional según el tipo de usuario
                if ($tipousuario === 'S') {
                    $sql = "SELECT t.id, t.codigo, t.titulo, e1.nombre AS nombre_evaluador1, e2.nombre AS nombre_evaluador2, 
                            e3.nombre AS nombre_evaluador3, t.estado, t.activo 
                       FROM ttrabajo t
                       LEFT JOIN tusuario e1 ON t.evaluador1 = e1.id
                       LEFT JOIN tusuario e2 ON t.evaluador2 = e2.id
                       LEFT JOIN tusuario e3 ON t.evaluador3 = e3.id
                       ORDER BY t.codigo";
                } else {
                    $sql = "SELECT t.id, t.codigo, t.titulo, e1.nombre AS nombre_evaluador1, e2.nombre AS nombre_evaluador2, 
                            e3.nombre AS nombre_evaluador3, t.estado, t.activo 
                       FROM ttrabajo t
                       LEFT JOIN tusuario e1 ON t.evaluador1 = e1.id
                       LEFT JOIN tusuario e2 ON t.evaluador2 = e2.id
                       LEFT JOIN tusuario e3 ON t.evaluador3 = e3.id
                       WHERE t.evaluador1 = $evaluador_id OR t.evaluador2 = $evaluador_id OR t.evaluador3 = $evaluador_id
                       ORDER BY t.codigo";
                }

                $result = $conexion->query($sql);

                if ($result->num_rows > 0) {
                    while ($resumen = $result->fetch_assoc()) {
                        $estadoClaseTexto = match ($resumen['estado']) {
                            '1' => 'alert-warning',
                            '2' => 'alert-info',
                            '3' => 'alert-primary',
                            '4' => 'alert-success',
                            '5' => 'alert-danger',
                            default => 'alert-secondary',
                        };
                        $estadoTexto = match ($resumen['estado']) {
                            '1' => 'Sin Asignar',
                            '2' => 'Por Evaluar',
                            '3' => 'En proceso',
                            '4' => 'Evaluado',
                            '5' => 'No Aprobado',
                            default => 'No disponible',
                        };

                        $estadoActivoClaseTexto = ($resumen['activo'] === '1') ? 'alert-success' : 'alert-danger';
                        $estadoActivoTexto = ($resumen['activo'] === '1') ? 'Activo' : 'Inactivo';

                        // Evaluadores, validación para el tipo de usuario 'E'
                        if ($tipousuario === 'E') {
                            $evaluador1 = "-No Disponible-";
                            $evaluador2 = "-No Disponible-";
                            $evaluador3 = "-No Disponible-";
                        } else {
                            $evaluador1 = !empty($resumen['nombre_evaluador1']) ? $resumen['nombre_evaluador1'] : "<span class='text-danger fw-bold'>-Sin Evaluador-</span>";
                            $evaluador2 = !empty($resumen['nombre_evaluador2']) ? $resumen['nombre_evaluador2'] : "<span class='text-danger fw-bold'>-Sin Evaluador-</span>";
                            $evaluador3 = !empty($resumen['nombre_evaluador3']) ? $resumen['nombre_evaluador3'] : "<span class='text-danger fw-bold'>-Sin Evaluador-</span>";
                        }

                        echo "
                            <tr>
                                <td class='text-center'>{$resumen['codigo']}</td>
                                <td class='text-center'>
                                    <span class='truncate-title' data-bs-toggle='tooltip' title='{$resumen['titulo']}'>{$resumen['titulo']}</span>
                                </td>
                                <td class='text-center'>{$evaluador1}</td>
                                <td class='text-center'>{$evaluador2}</td>
                                <td class='text-center'>{$evaluador3}</td>
                                <td class='text-center estado'><div class='alert {$estadoClaseTexto} mb-0'>{$estadoTexto}</div></td>
                                <td class='text-center activo'><div class='alert {$estadoActivoClaseTexto} mb-0'>{$estadoActivoTexto}</div></td>
                                <td class='text-center'>
                                    <a href='#' onclick='verDetallesResumen({$resumen['id']})' class='btn btn-success'><i class='bi bi-eye'></i></a>";

                        // Solo mostrar los botones de editar y eliminar si el tipousuario no es 'E'
                        if ($tipousuario !== 'E') {
                            echo "
                                <a href='#' onclick='editarResumen({$resumen['id']})' class='btn btn-warning'><i class='bi bi-pencil'></i></a>
                                <a href='#' onclick='eliminarResumen({$resumen['id']})' class='btn btn-danger'><i class='bi bi-trash'></i></a>";
                        }
                        
                        echo "
                                <a href='#' onclick='evaluarResumen({$resumen['id']})' class='btn btn-warning'><i class='bi bi-clipboard-check'></i></a>
                                </td>
                            </tr>";
                    }
                } else {
                    echo "<tr><td colspan='8' style='text-align: center;'>No se encontraron datos</td></tr>";
                }

                $conexion->close();
                ?>
            </tbody>
        </table>
    </div>
</div>

<script>
    // Inicializar tooltips de Bootstrap
    document.addEventListener('DOMContentLoaded', function () {
        const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
        tooltipTriggerList.map(function (tooltipTriggerEl) {
            return new bootstrap.Tooltip(tooltipTriggerEl);
        });
    });
</script>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
