<?php
require '../conexao/conexao.php';
//require '../sessao.php';
require '../conexao/acesso.php';
require '../configuacoes.php';
require '../configuracao/get_config.php';

$configuracoes = new Configuracoes();

$operacoes = $configuracoes->get_operacoes_em_uso(); // Supondo que já seja um array
if (!empty($operacoes)) {
    sort($operacoes);
    $operacoes = implode(',', array_map('intval', $operacoes));
} else {
    $operacoes = null;
}

function getBadgeClass($percentage)
{
    if ($percentage < 90) {
        return 'badge-danger';
    } elseif ($percentage >= 90 && $percentage < 100) {
        return 'badge-warning';
    } elseif ($percentage >= 100 && $percentage < 105) {
        return 'badge-success';
    } elseif ($percentage >= 105) {
        return 'badge-primary';
    } else {
        return ''; // ou outra classe de sua escolha para situações não esperadas
    }
}


function getBadgeClassmeta($percentage)
{
    if ($percentage <= 70) {
        return 'badge-danger';
    } elseif ($percentage <= 80) {
        return 'badge-warning';
    } elseif ($percentage > 80 && $percentage <= 99) {
        return 'badge-primary';
    } elseif ($percentage >= 100) {
        return 'badge-success';
    } else {
        return ''; // ou outra classe de sua escolha para situações não esperadas
    }
}

function formatarNumero($numero)
{
    if ($numero >= 1000) {
        return number_format($numero / 1000, 1, ',', '.') . "k";
    } else {
        return number_format($numero, 2, ',', '.');
    }
}

$hojeFormatado = date('Y-m-d');
//$hoje = DateTime::createFromFormat('d-m-Y H:i', '23-11-2024 08:51');
//$hojeFormatado = $hoje->format('Y-m-d');
// Obtém o mês e ano da data atual
$mesAtual = date('m', strtotime($hojeFormatado));
$anoAtual = date('Y', strtotime($hojeFormatado));


//recuperando cidade combo filial
$query_cidade_filial = "select
    DISTINCT
  CE.NOMECIDADE as MUNIC

from EMPRESA EP
  inner join CIDADEESTADO CE on EP.CODIGO_CIDADEESTADO = CE.CODIGO
  inner join REGIAODETALHE RD on EP.CODIGO_REGIAODETALHE = RD.CODIGO
order by
  EP.CODIGO";
$result_cidade_filial = ibase_query($connection, $query_cidade_filial);

if (!$result_cidade_filial) {
    die('Erro na consulta: ' . ibase_errmsg());
}

$cidadefiliais = [];
while ($row = ibase_fetch_assoc($result_cidade_filial)) {
    $cidadefiliais[] = $row;
}


$query_vendedor_filial = "SELECT  DISTINCT
              FU.CODIGO AS CDFUN,
              FU.NOMEFUNCIONARIO AS NOMEFUN
          FROM FUNCIONARIO FU
          INNER JOIN FUNCIONARIO_FUNCAO FF ON FU.CODIGO_FUNCIONARIO_FUNCAO = FF.CODIGO
          INNER JOIN FUNCIONARIO_DEPTO FD ON FU.CODIGO_FUNCIONARIO_DEPTO = FD.CODIGO
          WHERE FU.CODIGO <> 0 and FD.NOMEDEPTO = 'VENDAS' AND FU.ATIVO = '-1'
          --and FU.CODIGO_EMPRESA = ? -- filtro pela filial selecionada
";
$result_vendedor_filial = ibase_query($connection, $query_vendedor_filial);

if (!$result_vendedor_filial) {
    die('Erro na consulta: ' . ibase_errmsg());
}

$vendedorlojas = [];
while ($row = ibase_fetch_assoc($result_vendedor_filial)) {
    $vendedorlojas[] = $row;
}


//$cidade = trim($_GET['cidade']) ?? null;
if (isset($_GET['cidade'])) {
    // Obtém o valor da cidade e remove espaços em branco extras
    $cidade = trim($_GET['cidade']);
} else {
    // Se o parâmetro 'cidade' não estiver presente, define $cidade como null
    $cidade = null;
}

$filiais_condicao = $_GET['filial'] ?? [];
//pegar dados das filiais
if (!empty($filiais_condicao)) {
    if (is_array($filiais_condicao)) {
        // Se $filial for um array (vários valores selecionados), aplicamos array_map
        $filial = implode(",", array_map('intval', $filiais_condicao));
    } else {
        // Se $filial for uma string (apenas um valor selecionado), convertemos para inteiro diretamente
        $filial = intval($filiais_condicao);
    }
} else {
    // Se $filiais_condicao estiver vazio, atribuímos o valor "Todos" a $filial
    $filial = "Todos";
}
//echo $filial;


$DataInicial = $_GET['DataInicial'] ?? null;
$DataFinal = $_GET['DataFinal'] ?? null;
$codvendedor = $_GET['codvendedor'] ?? null;
//$filial = $_GET['filial'] ?? null;


// Criar a string de consulta com os parâmetros
$queryString = http_build_query([
    'cidade' => $cidade,
    'DataInicial' => $DataInicial,
    'DataFinal' => $DataFinal,
    'filial' => $filial
]);

// URL da página "ranking.php" com os parâmetros da pesquisa
$rankingPageUrl = "ranking.php?$queryString";


