<?php
require '../conexao/conexao.php';
require '../conexao/acesso.php';
require '../configuacoes.php';
require '../configuracao/get_config.php';
require './consulta_bd.php';
require '../querys/query-configuracao-metas.php';

$consulta_painel_vendedores = new ConsultaPainelVendedores();
$configuracoes = new Configuracoes();
$ConfiguracaoMetas = new ConfiguracaoMetas($connectionmysql);
$ConsultaPermissoes = $ConfiguracaoMetas->consultaPermissoes();
$nome_para_vendedores = $configuracoes->get_nomeclatura_vendedor(true);
$nome_para_vendedor = $configuracoes->get_nomeclatura_vendedor();
$ConsultaPainelVendedores = new ConsultaPainelVendedores();


$exibirManipulado = false;
$exibirRevenda = false;
$exibirMarcaPropria = false;
$maxColunas = 9;
$colunasGeradas = 0;

foreach ($ConsultaPermissoes as $permissao) {
    if ($permissao['id_tipo_meta'] == 2) {
        $exibirManipulado = true;
        $colunasGeradas++;
    } elseif ($permissao['id_tipo_meta'] == 1) {
        $exibirRevenda = true;
        $colunasGeradas++;
    } elseif ($permissao['id_tipo_meta'] == 3) {
        $exibirMarcaPropria = true;
        $colunasGeradas++;
    }
}

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

if (!function_exists('getBadgeClass')) {
    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
        }
    }
}


$hojeFormatado = date('Y-m-d');
$mesAtual = date('m', strtotime($hojeFormatado));
$anoAtual = date('Y', strtotime($hojeFormatado));

$cod_vendedor = $_GET['cd_fun'];
$nomefun = $_GET['nome_fun'];
$ano = $_GET['ano'] ?? null;
$mes = $_GET['mes'] ?? null;
$filial = $_GET['filial'] ?? null;
$diasrestantes = $_GET['dias_restantes'] ?? null;
$cidade = $_GET['cidade'] ?? null;
$periodo = $_GET['periodo'] ?? 'mes';

$url = http_build_query([
    'cidade' => $cidade,
    'ano' => $ano,
    'mes' => $mes,
    'filial' => $filial,
    'periodo' => $periodo,
]);

//$result_realizado = $ConsultaPainelVendedores->getTerceirosDetalhadoVendedor($ano, $mes, $filial, null, false, $connectionmysql);


