<?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';
require './consulta_bd.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();
$consulta_clientes = new ConsultasClientes();

$result = null; // Definindo $result como null

$filiais = $consulta_bb->get_filiais();



// Obtendo os parâmetros
$ids = array_column($filiais, 'ID');
array_unshift($ids, 'x');
$ids_filial = implode(',', $ids);
$filialselect = !empty($_GET['filial']) ? $_GET['filial'] : $ids_filial;
$filial = explode(',', $filialselect);
$orcamentos =  $_GET['orcamentos'] ?? null;

$filial = array_filter($filial, function ($item) {
    return $item !== 'x';
});
$filial = array_values($filial);
$filial = implode(',', $filial);

$minvalue = $_GET['minValue'] ?? null;
if (!empty($minvalue)) {
    $minvalue = intval($minvalue);
}
$maxvalue = $_GET['maxValue'] ?? null;
if (!empty($maxvalue)) {
    $maxvalue = intval($maxvalue);
}


if (isset($_GET['form_submitted'])) {

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

    $clientes_dados = $consulta_clientes->get_clientes_index($filial, $minvalue, $maxvalue, $orcamentos);
}
//var_dump($clientes_dados);
?>


<!DOCTYPE html>
<html lang="pt-br">
<?php
$pageTitle = "Dias sem Orçamentos";
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-12 text-left">
                        <h4 class="page-title mb-1">Clientes por Dias sem Orçamentos</h4>

                            <p class="text-muted mb-1 small">
                            Este relatório mostra há quantos dias os clientes não solicitam orçamentos.
                            Utilize os filtros para localizar clientes que orçaram recentemente ou clientes que estão há mais tempo sem solicitar novos orçamentos.
                            </p>
                         <div class="bg-light px-2 py-1 rounded small mb-2">
                        <strong>Exemplos:</strong>
                        0–30 dias = <b>recentes</b> |
                        31–90 dias = <b>em risco</b> |
                        90+ dias = <b>inativos</b>
                        </div>
                    </div>
                    </div>

                    <div class="col-12">
                      <hr class="mt-2 mb-2">
                    </div>

                    <div class="col-12">
                        <form method="get" action="" onsubmit="return validarFormulario();">
                            <div class="form-row mb-3">

                                <?php
                                echo $filtros->filtroCheckBox('Filial', $filiais);
                                ?>

                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="orcamentos" class="col-form-label">Considerar Orçamentos</label>
                                    <select name="orcamentos" id="orcamentos" class="form-control">
                                        <option value="Todos" <?php echo (isset($orcamentos) && $orcamentos == "Todos") ? "selected" : ""; ?>>Todos</option>
                                        <option value="1" <?php echo (isset($orcamentos) && $orcamentos == "1") ? "selected" : ""; ?>>Aprovados</option>
                                        <option value="0" <?php echo (isset($orcamentos) && $orcamentos == "0") ? "selected" : ""; ?>>Rejeitados</option>

                                    </select>
                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-3">
                                    <label for="minValue" class="col-form-label">Dias sem orçamento maior que:</label>
                                    <input min="1" type="number" id="minValue" name="minValue" placeholder="Exemplo: 0" class="form-control" value="<?php echo isset($minvalue) ? htmlspecialchars($minvalue) : ''; ?>">
                                </div>
                                <div class="form-group col-6 col-md-4 col-lg-3">
                                    <label for="maxValue" class="col-form-label">Dias sem orçamento menor que:</label>
                                    <input  min="1"type="number" id="maxValue" name="maxValue" placeholder="Exemplo: 100" class="form-control" value="<?php echo isset($maxvalue) ? htmlspecialchars($maxvalue) : ''; ?>">
                                </div>

                                <input type="hidden" name="form_submitted" value="1" />

                                <div class="col-12 col-md-8 col-lg-12 d-flex mt-2 " style="align-items:center;justify-content: end;">
                                    <div>
                                        <a href="index.php" class="btn btn-warning mr-1"><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>
                        </form>
                    </div>
                </div>
                <?php if (isset($_GET['form_submitted']) && $_GET['form_submitted'] == '1') { ?>
                    <div class="col-12">
                        <h6>Lista de Clientes</h6>
                        <div class="row">
                            <div class="col-12">
                                <div class="table-scroll-container">
                                    <table id="minhaTabela" class="table table-bordered table-hover table-sm" style="width:100%; text-align: center;">
                                        <thead class="thead-light">
                                            <tr>
                                                <th>Código</th>
                                                <th>Nome Cliente</th>
                                                <th>Dt. Último Orçamento</th>
                                                <th>Qtd Dias Sem Orçamento</th>
                                                <th>Telefone</th>
                                                <th>Celular</th>
                                                <th>E-mail</th>
                                            </tr>
                                        </thead>
                                        <div class="load"> <i class="fa fa-spinner fa-spin fa-5x fa-fw"></i><span class="sr-only">Loading...</span> </div>
                                        <tbody>
                                            <?php
                                            $hasResults = false;
                                            if (isset($clientes_dados)) {
                                                foreach ($clientes_dados as $row_cliente) {
                                                    //$row_cliente['NOME_CLIENTE'] =  mb_convert_encoding($row_cliente['NOME_CLIENTE'], 'UTF-8', 'ISO-8859-1');
                                                    $row_cliente['NOME_CLIENTE'] = $row_cliente['NOME_CLIENTE'];

                                                    $cdcli = $row_cliente['COD_CLIENTE'];
                                                    $NOME_CLIENTE = $row_cliente['NOME_CLIENTE'];
                                                    $hasResults = true; // Indica que encontrou ao menos um resultado
                                                    echo '<tr>';

                                                    //echo '<td>' . htmlspecialchars($row['CDPRO']) . ' </td>';
                                                    echo '<td><a href="#" class="open-modal-link" data-toggle="modal" data-target="#MyModal2" data-produto="' . htmlspecialchars($row_cliente['COD_CLIENTE']) . '">' . htmlspecialchars($row_cliente['COD_CLIENTE']) . '</a></td>';
                                                    echo '<th scope="row">' . ($row_cliente['NOME_CLIENTE']) . '</th>';
                                                    $date = new DateTime($row_cliente['DATA_ULTIMO_ORCAMENTO']);
                                                    $formattedDate = $date->format('d/m/Y');
                                                    echo '<td style="text-align: center;" data-order="' . $formattedDate . '">' . htmlspecialchars($formattedDate) . '</td>';
                                                    echo '<td style="text-align: center;">' . ($row_cliente['DIAS_SEM_ORCAMENTO'] ?? '-') . '</td>';
                                                    echo '<td style="text-align: left;">' . ($row_cliente['TEL'] ?? '-') . '</td>';
                                                    echo '<td style="text-align: left;">' . ($row_cliente['TELEFONE2'] ?? '-') . '</td>';
                                                    echo '<td>' . ($row_cliente['EMAIL1'] ?? '-') . '</td>';
                                                    echo '</tr>';
                                                }
                                            }
                                            if (!$hasResults) {
                                                echo "<tr><td colspan='9' class='text-center'>Sem resultado para a consulta</td></tr>";
                                            }
                                            ?>
                                        </tbody>
                                    </table>
                                </div>
                            </div>
                        </div>
                    <?php } ?>
                    </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="../../assets/js/funcoes.js"></script>

