<?php
require '../conexao/conexao.php';
//require '../sessao.php';
require '../conexao/acesso.php';
require '../configuacoes.php';
require '../configuracao/filtros.php';
require '../querys/query-filiais.php';
require '../configuracao/consulta_banco_dados.php';
require 'consulta_bd.php';
require '../logs/gera-log.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();
$consultapcp = new ConsultasMetasPCP();
$filiais = new Filiais($connectionmysql);
$filtros = new Filtros();

$etapas = $consulta_bb->get_etapaFirebird();
$departamentos = $consulta_bb->get_departamentos();
$representantes = $consulta_bb->get_vendedores();

$cidades = $consulta_bb->get_cidades();
//var_dump($departamentos);
$encontroualgumregistro = false;
// $query_cidade_filial = "select
//         DISTINCT
//         EP.codigo_cidadeestado ,
//         CE.NOMECIDADE as MUNIC
//         from EMPRESA EP
//         INNER JOIN CADASTRO_ENDERECO CA ON CA.codigo_cadastro = EP.codigo
//         inner join CIDADEESTADO CE on CA.codigo_cidadeestado = CE.CODIGO
//         where CA.tipo_cadastro = 5
//         order by EP.CODIGO";
// $result_cidade_filial = ibase_query($connection, $query_cidade_filial);
// if (!$result_cidade_filial) {
//     die('Erro na consulta: ' . ibase_errmsg());
// }
// $cidadefiliais = [];
// while ($row = ibase_fetch_assoc($result_cidade_filial)) {
//     $cidadefiliais[] = $row;
// }


$cidade = $_GET['cidade'] ?? null;
$ano = $_GET['ano'] ?? null;
$mes = $_GET['mes'] ?? null;
$filial = $_GET['filial'] ?? null;
$etapa = $_GET['etapa'] ?? null;
$cliente = $_GET['cliente'] ?? null;
$departamento = $_GET['departamento'] ?? null;
$nome_etapa = null;

$codfuncionario = $_GET['codfuncionario'] ?? null;
if (!empty($codfuncionario)) {
    $funcionario = explode(' - ', $codfuncionario)[0];
    $nome_funcionario = explode(' - ', $codfuncionario)[1];
} else {
    $funcionario = null;
}

foreach ($etapas as $item) {
    if ($item['CODIGO_ETAPA'] == $etapa) {
        $nome_etapa = $item['NOME_ETAPA'];
        break;
    }
}

$url = http_build_query([
    'cidade' => $cidade,
    'filial' => $filial,
    'ano' => $ano,
    'mes' => $mes,
    'etapa' => $etapa,
    'cliente' => $cliente,
    'pesquisar' => isset($_GET['pesquisar']) ? $_GET['pesquisar'] : '',
]);

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

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

    $metas = $consultapcp->get_meta($ano, $mes, $etapa);
    $adicoes = $consultapcp->get_adicao($ano, $mes, $etapa);
    $funcionarios = $consultapcp->get_funcionarios($funcionario, $departamento, $cliente);
}
?>

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


<head>
    <link rel="stylesheet" href="modalexcluir.css">
</head>

