<?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 './consultas_bd.php';
require '../logs/gera-log.php';
//require '../configuracao/get_config.php';

// Instancia a classe de consulta_bb ao banco de dados
$consulta_bb = new ConsultaBancoDeDados();
$filtros = new Filtros();
$consulta_clientes = new ConsultaClientesValores();
$filiais = $consulta_bb->get_filiais();

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

$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;
$query_string = http_build_query([
    'filial' => $filial,
    'DataInicial' => $DataInicial,
    'DataFinal' => $DataFinal,
    'tipo' => $tipoSelecionado,
    'form_submitted' => '1'
]);
if (isset($_GET['form_submitted']) && $_GET['form_submitted'] == '1') {

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

    //if ($tipoSelecionado && $tipoSelecionado == '1') {
    $clientes_recebidos = $consulta_clientes->get_cliente_index($filial, $DataInicial, $DataFinal,$tipoSelecionado);
    // } 
    // elseif ($tipoSelecionado && $tipoSelecionado == '2') {
    //     $clientes_recebidos = $consulta_clientes->get_cliente_index_varejo($filial, $DataInicial, $DataFinal);
    // }
}
//var_dump($tipoSelecionado);

?>


<!DOCTYPE html>
<html lang="pt-br">
<?php
$pageTitle = "Clientes Recebidos"; // 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"><?= $pageTitle ?></h4>
                    </div>

                    <div class="col-12">
                        <h5 class="page-title">Lista de valores recebidos de clientes</h5>

                        <hr>
                    </div>

                    <div class="col-12">
                        <form method="get" action="" onsubmit="return validarFormulario()">
                            <div class="form-row mb-1">
                                <?php
                                echo $filtros->filtroCheckBox('filial', $filiais);
                                ?>
                                <div class=" form-group col-6 col-md-4 col-lg-2">
                                    <label for="DataInicial" class="col-form-label" oninput="validarCampo('DataInicial',this.value)">Data Inicial</label>
                                    <input type="date" id="DataInicial" name="DataInicial" class="form-control" value="<?php echo isset($DataInicial) ? $DataInicial : ''; ?>">
                                </div>

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

                                <div class="col-6 col-md-4 col-lg-2">
                                    <label for="tipo" class="col-form-label">Tipo</label>
                                    <select id="tipo" name="tipo" class="form-control">
                                        <?php
                                        // Exibe a opção "Manipulado"
                                        echo '<option value="1"' . ($tipoSelecionado == "1" ? ' selected' : '') . '>Manipulado</option>';

                                        // Exibe a opção "Varejo"
                                        echo '<option value="2"' . ($tipoSelecionado == "2" ? ' selected' : '') . '>Revenda</option>';
                                        ?>
                                    </select>
                                </div>

                                <input type="hidden" name="form_submitted" value="1" />
                                <div class="col-12 col-md-8 col-lg-4 d-flex justify-content-end align-items-center" style="margin-bottom: 8px;">
                                    <div>
                                        <a href="index.php" class="btn btn-warning mr-2">
                                            <i class="mdi mdi-plus"></i> Limpar
                                        </a>
                                    </div>
                                    <div>
                                        <button name="pesquisar" type="submit" class="btn btn-primary">
                                            <i class="mdi mdi-magnify"></i> Pesquisar
                                        </button>
                                    </div>
                                </div>

                        </form>
                    </div>
                </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 class="load"> <i class="fa fa-spinner fa-spin fa-5x fa-fw"></i><span class="sr-only">Loading...</span> </div>
                        </div>
                        <table id="datatable-buttons" class="table table-bordered table-hover table-sm" style="width:100%;">
                            <thead>
                                <tr class="text-center">
                                    <th class="text-center">Código</th>
                                    <th class="text-center">Nome Cliente</th>
                                    <th class="text-center">Qtd Compras</th>
                                    <th class="text-center">Valor Compras</th>
                                    <th class="text-center">Telefone</th>
                                    <th class="text-center">Celular</th>
                                    <th class="text-center">E-mail</th>
                                    <th class="text-center">Ações</th>
                                </tr>
                            </thead>
                            <tbody>
                            <?php
                            $hasResults = false;
                            if (isset($clientes_recebidos) && count($clientes_recebidos) > 0) {
                                foreach ($clientes_recebidos as $row) {
                                    $row['NOMECLIENTE'] = $row['NOMECLIENTE'];
                                    $cdcli = $row['CODIGO_CLIENTE'];
                                    $nomecli = $row['NOMECLIENTE'];
                                    $hasResults = true;

                                    echo '<tr class="text-center">';
                                    echo '<th scope="row">' . $cdcli . '</th>';
                                    echo '<th  class="col-3" scope="row">' . $nomecli . '</th>';
                                    if ($tipoSelecionado && $tipoSelecionado == '1') {
                                        echo '<td style="text-align: center;">' . $row['QTD_MANIPULADO'] . '</td>';
                                        echo '<td data-order="' . $row['VLR_MANIPULADO'] . '" style="text-align: center;">R$ ' . number_format($row['VLR_MANIPULADO'], 2, ',', '.') . '</td>';
                                    } elseif ($tipoSelecionado && $tipoSelecionado == '2') {
                                        echo '<td style="text-align: center;">' . $row['QTD_REVENDA'] . '</td>';
                                        echo '<td data-order="' . $row['VLR_REVENDA'] . '" style="text-align: center;">R$ ' . number_format($row['VLR_REVENDA'], 2, ',', '.') . '</td>';
                                    }
                                    echo '<td>' .  (isset($row['TEL']) ? $row['TEL'] : 'N/A') . '</td>';
                                    echo '<td>' . (isset($row['TELEFONE2']) ? $row['TELEFONE2'] : 'N/A') . '</td>';
                                    echo '<td class="col-3">' . (isset($row['EMAIL1']) ? $row['EMAIL1'] : 'N/A') . '</td>';
                                    echo '<td>
                            <a href="detalhe_cliente.php?id_cliente=' . urlencode($cdcli) . '&' . $query_string . '&nome=' . $row['NOMECLIENTE'] . '&tel=' . $row['TEL']  . '&celular=' . $row['TELEFONE2']  . '&email=' . $row['EMAIL1']  . '&tipo=' . $tipoSelecionado . '" class="table-actions link-view">
                                <i class="mdi mdi-account-search"></i>
                            </a>
                        </td>';

                                    echo '</tr>';
                                    // Atualiza o totalizador
                                    if ($tipoSelecionado && $tipoSelecionado == '1') {
                                        $totalValor += floatval($row['VLR_MANIPULADO']);
                                    } elseif ($tipoSelecionado && $tipoSelecionado == '2') {
                                        $totalValor += floatval($row['VLR_REVENDA']);
                                    } else {
                                        $totalValor = 0;
                                    }
                                }
                            } else {
                                echo "<tr><td colspan='11' class='text-center'>Sem resultado para a consulta</td></tr>";
                            }
                        }

                            ?> </tbody>
                        </table>
                        <?php if (!empty($clientes_recebidos)) :  ?>
                            <div class="row">
                                <div class="col-md-12">
                                    <h4>Total Valor: R$ <?php echo number_format($totalValor, 2, ',', '.'); ?></h4>
                                </div>
                            </div>
                        <?php endif  ?>
                    </div>
            </div>
        </div>
    </div>
    </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="../../assets/js/funcoes.js"></script>

