<?php
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');

try {
    // Conectar com banco
    $pdo = new PDO(
        "mysql:host=localhost;dbname=pinheir3_controle_frotasV1.1;charset=utf8mb4",
        "pinheir3",
        "080880Gelboy",
        [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
    );
    
    // Query simples que funciona
    $sql = "
        SELECT 
            v.id,
            v.cliente,
            v.motivo,
            v.tecnico_id,
            v.veiculo_id,
            v.data_inicio,
            v.latitude_inicial,
            v.longitude_inicial,
            v.latitude_final,
            v.longitude_final,
            v.trajeto,
            v.km_inicial,
            TIMESTAMPDIFF(MINUTE, v.data_inicio, NOW()) as duracao_minutos
        FROM viagens v
        WHERE v.data_fim IS NULL
        ORDER BY v.data_inicio DESC
    ";
    
    $stmt = $pdo->query($sql);
    $viagens = $stmt->fetchAll();
    
    $dadosProcessados = [];
    
    foreach ($viagens as $viagem) {
        // Determinar posição atual - LÓGICA SIMPLES
        $posicaoAtual = null;
        
        // Usar coordenadas iniciais se existirem
        $latInicial = floatval($viagem['latitude_inicial'] ?? 0);
        $lngInicial = floatval($viagem['longitude_inicial'] ?? 0);
        
        if ($latInicial != 0 && $lngInicial != 0 && 
            $latInicial >= -90 && $latInicial <= 90 && 
            $lngInicial >= -180 && $lngInicial <= 180) {
            
            $posicaoAtual = [
                'latitude' => $latInicial,
                'longitude' => $lngInicial,
                'timestamp' => $viagem['data_inicio'],
                'velocidade' => 0,
                'precisao' => 0,
                'fonte' => 'posicao_inicial',
                'tempo_atualizacao' => $viagem['data_inicio']
            ];
        }
        
        $dadosProcessados[] = [
            'id' => intval($viagem['id']),
            'cliente' => $viagem['cliente'] ?: 'Cliente N/D',
            'motivo' => $viagem['motivo'] ?: 'Motivo N/D',
            'motorista_nome' => $viagem['tecnico_id'] ?: 'Motorista N/D',
            'motorista_matricula' => 'SEM_MATRICULA',
            'motorista_completo' => $viagem['tecnico_id'] ?: 'Motorista N/D',
            'veiculo_modelo' => 'Modelo N/D',
            'veiculo_placa' => 'Placa N/D',
            'veiculo_completo' => 'Veículo N/D',
            'data_inicio' => $viagem['data_inicio'],
            'duracao_minutos' => intval($viagem['duracao_minutos']),
            'posicao_atual' => $posicaoAtual,
            'total_pontos_gps' => 0,
            'trajeto_pontos' => [],
            'km_inicial' => intval($viagem['km_inicial'] ?? 0),
            'tempo_ultima_atualizacao_segundos' => 0,
            'status' => $posicaoAtual ? 'com_gps' : 'sem_gps',
            'status_texto' => $posicaoAtual ? 'Com GPS' : 'Sem GPS'
        ];
    }
    
    echo json_encode([
        'sucesso' => true,
        'dados' => $dadosProcessados,
        'total_viagens' => count($dadosProcessados),
        'timestamp' => date('Y-m-d H:i:s'),
        'tabelas_encontradas' => ['viagens'],
        'conexao' => [
            'host' => 'localhost',
            'database' => 'pinheir3_controle_frotasV1.1',
            'user' => 'pinheir3'
        ]
    ], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
    
} catch (Exception $e) {
    echo json_encode([
        'sucesso' => false,
        'erro' => $e->getMessage(),
        'linha' => $e->getLine(),
        'timestamp' => date('Y-m-d H:i:s')
    ]);
}
?> 
