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

// Instancia a classe de consulta_bb ao banco de dados
$consulta_bb = new ConsultaBancoDeDados();
$filtros = new Filtros();
$configuracoes = new Configuracoes();
$nome_para_vendedores = $configuracoes->get_nomeclatura_vendedor();
$nome_para_vendedor = $configuracoes->get_nomeclatura_vendedor(true);
$filiais = $consulta_bb->get_filiais();

$filialOrcamento = new FilialOrcamento($connection, $connectionmysql);


if (!isset($_GET['filial'])) {
    $filial = '';
} else {
    $filial = $_GET['filial'];
}
if (isset($_GET['pesquisar'])) {
    if (!isset($_GET['nomecliente'])) {
        $cliente = '';
    } else {
        $cliente = $_GET['nomecliente'];
    }

    if (!isset($_GET['dataEntrega'])) {
        $dataEntrega = date('Y-m-d');
    } else {
        $dataEntrega = $_GET['dataEntrega'];
    }

    if (!isset($_GET['orcamento'])) {
        $n_orcamento = '';
    } else {
        $n_orcamento = $_GET['orcamento'];
    }

    if (!isset($_GET['codigo_vendedor'])) {
        $cod_vendedor = '';
    } else {
        $cod_vendedor = $_GET['codigo_vendedor'];
    }

    $dataInicial = $_GET['data_inicial'] ?? null;
    $dataFinal = $_GET['data_final'] ?? null;

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

    $dadosOrcamento = $filialOrcamento->consultaOrcamentoIndex($filial, $cliente, $dataInicial, $dataFinal, $n_orcamento, $cod_vendedor);

    // Se $dadosOrcamento não está vazio, significa que há resultados
    $hasResults = !empty($dadosOrcamento);
}
?>

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

<script>
    function copiarLink(id) {
        // Seleciona o texto dentro do elemento span correspondente ao id
        var texto = document.getElementById("link-orcamento_" + id).innerText;

        // Cria um elemento input para armazenar o texto selecionado
        var input = document.createElement("input");
        input.value = texto;
        document.body.appendChild(input);

        // Seleciona o texto dentro do input criado
        input.select();
        input.setSelectionRange(0, 99999); // Para dispositivos móveis

        // Copia o texto selecionado
        document.execCommand("copy");

        // Remove o input criado
        document.body.removeChild(input);

        // Exibe o alerta com o link copiado
        alert("Link copiado: " + texto);
    }
</script>