</body>

</html>

<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>
    initDropdownFilter('filial');

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

    function validarCampo(id) {
        const campo = document.getElementById(id);
        const valor = campo.value.trim();
        let campoValido = true;

        if (!valor || valor === 'Selecione' || valor === 'Todos') {
            campoValido = false;
            campo.classList.add('is-invalido');
        } else {
            campo.classList.remove('is-invalido');
        }
        return campoValido;
    }


    function validarFormulario() {
        //   const funcionarioValido = validarCampo('funcionario');
        let camposValidos = true;

        // // if (!funcionarioValido) {
        // const mesesValido = validarCampo('meses');


        // camposValidos = mesesValido;
        // //  }

        // if (!camposValidos) {
        //     showModal('exampleModal', 'Informação', 'O campo Meses de Cálculo deve estar preenchido  para realizar a consulta.');
        // }

        return camposValidos;
    }


    function verificarErroNaURL() {
        const urlParams = new URLSearchParams(window.location.search);
        const errorMessage = urlParams.get('error');
        if (errorMessage) {
            showModal('exampleModal', 'Erro', errorMessage);
        }
    }

    window.onload = verificarErroNaURL;
</script>


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

<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>
    $(document).ready(function() {
        var table = $('#minhaTabela').DataTable({
            "language": {
                "url": "https://cdn.datatables.net/plug-ins/1.10.21/i18n/Portuguese-Brasil.json"
            },
            "ordering": [2],
            "responsive": true,
            "lengthMenu": [
                [10, 25, 50, 100, -1],
                [10, 25, 50, 100, "Todos"]
            ],
            buttons: ['excelHtml5', 'csvHtml5'],
            dom: '<"top"Bf><"datatable-scroll"t><"bottom d-flex justify-content-between align-items-center"lip><"clear">'
        });

        // function normalizeNumber(str) {
        //     if (!str) return NaN;

        //     // tira espaços
        //     str = str.trim();

        //     // se tiver vírgula, troca a última vírgula por um marcador temporário
        //     str = str.replace(/,([^,]*)$/, '#$1');

        //     // se não tinha vírgula mas tinha ponto, troca o último ponto
        //     str = str.replace(/\.(\d+)$/, '#$1');

        //     // remove todos os pontos restantes (milhares)
        //     str = str.replace(/\./g, '');

        //     // agora troca o marcador '#' por ponto (decimal)
        //     str = str.replace('#', '.');

        //     return parseFloat(str);
        // }

        // $.fn.dataTable.ext.search.push(function(settings, data, dataIndex) {
        //     var minValue = normalizeNumber($('#minValue').val());
        //     var maxValue = normalizeNumber($('#maxValue').val());
        //     var value = normalizeNumber(data[3]) || 0;

        //     if (isNaN(minValue) && isNaN(maxValue)) {
        //         return true;
        //     }
        //     if (!isNaN(minValue) && value < minValue) {
        //         return false;
        //     }
        //     if (!isNaN(maxValue) && value > maxValue) {
        //         return false;
        //     }
        //     return true;
        // });

        // $('#minValue, #maxValue').on('input', function() {
        //     table.draw();
        // });


    });
</script>
<style>
    #minhaTabela_length label,
    #minhaTabela_info {
        margin: 0 !important;
        padding: 0 !important;
        align-items: center;
    }
</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>
    .is-invalido {
        box-shadow: 0 0 5px red !important;
    }

    thead {
        position: sticky;
        top: 45px;
        z-index: 6;
        background-color: #f8f9fa;
    }
</style>