<?php
require '../conexao/conexao.php';
$ano = $_GET['ano'] ?? null;
$mes = $_GET['mes'] ?? null;
$filial = $_GET['filial'] ?? null;


		
        $qry_manipulado = "SELECT fr.cdfil, 

									 sum(fr.PRCOBR - fr.VRDSC) AS soma

									 FROM FC12100 fr 
									 
									  WHERE 1 = 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 fr.cdfil IN ($filial)";
                                        
                                    }
                                    // Aplicar filtros de ano e mês para a primeira subconsulta
                                    if ($ano && $ano != "Selecione") {
                                        $qry_manipulado .= " AND EXTRACT(YEAR FROM fr.DTENTR) = " . intval($ano);
                                    }
                                    if ($mes && $mes != "Selecione") {
                                        $qry_manipulado .= " AND EXTRACT(MONTH FROM fr.DTENTR) = " . intval($mes);
                                    }
                                    $qry_manipulado .= "group by cdfil";

    $qry_revenda = "select cp.cdconre, SUM(p.vrtot - p.vrdsc - p.vrdscv + p.vrtxav) as revenda_total  from fc14100 p, fc14000 cp, FC03000 pr, fc08000 fun
                           where p.cdfil = cp.cdfil and
                           p.nrcpm = cp.nrcpm and
                           p.cdpro = pr.cdpro and
                            pr.setor not in (276,330) and
                            cp.cdfil = fun.cdcon and
                           cp.cdfunre = fun.cdfun";

                           if (!empty($filial) && $filial !== "Todos") {
                            // Se $filial não estiver vazio e não for "Todos", aplicamos o filtro na consulta
                           
                            $qry_revenda .= " and cp.cdconre IN ($filial)";
                            
                        }

                        if ($ano && $ano != "Selecione") {
                            $qry_revenda .= " AND EXTRACT(YEAR FROM cp.dtpagefe) = " . intval($ano);
                        }
                        if ($mes && $mes != "Selecione") {
                            $qry_revenda .= " AND EXTRACT(MONTH FROM cp.dtpagefe) = " . intval($mes);
                        }
                        
                        $qry_revenda .= "group by cp.cdconre";

    $qry_marca = "select cp.cdconre, SUM(p.vrtot - p.vrdsc - p.vrdscv + p.vrtxav) as marca_propria_total  from fc14100 p, fc14000 cp, FC03000 pr, fc08000 fun
                           where p.cdfil = cp.cdfil and
                           p.nrcpm = cp.nrcpm and
                           p.cdpro = pr.cdpro
                           AND pr.setor in (276,330) and
                           cp.cdfil = fun.cdcon and
                           cp.cdfunre = fun.cdfun";

                           if (!empty($filial) && $filial !== "Todos") {
                            // Se $filial não estiver vazio e não for "Todos", aplicamos o filtro na consulta
                           
                            $qry_marca .= " and cp.cdconre IN ($filial)";
                            
                        }

                        if ($ano && $ano != "Selecione") {
                            $qry_marca .= " AND EXTRACT(YEAR FROM cp.dtpagefe) = " . intval($ano);
                        }
                        if ($mes && $mes != "Selecione") {
                            $qry_marca .= " AND EXTRACT(MONTH FROM cp.dtpagefe) = " . intval($mes);
                        }
                        $qry_marca .= "group by cp.cdconre";

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

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

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


//QUERY PARA TRAZER AS METAS
$sql_meta = "select codigo_filial, VALOR_MANIPULADO as META_VALOR_MANIPULADO, VALOR_REVENDA as META_VALOR_REVENDA,valor_marcapropria as META_VALOR_MARCA_PROPRIA
from metas WHERE 1=1";

    if ($ano && $ano != "Selecione") {
        $sql_meta .= " and ano = " . intval($ano);
    }
    if ($mes && $mes != "Selecione") {
        $sql_meta .= " and mes = " . intval($mes);
    }

    // Aplicar o filtro da filial
    if ($filial && $filial != "Todos") {
        $sql_meta .= " AND codigo_filial IN ($filial)";
    }

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

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


?>

<!DOCTYPE html>
<html lang="pt-br">