if (isset($_GET['form_submitted']) && $_GET['form_submitted'] == '1') {
    $caixaliberado = $configuracoes->getCaixaLiberado($ano, $mes);
    if ($cidade !== "Todos") {

        // QUERY PARA PEGAR CIDADE ESCOLHIDA
        $query_idcidade = "SELECT id_cidade FROM cidade WHERE id_cidade = '$cidade'";
        $result_idcidade = $connectionmysql->query($query_idcidade);
        if (!$result_idcidade) {
            die('Erro na consulta: ' . $connectionmysql->error);
        }
        $row_idcidade = $result_idcidade->fetch_assoc();
        $id_cidade_atual = $row_idcidade["id_cidade"];

        // QUERY PARA PEGAR O VALOR DO DIA ÚTIL

        $peso_diaatual = $configuracoes->getPesoDiaAtual($mes, $ano, $id_cidade_atual, $periodo);
        $pesoUltimoDia = $configuracoes->getPesoUltimoDia($mes, $ano, $id_cidade_atual, $periodo);
    }
    if ($cidade == "Todos") {
        // QUERY PARA PEGAR O VALOR DO DIA ÚTIL
        $peso_diaatual = $configuracoes->getPesoAtualTodos($mes, $ano, $caixaliberado, $periodo);
        $pesoUltimoDia = $configuracoes->getPesoUltimoDiaTodos($mes, $ano, $periodo);
    }

    //QUERY META - MYSQL

    if ($exibirManipulado) {
        $qry_manipulado = "select
        iif(A1.STATUS_MOV = 0,A1.CADASTRO_CF,A1.AVIADA_CF) as CDFUNRE,
        FU.NOMEFUNCIONARIO as NOMEFUN,

        cast(coalesce(sum(A2.VALORFORMULA_VENDA_DESC),0) as numeric (18,2)) as SOMA
        from ATENDIMENTO_A2 A2
        inner join ATENDIMENTO_A1 A1 on A2.CODIGO_ATEND_A1 = A1.CODIGO
        inner join FORMAFARMACEUTICA FF on A2.CODIGO_FORMAFARMACEUTICA = FF.CODIGO
        inner join FUNCIONARIO FU on FU.CODIGO = iif(A1.STATUS_MOV = 0,
        A1.CADASTRO_CF,
        A1.AVIADA_CF)
        inner join EMPRESA EMP on EMP.CODIGO = iif(A1.STATUS_MOV = 0,
        A1.CADASTRO_LJ,
        A1.AVIADA_LJ)
        where A1.TIPO_ATENDIMENTO = 1
        AND A1.status_mov = '-1'
        AND A2.concluidoformula = '-1'
        AND A1.CANCELAMENTO_CF IS NULL
        AND A1.DESCARTE_CF IS NULL ";
        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.CODIGO_EMPRESA_PADRAO IN ($filial)";
        }
        if (!empty($cod_vendedor) && $cod_vendedor !== "Todos") {
            // Se $filial não estiver vazio e não for "Todos", aplicamos o filtro na consulta

            $qry_manipulado .= " and FU.CODIGO IN ($cod_vendedor)";
        }
        // Aplicar filtros de ano e mês para a primeira subconsulta
        if ($ano && $ano != "Selecione") {
            $qry_manipulado .= " AND EXTRACT(YEAR FROM A1.aviada_dt) = " . intval($ano);
        }
        if ($mes && $mes != "Selecione") {
            $qry_manipulado .= " AND EXTRACT(MONTH FROM A1.aviada_dt) = " . intval($mes);
        }



        $qry_manipulado .= " GROUP BY  CDFUNRE, FU.NOMEFUNCIONARIO ";


        $qryResult = ibase_query($connection, $qry_manipulado);

        if (!$qryResult) {
            die("Erro na consulta SQL (Manipulado): " . ibase_errmsg());
        }
    }


    ///REVENDA
    if ($exibirRevenda) {
        $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)
        }
        if (!empty($cod_vendedor) && $cod_vendedor !== "Todos") {
            // Se $filial não estiver vazio e não for "Todos", aplicamos o filtro na consulta

            $qry_revenda .= " and FU.CODIGO IN ($cod_vendedor)";
        }
        $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 ($ano && $ano != "Selecione") {
            $qry_revenda .= " AND EXTRACT(YEAR FROM A1.entregue_dt) = " . intval($ano);
        }
        if ($mes && $mes != "Selecione") {
            $qry_revenda .= " AND EXTRACT(MONTH FROM A1.entregue_dt) = " . intval($mes);
        }

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

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

    //MARCA PROPRIA
    if ($exibirMarcaPropria) {
        $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)
        }
        if (!empty($cod_vendedor) && $cod_vendedor !== "Todos") {
            // Se $filial não estiver vazio e não for "Todos", aplicamos o filtro na consulta
            $qry_marca .= " and FU.CODIGO IN ($cod_vendedor)";
        }
        $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 ($ano && $ano != "Selecione") {
            $qry_marca .= " AND EXTRACT(YEAR FROM A1.entregue_dt) = " . intval($ano);
        }
        if ($mes && $mes != "Selecione") {
            $qry_marca .= " AND EXTRACT(MONTH FROM A1.entregue_dt) = " . intval($mes);
        }

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

        $qryResultMarca = ibase_query($connection, $qry_marca);
        if (!$qryResultMarca) {
            die("Erro na consulta SQL (Marca Própria): " . ibase_errmsg());
        }
    }
    $sql_meta = "
    SELECT 
        mes as MES, 
        ano as ANO, 
        codigo_filial, 
        codigo_vendedor AS CODIGO_FUNCIONARIO,";

    // Condicional para META_VALOR_REVENDA
    if ($exibirRevenda) {
        if ($periodo === "mes") {
            $sql_meta .= "
            SUM(
                CASE 
                    WHEN codigo_meta = 1 
                    THEN valor_meta + valor_meta_2
                    ELSE 0 
                END
            ) AS META_VALOR_REVENDA,";
        } elseif ($periodo == 1) {
            $sql_meta .= "
            SUM(
                CASE 
                    WHEN codigo_meta = 1 
                    THEN valor_meta 
                    ELSE 0 
                END
            ) AS META_VALOR_REVENDA,";
        } elseif ($periodo == 2) {
            $sql_meta .= "
            SUM(
                CASE 
                    WHEN codigo_meta = 1 
                    THEN valor_meta_2 
                    ELSE 0 
                END
            ) AS META_VALOR_REVENDA,";
        }
    } else {
        $sql_meta .= "0 AS META_VALOR_REVENDA,"; // Define 0 se não for exibido
    }

    // Condicional para META_VALOR_MANIPULADO
    if ($exibirManipulado) {
        if ($periodo === "mes") {
            $sql_meta .= "
            SUM(
                CASE 
                    WHEN codigo_meta = 2 
                    THEN valor_meta + valor_meta_2 
                    ELSE 0 
                END
            ) AS META_VALOR_MANIPULADO ,";
        } elseif ($periodo == 1) {
            $sql_meta .= "
            SUM(
                CASE 
                    WHEN codigo_meta = 2 
                    THEN valor_meta 
                    ELSE 0 
                END
            ) AS META_VALOR_MANIPULADO,";
        } elseif ($periodo == 2) {
            $sql_meta .= "
            SUM(
                CASE 
                    WHEN codigo_meta = 2 
                    THEN valor_meta_2 
                    ELSE 0 
                END
            ) AS META_VALOR_MANIPULADO,";
        }
    } else {
        $sql_meta .= "0 AS META_VALOR_MANIPULADO,"; // Define 0 se não for exibido
    }

    // Condicional para META_VALOR_MARCA_PROPRIA
    if ($exibirMarcaPropria) {
        if ($periodo === "mes") {
            $sql_meta .= "
            SUM(
                CASE 
                    WHEN codigo_meta = 3 
                    THEN valor_meta + valor_meta_2
                    ELSE 0 
                END
            ) AS META_VALOR_MARCA_PROPRIA,";
        } elseif ($periodo == 1) {
            $sql_meta .= "
            SUM(
                CASE 
                    WHEN codigo_meta = 3 
                    THEN valor_meta 
                    ELSE 0 
                END
            ) AS META_VALOR_MARCA_PROPRIA,";
        } elseif ($periodo == 2) {
            $sql_meta .= "
            SUM(
                CASE 
                    WHEN codigo_meta = 3
                    THEN valor_meta_2 
                    ELSE 0 
                END
            ) AS META_VALOR_MARCA_PROPRIA,";
        }
    } else {
        $sql_meta .= "0 AS META_VALOR_MARCA_PROPRIA,"; // Define 0 se não for exibido
    }

    // Condicionalmente adicionar à soma total com base nas opções selecionadas
    $somaCondition = [];

    if ($exibirManipulado) {
        $somaCondition[] = "1"; // codigo_meta = 1
    }
    if ($exibirRevenda) {
        $somaCondition[] = "2"; // codigo_meta = 2
    }
    if ($exibirMarcaPropria) {
        $somaCondition[] = "3"; // codigo_meta = 3
    }

    if (!empty($somaCondition)) {
        if ($periodo === "mes") {
            $sql_meta .= "
        SUM(
            CASE 
                WHEN codigo_meta IN (" . implode(",", $somaCondition) . ")
                THEN valor_meta + valor_meta_2
                ELSE 0 
            END
        ) AS META_SOMA";
        } elseif ($periodo == 1) {
            $sql_meta .= "SUM(
            CASE 
                 WHEN codigo_meta IN (" . implode(",", $somaCondition) . ")
                THEN 
                    CASE 
                        WHEN IFNULL(valor_meta, 0) <> 0 
                        THEN valor_meta 
                        ELSE 0
                    END
                ELSE 0 
            END
        ) AS META_SOMA";
        } elseif ($periodo == 2) {
            $sql_meta .= "SUM(
            CASE 
                 WHEN codigo_meta IN (" . implode(",", $somaCondition) . ")
                THEN 
                    CASE 
                        WHEN IFNULL(valor_meta_2, 0) <> 0 
                        THEN valor_meta_2 
                        ELSE 0 
                    END
                ELSE 0 
            END
        ) AS META_SOMA";
        } else {
            $sql_meta .= "0 AS META_SOMA"; // Define 0 se nenhuma opção for exibida
        }
    }

    $sql_meta .= "
    FROM define_metas
    WHERE tipo_meta = 2";

    if ($ano && $ano !== "Todos") {
        $sql_meta .= " AND define_metas.ano = " . intval($ano);
    }

    if ($mes && $mes !== "Todos") {
        $sql_meta .= " AND define_metas.mes = " . intval($mes);
    }

    if ($filial && $filial !== "Todos") {
        $sql_meta .= " AND define_metas.codigo_filial IN ($filial)";
    }

    $sql_meta .= " 
    GROUP BY mes, ano, codigo_filial, codigo_vendedor";

    //echo $sql_meta;

    $resultmeta = $connectionmysql->query($sql_meta);

    if (!$resultmeta) {
        die('Erro na consulta MySQL: ' . $connectionmysql->error);
    }

    // Busque todos os registros
    $metas = [];
    while ($row = $resultmeta->fetch_assoc()) {
        $metas[] = $row;
    }

    //print_r($row);

    //SQL VENDAS DE TERCEIROS
    $sql_terceiros = "SELECT f.nome, SUM(t.valor) as valor_terceiros, t.cod_filial, f.cod_fcerta FROM pedido_terceiro as t
        INNER JOIN funcionarios as f ON t.ID_FUNCIONARIO = f.id_funcionario
        WHERE 1=1";

    // Aplicar filtros de ano e mês para a terceira subconsulta
    if ($ano && $ano != "Selecione") {
        $sql_terceiros .= " AND EXTRACT(YEAR FROM t.data_lancamento) = " . intval($ano);
    }
    if ($mes && $mes != "Selecione") {
        $sql_terceiros .= " AND EXTRACT(MONTH FROM t.data_lancamento) = " . intval($mes);
    }
    if ($periodo && $periodo != "mes") {
        if ($periodo == 1) {
            $sql_terceiros .= " AND EXTRACT(day FROM t.data_lancamento) <= 15 ";
        } elseif ($periodo == 2) {
            $sql_terceiros .= " AND EXTRACT(day FROM t.data_lancamento) > 15 ";
        }
    }
    // Aplicar o filtro da filial
    if ($filial && $filial != "Todos") {
        $sql_terceiros .= " AND t.cod_filial in ($filial)";
    }
    $sql_terceiros .= " GROUP BY f.nome, t.cod_filial, f.cod_fcerta";

    // Executar a consulta SQL
    $result_terceiros = $connectionmysql->query($sql_terceiros);

    // Verificar se a consulta foi bem sucedida
    if ($result_terceiros) {
        // Inicializar a variável para armazenar o total de terceiros
        $total_terceiros = 0;

        // Verificar se há linhas retornadas pela consulta
        if ($result_terceiros->num_rows > 0) {
            // Loop pelas linhas do resultado
            // Loop pelas linhas do resultado

        } else {
            // Não há registros retornados pela consulta
            //echo "Nenhum resultado encontrado.";
        }
    } else {
        // Houve um erro ao executar a consulta
        die('Erro na consulta: ' . $connectionmysql->error);
    }
}
if (!isset($peso_diaatual)) {
    $peso_diaatual = 0;
}
if (!isset($pesoUltimoDia)) {
    $pesoUltimoDia = 0;
}
?>