<?php
$pageTitle = "Painel Gerencial de Metas Produção"; // 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">
                        <hr>
                    </div>

                    <div class="col-12">
                        <form method="get" action="index.php" id="indexForm" onsubmit="return validarFormulario();">
                            <div class="form-row mb-3">
                                <?php echo $filtros->filtroCidade($cidade, $cidades, false, '', true, false); ?>
                                <!-- <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="cidade" class="col-form-label">Cidade</label>
                                    <select id="cidade" name="cidade" class="form-control" oninput="validarCampo('cidade',this.value)">
                                        <option value="Todos" <?php echo (!isset($cidade) || $cidade == "Todos") ? "selected" : ""; ?>>Selecione</option>
                                        <?php foreach ($cidadefiliais as $item) : ?>
                                            <option value="<?php echo $item['MUNIC']; ?>" <?php echo (isset($cidade) && $cidade == $item['MUNIC']) ? "selected" : ""; ?>>
                                                <?php echo $item['MUNIC']; ?>
                                            </option>
                                        <?php endforeach; ?>
                                    </select>
                                </div> -->

                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label class="col-form-label">Filiais</label>
                                    <select name="filial" id="filial" class="form-control" onchange="validarCampo('filial')">
                                        <option value="Todos" <?php if ($filial == 'Todos') echo 'selected'; ?>>Todos</option>
                                        <?php
                                        $listagemFiliais = $filiais->listarFiliais();
                                        foreach ($listagemFiliais as $itens) { ?>
                                            <option value="<?php echo $itens['id']; ?>" <?php if ($itens['id'] == $filial) {
                                                                                            echo 'selected';
                                                                                        } ?>>
                                                <?php echo $itens['nome_filial']; ?>
                                            </option>
                                        <?php } ?>
                                    </select>
                                </div>
                                <?php
                                echo $filtros->filtroEtapa($etapa, $etapas, false, false, 'produtividade.php'); ?>


                                <?php echo $filtros->filtroAno($ano);
                                echo $filtros->filtroMes($mes);
                                echo $filtros->FiltroSearch('Funcionário', $representantes, true, $codfuncionario, false);

                                ?>

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

                                <?php echo $filtros->filtroCheckBox('departamento', $departamentos, false, false); ?>

                                <div class="col-6 col-md-8 col-lg-10 d-flex " 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 name="pesquisar" class="btn btn-primary" type="submit">Pesquisar</button>
                                    </div>
                                </div>

                            </div>
                        </form>
                    </div>
                </div>
                <?php if (isset($_GET['pesquisar'])) { ?>
                    <div class="col-12">
                        <div class="col-12 text-center mb-4">
                            <!-- <a href="<?php ?>" class="badge badge-pill badge-secondary mb-4" style="font-size:1.5rem;">Rio Verde</a> -->
                            <h6>Gestão Metas Produção</h6>
                        </div>
                        <table id="datatable-buttons" class="table table-striped table-bordered dt-responsive nowrap">
                            <thead class="thead-light">
                                <tr>
                                    <th scope="col">Código Funcionário</th>
                                    <th scope="col">Funcionário</th>
                                    <th scope="col">Etapa</th>
                                    <th scope="col">Adição</th>
                                    <th scope="col">Meta</th>
                                    <th>Ações</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php
                                $hasResults = false;
                                if (!empty($funcionarios)) {
                                    foreach ($funcionarios as $row) {
                                        // foreach ($row as $key => $value) {
                                        //   $row['NOMEFUNCIONARIO'] = mb_convert_encoding($row['NOMEFUNCIONARIO'], 'UTF-8', 'ISO-8859-1');
                                        // }
                                        $hasResults = true; ?>
                                        <tr>
                                            <td><?= htmlspecialchars($row['CODIGO']) ?></td>
                                            <td><?= htmlspecialchars($row['NOMEFUNCIONARIO']) ?></td>
                                            <td><?= htmlspecialchars($nome_etapa) ?></td>
                                            <td>
                                                <?php
                                                $adicaoEncontrada = 0;
                                                foreach ($adicoes as $adicao) {
                                                    if ($adicao['codigo_fun'] == $row['CODIGO']) {
                                                        $adicaoEncontrada = $adicao['adicao'];
                                                        break;
                                                    }
                                                }
                                                echo htmlspecialchars($adicaoEncontrada);
                                                ?>
                                            </td>
                                            <td>
                                                <?php
                                                $metaEncontrada = 0;
                                                foreach ($metas as $meta) {
                                                    if ($meta['codigo_fun'] == $row['CODIGO']) {
                                                        $metaEncontrada = $meta['meta'];
                                                        break;
                                                    }
                                                }
                                                echo htmlspecialchars($metaEncontrada);
                                                ?>
                                            </td>
                                            <td>
                                                <a href="detalhe_pcp.php?<?php echo $url; ?>&id_funcionario=<?php echo $row['CODIGO']; ?>&nome_etapa=<?php echo $nome_etapa; ?>" class="table-actions link-view" title="Detalhes Meta"><i class="mdi mdi-account-details"></i></a>
                                                <a href="formulario_alteracao.php?<?php echo $url; ?>&id=2&id_funcionario=<?php echo $row['CODIGO']; ?>&nome_etapa=<?php echo $nome_etapa; ?>" class="table-actions link-view" title="Lançar Meta"><i class="mdi mdi-pencil"></i></a>
                                            </td>
                                        </tr>
                                <?php }
                                }
                                if (!$hasResults) {
                                    // Código para lidar com o caso de não haver resultados
                                    echo "<tr><td colspan='8'>Nenhum registro encontrado para anteriores a hoje.</td></tr>";
                                }
                                ?>
                            </tbody>
                        </table>
                    </div>
                <?php } ?>
            </div>
        </div>
        <!-- ============================================================== -->
        <!-- End Page content -->
        <!-- ============================================================== -->

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

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


        <!-- Right bar overlay-->
        <div class="rightbar-overlay"></div>

        <!-- Vendor js -->
        <script src="../../assets/js/vendor.min.js"></script>
        <!-- <script src="../../assets/libs/jquery/jquery.min.js"></script>
            <script src="../../assets/libs/bootstrap/js/bootstrap.bundle.min.js"></script>
 -->

        <!-- Init js-->
        <script src="../../assets/js/pages/form-advanced.init.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="../geral/javascript.js"></script>
        <script src="../../assets/js/funcoes.js"></script>

        <div id="myModalAdicaoPCP" class="modal">
            <div class="modal-content">
                <span class="close" onclick="closeModal()">&times;</span>
                <h2>Deseja realmente excluir a Meta selecionada?</h2>

                <!-- Formulário de confirmação -->

                <form id="formExclusao" method="post" action="excluir_adicao.php">
                    <input type="hidden" id="id_metas_pcp" name="id_metas_pcp" value="">
                    <input type="hidden" id="anopcp" name="anopcp" value="">
                    <input type="hidden" id="mespcp" name="mespcp" value="">
                    <input type="hidden" id="filialpcp" name="filialpcp" value="">
                    <input type="hidden" id="cidadepcp" name="cidadepcp" value="">
                    <input type="hidden" id="etapapcp" name="etapapcp" value="">
                    <input type="hidden" id="funcionariopcp" name="funcionariopcp" value="">


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

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

                    <br>

                    <button type="button" class="confirmar-btn" onclick="confirmarExclusao()">Confirmar</button>
                </form>
            </div>
        </div>

        <script>
            initDropdownFilterSilmples('funcionario', 'filial', false);

            function openModal(button) {
                var idMetasPCP = button.getAttribute('data-id-pcp-add');
                var ano = button.getAttribute('data-ano');
                var mes = button.getAttribute('data-mes');
                var filial = button.getAttribute('data-cod-filial');
                var cidade = button.getAttribute('data-cidade');
                var etapa = button.getAttribute('data-etapa');
                var fun = button.getAttribute('data-fun');


                document.getElementById('id_metas_pcp').value = idMetasPCP;
                document.getElementById('anopcp').value = ano;
                document.getElementById('mespcp').value = mes;
                document.getElementById('filialpcp').value = filial;
                document.getElementById('cidadepcp').value = cidade;
                document.getElementById('etapapcp').value = etapa;
                document.getElementById('funcionariopcp').value = fun;

                document.getElementById('myModalAdicaoPCP').style.display = 'block';
            }

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

            function confirmarExclusao() {
                document.getElementById('formExclusao').submit();
                closeModal();
            }

            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 mesValido = validarCampo('mes');
                const anoValido = validarCampo('ano');
                const filialValida = validarCampo('filial');
                const etapaValida = validarCampo('etapa');
                const cidade = validarCampo('cidade');

                camposValidos = mesValido && anoValido && filialValida && etapaValida && cidade;
                //  }

                if (!camposValidos) {
                    showModal('exampleModal', 'Informação', 'Por favor, selecione todos os campos obrigatórios para 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>

</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('departamento', false);

    $(document).ready(function() {
        var table = $('#datatable-buttons').DataTable({
            "language": {
                "url": "https://cdn.datatables.net/plug-ins/1.10.21/i18n/Portuguese-Brasil.json"
            },
            "ordering": false,
            "responsive": true,
            "autoWidth": true,
            "lengthMenu": [
                [10, 25, 50, 100, -1],
                [10, 25, 50, 100, "Todos"]
            ],
            "dom": 'tp'
            //Bfrtip
        });

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


<!-- Scripts -->

<!-- jQuery -->
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<!-- DataTables JS -->
<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>