<?php
$servername = "localhost";
$username = "root"; // Cambia esto por tu usuario
$password = "pluton007$"; // Cambia esto por tu contraseña
$dbname = "crud";

// Crear conexión
$conn = new mysqli($servername, $username, $password, $dbname);

// Verificar conexión
if ($conn->connect_error) {
    die("Conexión fallida: " . $conn->connect_error);
}

$fecha_inicio = $_POST['fecha_inicio'] ?? '';
$fecha_fin = $_POST['fecha_fin'] ?? '';

$sql = "SELECT p.nombre, p.apellido, t.nombre AS turno,
               a.fecha_entrada, a.fecha_salida,
               TIMESTAMPDIFF(HOUR, a.fecha_entrada, a.fecha_salida) AS horas_trabajadas,
               TIMESTAMPDIFF(MINUTE, 
                   CONCAT(DATE(a.fecha_entrada), ' ', t.hora_inicio), 
                   a.fecha_entrada) AS minutos_retraso,
               TIMESTAMPDIFF(MINUTE, 
                   CONCAT(DATE(a.fecha_entrada), ' ', t.hora_fin), 
                   a.fecha_salida) AS minutos_extras
        FROM asistencia a
        JOIN personas p ON a.persona_id = p.id
        JOIN turnos t ON p.id_turno = t.id
        WHERE a.fecha_entrada BETWEEN '$fecha_inicio' AND '$fecha_fin'";

$result = $conn->query($sql);
?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
    <title>Reporte de Asistencias</title>
</head>
<body>
<div class="container mt-5">
    <h2>Reporte de Asistencias</h2>
    <form method="POST" class="mb-4">
        <div class="form-row">
            <div class="form-group col-md-6">
                <label for="fecha_inicio">Fecha Inicio:</label>
                <input type="date" class="form-control" id="fecha_inicio" name="fecha_inicio" required>
            </div>
            <div class="form-group col-md-6">
                <label for="fecha_fin">Fecha Fin:</label>
                <input type="date" class="form-control" id="fecha_fin" name="fecha_fin" required>
            </div>
        </div>
        <button type="submit" class="btn btn-primary">Generar Reporte</button>
    </form>

    <?php if ($result->num_rows > 0): ?>
        <table class="table table-bordered">
            <thead>
                <tr>
                    <th>Nombre</th>
                    <th>Apellido</th>
                    <th>Turno</th>
                    <th>Fecha Entrada</th>
                    <th>Fecha Salida</th>
                    <th>Horas Trabajadas</th>
                    <th>Minutos Retraso</th>
                    <th>Minutos Extras</th>
                </tr>
            </thead>
            <tbody>
                <?php while($row = $result->fetch_assoc()): ?>
                    <tr>
                        <td><?php echo $row['nombre']; ?></td>
                        <td><?php echo $row['apellido']; ?></td>
                        <td><?php echo $row['turno']; ?></td>
                        <td><?php echo $row['fecha_entrada']; ?></td>
                        <td><?php echo $row['fecha_salida']; ?></td>
                        <td><?php echo $row['horas_trabajadas']; ?></td>
                        <td><?php echo $row['minutos_retraso']; ?></td>
                        <td><?php echo $row['minutos_extras']; ?></td>
                    </tr>
                <?php endwhile; ?>
            </tbody>
        </table>
    <?php else: ?>
        <p>No se encontraron registros para las fechas seleccionadas.</p>
    <?php endif; ?>

</div>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.0.7/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>
</html>

<?php
$conn->close();
?>