<!DOCTYPE html>
<html lang="pt-br">
<?php
$pageTitle = "Detalhes do $nome_para_vendedor";
include('../geral/header.php');
?>

<body>
    <!-- Navigation Bar-->
    <?php
    include('../geral/menu.php');
    ?>
    <!-- ============================================================== -->
    <!-- Start Page Content here -->
    <!-- ============================================================== -->
    <div class="wrapper candidato">
        <div class="container-fluid">
            <div class="card-box mt-3">
                <div class="row">
                    <div class="col-6 text-left">
                        <h3 class="page-title"><?= $pageTitle ?></h3>
                    </div>
                    <div class="col-6 text-right">
                        <button onclick="goBack()" class="btn btn-light"><i class="mdi mdi-keyboard-backspace"></i> Voltar</button>
                        <!-- <a href="index.php?<?= $url ?>" class="btn btn-light">
                            <i class="mdi mdi-keyboard-backspace"></i> Voltar
                        </a> -->
                    </div>

                    <div class="col-12">
                        <hr>
                    </div>

                    <div class="col-12">
                        <div class="form-row mb-3">
                            <div class="form-group col-md-3 pessoa-fisica">
                                <p><b>Nome <?= $nome_para_vendedor ?>:</b> <?php echo htmlspecialchars($nomefun, ENT_QUOTES, 'UTF-8'); ?></p>
                            </div>
                            <div class="form-group col-md-3 pessoa-fisica">
                                <p><b>Código <?= $nome_para_vendedor ?>:</b> <?php echo htmlspecialchars($cod_vendedor, ENT_QUOTES, 'UTF-8'); ?></p>
                            </div>
                        </div>
                    </div>
                </div>

                <?php
                if (isset($_GET['form_submitted']) && $_GET['form_submitted'] == '1') { ?>
                    <div style="display: flex; justify-content: space-between; align-items: center; width: 100%;">
                        <h6 style="margin: 0;">Lista Valores Arrecadados</h6>
                        <button id="btnBaixarPDF" data-ano="<?= $ano ?>" data-mes="<?= $mes ?>" data-cdfun="<?= $cod_vendedor ?>" data-nomefun="<?= $nomefun ?>" style="background-color: #007bff; color: white; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; display: flex; align-items: center;">
                            <i class="mdi mdi-download" style="margin-right: 5px;"></i> Baixar PDF
                        </button>
                    </div>

                    <br>

                    <div class="table-responsive"> <!-- Adicione a classe table-responsive aqui -->
                        <table id="tableresponsive" class="table table-bordered table-hover table-sm" style="width: 100%;">
                            <thead class="thead-light text-center">
                                <tr>
                                    <th scope="col" rowspan="2">Vendedor</th>
                                    <?php if ($exibirManipulado) { ?>
                                        <?php //if ($result_terceiros->num_rows > 0) : 
                                        ?>
                                        <th scope="col" colspan="4">Manipulado</th>
                                        <?php //else : 
                                        ?>
                                        <!-- <th scope="col" colspan="3">Manipulado</th> -->
                                        <?php //endif; 
                                        ?>
                                    <?php } ?>

                                    <?php if ($exibirRevenda) { ?>
                                        <th scope="col" colspan="3">Revenda</th>
                                    <?php } ?>

                                    <?php if ($exibirMarcaPropria) { ?>
                                        <th scope="col" colspan="3">Marca Própria</th>
                                    <?php } ?>

                                    <th scope="col" colspan="3">Total Geral</th>
                                </tr>
                                <tr class="text-center">
                                    <?php if ($exibirManipulado) { ?>
                                        <th scope="col">Meta</th>
                                        <th scope="col">Realizado</th>
                                        <?php //if ($result_terceiros->num_rows > 0) : 
                                        ?>
                                        <!-- Exibe a coluna de terceiros apenas se houver algum valor -->
                                        <th scope="col">Terceiros</th>
                                        <?php //endif; 
                                        ?>
                                        <th scope="col">Projeção</th>
                                    <?php } ?>

                                    <?php if ($exibirRevenda) { ?>
                                        <th scope="col">Meta</th>
                                        <th scope="col">Realizado</th>
                                        <th scope="col">Projeção</th>
                                    <?php } ?>

                                    <?php if ($exibirMarcaPropria) { ?>
                                        <th scope="col">Meta</th>
                                        <th scope="col">Realizado</th>
                                        <th scope="col">Projeção</th>
                                    <?php } ?>

                                    <th scope="col">Meta</th>
                                    <th scope="col">Realizado</th>
                                    <th scope="col">Projeção</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php
                                // Pega o código do funcionário da URL
                                $codigoFuncionarioSelecionado = isset($_GET['cd_fun']) ? $_GET['cd_fun'] : null;

                                if ($codigoFuncionarioSelecionado === null) {
                                    echo "<tr><td colspan='20'>Funcionário não informado.</td></tr>";
                                } else {
                                    // Criar arrays associativos para armazenar os resultados
                                    // Criar arrays associativos para armazenar os resultados
                                    $dataManipulado = [];
                                    $dataRevenda = [];
                                    $dataMarca = [];
                                    $nomesVendedores = []; // Novo array para armazenar nomes dos vendedores

                                    if ($exibirManipulado) {
                                        // Buscar dados de manipulado
                                        while ($row = ibase_fetch_assoc($qryResult)) {
                                            //$row['NOMEFUN'] = mb_convert_encoding($row['NOMEFUN'], 'UTF-8', 'ISO-8859-1');

                                            $dataManipulado[$row['CDFUNRE']] = $row['SOMA'];
                                            $nomesVendedores[$row['CDFUNRE']] = $row['NOMEFUN']; // Adiciona o nome do vendedor
                                        }
                                    }

                                    if ($exibirRevenda) {
                                        // Buscar dados de revenda
                                        while ($row = ibase_fetch_assoc($qryResultRevenda)) {
                                            $dataRevenda[$row['CDFUNRE']] = $row['REVENDA_TOTAL'];

                                            // Adicionar vendedor se não estiver na lista de manipulado
                                            if (!isset($nomesVendedores[$row['CDFUNRE']])) {
                                                $nomesVendedores[$row['CDFUNRE']] = $row['NOMEFUN'];
                                                $dataManipulado[$row['CDFUNRE']] = 0; // Valor zerado para manipulado
                                            }
                                        }
                                    }

                                    if ($exibirMarcaPropria) {
                                        // Buscar dados de marca própria
                                        while ($row = ibase_fetch_assoc($qryResultMarca)) {
                                            $dataMarca[$row['CDFUNRE']] = $row['MARCA_PROPRIA_TOTAL'];

                                            // Adicionar vendedor se não estiver na lista de manipulado
                                            if (!isset($nomesVendedores[$row['CDFUNRE']])) {
                                                $nomesVendedores[$row['CDFUNRE']] = $row['NOMEFUN'];
                                                $dataManipulado[$row['CDFUNRE']] = 0; // Valor zerado para manipulado
                                            }
                                        }
                                    }

                                    // Inicializar totais
                                    $totalManipulado = 0;
                                    $totalRevenda = 0;
                                    $totalMarca = 0;

                                    $totalmetaValorManipulado = 0;
                                    $totalmetaValorMarcaPropria = 0;
                                    $totalmetaValorRevenda = 0;
                                    $totalmetaSoma = 0;

                                    // Calcular totais e gerar linhas da tabela
                                    foreach ($dataManipulado as $cdfunre => $manipulado) {
                                        $revenda = $dataRevenda[$cdfunre] ?? 0;
                                        $marca_propria = $dataMarca[$cdfunre] ?? 0;
                                        $total = $manipulado + $revenda + $marca_propria;
                                        $nomefun = $nomesVendedores[$cdfunre] ?? ''; // Obtém o nome do vendedor

                                        $totalManipulado += $manipulado + $total_terceiros;
                                        $totalRevenda += $revenda;
                                        $totalMarca += $marca_propria;
                                        $metaValorManipulado = null;
                                        $metaValorMarcaPropria = null;
                                        $metaValorRevenda = null;
                                        $totalmetaSoma = null;

                                        //Totais Metas


                                        // Inicializar variável para somar os valores de META_SOMA
                                        $totalMetaSoma = 0;

                                        // Soma metas para este funcionário
                                        foreach ($metas as $meta) {
                                            if ($meta['CODIGO_FUNCIONARIO'] == $cdfunre) {
                                                if ($exibirManipulado) {
                                                    $metaValorManipulado += $meta['META_VALOR_MANIPULADO'];
                                                }
                                                if ($exibirMarcaPropria) {
                                                    $metaValorMarcaPropria += $meta['META_VALOR_MARCA_PROPRIA'];
                                                }
                                                if ($exibirRevenda) {
                                                    $metaValorRevenda += $meta['META_VALOR_REVENDA'];
                                                }
                                            }
                                        }
                                        $totalCombinado = $metaValorManipulado + $metaValorRevenda + $metaValorMarcaPropria;

                                        $totalmetaValorManipulado += $metaValorManipulado;
                                        $totalmetaValorMarcaPropria += $metaValorMarcaPropria;
                                        $totalmetaValorRevenda += $metaValorRevenda;
                                        $totalmetaSoma += $totalCombinado;
                                ?>

                                        <tr class='text-center'>
                                            <td>
                                                <span class="open-modal-btn" data-codigo="<?php echo htmlspecialchars($cdfunre); ?>" data-nome="<?php echo htmlspecialchars($nomefun); ?>" style="cursor: pointer; font-weight: bold;">
                                                    <?php
                                                    $partes_nome = explode(' ', trim($nomefun));
                                                    if (count($partes_nome) >= 2) {
                                                        echo $partes_nome[0] . ' ' . end($partes_nome);
                                                    } else {
                                                        echo $nomefun;
                                                    }
                                                    ?>
                                                </span>
                                            </td>

                                            <?php if ($exibirManipulado) { ?>
                                                <td data-order="<?= number_format($metaValorManipulado, 2, '.', ''); ?>">
                                                    <?= htmlspecialchars(number_format($metaValorManipulado, 2, ',', '.')); ?>
                                                </td>
                                                <td data-order="<?= number_format($manipulado, 2, '.', ''); ?>">
                                                    <?= htmlspecialchars(number_format($manipulado, 2, ',', '.')); ?>
                                                </td>
                                                <?php //if ($result_terceiros->num_rows > 0) : 
                                                ?>
                                                <td data-order="<?= number_format($total_terceiros, 2, '.', ''); ?>">
                                                    <?= number_format($total_terceiros, 2, ',', '.') ?>
                                                </td>
                                                <?php //endif; 
                                                ?>
                                                <td>
                                                    <?php
                                                    // Aqui você faz o cálculo da % conforme seu código original
                                                    // Exemplo simplificado:
                                                    if ($metaValorManipulado > 0) {
                                                        $percent = (($manipulado + $total_terceiros) / $metaValorManipulado) * 100;
                                                    } else {
                                                        $percent = 0;
                                                    }
                                                    $percentFormat = number_format($percent, 2, ',', '.');
                                                    $percentFloat = (float)str_replace(',', '.', $percentFormat);
                                                    ?>
                                                    <span class="badge badge-pill <?= getBadgeClass($percentFloat); ?>">
                                                        <?= $percentFormat ?>%
                                                    </span>
                                                </td>
                                            <?php } ?>

                                            <?php if ($exibirRevenda) { ?>
                                                <td data-order="<?= number_format($metaValorRevenda, 2, '.', ''); ?>">
                                                    <?= htmlspecialchars(number_format($metaValorRevenda, 2, ',', '.')); ?>
                                                </td>
                                                <td data-order="<?= number_format($revenda, 2, '.', ''); ?>">
                                                    <?= htmlspecialchars(number_format($revenda, 2, ',', '.')); ?>
                                                </td>
                                                <td>
                                                    <?php
                                                    if ($metaValorRevenda > 0) {
                                                        $percent = ($revenda / $metaValorRevenda) * 100;
                                                    } else {
                                                        $percent = 0;
                                                    }
                                                    $percentFormat = number_format($percent, 2, ',', '.');
                                                    $percentFloat = (float)str_replace(',', '.', $percentFormat);
                                                    ?>
                                                    <span class="badge badge-pill <?= getBadgeClass($percentFloat); ?>">
                                                        <?= $percentFormat ?>%
                                                    </span>
                                                </td>
                                            <?php } ?>

                                            <?php if ($exibirMarcaPropria) { ?>
                                                <td data-order="<?= number_format($metaValorMarcaPropria, 2, '.', ''); ?>">
                                                    <?= htmlspecialchars(number_format($metaValorMarcaPropria, 2, ',', '.')); ?>
                                                </td>
                                                <td data-order="<?= number_format($marca_propria, 2, '.', ''); ?>">
                                                    <?= htmlspecialchars(number_format($marca_propria, 2, ',', '.')); ?>
                                                </td>
                                                <td>
                                                    <?php
                                                    if ($metaValorMarcaPropria > 0) {
                                                        $percent = ($marca_propria / $metaValorMarcaPropria) * 100;
                                                    } else {
                                                        $percent = 0;
                                                    }
                                                    $percentFormat = number_format($percent, 2, ',', '.');
                                                    $percentFloat = (float)str_replace(',', '.', $percentFormat);
                                                    ?>
                                                    <span class="badge badge-pill <?= getBadgeClass($percentFloat); ?>">
                                                        <?= $percentFormat ?>%
                                                    </span>
                                                </td>
                                            <?php } ?>

                                            <td data-order="<?= number_format($totalCombinado, 2, '.', ''); ?>">
                                                <?= htmlspecialchars(number_format($totalCombinado, 2, ',', '.')); ?>
                                            </td>
                                            <td data-order="<?= number_format($total + $total_terceiros, 2, '.', ''); ?>">
                                                <?= htmlspecialchars(number_format($total + $total_terceiros, 2, ',', '.')); ?>
                                            </td>
                                            <td>
                                                <?php
                                                if ($totalCombinado > 0) {
                                                    $percent = (($total + $total_terceiros) / $totalCombinado) * 100;
                                                } else {
                                                    $percent = 0;
                                                }
                                                $percentFormat = number_format($percent, 2, ',', '.');
                                                $percentFloat = (float)str_replace(',', '.', $percentFormat);
                                                ?>
                                                <span class="badge badge-pill <?= getBadgeClass($percentFloat); ?>">
                                                    <?= $percentFormat ?>%
                                                </span>
                                            </td>
                                        </tr>
                                <?php
                                    } // fim foreach
                                }
                                ?>
                            </tbody>
                        </table>
                    </div>
                <?php }
                $primeiroDia = "01/" . str_pad($mes, 2, '0', STR_PAD_LEFT) . "/$ano";

                $ultimoDia = new DateTime("$ano-" . str_pad($mes, 2, '0', STR_PAD_LEFT) . "-01");
                $ultimoDia->modify('last day of this month');
                $ultimoDia = $ultimoDia->format('d/m/Y');

                $Data = $primeiroDia . '_' . $ultimoDia; ?>
            </div>
        </div>
    </div>

    <!-- ============================================================== -->
    <!-- End Page content -->
    <!-- ============================================================== -->

    <!-- Footer Start -->
    <?php include('../geral/footer.php'); ?>
    <!-- Msg Modal Start -->
    <?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>

    <!-- Data Table -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
    <script src="https://cdn.datatables.net/1.11.3/js/dataTables.bootstrap5.min.js"></script>
    <link rel="stylesheet" href="https://cdn.datatables.net/1.11.3/css/dataTables.bootstrap5.min.css">
    <!--Botões Data Table -->
    <script src="https://cdn.datatables.net/buttons/2.0.1/js/dataTables.buttons.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.66/pdfmake.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.66/vfs_fonts.js"></script>
    <script src="https://cdn.datatables.net/buttons/2.0.1/js/buttons.html5.min.js"></script>
    <link rel="stylesheet" href="https://cdn.datatables.net/buttons/2.0.1/css/buttons.dataTables.min.css">
    <link rel="stylesheet" href="../../assets/css/resetedatatable.css">

