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

$consulta_bb = new ConsultaBancoDeDados();
$filtros = new Filtros();
$consulta_vendedores = new Vendedores();
$configuracoes = new Configuracoes();
$nome_para_vendedores = $configuracoes->get_nomeclatura_vendedor(true);
$nome_para_vendedor = $configuracoes->get_nomeclatura_vendedor();
$filiais = $consulta_bb->get_filiais();
$vendedores = $consulta_bb->get_vendedores();

$exibirManipulado = true;
$exibirRevenda = true;
$exibirMarcaPropria = true;

$DataInicial = isset($_GET['DataInicial']) ? $_GET['DataInicial'] : date('Y-m-01');
$DataFinal = isset($_GET['DataFinal']) ? $_GET['DataFinal'] : date('Y-m-t');
$filial = isset($_GET['filial']) ? $_GET['filial'] : 'Todos';
$tipoSelecionado = isset($_GET['tipo']) ? $_GET['tipo'] : 'Todos';

$ids = array_column($filiais, 'ID');
$ids_filial = implode(',', $ids);
$filial = !empty($_GET['filial']) ? $_GET['filial'] : $ids_filial;
$DataInicial = $_GET['DataInicial'] ?? null;
$DataFinal = $_GET['DataFinal'] ?? null;
$tipoSelecionado = $_GET['tipo'] ?? null;
$vendedor = isset($_GET[lcfirst($nome_para_vendedor)]) && $_GET[lcfirst($nome_para_vendedor)] !== 'Todos' ? $_GET[lcfirst($nome_para_vendedor)] : null;
$query_string = http_build_query([
    'filial' => $filial,
    'vendedor' => $vendedor,
    'DataInicial' => $DataInicial,
    'DataFinal' => $DataFinal,
    'tipo' => $tipoSelecionado,
    'form_submitted' => '1'
]);
if (isset($_GET['form_submitted']) && $_GET['form_submitted'] == '1') {
    $result = $consulta_vendedores->VendedoresTotal($DataInicial, $DataFinal, $tipoSelecionado, $filial, $vendedor);

    if ($result === false) {
        $vendedores_total = [];
    } else {
        $vendedores_total = [];
        while ($row = ibase_fetch_assoc($result)) {
            $vendedores_total[] = $row;
        }
    }
}

?>

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

<head>
    <link rel="icon" href="/mandareceita/pages/configuracoes/logo-sm.png">
    <link rel="shortcut icon" href="/mandareceita/pages/configuracoes/logo-sm.png">
</head>

<?php $pageTitle = 'Vendedores Total - Validação';
include('../header.php'); ?>

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

