<?php
require '../conexao/conexao.php';
//require '../sessao.php';
require '../conexao/acesso.php';
require '../configuacoes.php';
require '../configuracao/consulta_banco_dados.php';
require '../configuracao/filtros.php';
require '../logs/gera-log.php';

gerarLog(
    1, // tipo de log (acesso)
    $basePath, // módulo
    $_SESSION['CodUsuario'],
    $_SESSION['NomeUsuario']
);

// Instancia a classe de consulta_bb ao banco de dados
$consulta_bb = new ConsultaBancoDeDados();
$filtros = new Filtros();

$filiais = $consulta_bb->get_filiais();
$cidades = $consulta_bb->get_cidades(); // Obtém todas as cidades


//Declarando null pro resultado do record, caso o usuário clique em pesquisar, ela será preenchida.
$resultmeta = null;


$cidade = $_GET['cidade'] ?? null;
$ids = array_column($filiais, 'ID');
array_unshift($ids, 'x');
$ids_filial = implode(',', $ids);
$filialselect = !empty($_GET['filial']) ? $_GET['filial'] : null;
$filial = explode(',', $filialselect);

$filial = array_filter($filial, function ($item) {
    return $item !== 'x';
});
$filial = array_values($filial);
$filial = implode(',', $filial);
$ano = $_GET['ano'] ?? null;
$mes = $_GET['mes'] ?? null;
$query_string = http_build_query([
    'cidade' => $cidade,
    'ano' => $ano,
    'mes' => $mes,
    'filial' => $filial,
    'form_submitted' => '1'
]);

// VERIFICANDO SE O USUÁRIO CLICOU NO BOTÃO PESQUISAR
if (isset($_GET['form_submitted']) && $_GET['form_submitted'] == '1') {

    gerarLog(
        5, // tipo de log (acesso)
        $basePath, // módulo
        $_SESSION['CodUsuario'],
        $_SESSION['NomeUsuario']
    );

    // Iniciando a construção do SQL BASE
    $sql_base = "SELECT f.id_funcionario ,f.nome,SUM(t.valor) as valor,t.cod_filial, 
    EXTRACT(YEAR FROM t.data_lancamento) as ano,
    EXTRACT(MONTH FROM t.data_lancamento) as mes
     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 != "Todos") {
        $sql_base .= " AND EXTRACT(YEAR FROM t.data_lancamento) = " . intval($ano);
    }
    if ($mes && $mes != "Todos") {
        $sql_base .= " AND EXTRACT(MONTH FROM t.data_lancamento) = " . intval($mes);
    }
    // Aplicar o filtro da filial
    if ($filial && $filial != "Todos") {
        $sql_base .= " AND t.cod_filial IN ($filial)";
    }


    $sql_base .= " group by f.id_funcionario,f.nome,t.cod_filial, ano, mes";

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

    // 1. Contagem de registros totais
    // $sql_count = "SELECT COUNT(*) AS total FROM (" . $sql_base . ") AS subquery";
    // $result_count = $connectionmysql->query($sql_count);
    // $total_records = 0;
    // if ($result_count) {
    //     $total_records = $result_count->fetch_assoc()['total'];
    //     $total_pages = ceil($total_records / $records_per_page);  // Determina o número total de páginas

    //     // 2. Construindo a consulta final com LIMIT para paginação
    //     $sql_final = $sql_base . " ORDER BY f.nome LIMIT $start_from, $records_per_page";


    // } else {
    //     die('Erro na contagem de registros: ' . $connectionmysql->error);
    // }

    // O restante do seu código continua aqui, como a exibição dos resultados, etc.

}

?>

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