</body>

</html>
<script>
    $(document).ready(function() {
        var table = $('#Minhatable').DataTable({
            "language": {
                "url": "https://cdn.datatables.net/plug-ins/1.10.21/i18n/Portuguese-Brasil.json"
            },
            "ordering": true,
            "responsive": false,
            "searching": false,
            "paging": false,
            "lengthChange": false,
            "info": false,
            "order": [
                [12, "desc"]
            ],
        });
    });

    function capturarDadosTabela() {
        const dados = [];
        const tabelas = document.querySelectorAll('table'); // Caso tenha mais de uma tabela, pode usar um seletor específico

        tabelas.forEach(tabela => {
            const linhas = tabela.querySelectorAll('tr');
            linhas.forEach(linha => {
                const celulas = linha.querySelectorAll('td');
                const linhaDados = [];
                celulas.forEach(celula => {
                    linhaDados.push(celula.innerText.trim());
                });
                if (linhaDados.length > 0) dados.push(linhaDados);
            });
        });

        return dados;
    }

    // Função para enviar os dados via POST usando fetch
    function enviarDadosParaPDF() {
        const dados = capturarDadosTabela(); // Captura os dados da tabela

        // Obtendo as variáveis PHP do botão
        const btn = document.getElementById('btnBaixarPDF');
        const ano = btn.getAttribute('data-ano');
        const mes = btn.getAttribute('data-mes');
        const cdfun = btn.getAttribute('data-cdfun');
        const nomefun = btn.getAttribute('data-nomefun');

        // Criando o objeto para enviar via POST
        const payload = {
            ano: ano,
            mes: mes,
            cdfun: cdfun,
            nomefun: nomefun,
            dados: dados
        };

        // Enviar os dados via AJAX com fetch
        fetch('gera-pdf.php', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                },
                body: JSON.stringify(payload) // Envia os dados como JSON
            })
            .then(response => response.blob())
            .then(blob => {
                const url = URL.createObjectURL(blob);
                const a = document.createElement('a');
                a.href = url;
                a.download = `Recibo_<?= $nomefun ?>_<?= $Data ?>.pdf`;
                a.click();
                URL.revokeObjectURL(url);
            })
            .catch(error => {
                console.error('Erro ao gerar o PDF:', error);
            });
    }

    // Ação ao clicar no botão
    document.getElementById('btnBaixarPDF').addEventListener('click', function(event) {
        event.preventDefault(); // Previne o comportamento padrão do link
        enviarDadosParaPDF(); // Chama a função para enviar os dados
    });

    function goBack() {
        window.history.back();
    }
</script>