<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">Orçamentos </h4>

                    </div>


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

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

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

                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label class="col-form-label">N° Orçamento</label>
                                    <input type="text" class="form-control" value="<?php echo $_GET['orcamento'] ?? ''; ?>" name="orcamento" placeholder="Busca por orçamento">
                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="" class="col-form-label">Cod. Vendedor</label>
                                    <input type="text" name="codigo_vendedor" class="form-control" value="<?php echo $_GET['codigo_vendedor'] ?? ''; ?>" placeholder="Busca por cod. vendedor" id="cod_vendedor">
                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="cliente" class="col-form-label">Cliente</label>
                                    <input type="text" class="form-control" id="nomecliente" name="nomecliente" placeholder="Nome Cliente" value="<?php echo isset($cliente) ? htmlspecialchars($cliente) : ''; ?>">
                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="" class="col-form-label">Data Inicial</label>
                                    <input type="date" required class="form-control" id="data_inicial" name="data_inicial" value="<?php echo $_GET['data_inicial']; ?>">
                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="" class="col-form-label">Data Final</label>
                                    <input type="date" required class="form-control" id="data_final" name="data_final" value="<?php echo $_GET['data_final']; ?>">
                                </div>

                                <div class="col-12 col-md-12 col-lg-12 d-flex mt-2" style="align-items:center;justify-content: end;">
                                    <div>
                                        <a href="link_orcamento.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>

                    <?php $totalValor = 0;
                    if (isset($_GET['pesquisar'])) { ?>
                        <?php
                        // Verifique se há dados no recordset
                        if (count($dadosOrcamento) > 0) {
                        ?>
                            <div class="row">
                                <div class="col-sm-12">
                                    <h6>Lista de Orçamentos</h6>
                                    <table width="100%" id="minhaTabela" class="table table-bordered table-hover table-sm dataTable no-footer">
                                        <thead class="thead-light">
                                            <tr>
                                                <th nowrap="nowrap">Filial</th>
                                                <th nowrap="nowrap">N° do orçamento</th>
                                                <th nowrap="nowrap">Cod Vendedor</th>
                                                <th nowrap="nowrap">Nome do paciente</th>
                                                <th nowrap="nowrap">Data de Entrada</th>
                                                <th nowrap="nowrap">Valor Final</th>
                                                <th nowrap="nowrap">Ações</th>
                                            </tr>
                                        </thead>

                                        <?php

                                        function getServerIpFromUrl($url)
                                        {
                                            // Parseia o URL e retorna seus componentes
                                            $parsedUrl = parse_url($url);

                                            // Verifica se há um host no URL
                                            if (isset($parsedUrl['host'])) {
                                                $host = $parsedUrl['host'];

                                                // Verifica se há uma porta e a inclui no retorno
                                                if (isset($parsedUrl['port'])) {
                                                    return $host . ':' . $parsedUrl['port'];
                                                }

                                                return $host; // Retorna apenas o host se não houver porta
                                            }

                                            return null; // Retorna null se não houver um host no URL
                                        }

                                        // Pega a URL completa da requisição
                                        $url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

                                        // Obtém o IP do servidor a partir da URL
                                        $serverIp = getServerIpFromUrl($url);

                                        //echo $serverIp;

                                        ?>


                                        <tbody>
                                            <?php $i = 0;
                                            foreach ($dadosOrcamento as $orcamento) {
                                                //$nomesFiliais = $filialOrcamento->consultaFilial($orcamento['codigo_filial'])[0];
                                                $i++;
                                                $valor_total = 0;
                                            ?>

                                                <tr>
                                                    <td><?php echo htmlspecialchars($orcamento['CODIGO_FILIAL']); ?></td>
                                                    <td><?php echo htmlspecialchars($orcamento['ORCAMENTO']); ?></td>
                                                    <td><?php echo htmlspecialchars($orcamento['CODIGO_VENDEDOR']); ?></td>
                                                    <td><?php echo htmlspecialchars($orcamento['NOMECLIENTE']); ?></td>
                                                    <td><?php echo formataData($orcamento['DATA_CADASTRO']); ?></td>
                                                    <td><?php echo 'R$ ' . number_format($orcamento['VALOR_ORCAMENTO'], 2, ',', '.'); ?></td>
                                                    <td>

                                                        <a href="link_cliente.php?data=<?php echo $orcamento['DATA_CADASTRO']; ?>&id=<?php echo $orcamento['ORCAMENTO'] ?>&cdfil=<?php echo $orcamento['CODIGO_FILIAL']; ?>" style="color: #1351b4;" title="Detalhar Orçamentos" class="table-actions link-view"> <i class="mdi mdi-account-details"></i></a>

                                                        <!-- Passa o valor de $i para a função copiarLink -->
                                                        <!-- <button class="btn btn-primary" onclick="copiarLink(<?php echo $i; ?>)"><span>Copiar Link</span></button>

                                                    <span id="link-orcamento_<?php echo $i; ?>" style="display: none;">
                                                        http://<?php echo $serverIp; ?>/KPI/pages/link_orcamento/link_cliente.php?data=<?php echo $orcamento['DTENTR']; ?>&id=<?php echo rand(10, 99) . $orcamento['CDFIL'] . rand(10, 99) . $orcamento['NRORC']; ?>
                                                    </span> -->

                                                    </td>
                                                </tr>



                                            <?php } ?>

                                        </tbody>
                                    </table>
                                </div>
                            </div>
                        <?php
                        } elseif (!$hasResults) {
                            echo "<div class='row'>
                            <div class='col-sm-12'>
                                <table width='100%' id='minhaTabela' class='table table-bordered table-hover table-sm dataTable no-footer'>
                                    <thead class='thead-light'>
                                        <tr>
                                            <th nowrap='nowrap'>Filial</th>
                                            <th nowrap='nowrap'>N° do orçamento</th>
                                            <th nowrap='nowrap'>Nome do paciente</th>
                                            <th nowrap='nowrap'>Data de Entrada</th>
                                            <th nowrap='nowrap'>Valor Final</th>
                                        </tr>
                                    </thead>


                                    <tbody>
                                        
                                            <tr><td colspan='5' class='text-center'>Sem resultado para a consulta</td></tr>



                                    </tbody>
                                </table>
                            </div>
                        </div>";
                        } ?>
                    <?php } ?>
                </div>

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

    <!-- end wrapper -->

    <!-- ============================================================== -->
    <!-- End Page content -->
    <!-- ============================================================== -->
    <!-- Footer Start -->
    <?php
    include('../geral/footer.php');
    ?>
    <!-- end Footer -->

    <?php
    include('../geral/mensagens_modais.php');
    ?>
    <!-- jQuery -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

    <!-- Outros scripts -->
    <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="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>
        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();
        });
    </script>
    <style>
        .is-invalido {
            box-shadow: 0 0 5px red !important;
        }
    </style>


    <script>
        $(document).ready(function() {
            var table = $('#minhaTabela').DataTable({
                language: {
                    url: "https://cdn.datatables.net/plug-ins/1.13.6/i18n/pt-BR.json"
                },
                lengthMenu: [
                    [10, 25, 50, 100, -1],
                    [10, 25, 50, 100, "Todos"]
                ],
                buttons: [
                    'excelHtml5',
                    //     'csvHtml5'
                ],
                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']
                ],
                columnDefs: [{
                    targets: 0,
                    orderable: true
                }],
            });
        });
    </script>
    <style>
        #minhaTabela_length label,
        #minhaTabela_info {
            margin: 0 !important;
            padding: 0 !important;
            align-items: center;
        }
    </style>
</body>

</html>