<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-3">
                <div class="row">

                    <div class="col-6 text-left">
                        <h4 class="page-title">Terceiros</h4>
                    </div>

                    <div class="col-6 text-right">

                        <a href="formulario_inclusao_alteracao_terceiros.php?id=0&cidade=<?php echo $cidade; ?>&filial=<?php echo $filial; ?>&ano=<?php echo $ano; ?>&mes=<?php echo $mes; ?>" class="btn btn-light" alt="Incluir Cadastro" title="Incluir Cadastro"><i class="mdi mdi-plus"></i> Adicionar</a>


                    </div>

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

                    <div class="col-12">
                        <form method="get" action="">
                            <div class="form-row mb-3">
                                <?php
                                // Exibe o filtro de cidade
                                echo $filtros->filtroCidade($cidade, $cidades, false, '',  2);

                                // Exibe o filtro de filial
                                echo $filtros->filtroFilialSimples($filialselect, $filiais, true, null,  2);

                                // Exibe o filtro de ano
                                echo $filtros->filtroAno($ano);

                                // Exibe o filtro de mes
                                echo $filtros->filtroMes($mes);
                                ?>
                                <!--CAMPO PARA INDICAR QUE CLICAMOS NO PESQUISAR -->
                                <input type="hidden" name="form_submitted" value="1" />

                                <div class="col-12 col-md-8 col-lg-4 d-flex mt-3" style="align-items:center;justify-content: end;">
                                    <div>
                                        <a href="index.php" class="btn btn-warning mr-2"><i class="mdi mdi-plus"></i> Limpar</a>
                                    </div>
                                    <div>
                                        <button type="submit" class="btn btn-primary"><i class="mdi mdi-magnify"></i> Pesquisar</button>
                                    </div>
                                </div>
                            </div>
                        </form>
                    </div>
                </div>
                <?php
                // VERIFICANDO SE O USUÁRIO CLICOU NO BOTÃO PESQUISAR
                if (isset($_GET['form_submitted']) && $_GET['form_submitted'] == '1') { ?>

                    <div class="col-12">
                        <div style="display: flex; justify-content: space-between; align-items: center;">
                            <h6>Vendas Terceirizadas</h6> <!-- Alterado para corresponder à nova tabela -->
                            <!-- <div>
                                <span>Total de registros: <?php echo $total_records; ?></span>
                            </div> -->
                        </div>

                        <table id="ihh" class="table table-striped table-bordered dt-responsive nowrap">
                            <thead>
                                <tr class="text-center">
                                    <th><?= $nome_para_vendedor ?></th> <!-- Novo cabeçalho -->
                                    <th>Valor</th> <!-- Novo cabeçalho -->
                                    <th>Filial</th> <!-- Novo cabeçalho -->
                                    <th>Ano</th>
                                    <th>Mês</th>
                                    <th>Ações</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php
                                $hasResults = false;

                                if ($resultmeta) {
                                    while ($row = $resultmeta->fetch_assoc()) {
                                        $hasResults = true;
                                        $id_funcionario = $row['id_funcionario']; // Ajuste conforme a chave primária da sua tabela
                                        $valor = floatval($row['valor']);
                                        $valor =  number_format($valor, 2, ',', '.');
                                ?>
                                        <tr class="text-center">
                                            <td><?php echo htmlspecialchars($row['nome']); ?></td> <!-- Novo campo -->
                                            <td>R$<?php echo htmlspecialchars($valor); ?></td>
                                            <td><?php echo htmlspecialchars($row['cod_filial']); ?></td>
                                            <td><?php echo htmlspecialchars($row['ano']); ?></td> <!-- Novo campo -->
                                            <td><?php echo htmlspecialchars($row['mes']); ?></td> <!-- Novo campo -->


                                            <td>
                                                <!-- Ajuste os links de ações conforme necessário -->
                                                <a href="detalhes.php?&id_funcionario=<?php echo $id_funcionario; ?>&cidade=<?php echo $cidade; ?>&filial=<?php echo $row['cod_filial']; ?>&ano=<?php echo $row['ano']; ?>&mes=<?php echo $row['mes']; ?>" class=" table-actions link-view"><i class="mdi mdi mdi-account-search"></i></a>
                                            </td>
                                        </tr>
                                <?php
                                    }
                                }
                                if (!$hasResults) {
                                    echo "<tr><td colspan='6' class='text-center'>Sem resultado para a consulta</td></tr>"; // Ajuste na contagem do colspan
                                }
                                ?>
                            </tbody>
                        </table>
                    </div>
            </div>
            <!-- <div style="display: flex; justify-content: center;">
                <?php include('paginacao.php'); ?>
            </div> -->
        <?php } //fechamento do IF que valida se o usuário clicou no botão pesquisar 
        ?>
        </div>
    </div>

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

    <!-- end wrapper -->


    <!-- ============================================================== -->
    <!-- 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>


    <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">




    <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>

    <script src="../geral/javascript.js"></script>
    <script src="../../assets/js/funcoes.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">
    <script>
        applyFilter('cidade', 'filial', 'data-cidade', '<?php echo isset($filialselect) ? $filialselect : ''; ?>');

        $(document).ready(function() {
            var order = [
                [2, "DESC"]
            ];

            $('#ihh').DataTable({
                "language": {
                    "url": "https://cdn.datatables.net/plug-ins/1.10.21/i18n/Portuguese-Brasil.json"
                },
                "order": order,
                "ordering": true,
                "lengthMenu": [
                    [10, 25, 50, 100, -1],
                    [10, 25, 50, 100, "Todos"]
                ],
                "buttons": [
                    //'copyHtml5',
                    'excelHtml5',
                    'csvHtml5',
                    //'pdfHtml5'
                ],
                "dom": '<"top"Bf><"datatable-scroll"t><"bottom d-flex justify-content-between align-items-center"lip><"clear">'
                //    //"dom": 'lBfrtip',
                dom: '<"d-flex justify-content-between align-items-center mb-2"Bf>t<"datatable-footer d-flex justify-content-between align-items-center mt-2 w-100"<"footer-left"l><"footer-center"i><"footer-right"p>>', // Adicionando "l" para incluir a opção de seleção de quantidade de registros por página
            });
        });
    </script>
    <style>
        #dataTables_length label,
        #dataTables_info {
            margin: 0 !important;
            padding: 0 !important;
            align-items: center;
        }
    </style>
    <script>
        document.addEventListener("DOMContentLoaded", function() {
            // Remove status and message parameters from URL
            const url = new URL(window.location);
            url.searchParams.delete('status');
            url.searchParams.delete('message');
            window.history.replaceState({}, document.title, url);
        });

        $(document).ready(function() {
            var table = $('#ih').DataTable({
                "language": {
                    "url": "https://cdn.datatables.net/plug-ins/1.10.21/i18n/Portuguese-Brasil.json"
                },
                "ordering": true,
                "responsive": true,
                "autoWidth": false,
                "lengthMenu": [
                    [10, 25, 50, 100, -1],
                    [10, 25, 50, 100, "Todos"]
                ],
                "dom": 'Bfrtip'
            });
        });
    </script>
</body>

</html>