if (isset($_GET['pesquisar'])) {
    //if (isset($_GET['pesquisar']) || (isset($_GET['retorno']) && $_GET['retorno'] == 'detalhamento')) {

    $sql_nome_fun = " SELECT  DISTINCT
              FU.NOMEFUNCIONARIO AS NOMEFUN
          FROM FUNCIONARIO FU
          INNER JOIN FUNCIONARIO_FUNCAO FF ON FU.CODIGO_FUNCIONARIO_FUNCAO = FF.CODIGO
          INNER JOIN FUNCIONARIO_DEPTO FD ON FU.CODIGO_FUNCIONARIO_DEPTO = FD.CODIGO
          WHERE FU.CODIGO <> 0 and FD.NOMEDEPTO = 'VENDAS' AND FU.ATIVO = '-1' ";

    // Aplicar o filtro da filial
    if ($codvendedor && $codvendedor != "") {
        $sql_nome_fun .= " AND FU.CODIGO = $codvendedor ";
    }
    if ($filial && $filial != "Todos") {
        $sql_nome_fun .= " AND FU.codigo_empresa in (" . ($filial) . ")";
    }

    $result_nome_fun = ibase_query($connection, $sql_nome_fun);


    if (!$result_nome_fun) {
        die('Erro na consulta' . $sql_nome_fun . 'Firebird/InterBase: ' . ibase_errmsg());
    }

    $rowsresult_nome_fun = ibase_fetch_assoc($result_nome_fun);

    //SELECT VALOR DESCONTO VAREJO
    $sql_Desconto_varejo = "
SELECT
SUM(A1.VALORVENDA) AS valor_bruto_varejo, 
  SUM(A1.VALORVENDA_DESC) AS valor_liquido_varejo
FROM ATENDIMENTO_A1 A1
LEFT JOIN UTIL_REL_AG1(1) AG ON AG.AG1_OP > 0
INNER JOIN FUNCIONARIO FU ON FU.CODIGO = IIF(AG.AG1_OP = 1, A1.CODIGO_FUNCIONARIO_COMISSAO, A1.AVIADA_CF)
WHERE A1.TIPO_ATENDIMENTO IN (2) AND CAST(A1.entregue_dt as DATE) BETWEEN '$DataInicial' AND '$DataFinal' ";


    // Adicionando condição de filial, se houver
    if ($filial && $filial != "Todos") {
        // Verifica se $filial é uma string e não um array
        if (is_string($filial)) {
            // Certifique-se de que os valores sejam inteiros
            $filial = implode(",", array_map('intval', explode(",", $filial))); // Converte a string em array e depois para string separada por vírgulas
        }

        // Adiciona a condição de filial à consulta
        $sql_Desconto_varejo .= " AND A1.AVIADA_LJ IN ($filial)";
    }

    // Adicionando as condições adicionais da consulta original
    $sql_Desconto_varejo .= "
AND A1.CODIGO_FUNCIONARIO_COMISSAO = '" . $codvendedor . "'
AND A1.PAGAR_COMISSAO_FUNCIONARIO = '-1'
AND A1.STATUS_MOV = '-1'
AND A1.codigo_tipooperacao NOT IN (5,159,174,184,185,186,187,188,190,216,221,234,235,236,237,242,246,261,296,297,255,209,24,121,124,125,138,183,224,226,230,
231,232,276,287,292,295,300)
";

    // Executar a consulta SQL
    $resultDescontoVarejo = ibase_query($connection, $sql_Desconto_varejo);
    if (!$resultDescontoVarejo) {
        die('Erro na consulta' . $sql_Desconto_varejo . '  Firebird/InterBase: ' . ibase_errmsg());
    }
    $rowDescontoVarejo = ibase_fetch_assoc($resultDescontoVarejo);


    // Salvando os valores bruto e líquido em variáveis PHP
    $valor_bruto_varejo = $rowDescontoVarejo['VALOR_BRUTO_VAREJO'];
    $valor_liquido_varejo = $rowDescontoVarejo['VALOR_LIQUIDO_VAREJO'];
    //echo $valor_bruto_varejo;
    //echo " -- ";
    //echo $valor_liquido_varejo ;
    //Calculando o desconto de varejo

    // Verificando se o valor líquido é maior que 0 para evitar divisão por zero
    if ($valor_liquido_varejo > 0) {
        // $percentual_desconto_varejo = (($valor_liquido_varejo / $valor_bruto_varejo) - 1) * 100;
        $percentual_desconto_varejo = (($valor_bruto_varejo - $valor_liquido_varejo) / $valor_bruto_varejo) * 100;
    } else {
        $percentual_desconto_varejo = 0; // Caso o valor líquido seja 0, o percentual de desconto será zero
    }

    //SELECT VALOR DESCONTO MANIPULADO
    $sql_Desconto_manipulado = "
SELECT
  SUM(A1.VALORVENDA) AS valor_bruto_manipulado, 
    SUM(A1.VALORVENDA_DESC) AS valor_liquido_manipulado
FROM ATENDIMENTO_A1 A1
LEFT JOIN UTIL_REL_AG1(1) AG ON AG.AG1_OP > 0
INNER JOIN FUNCIONARIO FU ON FU.CODIGO = IIF(AG.AG1_OP = 1, A1.CODIGO_FUNCIONARIO_COMISSAO, A1.AVIADA_CF)
WHERE A1.TIPO_ATENDIMENTO IN (1) AND CAST(A1.entregue_dt as DATE) BETWEEN '$DataInicial' AND '$DataFinal'
AND A1.CODIGO_FUNCIONARIO_COMISSAO = '" . $codvendedor . "' ";



    // Adicionando condição de filial, se houver
    if ($filial && $filial != "Todos") {
        if (is_array($filial)) {
            $filial = implode(",", $filial); // Converte array para string separada por vírgulas
        }
        $sql_Desconto_manipulado .= " AND A1.AVIADA_LJ IN ($filial)";
    }

    // Adicionando condições adicionais
    $sql_Desconto_manipulado .= "
AND A1.PAGAR_COMISSAO_FUNCIONARIO = '-1'
AND A1.STATUS_MOV = '-1'
AND A1.codigo_tipooperacao NOT IN (5,159,174,184,185,186,187,188,190,216,221,234,235,236,237,242,246,261,296,297,255,209,24,121,124,125,138,183,224,226,230,
231,232,276,287,292,295,300)
";

    // Executar a consulta SQL
    $resultDescontoManipulado = ibase_query($connection, $sql_Desconto_manipulado);
    if (!$resultDescontoManipulado) {
        die('Erro na consulta: ' . ibase_errmsg());
    }
    $rowDescontoManipulado = ibase_fetch_assoc($resultDescontoManipulado);

    // Salvando os valores bruto e líquido em variáveis PHP
    $valor_bruto_manipulado = $rowDescontoManipulado['VALOR_BRUTO_MANIPULADO'];
    $valor_liquido_manipulado = $rowDescontoManipulado['VALOR_LIQUIDO_MANIPULADO'];

    //SQL para pegar o desconto de um produto específico

    $sql_Produto_especifico = " SELECT SUM(benz.valor_venda_liquido) AS valor_liquido_produto,
       SUM(benz.valor_venda_total) AS valor_bruto_produto
FROM (SELECT
        cast(coalesce(A1.VALORVENDA_DESC,0) as numeric (18,2)) AS valor_venda_liquido,
        cast(coalesce(A1.VALORVENDA,0) as numeric (18,2)) AS valor_venda_total
from ATENDIMENTO_A1 A1
LEFT JOIN UTIL_REL_AG1(1) AG ON AG.AG1_OP > 0
    INNER JOIN FUNCIONARIO FU ON FU.CODIGO = IIF(AG.AG1_OP = 1, A1.CODIGO_FUNCIONARIO_COMISSAO, A1.AVIADA_CF)
inner join CLIENTE C on A1.CODIGO_CLIENTE = C.CODIGO
inner join MEDICO M on A1.CODIGO_MEDICO = M.CODIGO
left join COMPRA_RELAC_MOV RM on A1.CODIGO = RM.CODIGO_ATENDIMENTO_A1 and RM.CODIGO_COMPRA is not null
left join ATENDIMENTO_ED ED ON ED.CODIGO = A1.CODIGO_ATEND_E
inner join ATENDIMENTO_A2 A2 on A1.CODIGO = A2.CODIGO_ATEND_A1
inner join FORMAFARMACEUTICA FF on A2.CODIGO_FORMAFARMACEUTICA = FF.CODIGO
inner join ATENDIMENTO_A3 A3 on A1.CODIGO = A3.CODIGO_ATEND_A1 and A2.NUMEROFORMULA = A3.NUMEROFORMULA

where A1.TIPO_ATENDIMENTO = 1  AND  CAST(A1.entregue_dt as DATE)  BETWEEN '$DataInicial' AND '$DataFinal'
AND A1.CODIGO_FUNCIONARIO_COMISSAO = '" . $codvendedor . "' ";

    // Adicionando condição de filial, se houver
    if ($filial && $filial != "Todos") {
        if (is_array($filial)) {
            $filial = implode(",", $filial); // Converte array para string separada por vírgulas
        }
        $sql_Produto_especifico .= " AND A1.AVIADA_LJ IN ($filial)";
    }

    $sql_Produto_especifico .= " AND A3.codigo_produto = '1000261'

AND A1.cancelamento_cf is null
AND A1.descarte_cf is null
 AND A1.codigo_tipooperacao NOT IN (5,159,174,184,185,186,187,188,190,216,221,234,235,236,237,242,246,261,296,297,255,209,24,121,124,125,138,183,224,226,230,
231,232,276,287,292,295,300)
group by
A1.CODIGO,
A1.CODIGO_ANIMAL,
A1.AVIADA_LJ,
A1.AVIADA_DT,
C.NOMECLIENTE,
M.NOMEMEDICO,
A1.VALORVENDA,
A1.DESCONTO,
A1.CARTAOATENDIMENTO,
A1.CODIGO_ATEND_FL,
A1.CODIGO_ATEND_E,
A1.CODIGO_ATEND_PV,
A1.ENTREGUE_CF,
RM.CODIGO_ATENDIMENTO_A1,
A1.DESCARTE_CF,
A1.VALORVENDA_DESC
) as benz ";

    //echo $sql_Produto_especifico;
    // Executar a consulta SQL para o produto específico
    $resultProdutoEspecifico = ibase_query($connection, $sql_Produto_especifico);
    $rowProdutoEspecifico = ibase_fetch_assoc($resultProdutoEspecifico);
    $valor_bruto_produto = $rowProdutoEspecifico['VALOR_BRUTO_PRODUTO'];
    $valor_liquido_produto = $rowProdutoEspecifico['VALOR_LIQUIDO_PRODUTO'];

    // 3. Subtraindo os valores do produto específico dos valores gerais
    $valor_bruto_final_manipulado = $valor_bruto_manipulado - $valor_bruto_produto;
    $valor_liquido_final_manipulado = $valor_liquido_manipulado - $valor_liquido_produto;


    // 4. Calculando o percentual de desconto
    if ($valor_liquido_final_manipulado > 0) {
        //$percentual_desconto = (( $valor_liquido_final_manipulado / $valor_bruto_final_manipulado) - 1) * 100;
        $percentual_desconto = (($valor_bruto_final_manipulado - $valor_liquido_final_manipulado) / $valor_bruto_final_manipulado) * 100;
    } else {
        $percentual_desconto = 0; // Evitar divisão por zero
    }

    //Calculando o desconto total
    $valor_bruto_total = $valor_bruto_final_manipulado + $valor_bruto_varejo;
    $valor_liquido_total = $valor_liquido_final_manipulado + $valor_liquido_varejo;

    // 3. Calculando o percentual de desconto total
    if ($valor_liquido_total > 0) {
        $percentual_desconto_total = (($valor_bruto_total - $valor_liquido_total) / $valor_bruto_total) * 100;
    } else {
        $percentual_desconto_total = 0; // Evitar divisão por zero
    }
    //echo $percentual_desconto_total;

    //AQUI COMEÇA AS QUERYS SOBRE ORÇAMENTOS
    $sql_top_10_vendedores_reprovado = "SELECT
  FIRST 10
  A1.CODIGO_FUNCIONARIO_COMISSAO as CDFUN,
            FU.NOMEFUNCIONARIO as NOMEFUN ,
  count(A1.CODIGO) as QUANTIDADE,
  cast(coalesce(sum(A1.VALORVENDA_DESC),0) as numeric (18,2)) as TOTAL_VENDAS
  from ATENDIMENTO_A1 A1
  inner join FUNCIONARIO FU ON FU.CODIGO = A1.CADASTRO_CF
  where A1.TIPO_ATENDIMENTO = 1
  AND A1.PAGAR_COMISSAO_FUNCIONARIO = '-1'
  AND A1.STATUS_MOV = 0 AND A1.CODIGO_FUNCIONARIO_COMISSAO = $codvendedor
  AND CAST(A1.CADASTRO_DT as DATE) BETWEEN '$DataInicial' AND '$DataFinal' ";


    if ($filial && $filial != "Todos") {
        $sql_top_10_vendedores_reprovado .= " AND A1.CADASTRO_LJ  IN ($filial)";
    }

    $sql_top_10_vendedores_reprovado .= "  GROUP BY CDFUN , NOMEFUN
 ORDER BY TOTAL_VENDAS DESC";
    //echo $sql_top_10_vendedores_reprovado ;
    $result_vendedores_reprovado = ibase_query($connection, $sql_top_10_vendedores_reprovado);

    $resultsArrayvendedorreprovado = array();
    while ($row = ibase_fetch_assoc($result_vendedores_reprovado)) {
        $resultsArrayvendedorreprovado[] = $row;
    }
    // $sql_top_10_vendedores_reprovado;

    $sql_top_10_vendedores_aprovados  = "SELECT
  FIRST 10
  A1.CODIGO_FUNCIONARIO_COMISSAO as CDFUN,
            FU.NOMEFUNCIONARIO as NOMEFUN ,
  count(A1.CODIGO) as QUANTIDADE,
  cast(coalesce(sum(A1.VALORVENDA_DESC),0) as numeric (18,2)) as TOTAL_VENDAS
  from ATENDIMENTO_A1 A1
  inner join FUNCIONARIO FU ON FU.CODIGO = A1.CADASTRO_CF
  where A1.TIPO_ATENDIMENTO = 1
  AND A1.PAGAR_COMISSAO_FUNCIONARIO = '-1'
  AND A1.STATUS_MOV = '-1' AND A1.CODIGO_FUNCIONARIO_COMISSAO = $codvendedor  
  AND CAST(A1.CADASTRO_DT as DATE) BETWEEN '$DataInicial' AND '$DataFinal' ";


    if ($filial && $filial != "Todos") {
        $sql_top_10_vendedores_aprovados  .= " AND A1.CADASTRO_LJ  IN ($filial)";
    }

    $sql_top_10_vendedores_aprovados  .= "  GROUP BY CDFUN , NOMEFUN
 ORDER BY TOTAL_VENDAS DESC";
    //echo $sql_top_10_vendedores_aprovados;

    $result_vendedores_aprovado = ibase_query($connection, $sql_top_10_vendedores_aprovados);

    // echo '$sql_top_10_vendedores_aprovados '.  $sql_top_10_vendedores_aprovados;
    // exit;

    if (!$result_vendedores_aprovado) {
        die('Erro na consulta Firebird/InterBase: ' . ibase_errmsg());
    }


    $resultsArrayvendedoraprovado = array();
    while ($row = ibase_fetch_assoc($result_vendedores_aprovado)) {
        $resultsArrayvendedoraprovado[] = $row;
    }

    $totalVendasReprovado = 0;
    foreach ($resultsArrayvendedorreprovado as $row) {

        $totalVendasReprovado += $row['TOTAL_VENDAS'];
        //  $totalRealizadoManipulado += $row['TOTAL_VENDAS'];

    }
    $totalVendasReprovadoFormatado = number_format($totalVendasReprovado, 2, ',', '.');

    $totalVendasAprovado = 0;
    foreach ($resultsArrayvendedoraprovado as $row) {

        $totalVendasAprovado += $row['TOTAL_VENDAS'];
        //  $totalRealizadoManipulado += $row['TOTAL_VENDAS'];

    }
    //echo $totalVendasAprovado;
    $totalVendasAprovadoFormatado = number_format($totalVendasAprovado, 2, ',', '.');
    //PEGAR A QUANTIDADE DE ORÇAMENTOS REPROVADOS
    $qtdReprovado = 0;
    foreach ($resultsArrayvendedorreprovado as $row) {

        $qtdReprovado += $row['QUANTIDADE'];
        //  $totalRealizadoManipulado += $row['TOTAL_VENDAS'];

    }
    $qtdReprovadoFormatado = $qtdReprovado;
    //PEGAR A QUANTIDADE DE ORÇAMENTOS APROVADOS
    $qtdAprovado = 0;
    foreach ($resultsArrayvendedoraprovado as $row) {

        $qtdAprovado += $row['QUANTIDADE'];
        //  $totalRealizadoManipulado += $row['TOTAL_VENDAS'];

    }
    $qtdAprovadoFormatado = $qtdAprovado;


    // Calculando o total geral em R$
    $totalGeralVendas = $totalVendasReprovado + $totalVendasAprovado;
    //Calculando o total em quantidade de orçamentos
    $totalqtdorcamentos = $qtdAprovado + $qtdReprovado;

    // Calculando os percentuais
    $percentualReprovado = ($totalGeralVendas != 0) ? ($totalVendasReprovado / $totalGeralVendas) * 100 : 0;
    $percentualAprovado = ($totalGeralVendas != 0) ? ($totalVendasAprovado / $totalGeralVendas) * 100 : 0;
    // Calculando os percentuais da quantidade de orçamentos
    $percentualReprovadoQtd = ($totalqtdorcamentos != 0) ? ($qtdReprovado / $totalqtdorcamentos) * 100 : 0;
    $percentualAprovadoQtd = ($totalqtdorcamentos != 0) ? ($qtdAprovado / $totalqtdorcamentos) * 100 : 0;

    // Formatando os percentuais
    $percentualReprovadoFormatado = number_format($percentualReprovado, 2, ',', '.');
    $percentualAprovadoFormatado = number_format($percentualAprovado, 2, ',', '.');
    // Formatando os percentuais de quantidade de orçamentos
    $percentualReprovadoFormatadoQtd = number_format($percentualReprovadoQtd, 2, ',', '.');
    $percentualAprovadoFormatadoQtd = number_format($percentualAprovadoQtd, 2, ',', '.');




    function get_manipulado($filial, $DataInicial, $DataFinal, $operacoes, $codvendedor)
    {
        global $connection;

        $qry_manipulado = "SELECT
            IIF(AG.AG1_OP = 1, A1.CODIGO_FUNCIONARIO_COMISSAO, A1.AVIADA_CF) as CDFUNRE,
            FU.NOMEFUNCIONARIO as NOMEFUN ,
                
                CAST(COALESCE(SUM(A1.VALORVENDA_DESC), 0) AS NUMERIC(18,2)) AS SOMA
            FROM ATENDIMENTO_A1 A1
            LEFT JOIN UTIL_REL_AG1 (1) AG ON AG.AG1_OP > 0
            LEFT JOIN ATENDIMENTO_CF CF ON A1.CODIGO_ATEND_FL = CF.CODIGO_ATEND_FL AND CF.CANCELAMENTO_CF IS NULL
            LEFT JOIN MEDICO M ON M.CODIGO = A1.CODIGO_MEDICO
            LEFT JOIN MEDICO_CR CR ON CR.CODIGO = M.CODIGO_CONSELHO_REGIONAL
            INNER JOIN FUNCIONARIO FU ON FU.CODIGO = IIF(AG.AG1_OP = 1, A1.CODIGO_FUNCIONARIO_COMISSAO, A1.AVIADA_CF)
            WHERE A1.TIPO_ATENDIMENTO = 1 ";
        if (!empty($filial) && $filial !== "Todos") {
            // Se $filial não estiver vazio e não for "Todos", aplicamos o filtro na consulta

            $qry_manipulado .= " and A1.aviada_lj IN ($filial)";
        }
        // Aplicar filtros de ano e mês para a primeira subconsulta
        if (!empty($DataInicial) && !empty($DataFinal)) {
            $qry_manipulado .= " AND  CAST(A1.entregue_dt as DATE)  BETWEEN '$DataInicial' AND '$DataFinal'";
        }

        if (!empty($operacoes) && $operacoes != "NULL") {
            $qry_manipulado .= " AND A1.codigo_tipooperacao NOT IN ($operacoes)";
            //  AND A1.codigo_tipooperacao NOT IN (5, 159, 174, 184, 185, 186, 187, 188, 190, 216, 221, 234, 235, 236, 237, 242, 246, 261, 296, 297)
        }

        if (!empty($codvendedor)) {
            $qry_manipulado .= " AND  IIF(AG.AG1_OP = 1, A1.CODIGO_FUNCIONARIO_COMISSAO, A1.AVIADA_CF) IN ($codvendedor)";
            //  AND A1.codigo_tipooperacao NOT IN (5, 159, 174, 184, 185, 186, 187, 188, 190, 216, 221, 234, 235, 236, 237, 242, 246, 261, 296, 297)
        }

        $qry_manipulado .= " GROUP BY NOMEFUN,CDFUNRE ";


        $qryResult = ibase_query($connection, $qry_manipulado);
        if (!$qryResult) {
            die("Erro na consulta SQL (Manipulado): " . ibase_errmsg());
        }

        $manipulado = array();
        while ($row = ibase_fetch_assoc($qryResult)) {
            $manipulado[] = $row;
        }

        return $manipulado;
    }


    ///REVEND
    function get_revenda($filial, $DataInicial, $DataFinal, $operacoes, $codvendedor)
    {
        global $connection;
        $qry_revenda = "SELECT 
      IIF(AG.AG1_OP = 1, A1.CODIGO_FUNCIONARIO_COMISSAO, A1.AVIADA_CF) as CDFUNRE,
      FU.NOMEFUNCIONARIO as NOMEFUN, 
     cast(sum(a3.valorvenda_desc) as numeric (18,2)) AS revenda_total
 
        from atendimento_a3 a3
     inner join atendimento_a1 a1 on a3.codigo_atend_a1 = a1.codigo
      LEFT JOIN UTIL_REL_AG1 (1) AG ON AG.AG1_OP > 0
     inner join estoque_geral eg on a3.codigo_produto = eg.codigo
          inner join medico md on (md.codigo = a1.codigo_medico)
      left join medico_cr cr on (cr.codigo = md.codigo_conselho_regional)
       INNER JOIN FUNCIONARIO FU ON FU.CODIGO = IIF(AG.AG1_OP = 1, A1.CODIGO_FUNCIONARIO_COMISSAO, A1.AVIADA_CF)
        where a1.tipo_atendimento = 2
         and a3.excluirproduto_cf is null and a1.cancelamento_lj is null and A3.QUANTIDADE > 0
        AND A1.PAGAR_COMISSAO_FUNCIONARIO = '-1'
         AND A1.STATUS_MOV = '-1'";

        if (!empty($operacoes) && $operacoes != "NULL") {
            $qry_revenda .= " AND A1.codigo_tipooperacao NOT IN ($operacoes)";
            //  AND A1.codigo_tipooperacao NOT IN (5, 159, 174, 184, 185, 186, 187, 188, 190, 216, 221, 234, 235, 236, 237, 242, 246, 261, 296, 297)
        }

        $qry_revenda .= "  AND A3.codigo_produto NOT IN ('3024873','3025044')
        AND eg.codigo_estoque_classificacao NOT IN (300002) ";

        if (!empty($filial) && $filial !== "Todos") {
            // Se $filial não estiver vazio e não for "Todos", aplicamos o filtro na consulta

            $qry_revenda .= " and A1.aviada_lj IN ($filial)";
        }

        if (!empty($DataInicial) && !empty($DataFinal)) {
            $qry_revenda .= " AND  CAST(A1.entregue_dt as DATE)  BETWEEN '$DataInicial' AND '$DataFinal'";
        }

        if (!empty($codvendedor)) {
            $qry_revenda .= " AND  IIF(AG.AG1_OP = 1, A1.CODIGO_FUNCIONARIO_COMISSAO, A1.AVIADA_CF) IN ($codvendedor)";
            //  AND A1.codigo_tipooperacao NOT IN (5, 159, 174, 184, 185, 186, 187, 188, 190, 216, 221, 234, 235, 236, 237, 242, 246, 261, 296, 297)
        }
        $qry_revenda .= "  GROUP BY NOMEFUN ,CDFUNRE";

        $qryResultRevenda = ibase_query($connection, $qry_revenda);
        if (!$qryResultRevenda) {
            die("Erro na consulta SQL (Revenda): " . ibase_errmsg());
        }

        $revenda = array();
        while ($row = ibase_fetch_assoc($qryResultRevenda)) {
            $revenda[] = $row;
        }

        return $revenda;
    }

    //MARCA PROPRIA
    function get_marca_propria($filial, $DataInicial, $DataFinal, $operacoes, $codvendedor)
    {
        global $connection;
        $qry_marca = "SELECT 
      IIF(AG.AG1_OP = 1, A1.CODIGO_FUNCIONARIO_COMISSAO, A1.AVIADA_CF) as CDFUNRE,
      FU.NOMEFUNCIONARIO as NOMEFUN, 
     cast(sum(a3.valorvenda_desc) as numeric (18,2)) AS MARCA_PROPRIA_TOTAL
 
     from atendimento_a3 a3
     inner join atendimento_a1 a1 on a3.codigo_atend_a1 = a1.codigo
      LEFT JOIN UTIL_REL_AG1 (1) AG ON AG.AG1_OP > 0
     inner join estoque_geral eg on a3.codigo_produto = eg.codigo
     inner join medico md on (md.codigo = a1.codigo_medico)
     left join medico_cr cr on (cr.codigo = md.codigo_conselho_regional)
       INNER JOIN FUNCIONARIO FU ON FU.CODIGO = IIF(AG.AG1_OP = 1, A1.CODIGO_FUNCIONARIO_COMISSAO, A1.AVIADA_CF)
      where a1.tipo_atendimento = 2
      and a3.excluirproduto_cf is null and a1.cancelamento_lj is null and A3.QUANTIDADE > 0
      AND A1.PAGAR_COMISSAO_FUNCIONARIO = '-1'   
     AND A1.STATUS_MOV = '-1'";

        if (!empty($operacoes) && $operacoes != "NULL") {
            $qry_marca .= " AND A1.codigo_tipooperacao NOT IN ($operacoes)";
            //  AND A1.codigo_tipooperacao NOT IN (5, 159, 174, 184, 185, 186, 187, 188, 190, 216, 221, 234, 235, 236, 237, 242, 246, 261, 296, 297)
        }

        $qry_marca .= "
       AND (
      A3.codigo_produto IN ('3024873', '3025044') 
      OR EG.codigo_estoque_classificacao IN (300002) 
        ) ";

        if (!empty($filial) && $filial !== "Todos") {
            // Se $filial não estiver vazio e não for "Todos", aplicamos o filtro na consulta

            $qry_marca .= " and A1.aviada_lj IN ($filial)";
        }

        if (!empty($DataInicial) && !empty($DataFinal)) {
            $qry_marca .= " AND  CAST(A1.entregue_dt as DATE)  BETWEEN '$DataInicial' AND '$DataFinal'";
        }
        if (!empty($codvendedor)) {
            $qry_marca .= " AND  IIF(AG.AG1_OP = 1, A1.CODIGO_FUNCIONARIO_COMISSAO, A1.AVIADA_CF) IN ($codvendedor)";
            //  AND A1.codigo_tipooperacao NOT IN (5, 159, 174, 184, 185, 186, 187, 188, 190, 216, 221, 234, 235, 236, 237, 242, 246, 261, 296, 297)
        }
        $qry_marca .= "
        GROUP BY NOMEFUN ,CDFUNRE";

        $qryResultMarca = ibase_query($connection, $qry_marca);
        if (!$qryResultMarca) {
            die("Erro na consulta SQL (Marca Própria): " . ibase_errmsg());
        }

        $Marca = array();
        while ($row = ibase_fetch_assoc($qryResultMarca)) {
            $Marca[] = $row;
        }

        return $Marca;
    }

    $marca_propria = get_marca_propria($filial, $DataInicial, $DataFinal, $operacoes, $codvendedor);
    $rusult_manipulado = get_manipulado($filial, $DataInicial, $DataFinal, $operacoes, $codvendedor);
    $result_revenda = get_revenda($filial, $DataInicial, $DataFinal, $operacoes, $codvendedor);

    //var_dump($rusult_manipulado);
    //var_dump($result_revenda);
    //var_dump($marca_propria);
}