</body>

</html>

<script src="../geral/javascript.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">

<script>
    initDropdownFilter('filial');

    function showModal(title, message) {
        const modal = new bootstrap.Modal(document.getElementById('exampleModal'));
        const modalTitle = document.querySelector('.modal-title');
        const modalBody = document.querySelector('.modal-body p');

        modalTitle.textContent = title;
        modalBody.textContent = message;

        modal.show();
    }

    function validarCampo(id) {
        let campo = document.getElementById(id);
        return campo.value.trim(); // Retorna o valor do campo após remover espaços em branco
    }

    function adicionarClasseErro(campo) {
        campo.classList.add('is-invalido');
    }

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

    function validarFormulario() {
        let DataInicial = validarCampo("DataInicial");
        let DataFinal = validarCampo("DataFinal");


        let DataInicialCampo = document.getElementById("DataInicial");
        let DataFinalCampo = document.getElementById("DataFinal");

        if (DataInicial === '' || DataFinal === '') {
            adicionarClasseErro(DataInicialCampo);
            adicionarClasseErro(DataFinalCampo);
            showModal('Informação', 'As datas de inicial e final são obrigatórias para realizar a consulta.');
            return false;
        }

        if (new Date(DataInicial) > new Date(DataFinal)) {
            adicionarClasseErro(DataInicialCampo);
            adicionarClasseErro(DataFinalCampo);
            showModal('Erro', 'A data inicial não pode ser maior que a data final.');
            return false;
        }

        if (!algumPreenchido) {
            showModal('Informação', 'Pelo menos um campo deve estar preenchido para realizar a consulta.');
            return false;
        }

        return true;
    }

    function verificarDatas() {
        let DataInicialCampo = document.getElementById("DataInicial");
        let DataFinalCampo = document.getElementById("DataFinal");
        let DataInicial = DataInicialCampo.value.trim();
        let DataFinal = DataFinalCampo.value.trim();

        if (DataInicial !== '' && DataFinal !== '') {
            removerClasseErro(DataInicialCampo);
            removerClasseErro(DataFinalCampo);

            if (new Date(DataInicial) > new Date(DataFinal)) {
                adicionarClasseErro(DataInicialCampo);
                adicionarClasseErro(DataFinalCampo);
                //showModal('Erro', 'A data inicial não pode ser maior que a data final.');
            }
        }
    }

    document.getElementById("DataInicial").addEventListener('input', function() {
        removerClasseErro(this);
        verificarDatas();
    });

    document.getElementById("DataFinal").addEventListener('input', function() {
        removerClasseErro(this);
        verificarDatas();
    });
    $(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": [
                // 'copyHtml5',
                'excelHtml5',
                'csvHtml5',
                // 'pdfHtml5'
            ],
            //"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
            }]
        });

        // setTimeout(function() {
        //     $("#datatable-buttons_filter").children("label").css("font-size", "15px");
        // }, 150);
        // setTimeout(function() {
        //     $("#datatable-buttons_length").children("label").css("font-size", "15px");
        // }, 150);
    });
</script>
<style>
    .is-invalido {
        box-shadow: 0 0 5px red !important;
    }
</style>
<script>
    $(document).ready(function() {
        $('.dt-button').on('click', function() {
            $(this).toggleClass('loading');
        });
    });
</script>


<!-- Bootstrap core JavaScript -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">



<script>
    //código usando jQuery
    $(document).ready(function() {
        $('.load').hide();
    });
</script>
<style>
    .dataTables_length label,
    .dataTables_info {
        margin: 0 !important;
        padding: 0 !important;
        align-items: center;
    }
</style>