<body>

                        <div class="col-12">
                            <div style="display: flex; justify-content: space-between; align-items: center;">
                                <h6>Faturamento por Vendedor</h6>
                            </div>

                            <table id="datatable-buttons" class="table table-striped table-bordered dt-responsive nowrap">
                                <thead>
                                <tr>
                                                <th scope="col" rowspan="2">Filiais</th>
                                                <th scope="col" colspan="2">Manipulado</th>
                                                <th scope="col" colspan="2">Revenda</th>
                                                <th scope="col" colspan="2">Marca Própria</th>
                                                <th scope="col" colspan="1">Total Geral</th>
                                            </tr>
                                            <tr>
                                                <th scope="col">Meta</th>
                                                <th scope="col">Realizado</th>
                                                

                                                <th scope="col">Meta</th>
                                                <th scope="col">Realizado</th>
                                                

                                                <th scope="col">Meta</th>
                                                <th scope="col">Realizado</th>
                                                
                                                <th scope="col">Meta</th>
                                                <th scope="col">Realizado</th>
                                                
                                        </thead>
                                
                                <tbody>

                                    <?php
// Criar arrays associativos para armazenar os resultados
$dataManipulado = [];
$dataRevenda = [];
$dataMarca = [];

// Buscar dados de manipulado
while ($row = ibase_fetch_assoc($qryResult)) {
    $dataManipulado[$row['CDFIL']] = $row['SOMA'];
}

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

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

// Criar array para armazenar as metas
$metas = [];
while ($row = $resultmeta->fetch_assoc()) {
    $metas[$row['codigo_filial']] = $row;
}


// Inicializar totais
$totalManipulado = 0;
$totalRevenda = 0;
$totalMarca = 0;
$totalMetaManipulado = 0;
$totalMetaRevenda = 0;
$totalMetaMarcaPropria = 0;

// Iterar sobre os resultados das vendas e incluir metas correspondentes
foreach ($dataManipulado as $cdfil => $manipulado) {
    $revenda = $dataRevenda[$cdfil] ?? 0;
    $marca_propria = $dataMarca[$cdfil] ?? 0;
    $total = $manipulado + $revenda + $marca_propria;

    // Obter as metas correspondentes a esta filial
    $meta = $metas[$cdfil] ?? null;
    if ($meta) {
        $metaManipulado = $meta['META_VALOR_MANIPULADO'];
        $metaRevenda = $meta['META_VALOR_REVENDA'];
        $metaMarcaPropria = $meta['META_VALOR_MARCA_PROPRIA'];

        // Adicionar valores das metas aos totais
        $totalMetaManipulado += $metaManipulado;
        $totalMetaRevenda += $metaRevenda;
        $totalMetaMarcaPropria += $metaMarcaPropria;
    } else {
        // Se não houver meta para esta filial, defina os valores como 0
        $metaManipulado = 0;
        $metaRevenda = 0;
        $metaMarcaPropria = 0;
    }

    // Exibir linha da tabela com os valores das vendas e metas
    echo "<tr class='text-center'>";
    echo "<td>{$cdfil}</td>";
    echo "<td>R$ " . number_format($metaManipulado, 2, ',', '.') . "</td>";
    echo "<td>R$ " . number_format($manipulado, 2, ',', '.') . "</td>";
    echo "<td>R$ " . number_format($metaRevenda, 2, ',', '.') . "</td>";
    echo "<td>R$ " . number_format($revenda, 2, ',', '.') . "</td>";
    echo "<td>R$ " . number_format($metaMarcaPropria, 2, ',', '.') . "</td>";
    echo "<td>R$ " . number_format($marca_propria, 2, ',', '.') . "</td>";
    echo "<td>R$ " . number_format($total, 2, ',', '.') . "</td>";
    echo "</tr>";

    // Adicionar valores das vendas aos totais
    $totalManipulado += $manipulado;
    $totalRevenda += $revenda;
    $totalMarca += $marca_propria;
}

// Exibir linha da tabela com os totais
echo "<tr class='text-center'>";
echo "<td><b>Total</b></td>";
echo "<td>R$ " . number_format($totalMetaManipulado, 2, ',', '.') . "</td>";
echo "<td>R$ " . number_format($totalManipulado, 2, ',', '.') . "</td>";
echo "<td>R$ " . number_format($totalMetaRevenda, 2, ',', '.') . "</td>";
echo "<td>R$ " . number_format($totalRevenda, 2, ',', '.') . "</td>";
echo "<td>R$ " . number_format($totalMetaMarcaPropria, 2, ',', '.') . "</td>";
echo "<td>R$ " . number_format($totalMarca, 2, ',', '.') . "</td>";
echo "<td>R$ " . number_format($totalManipulado + $totalRevenda + $totalMarca, 2, ',', '.') . "</td>";
echo "</tr>";
?>



                                </tbody>
                            </table>
                        </div>

                   
                </div>
            </div>

        </div> <!-- end container -->
    </div>

   


</body>

</html>
