<?php
require '../conexao/conexao.php';
//require '../sessao.php';
require '../configuacoes.php';
require '../conexao/acesso.php';
require '../configuracao/filtros.php';
require '../querys/query-filiais.php';
require '../configuracao/consulta_banco_dados.php';
require '../logs/gera-log.php';

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

// if (isset($_GET['status']) && $_GET['status'] === 'sucesso' && isset($_GET['acao']) && $_GET['acao'] === 'excluir') {
//     gerarLog(
//         4, // tipo de log (exclusão)
//         $basePath, // id do módulo
//         $_SESSION['CodUsuario'],
//         $_SESSION['NomeUsuario']
//     );
// }

// if (isset($_GET['status']) && $_GET['status'] === 'sucesso' && isset($_GET['acao']) && $_GET['acao'] === 'atualizar') {
//     gerarLog(
//         3, // tipo de log (atualização)
//         $basePath, // id do módulo
//         $_SESSION['CodUsuario'],
//         $_SESSION['NomeUsuario']
//     );
// }

// if (isset($_GET['status']) && $_GET['status'] === 'sucesso' && isset($_GET['acao']) && $_GET['acao'] === 'criar') {
//     gerarLog(
//         2, // tipo de log (atualização)
//         $basePath, // id do módulo
//         $_SESSION['CodUsuario'],
//         $_SESSION['NomeUsuario']
//     );
// }

// Instancia a classe de consulta_bb ao banco de dados
$consulta_bb = new ConsultaBancoDeDados();
$filiais = new Filiais($connectionmysql);
$filtros = new Filtros();

$etapas = $consulta_bb->get_etapaFirebird();
$cidades = $consulta_bb->get_cidades();
function getBadgeClass($percentage)
{
    if ($percentage <= 89) {
        return 'badge-danger';
    } elseif ($percentage >= 70 && $percentage <= 100) {
        return 'badge-warning';
    } elseif ($percentage > 90) {
        return 'badge-primary';
    } else {
        return 'badge-success';
    }
}


// $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;

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

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

    $sql_meta = "SELECT * FROM metas_etapas_pcp as m WHERE 1=1";

    if ($ano && $ano != "Selecione") {
        $sql_meta .= " AND m.ano = " . intval($ano);
    }
    if ($mes && $mes != "Selecione") {
        $sql_meta .= " AND m.mes = " . intval($mes);
    }
    if ($filial && $filial != "Todos") {
        $sql_meta .= " AND m.codigo_filial = " . intval($filial);
    }

    $resultmeta = $connectionmysql->query($sql_meta);

    if (!$resultmeta) {
        die('Erro na consulta MySQL: ' . $connectionmysql->error);
    }

    $result = [];
    while ($row = $resultmeta->fetch_assoc()) {
        $result[] = $row;
    }


    $dadosCombinados = [];
    foreach ($etapas as $etapa) {
        $encontrado = false;
        foreach ($result as $res) {
            if ($etapa['CODIGO_ETAPA'] == $res['id_etapa']) {
                $dadosCombinados[] = array_merge($etapa, $res);
                $encontrado = true;
                break;
            }
        }
        if (!$encontrado) {
            $dadosCombinados[] = array_merge($etapa, [
                'id_metas_etapas_pcp' => null,
                'ano' => null,
                'mes' => null,
                'meta' => null,
                'codigo_filial' => null,
                'id_etapa' => $etapa['CODIGO_ETAPA'],
            ]);
        }
    }
}

//var_dump($result[0]);
?>

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

<head>
    <link rel="stylesheet" href="modalexcluir.css">
</head>
<?php
$pageTitle = "Painel Gerencial de Metas Produção - Por Setor";
include('../geral/header.php');
?>

