<?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';

$filtros = new Filtros();
$consulta_bb = new ConsultaBancoDeDados();

$produtos = $consulta_bb->get_produtos();
$medicos = $consulta_bb->get_medicos();

//Declarando null pro resultado do record, caso o usuário clique em pesquisar, ela será preenchida.
$resultmeta = null;
$total_records = 0; // Adicionando inicialização da variável

// Consulta SQL PERFIL
$sql_situacao = "SELECT id, situacao FROM situacao_falta";

// Executando a consulta
$result_situacao = $connectionmysql->query($sql_situacao);

// Verificando se a consulta foi bem-sucedida
if ($result_situacao) {
    $situacaoArray = array(); // Inicializa o array

    while ($row3 = $result_situacao->fetch_assoc()) {
        $situacaoArray[] = $row3; // Armazena cada linha com id e situacao
    }
} else {
    echo "Erro na execução da consulta: " . $connectionmysql->error;
}

$url = http_build_query([
    'codnome_produto' => $_GET['codnome_produto'] ?? null,
    'produto' => $_GET['produto'] ?? null,
    'fornecedor' => $_GET['fornecedor'] ?? null,
    'tipo' => $_GET['grupo'] ?? null,
    'situacaoSelecionado' => $_GET['situacao'] ?? null,
    'form_submitted' => isset($_GET['form_submitted']) ? $_GET['form_submitted'] : '',
]);
$codnome_produto = $_GET['codselecione_um_produto'] ?? null;
$prescritor = trim($_GET['codnome_do_prescritor'] ?? null);

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

    $records_per_page = 10;
    $current_page = $_GET['page'] ?? 1;
    $start_from = ($current_page - 1) * $records_per_page;
    $hasResults = false;


    // Obtendo os parâmetros
    if ($codnome_produto) {
        $codigo_produto = explode(' - ', $codnome_produto)[0];
        $produto = explode(' - ', $codnome_produto)[1];
    } else {
        $codigo_produto = null;
        $produto = null;
    }
    $tipo = $_GET['grupo'] ?? null;
    $fornecedor = $_GET['fornecedor'] ?? null;
    $situacaoSelecionado = $_GET['situacao'] ?? null;


    // Iniciando a construção do SQL BASE
    $sql_base = "SELECT pf.id_produtos_falta,pf.cod_produto,pf.nome_produto,st.situacao,pf.previsao,pf.previsao2,pf.observacao_gestao,pf.prescritor,
        pf.observacao, pf.data_cadastro,pf.data_exclusao,pf.tipo,pf.quarentena,c.nome_cidade,pf.fornecedor,data_criacao
        FROM kpi.produtos_falta as pf
        LEFT JOIN situacao_falta st ON st.id = pf.id_situacao
        LEFT JOIN cidade c ON c.id_cidade = pf.cidade
        WHERE 1=1 and pf.data_exclusao is null";

    // Adicionando condições conforme os parâmetros
    if (isset($codigo_produto) && trim($codigo_produto) !== "") {
        $codigo_produto = strtoupper($codigo_produto);
        $codigo_produto = $connectionmysql->real_escape_string($codigo_produto);
        $sql_base .= " AND pf.cod_produto IN ('$codigo_produto')";
    }

    // if (isset($produto) && trim($produto) !== "") {
    //     $produto = strtoupper($produto);
    //     $produto = $connectionmysql->real_escape_string($produto);
    //     $sql_base .= " AND UPPER(pf.nome_produto) LIKE '%$produto%'";
    // }

    if (isset($fornecedor) && trim($fornecedor) !== "") {
        $fornecedor = strtoupper($fornecedor);

        // Escapar a entrada do usuário para evitar injeção SQL
        $nome_seguro = $connectionmysql->real_escape_string($fornecedor);

        // Adicionar os caracteres de porcentagem para a busca com LIKE e concatenar com a consulta SQL
        $sql_base .= " AND (UPPER(pf.fornecedor) LIKE '%" . $nome_seguro . "%' OR UPPER(pf.fornecedor) LIKE '%" . $nome_seguro . "%')";
    }

    if (isset($prescritor) && trim($prescritor) !== "") {
        $prescritor = strtoupper($prescritor);

        // Escapar a entrada do usuário para evitar injeção SQL
        $nome_prescritor = $connectionmysql->real_escape_string($prescritor);

        // Adicionar os caracteres de porcentagem para a busca com LIKE e concatenar com a consulta SQL
        $sql_base .= " AND (UPPER(pf.prescritor) LIKE '%" . $nome_prescritor . "%' OR UPPER(pf.prescritor) LIKE '%" . $nome_prescritor . "%')";
    }

    if (isset($tipo) && $tipo !== "Todos") {
        $sql_base .= " AND pf.tipo = '$tipo'";
    }


    if (isset($situacaoSelecionado) && trim($situacaoSelecionado) !== "Todos") {
        $sql_base .= " AND st.situacao = '$situacaoSelecionado'";
    }



    // Consulta final com ordenação
    $sql_final = "{$sql_base} ORDER BY pf.nome_produto DESC";
    $resultmeta = $connectionmysql->query($sql_final);

    if (!$resultmeta) {
        die('Erro na execução da consulta: ' . $connectionmysql->error);
    }
}
?>

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

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- jQuery -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

    <!-- DataTables CSS -->
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.13.7/css/jquery.dataTables.min.css">
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.13.7/css/dataTables.bootstrap4.min.css">
    <link rel="stylesheet" href="modalexcluir.css">

    <!-- DataTables JS -->
    <script type="text/javascript" src="https://cdn.datatables.net/1.13.7/js/jquery.dataTables.min.js"></script>
    <script type="text/javascript" src="https://cdn.datatables.net/1.13.7/js/dataTables.bootstrap4.min.js"></script>

    <style>
        .dataTables_length label,
        .dataTables_filter label {
            font-size: 0.85rem !important;
        }

        .dataTables_length select,
        .dataTables_filter input {
            font-size: 0.85rem !important;
        }
    </style>

    <?php
    $pageTitle = "Produtos Faltantes";
    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">Produtos em Falta</h4>
                    </div>

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

                        <?php
                        echo '<a href="formulario_inclusao_alteracao_produto.php?id=0&' . (isset($url) ? $url : "") . '" class="btn btn-light" alt="Incluir Produto" title="Incluir Produto"><i class="mdi mdi-plus"></i> Gestão</a>';
                        ?>
                        <a href="formulario_inclusao_alteracao_produto_vendedor.php?id=0&<?= isset($url) ? $url : "" ?>" class="btn btn-light" alt="Incluir Produto" title="Incluir Produto"><i class="mdi mdi-plus"></i> Adicionar </a>


                    </div>

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

                    <div class="col-12">
                        <form id="meuFormulario" method="get" action="">
                            <div class="form-row mb-1">

                                <!-- <div class="form-group col-md-3">
                                    <label class="col-form-label" for="tipo">Tipo</label>
                                    <select id="tipo" name="tipo" class="form-control">
                                        <option value="Todos" <?php echo (!isset($tipo) || $tipo == "Todos") ? "selected" : ""; ?>>Todos</option>
                                        <option value="M" <?php echo (isset($tipo) && $tipo == "M") ? "selected" : ""; ?>>Matéria Prima</option>
                                        <option value="E" <?php echo (isset($tipo) && $tipo == "E") ? "selected" : ""; ?>>Embalagem</option>
                                    </select>
                                </div> -->

                                <div class="form-group col-md-2">
                                    <label class="col-form-label" for="grupo">Grupo</label>
                                    <select id="grupo" name="grupo" class="form-control" oninput="validarCampo('grupo', this.value)">
                                        <option value="Todos">Todos</option>
                                        <option value="1" <?php echo (isset($tipo) && $tipo == "1") ? "selected" : ""; ?>>Alopatia</option>
                                        <option value="2" <?php echo (isset($tipo) && $tipo == "2") ? "selected" : ""; ?>>Homeopatia</option>
                                        <option value="3" <?php echo (isset($tipo) && $tipo == "3") ? "selected" : ""; ?>>Revenda</option>
                                        <option value="4" <?php echo (isset($tipo) && $tipo == "4") ? "selected" : ""; ?>>Embalagem</option>
                                        <option value="9" <?php echo (isset($tipo) && $tipo == "9") ? "selected" : ""; ?>>Outros</option>
                                    </select>
                                </div>

                                <?php
                                echo $filtros->FiltroSearch('Selecione_um_Produto', $produtos, true, $codnome_produto);
                                echo $filtros->FiltroSearch('Nome_do_Prescritor', $medicos, false, $prescritor, false);
                                ?>


                                <div class="form-group col-md-2">
                                    <label class="col-form-label" for="fornecedor">Fornecedor</label>
                                    <p> <input type="text" name="fornecedor" id="fornecedor" class="form-control" placeholder="Informe o Fornecedor" value="<?php echo isset($fornecedor) ? htmlspecialchars($fornecedor) : ''; ?>"></p>
                                </div>



                                <div class="form-group col-md-2">
                                    <label class="col-form-label" for="tipo">Situação</label>
                                    <select id="situacao" name="situacao" class="form-control">
                                        <option value="Todos" <?php echo (!isset($situacaoSelecionado) || $situacaoSelecionado == "Todos") ? "selected" : ""; ?>>Todos</option>
                                        <?php foreach ($situacaoArray as $situacao) : ?>
                                            <option value="<?php echo $situacao['situacao']; ?>" <?php echo (isset($situacaoSelecionado) && $situacaoSelecionado == $situacao['situacao']) ? "selected" : ""; ?>>
                                                <?php echo $situacao['situacao']; ?>
                                            </option>
                                        <?php endforeach; ?>
                                    </select>
                                </div>
                                <!--CAMPO PARA INDICAR QUE CLICAMOS NO PESQUISAR -->
                                <input type="hidden" name="form_submitted" id="form_submitted" value="1" />

                                <div class="col-md-12 d-flex mt-2" 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>
                        </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>Lista de Produtos</h6>
                            <div>

                            </div>
                        </div>

                        <table id="datatable" class="table table-striped table-bordered dt-responsive nowrap">
                            <thead>
                                <tr class="text-center">
                                    <th>Tipo</th>
                                    <th>Código</th>
                                    <th>Produto</th>
                                    <th>Prescritor</th>
                                    <th>Observação</th>
                                    <th>Fornecedor</th>
                                    <th>Situação</th>
                                    <th>Cidade</th>
                                    <th>Previsão</th>
                                    <th>Data Criação</th>
                                    <th>Observação Gestão</th>
                                    <th>Ações</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php
                                if ($resultmeta && $resultmeta->num_rows > 0) {
                                    while ($row = $resultmeta->fetch_assoc()) {
                                        $id_produto = $row['id_produtos_falta']; ?>
                                        <tr>
                                            <td>
                                                <?php
                                                if ($row['tipo'] == 'M') {
                                                    echo 'Matéria Prima';
                                                } elseif ($row['tipo'] == 'D') {
                                                    echo 'Drogaria';
                                                } elseif ($row['tipo'] == 'R') {
                                                    echo 'Revenda';
                                                } elseif ($row['tipo'] == 'O') {
                                                    echo 'Outros';
                                                } elseif ($row['tipo'] == 'E') {
                                                    echo 'Embalagem';
                                                } elseif ($row['tipo'] == 'I') {
                                                    echo 'Inexistente';
                                                }
                                                ?>
                                            </td>
                                            <td><?php echo htmlspecialchars($row['cod_produto']); ?></td>
                                            <td>
                                                <?php
                                                if ($row['quarentena'] == 'S') {
                                                    echo '<span class="table-actions link-view" title="Produto em Quarentena"><i class="mdi mdi mdi-minus-circle"></i></span>';
                                                }
                                                echo htmlspecialchars($row['nome_produto']);
                                                ?>
                                            </td>
                                            <td><?php echo htmlspecialchars($row['prescritor']) ? htmlspecialchars($row['prescritor']) : '-'; ?></td>

                                            <td style="max-width: 200px; word-wrap: break-word; white-space: normal;">
                                                <?php echo htmlspecialchars($row['observacao']) ? htmlspecialchars($row['observacao']) : '-'; ?></td>
                                            <td><?php echo htmlspecialchars($row['fornecedor']) ? htmlspecialchars($row['fornecedor']) : '-'; ?></td>
                                            <td><?php echo htmlspecialchars($row['situacao']) ? htmlspecialchars($row['situacao']) : '-'; ?></td>
                                            <td><?php echo htmlspecialchars($row['nome_cidade']) ? htmlspecialchars($row['nome_cidade']) : '-'; ?></td>
                                            <?php
                                            $previsao = $row['previsao'];
                                            $previsao2 = $row['previsao2'];

                                            if (!empty($previsao) && !empty($previsao2) && $previsao !== $previsao2) {
                                                $data_formatada =   date('d', strtotime($previsao)) . " a " . date('d', strtotime($previsao2)) . " de " . date('m/Y', strtotime($previsao));
                                            } elseif (!empty($previsao)) {
                                                $data_formatada = date('d/m/Y', strtotime($previsao));
                                            } else {
                                                $data_formatada = '-';
                                            }
                                            ?>

                                            <td data-order="<?php echo $previsao; ?>"><?php echo $data_formatada; ?></td>
                                            <td data-order="<?php echo $row['data_criacao']; ?>"><?php echo ($row['data_criacao'] !== null ? date('d/m/Y', strtotime($row['data_criacao'])) : 'N/A'); ?></td>

                                            <td style="max-width: 200px; word-wrap: break-word; white-space: normal;">
                                                <?php echo htmlspecialchars($row['observacao_gestao']) ? htmlspecialchars($row['observacao_gestao']) : '-'; ?></td>
                                            <td>
                                                <a href="formulario_inclusao_alteracao_produto.php?id=1&id_produtos_falta=<?php echo $id_produto; ?>&<?php echo $url; ?>"
                                                    class="table-actions link-view" title="Alterar Produto Gestão"><i class="mdi mdi mdi-content-save-edit"></i></a>

                                                <a href="formulario_inclusao_alteracao_produto_vendedor.php?id=1&id_produtos_falta=<?php echo $id_produto; ?>&<?php echo $url; ?>"
                                                    class="table-actions link-view" title="Alterar Produto"><i class="mdi mdi mdi-pencil"></i></a>

                                                <button data-id-produto="<?php echo $id_produto; ?>"
                                                    data-url="<?php echo $url; ?>"
                                                    class="table-actions link-view excluir-btn" title="Excluir Produto" onclick="openModal(this)">
                                                    <i class="mdi mdi-delete-forever"></i>
                                                </button>
                                            </td>
                                        </tr>
                                <?php
                                    }
                                } else {
                                    echo "<tr><td colspan='9' class='text-center'>Sem resultado para a consulta</td></tr>";
                                }
                                ?>
                            </tbody>
                        </table>
                    </div>
            </div>
            <?php echo '<span class="table-actions link-view" title="Produto em Quarentena"><i class="mdi mdi mdi-minus-circle"></i>Produto em Quarentena</span>'; ?>

        <?php } //fechamento do IF que valida se o usuário clicou no botão pesquisar 
        ?>
        </div>
    </div>

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

    <!-- Código do modal -->

    <div id="myModal" class="modal">
        <div class="modal-content">
            <span class="close" onclick="closeModal()">&times;</span>
            <h2>Deseja realmente excluir o Produto selecionado?</h2>

            <!-- Formulário de confirmação -->
            <form id="formExclusao" method="post" action="excluir_produto.php">
                <!-- Campos ocultos -->
                <input type="hidden" id="id_produtos_faltaf" name="id_produtos_faltaf" value="">
                <input type="hidden" id="url" name="url" value="">

                <label class="col-form-label" for="confirmacao_sim">
                    <input type="radio" id="confirmacao_sim" name="confirmacao" value="sim"> Sim
                </label>

                <label class="col-form-label" for="confirmacao_nao">
                    <input type="radio" id="confirmacao_nao" name="confirmacao" value="nao"> Não
                </label>

                <br>

                <!-- Botão de confirmar exclusão -->
                <button type="button" class="confirmar-btn" onclick="confirmarExclusao()">Confirmar</button>
            </form>
        </div>
    </div>

    <!-- FINAL MODAL DE EXCLUIR -->

    <!-- end wrapper -->

    <!-- ============================================================== -->
    <!-- End Page content -->
    <!-- ============================================================== -->

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

    <?php
    include('../geral/mensagens_modais.php');

    ?>

    <script src="../../assets/js/vendor.min.js"></script>

    <!-- DataTables JavaScript -->
    <script src="../../assets/libs/datatables.net/js/jquery.dataTables.min.js"></script>
    <script src="../../assets/libs/datatables.net-bs4/js/dataTables.bootstrap4.min.js"></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>
    <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">
    <!-- App js -->
    <script src="../../assets/js/app.min.js"></script>
    <script src="../../assets/js/funcoes.js"></script>

    <script>
        initDropdownFilterSilmples('selecione_um_produto', 'grupo', false);
        initDropdownFilterSilmples('nome_do_prescritor', 'form_submitted', true);

        $(document).ready(function() {
            $('#datatable').DataTable({
                language: {
                    url: 'https://cdn.datatables.net/plug-ins/1.13.7/i18n/pt-BR.json'
                },
                order: [
                    [0, "asc"]
                ],
                pageLength: 10,
                lengthMenu: [
                    [10, 25, 50, -1],
                    [10, 25, 50, "Todos"]
                ],
                searching: true,
                ordering: true,
                paging: true,
                info: true,
                dom: 'Bfrtip', // Adiciona a seção de botões
                "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>>', // Adicionando "l" para incluir a opção de seleção de quantidade de registros por página
            });
        });


        function openModal(button) {
            // Obtenha os valores dos atributos data-*
            var idProduto = button.getAttribute('data-id-produto');
            var url = button.getAttribute('data-url');

            // Defina os valores nos campos hidden do formulário
            document.getElementById('id_produtos_faltaf').value = idProduto;
            document.getElementById('url').value = url;

            // Exibir o modal
            document.getElementById('myModal').style.display = 'block';
        }

        function closeModal() {
            document.getElementById('myModal').style.display = 'none';
        }

        function confirmarExclusao() {
            document.getElementById('formExclusao').submit();
        }
    </script>
    <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);
        });
    </script>

</body>

</html>