<?php

// Incluir archivo de conexión a la base de datos
include 'config/db.php';

// Verificar si se recibió el parámetro de clasificación
$clasificacion = isset($_GET['clasificacion']) ? $conexion->real_escape_string(trim($_GET['clasificacion'])) : '';

// Consulta para obtener las actividades, con o sin filtro por clasificación
$sql = "SELECT * FROM actividades_mejora";
if (!empty($clasificacion)) {
    $sql .= " WHERE clasificacion = '$clasificacion'";
}
$result = $conexion->query($sql);

if (!$result) {
    die("Error al ejecutar la consulta: " . $conexion->error);
}

// Función para obtener los participantes relacionados
function obtenerParticipantes($conexion, $clasificacion) {
    $clasificacion = trim($clasificacion); // Normalizar la clasificación
    $sql = "SELECT nombre FROM empleados WHERE TRIM(clasificacion) = '$clasificacion'";
    $resultado = $conexion->query($sql);
    $participantes = [];
    if ($resultado && $resultado->num_rows > 0) {
        while ($empleado = $resultado->fetch_assoc()) {
            $participantes[] = $empleado['nombre'];
        }
    }
    return !empty($participantes) ? implode(", ", $participantes) : 'No hay participantes'; // Convertir a una cadena separada por comas o indicar que no hay participantes
}
// Función para obtener el estado de un participante específico en una actividad
function obtenerEstadoParticipante($conexion, $actividad_id, $empleado_nombre) {
    $empleado_nombre = trim($empleado_nombre); // Normalizar el nombre del empleado
    $sql = "SELECT estado FROM estado_actividades_empleados WHERE actividad_id = ? AND empleado = ?";
    $stmt = $conexion->prepare($sql);
    $stmt->bind_param("is", $actividad_id, $empleado_nombre);
    $stmt->execute();
    $resultado = $stmt->get_result();

    if ($resultado && $resultado->num_rows > 0) {
        $fila = $resultado->fetch_assoc();
        return $fila['estado'];
    } else {
        return 'Programado'; // Estado por defecto si no se encuentra un registro
    }
}


?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Listado de Actividades de Mejora</title>
    <link rel="stylesheet" href="css/style.css">
    <style>
        /* Estilo general */
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f7f7f7;
        }

        .sidebar {
            width: 100%;
            max-width: 250px;
            background-color: #2c3e50;
            height: 100vh;
            position: fixed;
            top: 0;
            left: 0;
            color: white;
            padding: 20px 10px;
            transition: all 0.3s ease;
        }

        .sidebar h2 {
            text-align: center;
            font-size: 24px;
            color: #1abc9c;
            margin-bottom: 30px;
        }

        .sidebar ul {
            list-style: none;
            padding: 0;
        }

        .sidebar ul li {
            margin: 20px 0;
        }

        .sidebar ul li a {
            text-decoration: none;
            color: white;
            padding: 12px;
            display: block;
            font-size: 18px;
            transition: background-color 0.3s ease;
        }

        .sidebar ul li a:hover,
        .sidebar ul li a.active {
            background-color: #1abc9c;
        }

        .main-content {
            margin-left: 270px;
            padding: 30px;
            transition: all 0.3s ease;
        }

        .main-content h1 {
            font-size: 28px;
            color: #0984e3;
            margin-bottom: 20px;
        }

        /* Estilo de la tabla */
        table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 20px;
            background-color: white;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            border-radius: 5px;
            overflow: hidden;
        }

        table thead {
            background-color: #2c3e50;
            color: white;
        }

        table thead th {
            padding: 10px;
            text-align: center;
            font-size: 16px;
        }

        table tbody tr {
            height: auto;
        }

        table tbody tr:hover {
            background-color: #dcdde1;
        }

        table tbody td {
            padding: 10px;
            text-align: center;
            vertical-align: middle;
            background-color: white;
        }
        
        /* Ajustar ancho de las columnas */
        th.fecha, td.fecha {
            width: 10%; /* Más ancho */
        }
        
        th.participantes, td.participantes {
            width: 20%; /* Más ancho */
        }
        
        th.observacion, td.observacion {
            width: 17%; /* Más ancho */
        }
        
        th.descripcion, td.descripcion {
            width: 23%; /* Más angosto */
        }
        
        th, td {
            text-align: center; /* Centrar el contenido */
            vertical-align: middle; /* Alinear verticalmente al centro */
        }

        /* Botón de acción */
        .actions {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 10px;
            padding: 10px;
        }

        .actions a {
            text-decoration: none;
            padding: 10px 20px;
            border-radius: 5px;
            font-weight: bold;
            font-size: 14px;
            transition: background-color 0.3s ease, transform 0.2s ease;
            color: white;
            text-align: center;
        }

        .actions .edit {
            background-color: #f39c12;
        }

        .actions .edit:hover {
            background-color: #e67e22;
        }

        .actions .delete {
            background-color: #e74c3c;
        }

        .actions .delete:hover {
            background-color: #c0392b;
        }

        .actions a:hover {
            transform: scale(1.1);
        }

        /* Estilo responsive */
        @media (max-width: 768px) {
            .sidebar {
                width: 100%;
                height: auto;
                position: relative;
                margin-bottom: 20px;
            }

            .sidebar ul {
                display: flex;
                flex-direction: column;
                align-items: center;
            }

            .main-content {
                margin-left: 0;
                padding: 20px;
            }

            .main-content h1 {
                font-size: 24px;
            }

            table thead th,
            table tbody td {
                font-size: 14px;
                padding: 8px;
            }

            .actions a {
                font-size: 12px;
                padding: 8px 15px;
                width: 100%;
            }

            table tbody td.participantes {
                min-width: 200px;
                word-wrap: break-word;
            }
        }

        @media (max-width: 480px) {
            .sidebar ul li a {
                font-size: 16px;
                padding: 10px;
            }

            table thead th,
            table tbody td {
                font-size: 12px;
                padding: 6px;
            }

            .actions {
                gap: 5px;
            }

            .actions a {
                font-size: 10px;
                padding: 6px 10px;
                width: 100%;
            }

            form {
                font-size: 10px;
            }

            .main-content h1 {
                font-size: 20px;
            }

            table tbody td.participantes {
                min-width: 150px;
                word-wrap: break-word;
            }
        }
    </style>

    <?php
    if (isset($_GET['mensaje']) && $_GET['mensaje'] === 'actualizado') {
        echo "
        <script>
            alert('Estados actualizados correctamente.');
        </script>";
    }
    ?>
