<?php
include "./conexion.php";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    
    $empleado = $_POST['empleado'];
    
    //$tipo = $_POST['tipo'];
    $horario = $_POST['horario'];
    $ubicacion = $_POST['ubicacion'];
    

/*$empleado = '11255';
$horario = '2024-09-17 16:55:07';*/
$ultima_checada=null;
$status=null;
$status2=null;
$status3=null;
$nombre=null;

$sql = "SELECT * FROM checadas WHERE empleado='" . $empleado . "' ORDER BY horario DESC LIMIT 1";

// Ejecuta la consulta
$sql_valida = mysqli_query($connection, $sql);
if (mysqli_num_rows($sql_valida) > 0) {
    if ($sql_valida) {
        // Obtén los datos del resultado
        while ($data = mysqli_fetch_array($sql_valida)) {
            $ultima_checada = $data['horario'];
            $tipo = $data['tipo'];
        }

        // Convierte las fechas en objetos DateTime
        $fecha_ultima_checada = new DateTime($ultima_checada);
        $fecha_horario_actual = new DateTime($horario);

        // Calcula la diferencia
        $diff = $fecha_ultima_checada->diff($fecha_horario_actual);

        // Convierte la diferencia a minutos
        $diferencia = ($diff->days * 24 * 60) + ($diff->h * 60) + $diff->i;

        if ($diferencia <= 5) {
            $status = 'alert';
            $status2='Ya existe una checada hace: ' . $diferencia . " minutos";
        } else {
            // Preparar la consulta de inserción
            $sqlx = "INSERT INTO checadas (empleado, tipo, horario, ubicacion) VALUES (?, ?, ?, ?)";
            $stmt = mysqli_prepare($connection, $sqlx);

            if ($stmt) {
                // Determina el nuevo tipo basado en el último tipo
                $nuevo_tipo = ($tipo == 1) ? '2' : '1';

                // Vincular parámetros
                //$ubicacion = 'default_ubicacion'; // Asegúrate de tener un valor de ubicación válido
                mysqli_stmt_bind_param($stmt, "ssss", $empleado, $nuevo_tipo, $horario, $ubicacion);

                // Ejecutar la consulta
                if (mysqli_stmt_execute($stmt)) {
                    $status = 'success';
                    if($nuevo_tipo==1){
                        $status2='Ingreso registrado exitosamente.';
                    }else{
                        $status2='Salida registrada exitosamente.';
                    }
                } else {
                    $status = 'failure';
                    $status2='Error al insertar la checada: ' . mysqli_error($connection);
                }
            } else {
                $status='error';
                $status2='Error en la preparación de la consulta: ' . mysqli_error($connection);
            }
        }
    } else {
        // Maneja errores en la consulta
        $status='error';
        $status2="Error en la consulta: " . mysqli_error($connection);
    }
} else {
    $status='error';
    $status2="No se encontraron checadas anteriores.";
}

}


$mensaje = array(
    'respuesta' => $status,
    'mensaje'=>$status2
);

echo json_encode($mensaje);

?>