<?php
require '../../conexao/conexao.php';
require '../../querys/query-vendedores.php';

$vendedores = new Vendedores($connection);

// Verifica se a filial foi enviada via GET
if (isset($_GET['filial'])) {
    $filial = $_GET['filial'];

    // Se for "Todos", retorna todos os vendedores
    if ($filial == 'Todos' || $filial === '') {
        $listagemVendedor = $vendedores->listarVendedores();
    } else {
        // Se o valor recebido for um ID da tabela `filiais`, mapear para CODIGO_FC
        $codigoParaFirebird = $filial;

        // Tenta detectar lista com vírgula (não suportado aqui) e aborta
        if (strpos($filial, ',') !== false) {
            $codigoParaFirebird = $filial; // deixar como está (fallback)
        } else {
            // Primeiro, tenta buscar CODIGO_FC quando $filial corresponde ao ID
            $stmt = $connectionmysql->prepare("SELECT codigo_fc FROM filiais WHERE id = ? LIMIT 1");
            if ($stmt) {
                $stmt->bind_param('i', $filial);
                $stmt->execute();
                $res = $stmt->get_result();
                if ($res && $row = $res->fetch_assoc()) {
                    if (!empty($row['codigo_fc'])) {
                        $codigoParaFirebird = $row['codigo_fc'];
                    }
                }
                $stmt->close();
            }
        }

        // Chama a função passando o código esperado pelo Firebird (CODIGO_EMPRESA)
        $listagemVendedor = $vendedores->listarVendedores($codigoParaFirebird);
    }

    // Certifica-se de que estamos retornando um array válido
    if ($listagemVendedor === false || empty($listagemVendedor)) {
        $listagemVendedor = []; // Retorna um array vazio se não houver resultados
    }

    // Certifica-se de que os nomes estão codificados como UTF-8
    array_walk_recursive($listagemVendedor, function (&$value) {
        $value = $value; // Codifica cada valor como UTF-8
    });

    // Define o cabeçalho correto para retorno JSON
    header('Content-Type: application/json');
    echo json_encode($listagemVendedor);
} else {
    // Caso a filial não seja enviada, retorna um array vazio
    header('Content-Type: application/json');
    echo json_encode([]);
}