</head>
<body>
    <div class="sidebar">
        <h2>PYP Conservación Auditiva</h2>
        <ul>
            <li><a href="index.php">Inicio</a></li>
            <li><a href="registrar_actividad.php">Registrar Actividad de Mejora</a></li>
            <li><a href="listar_actividades.php" class="active">Gestionar Actividades</a></li>
        </ul>
    </div>

    <div class="main-content">
        <h1 style="text-align: center;">
            Gestionar Actividades de Mejora
            <?php if (!empty($clasificacion)): ?>
                - Clasificación: <?= htmlspecialchars($clasificacion) ?>
            <?php endif; ?>
        </h1>
        <?php if ($result->num_rows > 0) { ?>
            <table>
                <thead>
                    <tr>
                        <th>ID</th>
                        <th>Tipo de Acción</th>
                        <th class="descripcion">Descripción</th>
                        <th class="fecha">Fecha</th>
                        <th class="participantes">Participantes</th>
                        <th class="observacion">Observación</th>
                        <th>Clasificación</th>
                        <th>Acciones</th>
                    </tr>
                </thead>
                <tbody>
                <?php while ($row = $result->fetch_assoc()): ?>
                    <?php
                    // Obtener la lista de participantes basados en la clasificación
                    $participantes = obtenerParticipantes($conexion, $row['clasificacion']);
                    ?>
                    <tr>
                        <td><?= $row['id'] ?></td>
                        <td><?= htmlspecialchars($row['tipo_accion']) ?></td>
                        <td class="descripcion"><?= htmlspecialchars($row['descripcion']) ?></td>
                        <td class="fecha"><?= htmlspecialchars($row['fecha_programada']) ?></td>
                        <td class="participantes">
                            <form method="post" action="actualizar_estado.php" style="font-size: 12px; text-align: center;">
                                <input type="hidden" name="actividad_id" value="<?= $row['id'] ?>">
                                <?php if (!empty($participantes)): ?>
                                    <?php foreach (explode(", ", $participantes) as $empleado): ?>
                                        <?php 
                                            $estado = obtenerEstadoParticipante($conexion, $row['id'], $empleado);
                                        ?>
                                        <div style="margin-bottom: 2px; display: flex; justify-content: space-between; align-items: center;">
                                            <label style="margin-right: 2px; font-weight: normal;">
                                                <?= htmlspecialchars($empleado) ?>:
                                            </label>
                                            <select name="participantes[<?= htmlspecialchars($empleado) ?>]" style="font-size: 12px; padding: 1px 3px; height: 25px; line-height: 1;">
                                                <option value="Programado" <?= $estado === 'Programado' ? 'selected' : '' ?>>Programado</option>
                                                <option value="En proceso" <?= $estado === 'En proceso' ? 'selected' : '' ?>>En proceso</option>
                                                <option value="Completado" <?= $estado === 'Completado' ? 'selected' : '' ?>>Completado</option>
                                                <option value="Cancelado" <?= $estado === 'Cancelado' ? 'selected' : '' ?>>Cancelado</option>
                                            </select>
                                        </div>
                                    <?php endforeach; ?>
                                <?php else: ?>
                                    <p>No hay participantes asignados</p>
                                <?php endif; ?>
                                <button type="submit" class="btn btn-edit" style="font-size: 12px; padding: 3px 8px; margin-top: 2px; border-radius: 3px;">
                                    Guardar
                                </button>
                            </form>
                        </td>
                        <td class="observacion"><?= htmlspecialchars($row['observacion']) ?></td>
                        <td><?= htmlspecialchars($row['clasificacion']) ?></td>
                        <td class="actions">
                            <a href="editar_actividad.php?id=<?= $row['id'] ?>" class="edit">Editar</a>
                            <a href="eliminar_actividad.php?id=<?= $row['id'] ?>" class="delete" onclick="return confirm('¿Estás seguro de eliminar esta actividad?');">Eliminar</a>
                        </td>
                    </tr>
                <?php endwhile; ?>
                </tbody>
            </table>
        <?php } else { ?>
            <p style="text-align: center; color: #34495e;">No se encontraron actividades.</p>
        <?php } ?>
    </div>
</body>
</html>