?>

<!DOCTYPE html>
<html lang="pt-br">
<?php
$pageTitle = "Vendedores"; // Definir o título da página aqui
include('../geral/header.php');
?>

<head>
    <style>
        .equal-height {
            height: 143px;
            /* Defina a altura desejada */
        }
    </style>
</head>

<body>

    <body>

        <!-- Navigation Bar-->
        <?php
        include('../geral/menu.php');
        ?>
        <!-- End Navigation Bar-->

        <!-- ============================================================== -->
        <!-- Start Page Content here -->
        <!-- ============================================================== -->

        <div class="wrapper candidato">
            <div class="container-fluid">

                <div class="card-box mt-2">
                    <div class="row align-items-center">

                        <div class="col-12">
                            <form method="get" action="index.php" id="indexForm">
                                <h3>Dashboard Vendedores por Período</h3>
                        </div>

                        <div class="col-3">
                            <label for="cidade" class="col-form-label">Cidade:</label>
                            <select id="cidade" name="cidade" class="form-control">
                                <option value="Todos" <?php echo (!isset($cidade) || $cidade == "Todos") ? "selected" : ""; ?>>Todos</option>
                                <?php foreach ($cidadefiliais as $item) : ?>
                                    <option value="<?= $item['MUNIC']; ?>" <?= isset($cidade) && trim($cidade) == trim($item['MUNIC']) ? "selected" : ""; ?>>
                                        <?php echo $item['MUNIC']; ?>
                                    </option>
                                <?php endforeach; ?>
                            </select>
                        </div>


                        <?php
                        echo '<div class="col-3">';
                        echo '<label for="filial" class="col-form-label">Filial:</label>';
                        echo '<select id="filial" name="filial" class="form-control">';

                        // Adiciona a opção "Todos" independentemente da condição
                        echo '<option value="Todos" ' . ((!isset($filial) || $filial == "Todos") ? 'selected' : '') . '>Todos</option>';

                        foreach ($filiais as $item) {
                            $selected = (isset($filial) && $filial == $item['CDFIL']) ? 'selected' : '';
                            echo '<option value="' . $item['CDFIL'] . '" ' . $selected . '>' . 'Filial ' . $item['CDFIL'] . '</option>';
                        }

                        echo '</select>';
                        echo '</div>';
                        ?>


                        <div class="col-3">
                            <label for="DataInicial" class="col-form-label">Data Inicial</label>
                            <input type="date" id="DataInicial" name="DataInicial" class="form-control" value="<?php echo isset($DataInicial) ? $DataInicial : ''; ?>" oninput="validarCampo('DataInicial', this.value)">
                        </div>

                        <div class="col-3">
                            <label for="DataFinal" class="col-form-label">Data Final</label>
                            <input type="date" id="DataFinal" name="DataFinal" class="form-control" value="<?php echo isset($DataFinal) ? $DataFinal : ''; ?>" oninput="validarCampo('DataFinal', this.value)">
                        </div>

                        <?php
                        // Supondo que $codvendedor e $vendedorlojas estejam disponíveis
                        $nomeVendedor = '';
                        if (isset($codvendedor) && !empty($codvendedor)) {
                            foreach ($vendedorlojas as $ven) {
                                if ($ven['CDFUN'] == $codvendedor) {
                                    $nomeVendedor = htmlspecialchars($ven['NOMEFUN']);
                                    break;
                                }
                            }
                        }
                        ?>

                        <div class="form-group col-md-3">
                            <label for="nomevendedor" class="form-label">Vendedor</label>
                            <div class="input-group">
                                <!-- Campo que exibe o nome do vendedor -->
                                <input type="text" id="nomevendedor" class="form-control" placeholder="Nome Vendedor" value="<?php echo $nomeVendedor; ?>" autocomplete="off">
                                <!-- Campo oculto que contém o código do vendedor -->
                                <input type="hidden" id="codvendedor" name="codvendedor" value="<?php echo isset($codvendedor) ? htmlspecialchars($codvendedor) : ''; ?>">
                            </div>
                            <div id="acessoDropdown" class="dropdown-menu" style="width: 100%;">
                                <?php foreach ($vendedorlojas as $ven) : ?>
                                    <a class="dropdown-item" href="#" data-nome="<?php echo htmlspecialchars($ven['NOMEFUN']); ?>" data-id_ven="<?php echo htmlspecialchars($ven['CDFUN']); ?>">
                                        <?php echo htmlspecialchars($ven['NOMEFUN']); ?>
                                    </a>
                                <?php endforeach; ?>
                            </div>
                        </div>


                        <div class="col-12 text-right mt-3">
                            <button name="pesquisar" class="btn btn-primary" type="submit">Pesquisar</button>
                        </div>
                        </form>
                    </div>
                </div>
                <?php if (isset($_GET['pesquisar'])) { ?>

                    <?php include('aproveitamento.php'); ?>
                    <div class="card">

                        <h5><?php $nome_vendedor = mb_convert_encoding($rowsresult_nome_fun['NOMEFUN'], 'UTF-8', 'ISO-8859-1');
                            echo $nome_vendedor; ?></h5>
                    </div>

                    <div class="col-12">
                        <div class="row">




                            <div class="col-md-2 col-6">
                                <div class="card equal-height">
                                    <div class="card-body widget-user">
                                        <div class="text-center">
                                            <h2 class="fw-normal text-black"><?php echo formatarNumero($percentual_desconto) ?>%</h2>

                                            <h5>Desconto Manipulado</h5>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="col-md-2 col-6">
                                <div class="card equal-height ">
                                    <div class="card-body widget-user">
                                        <div class="text-center">
                                            <h2 class="fw-normal text-black"><?php echo formatarNumero($percentual_desconto_varejo) ?>%</h2>

                                            <h5>Desconto Varejo</h5>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="col-md-2 col-6">
                                <div class="card">
                                    <div class="card-body widget-user">
                                        <div class="text-center">
                                            <h2 class="fw-normal text-black"><?php echo formatarNumero($percentual_desconto_total) ?>%</h2>

                                            <h5>Desconto Geral</h5>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="col-md-2 col-6">
                                <div class="card equal-height">
                                    <div class="card-body widget-user">
                                        <div class="text-center">
                                            <h4 class="fw-normal text-black" style="font-size:1.4em;">R$ <?php echo (number_format($totalGeralVendas, 2, ',', '.')) ?></h4>

                                            <h5>Total Orçamentos</h5>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="col-md-2 col-6">
                                <div class="card equal-height">
                                    <div class="card-body widget-user">
                                        <div class="text-center">
                                            <h4 class="fw-normal text-success" style="font-size:1.4em;">R$<?php echo ($totalVendasAprovadoFormatado) ?> - <span class="badge badge-success" style="font-size:0.92em;"><?= $percentualAprovadoFormatado ?>%</span></h4>

                                            <h5>Aprovados R$</h5>
                                        </div>
                                    </div>
                                </div>
                            </div>


                            <div class="col-md-2 col-6">
                                <div class="card equal-height">
                                    <div class="card-body widget-user">
                                        <div class="text-center">
                                            <h4 class="fw-normal text-danger" style="font-size:1.4em;">R$<?php echo ($totalVendasReprovadoFormatado) ?> - <span class="badge badge-danger" style="font-size:0.8em;"><?= $percentualReprovadoFormatado ?>%</span></h4>

                                            <h5>Reprovados R$</h5>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="col-md-2 col-6">
                                <div class="card equal-height">
                                    <div class="card-body widget-user">
                                        <div class="text-center">
                                            <h4 class="fw-normal text-black"><?php echo ($qtdAprovadoFormatado) ?> - <span class="badge badge-success" style="font-size:0.92em;"><?= $percentualAprovadoFormatadoQtd ?>%</span></h4>

                                            <h5>QTD Aprovados</h5>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="col-md-2 col-6">
                                <div class="card equal-height">
                                    <div class="card-body widget-user">
                                        <div class="text-center">
                                            <h4 class="fw-normal text-black"><?php echo ($qtdReprovadoFormatado) ?> - <span class="badge badge-danger" style="font-size:0.92em;"><?= $percentualReprovadoFormatadoQtd ?>%</span></h4>

                                            <h5>QTD Reprovados</h5>
                                        </div>
                                    </div>
                                </div>
                            </div>


                            <div class="col-md-2 col-6">
                                <div class="card equal-height">
                                    <div class="card-body widget-user">
                                        <div class="text-center">
                                            <h4 class="fw-normal text-success" style="font-size:1.4em;"><?php echo isset($rusult_manipulado[0]['SOMA'])  ?  'R$ ' . number_format($rusult_manipulado[0]['SOMA'], 2, ',', '.')  : 'R$ 0,00'; ?></h4>
                                            <h5>Manipulado R$</h5>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="col-md-2 col-6">
                                <div class="card equal-height">
                                    <div class="card-body widget-user">
                                        <div class="text-center">
                                            <h4 class="fw-normal text-success" style="font-size:1.4em;"><?php echo isset($result_revenda[0]['REVENDA_TOTAL'])
                                                                                                            ? 'R$ ' . number_format($result_revenda[0]['REVENDA_TOTAL'], 2, ',', '.') : 'R$ 0,00'; ?></h4>

                                            <h5>Revenda R$</h5>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="col-md-2 col-6">
                                <div class="card equal-height">
                                    <div class="card-body widget-user">
                                        <div class="text-center">
                                            <h4 class="fw-normal text-success" style="font-size:1.4em;"><?php echo  isset($marca_propria[0]['MARCA_PROPRIA_TOTAL'])
                                                                                                            ? 'R$ ' . number_format($marca_propria[0]['MARCA_PROPRIA_TOTAL'], 2, ',', '.') : 'R$ 0,00'; ?> </h4>

                                            <h5>Marca Própria R$</h5>
                                        </div>
                                    </div>
                                </div>
                            </div>

                        </div>
                    </div>



                    <!-- end wrapper -->
                <?php } ?>
                <!-- ============================================================== -->
                <!-- End Page content -->
                <!-- ============================================================== -->

                <!-- Footer Start -->
                <?php
                include('../geral/footer.php');
                ?>
                <!-- end Footer -->

                <?php
                include('../geral/mensagens_modais.php');
                ?>


                <!-- Vendor js -->
                <script src="../../assets/js/vendor.min.js"></script>

                <!-- knob plugin -->
                <script src="../../assets/libs/jquery-knob/jquery.knob.min.js"></script>
                <!-- App js-->
                <script src="../../assets/js/app.min.js"></script>

                <script src="../geral/javascript.js"></script>



                <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.1.0-beta.1/css/select2.min.css" rel="stylesheet" />

                <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.1.0-beta.1/js/select2.min.js"></script>
                <link href="../../assets/css/style.css" rel="stylesheet" />
                <script src="https://code.jquery.com/jquery-3.6.4.min.js" integrity="sha512-oM6mM1F9AXFB0Wex8m2lsBE5SS+ZnQTzK41z6bNPZbs9VbQbf8weQbVVgRNGLLWu8xh6PzpE7Fj3oT4kgTDMpw==" crossorigin="anonymous"></script>
                <script>
                    document.addEventListener('DOMContentLoaded', function() {
                        function setupDropdown(inputId, dropdownId) {
                            const input = document.getElementById(inputId);
                            const dropdown = document.getElementById(dropdownId);

                            input.addEventListener('focus', function() {
                                dropdown.style.display = 'block';
                            });

                            input.addEventListener('input', function() {
                                const filterValue = this.value.toLowerCase();
                                const items = dropdown.querySelectorAll('.dropdown-item');

                                items.forEach(function(item) {
                                    if (item.textContent.toLowerCase().includes(filterValue)) {
                                        item.style.display = 'block';
                                    } else {
                                        item.style.display = 'none';
                                    }
                                });
                                dropdown.style.display = filterValue ? 'block' : 'none';
                            });

                            dropdown.addEventListener('click', function(e) {
                                if (e.target.classList.contains('dropdown-item')) {
                                    const selectedId = e.target.getAttribute('data-id_ven');
                                    const selectedName = e.target.getAttribute('data-nome');

                                    // Define o valor do input como o nome do vendedor
                                    input.value = selectedName;
                                    // Armazena o código do vendedor no campo oculto
                                    document.getElementById('codvendedor').value = selectedId;
                                    dropdown.style.display = 'none';
                                }
                            });

                            document.addEventListener('click', function(e) {
                                if (!input.contains(e.target) && !dropdown.contains(e.target)) {
                                    dropdown.style.display = 'none';
                                }
                            });
                        }

                        // Configura o dropdown para o campo de vendedor
                        setupDropdown('nomevendedor', 'acessoDropdown');
                    });

                    $(document).ready(function() {
                        // Função para validar campos dinamicamente
                        function validarCampo(id, valor) {
                            const campo = document.getElementById(id);
                            let campoValido = true;

                            if (!valor.trim()) {
                                campoValido = false;
                                campo.classList.add('is-invalido');
                            } else {
                                campo.classList.remove('is-invalido');
                            }
                            return campoValido;
                        }

                        // Event listeners para validar campos ao digitar
                        $('#DataInicial').on('input', function() {
                            validarCampo('DataInicial', this.value);
                        });

                        $('#DataFinal').on('input', function() {
                            validarCampo('DataFinal', this.value);
                        });

                        $('#codvendedor').on('input', function() {
                            validarCampo('codvendedor', this.value);
                        });
                        $('#filial').on('input', function() {
                            validarCampo('filial', this.value);
                        });


                        $(document).ready(function() {
                            var filialSelecionada = <?php echo intval($filial) ?>;

                            // Função para preencher o combo de filiais
                            function carregarFiliais(cidade) {
                                $.ajax({
                                    url: 'get_filiais.php',
                                    type: 'POST',
                                    dataType: 'json',
                                    data: {
                                        cidade: cidade
                                    },
                                    success: function(data) {
                                        $('#filial').empty();
                                        $('#filial').append('<option value="Todos">Todos</option>');
                                        data.forEach(function(item) {
                                            var selected = item.CDFIL === filialSelecionada ? ' selected' : '';
                                            $('#filial').append('<option value="' + item.CDFIL + '"' + selected + '>' + item.DESCRFIL + '</option>');
                                        });
                                    },
                                    error: function(xhr, status, error) {
                                        alert('Erro na chamada AJAX: ' + status + ' - ' + error);
                                    }
                                });
                            }

                            // Ao carregar a página, chama a função para preencher o combo de filiais com base na cidade inicial
                            carregarFiliais($('#cidade').val());

                            // Ao alterar a cidade, chama a função para preencher o combo de filiais com base na nova cidade selecionada
                            $('#cidade').change(function() {
                                const cidade = $(this).val();
                                carregarFiliais(cidade);
                            });


                            var form = document.getElementById("indexForm");
                            form.addEventListener("submit", function(event) {
                                var campoInicial = document.getElementById("DataInicial");
                                var campoFinal = document.getElementById("DataFinal");
                                var dataInicial = campoInicial.value.trim();
                                var dataFinal = campoFinal.value.trim();
                                var mensagens = [];

                                // Verificar se os campos de data não estão vazios
                                if (!dataInicial || !dataFinal) {
                                    mensagens.push('Por favor, informe um período válido.');
                                    campoInicial.classList.add('is-invalido');
                                    campoFinal.classList.add('is-invalido');
                                } else {
                                    campoInicial.classList.remove('is-invalido');
                                    campoFinal.classList.remove('is-invalido');

                                    // Converter as datas para objetos Date
                                    dataInicial = new Date(dataInicial);
                                    dataFinal = new Date(dataFinal);

                                    // Verificar se a data inicial é maior que a final
                                    if (dataInicial > dataFinal) {
                                        mensagens.push('A data inicial não pode ser maior que a data final.');
                                        campoInicial.classList.add('is-invalido');
                                        campoFinal.classList.add('is-invalido');
                                    } else {
                                        campoInicial.classList.remove('is-invalido');
                                        campoFinal.classList.remove('is-invalido');
                                    }
                                }

                                // Validar campo codvendedor
                                const codvendedorValido = validarCampo('codvendedor');
                                if (!codvendedorValido) {
                                    mensagens.push('Por favor, informe um vendedor.');
                                }

                                if (mensagens.length > 0) {
                                    showModal('exampleModal', 'Informação', mensagens.join('<br>'));
                                    event.preventDefault(); // Impede o envio do formulário
                                }
                            });

                            function verificarErroNaURL() {
                                const urlParams = new URLSearchParams(window.location.search);
                                const errorMessage = urlParams.get('error');
                                if (errorMessage) {
                                    showModal('exampleModal', 'Erro', errorMessage);
                                }
                            }

                            window.onload = verificarErroNaURL;

                            function validarCampo(id) {
                                const campo = document.getElementById(id);
                                const valor = campo.value.trim();
                                let campoValido = true;

                                if (!valor) {
                                    campoValido = false;

                                    // Verifica se o campo é o select de filiais
                                    if (id === 'filial') {
                                        document.getElementById('filialx').classList.add('is-invalido');
                                    }

                                    campo.classList.add('is-invalido');
                                } else {
                                    // Remove a classe de erro se o campo estiver válido
                                    if (id === 'filial') {
                                        document.getElementById('filialx').classList.remove('is-invalido');
                                    }

                                    campo.classList.remove('is-invalido');
                                }

                                return campoValido;
                            }


                            function showModal(modalId, title, message) {
                                const modalElement = document.getElementById(modalId);
                                const modal = new bootstrap.Modal(modalElement);
                                modalElement.querySelector('.modal-title').textContent = title;
                                modalElement.querySelector('.modal-body p').innerHTML = message;
                                modal.show();
                            }
                        });
                    });
                </script>
                <style>
                    .is-invalido {
                        box-shadow: 0 0 5px red !important;
                    }

                    .dropdown-menu {
                        display: none;
                        max-height: 300px;
                        overflow-y: auto;
                        position: absolute;
                        z-index: 1000;
                    }

                    .dropdown-item {
                        cursor: pointer;
                    }
                </style>
    </body>

</html>