<body>
    <?php include('../geral/menu.php'); ?>
    <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 id="indexForm" method="get" action="" 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" onchange="validarCampo('cidade', this.value)">
                                        <option value="Todos" <?= !isset($cidade) || $cidade == "Todos" ? "selected" : ""; ?>>Selecione</option>
                                        <?php foreach ($cidadefiliais as $item) : ?>
                                            <option value="<?= $item['MUNIC']; ?>" <?= isset($cidade) && trim($cidade) == trim($item['MUNIC']) ? "selected" : ""; ?>>
                                                <?= $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'; ?>>Selecione</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->filtroAno($ano);
                                echo $filtros->filtroMes($mes);
                                ?>
                                <div class="col-12 col-md-8 col-lg-4 d-flex mt-2" style="align-items:center;justify-content: end;">
                                    <div>
                                        <a href="metas_etapas.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>

                        </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 - Por Setor </h6>
                        </div>
                        <table id="datatable-buttons" class="table table-striped table-bordered dt-responsive nowrap">
                            <thead class="thead-light">
                                <tr>
                                    <th scope="col-3">Etapa</th>
                                    <th scope="col">Ano</th>
                                    <th scope="col">Mês</th>
                                    <th scope='col'>Filial</th>
                                    <th scope="col">Meta</th>
                                    <th class="text-center">Ações</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php $hasResults = false; ?>
                                <?php foreach ($dadosCombinados as $dados) :
                                    $id_meta_pcp = $dados['id_metas_etapas_pcp'] ?>
                                    <tr>
                                        <td><?= htmlspecialchars($dados['NOME_ETAPA']) ?></td>
                                        <td><?= !empty($dados['ano']) ? htmlspecialchars($dados['ano']) : '-' ?></td>
                                        <td><?= !empty($dados['mes'])  ? htmlspecialchars($dados['mes']) : '-' ?></td>
                                        <td><?= !empty($dados['codigo_filial']) ? htmlspecialchars($dados['codigo_filial']) : '-' ?></td>
                                        <td><?= !empty($dados['meta'])  ? htmlspecialchars($dados['meta']) : '-' ?></td>
                                        <td class="text-center">
                                            <a href="formulario_alteracao_etapa.php?ano=<?php echo urlencode($ano); ?>&mes=<?php echo urlencode($mes); ?>&etapa=<?php echo urlencode($dados['CODIGO_ETAPA']); ?>&meta=<?php echo urlencode($dados['meta']); ?>&filial=<?php echo urlencode($filial); ?>&nome_etapa=<?php echo urlencode($dados['NOME_ETAPA']); ?>" class="table-actions link-view" title="Configurar Meta"><i class="mdi mdi mdi-content-save-edit"></i> </a>
                                            <button 
                                                data-id-pcp="<?php echo $id_meta_pcp; ?>" 
                                                data-ano="<?php echo $ano; ?>" 
                                                data-mes="<?php echo $mes; ?>" 
                                                data-cod-filial="<?php echo $filial; ?>" 
                                                data-cidade="<?php echo $cidade; ?>" 
                                                class="table-actions link-view excluir-btn" 
                                                title="Excluir Meta">
                                                <i class="mdi mdi mdi-delete-forever"></i>
                                            </button>

                                        </td>
                                    </tr>
                                    <?php $hasResults = true; ?>
                                <?php endforeach; ?>
                                <?php if (!$hasResults) : ?>
                                    <tr>
                                        <td colspan='5'>Nenhum registro encontrado para anteriores a hoje.</td>
                                    </tr>
                                <?php endif; ?>
                            </tbody>
                        </table>
                    </div>
                <?php } ?>
            </div>
        </div>
    </div>

    <!-- end wrapper -->


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

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

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

    <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 style="font-size:large" class="modal-title" id="modalTitle">Modal title</h5>
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">
                    <b>
                        <p style="font-size:large" id="modalBody">Modal body text goes here.</p>
                    </b>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-primary" data-dismiss="modal">Fechar</button>
                </div>
            </div>
        </div>
    </div>

    <!-- Vendor js -->
    <script src="../../assets/js/vendor.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>

    <!-- <div id="myModalMetaPCP" 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_meta.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="">

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

    <form id="formExclusaoMetaPCP" action="excluir_meta.php" method="post" style="display: none;">
        <input type="hidden" name="id_metas_pcp" id="del-id-pcp">
        <input type="hidden" name="anopcp" id="del-ano">
        <input type="hidden" name="mespcp" id="del-mes">
        <input type="hidden" name="filialpcp" id="del-filial">
        <input type="hidden" name="cidadepcp" id="del-cidade">
        <input type="hidden" name="confirmacao" value="sim">
    </form>

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

    <!-- Modal Helper Scripts -->
    <script src="/kpi/assets/js/modais.js"></script>
    <script src="../../assets/js/modal-helper.js"></script>

    <script>
        $(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
            });
            setTimeout(function() {
                $("#datatable-buttons_filter").children("label").css("font-size", "15px");
            }, 150);

            setTimeout(function() {
                $("#datatable-buttons_length").children("label").css("font-size", "15px");
            }, 150);

            $(document).on('click', '.excluir-btn', function(e) {
                e.preventDefault();

                // Captura os dados do botão clicado
                var btn = $(this);
                var id = btn.data('id-pcp');
                var ano = btn.data('ano');
                var mes = btn.data('mes');
                var filial = btn.data('cod-filial');
                var cidade = btn.data('cidade');

                ModalHelper.openConfirmationModal({
                    title: 'Confirmar Exclusão',
                    message: 'Tem certeza que deseja excluir a etapa? Esta ação não pode ser desfeita.',
                    confirmText: 'Sim, excluir',
                    cancelText: 'Cancelar',
                    onConfirm: () => {
                        // Preenche o formulário oculto
                        $('#del-id-pcp').val(id);
                        $('#del-ano').val(ano);
                        $('#del-mes').val(mes);
                        $('#del-filial').val(filial);
                        $('#del-cidade').val(cidade);

                        // Feedback e Envio
                        ModalHelper.showToast('Excluindo etapa...', '#3b82f6');
                        document.getElementById('formExclusaoMetaPCP').submit();
                    },
                    onCancel: () => {
                        ModalHelper.showToast('Exclusão cancelada', '#f97316');
                    }
                });
            });
        });

        function openModal(button) {
            // Recupere os atributos data-* do botão
            var idMetasPCP = button.getAttribute('data-id-pcp');
            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');

            // Defina os valores nos campos hidden do formulário
            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('myModalMetaPCP').style.display = 'block';
        }

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

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

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

            if (!valor || valor === 'Selecione' || valor === 'Todos') {
                campoValido = false;
            }

            if (!campoValido) {
                campo.classList.add('is-invalido');
            } else {
                campo.classList.remove('is-invalido');
            }

            return campoValido;
        }

        function validarFormulario() {
            // Lista de campos para validar
            const camposObrigatorios = ['mes', 'ano', 'filial', 'cidade'];
            let camposInvalidos = [];

            // Valida cada campo e armazena os IDs dos campos inválidos
            camposObrigatorios.forEach((id) => {
                const campoValido = validarCampo(id);
                if (!campoValido) {
                    camposInvalidos.push(id);
                }
            });

            if (camposInvalidos.length > 0) {
                showModal(
                    'exampleModal',
                    'Informação',
                    'Por favor, preencha todos os campos obrigatórios antes de continuar.'
                );
                return false;
            }

            return true;
        }
        console.log("Validando campo:", id, "Valor:", valor, "Válido:", campoValido);

        console.log(validarCampo('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 verificarErroNaURL() {
            const urlParams = new URLSearchParams(window.location.search);
            const errorMessage = urlParams.get('error');
            if (errorMessage) {
                showModal('exampleModal', 'Erro', errorMessage);
            }
        }

        window.onload = verificarErroNaURL;
    </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>


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

</html>