<body>
    <!-- ============================================================== -->
    <!-- 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">Vendedores Total</h4>
                    </div>

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

                    <div class="col-12 mb-4">
                        <form method="get" action="" onsubmit="return validarFormulario()">
                            <div class="form-row mb-3">
                                <?php
                                echo $filtros->filtroCheckBox('filial', $filiais, null);
                                echo $filtros->filtroCheckBox(lcfirst($nome_para_vendedor), $vendedores);
                                ?>

                                <div class="col-6 col-md-4 col-lg-2">
                                    <div class="form-group" style="margin-top: 9px;">
                                        <label>Tipo</label>
                                        <select class="form-control" name="tipo">
                                            <option value="Todos" <?php echo ($tipoSelecionado == "Todos") ? 'selected' : ''; ?>>Todos</option>
                                            <option value="Manipulado" <?php echo ($tipoSelecionado == "Manipulado") ? 'selected' : ''; ?>>Manipulado</option>
                                            <option value="Marca Propria" <?php echo ($tipoSelecionado == "Marca Propria") ? 'selected' : ''; ?>>Marca Própria</option>
                                            <option value="Revenda" <?php echo ($tipoSelecionado == "Revenda") ? 'selected' : ''; ?>>Revenda</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="col-6 col-md-4 col-lg-2">
                                    <div class="form-group" style="margin-top: 9px;">
                                        <label>Data Inicial</label>
                                        <input type="date" class="form-control" name="DataInicial" value="<?php echo $DataInicial; ?>">
                                    </div>
                                </div>
                                <div class="col-6 col-md-4 col-lg-2">
                                    <div class="form-group" style="margin-top: 9px;">
                                        <label>Data Final</label>
                                        <input type="date" class="form-control" name="DataFinal" value="<?php echo $DataFinal; ?>">
                                    </div>
                                </div>
                                <input type="hidden" name="form_submitted" value="1" />
                                <div class="col-12 text-right">
                                    <a href="index.php" class="btn btn-warning mr-2"><i class="mdi mdi-plus"></i> Limpar</a>
                                    <button name="pesquisar" type="submit" class="btn btn-primary"><i class="mdi mdi-magnify"></i> Pesquisar</button>
                                </div>
                        </form>
                    </div>

                    <?php
                    $totalValor = 0;

                    if (isset($_GET['form_submitted']) && $_GET['form_submitted'] == '1') { ?>
                        <div class="col-12">
                            <div style="display: flex;  align-items: center;">
                                <h6>Lista de Dados</h6>
                            </div>
                            <table id="datatable-buttons" class="table table-bordered table-hover table-sm" style="width:100%;">
                                <thead>
                                    <tr class="text-center">
                                        <th>Filial</th>
                                        <th>Nome Vendedor</th>
                                        <th>Manipulado</th>
                                        <th>Revenda</th>
                                        <th>Marca Própria</th>
                                        <th>Valor</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <?php
                                    $totalValor = 0;
                                    $totalValorManipulado = 0;
                                    $totalValorRevenda = 0;
                                    $totalValorMarcaPropria = 0;

                                    if (!empty($vendedores_total)) {
                                        foreach ($vendedores_total as $row) {
                                            $REALIZADO_SOMA = $row['VALOR_REVENDA'] + $row['VALOR_MANIPULADO'] + $row['VALOR_MARCA_PROPRIA'];
                                            $codigoFilial = $row['FILIAL'] ?? null;
                                            if (!$codigoFilial) continue;

                                            echo '<tr class="text-center">';
                                            echo '<td >' . htmlspecialchars($codigoFilial) . '</td>';
                                            echo '<td "> ' . $row['CDFUNRE'] . ' - ' .  $row['NOMEFUN'] . '</td>';
                                            echo '<td "> ' . number_format((float)$row['VALOR_MANIPULADO'], 2, ',', '.') . '</td>';
                                            echo '<td "> ' . number_format((float)$row['VALOR_REVENDA'], 2, ',', '.') . '</td>';
                                            echo '<td "> ' . number_format((float)$row['VALOR_MARCA_PROPRIA'], 2, ',', '.') . '</td>';
                                            echo '<td "> ' . number_format((float)$REALIZADO_SOMA, 2, ',', '.') . '</td>';
                                            echo '</tr>';

                                            $totalValor += floatval($REALIZADO_SOMA);
                                            $totalValorManipulado += floatval($row['VALOR_MANIPULADO']);
                                            $totalValorRevenda += floatval($row['VALOR_REVENDA']);
                                            $totalValorMarcaPropria += floatval($row['VALOR_MARCA_PROPRIA']);
                                        }
                                    } else {
                                        echo "<tr><td colspan='5' class='text-center'>Sem resultado para a consulta</td></tr>";
                                    }


                                    ?>
                                </tbody>
                                <!-- <tfoot>
                                    <tr class="text-center">
                                        <td colspan="2"><b>Total</b></td>
                                        <td>
                                            <b><?php echo number_format($totalValorManipulado, 2, ',', '.'); ?></b>
                                        </td>
                                        <td>
                                            <b><?php echo number_format($totalValorRevenda, 2, ',', '.'); ?></b>
                                        </td>
                                        <td>
                                            <b><?php echo number_format($totalValorMarcaPropria, 2, ',', '.'); ?></b>
                                        </td>
                                        <td>
                                            <b><?php echo number_format($totalValor, 2, ',', '.'); ?></b>
                                        </td>
                                    </tr>
                                </tfoot> -->
                            </table>
                            <?php if (!empty($vendedores_total)) :  ?>
                                <div class="col-md-12">
                                    <h4 style="margin-left: -14px;">Total Manipulado: R$ <?php echo number_format($totalValorManipulado, 2, ',', '.'); ?></h4>
                                </div>
                                <div class="col-md-12">
                                    <h4 style="margin-left: -14px;">Total de Revenda: R$ <?php echo number_format($totalValorRevenda, 2, ',', '.'); ?></h4>
                                </div>
                                <div class="col-md-12">
                                    <h4 style="margin-left: -14px;">Total de Marca Própria: R$ <?php echo number_format($totalValorMarcaPropria, 2, ',', '.'); ?></h4>
                                </div>
                            <?php endif  ?>
                        </div>
                    <?php } ?>
                    <div class="col-md-12">
                        <h4 style="margin-left: -2px;">Total Geral: R$ <?php echo number_format($totalValor, 2, ',', '.'); ?></h4>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <?php include('../footer.php'); ?>
    <?php include('../mensagens_modais.php'); ?>
    <?php
    $nome_para_vendedor = lcfirst($nome_para_vendedor);
    ?>
    <script src="../../../assets/js/vendor.min.js"></script>
    <script src="../../../assets/libs/jquery-knob/jquery.knob.min.js"></script>
    <script src="../../../assets/js/app.min.js"></script>
    <script src="../geral/javascript.js"></script>
    <script src="../../../assets/js/funcoes.js"></script>

    <!-- third party js -->
    <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>
    <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">
    <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" />

    <select style="display: none;" id="saida" name="saida">
        <option value="Todos" selected></option>
    </select>
    <script type="text/javascript">
        initDropdownFilter('filial');
        initDropdownFilter('<?= $nome_para_vendedor ?>', false, 'saida');

        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').textContent = message;
            modal.show();
        }
    </script>

    <script>
        $(document).ready(function() {
            var table = $('#datatable-buttons').DataTable({
                "language": {
                    "url": "https://cdn.datatables.net/plug-ins/1.10.21/i18n/Portuguese-Brasil.json"
                },
                "lengthMenu": [
                    [10, 25, 50, 100, -1],
                    [10, 25, 50, 100, "Todos"]
                ],
                "buttons": [
                    'excelHtml5'
                ],
                //"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>>',
                "order": [
                    [0, 'asc']
                ], // Ordenar pela primeira coluna em ordem ascendente
                "columnDefs": [{
                    "targets": 0, // Aplica ordenação apenas na primeira coluna (você pode ajustar o índice)
                    "orderable": true // Torna a coluna ordenável
                }]
            });
        });
    </script>

    <script>
        $(document).ready(function() {
            // Função para preencher o combo de filiais com Select2
            function carregarFiliais(cidade) {
                console.log("Cidade selecionada: " + cidade); // Adiciona log para depuração

                $.ajax({
                    url: 'get_filiais.php', // Verifique se o caminho está correto
                    type: 'POST',
                    dataType: 'json',
                    data: {
                        cidade: cidade
                    },
                    success: function(data) {
                        console.log("Filiais carregadas: ", data); // Adiciona log para depuração

                        $('#filial').empty().select2({
                            placeholder: 'Selecione uma ou mais filiais',
                            data: data.map(function(item) {
                                return {
                                    id: item.id,
                                    text: item.nome_filial
                                };
                            })
                        });

                        // Recuperar filiais selecionadas do localStorage, se existirem
                        var filiaisSelecionadas = JSON.parse(localStorage.getItem('filiaisSelecionadas')) || [];

                        // Selecionar as filiais recuperadas
                        $('#filial').val(filiaisSelecionadas).trigger('change');
                    },

                });
            }

            // 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);
            });

            // Ao selecionar ou deselecionar uma filial, atualiza o localStorage com as filiais selecionadas
            $('#filial').on('change', function() {
                var filiaisSelecionadas = $(this).val() || [];
                localStorage.setItem('filiaisSelecionadas', JSON.stringify(filiaisSelecionadas));
            });

            // Checkbox para selecionar todas as filiais
            $("#select_todos").click(function() {
                if ($(this).is(':checked')) {
                    $('#filial option').prop('selected', true);
                    $('#filial').trigger('change');
                } else {
                    $('#filial option').prop('selected', false);
                    $('#filial').trigger('change');
                }
            });
        });
    </script>

    <style>
        .is-invalido {
            box-shadow: 0 0 5px red !important;
        }
    </style>
</body>

</html>