<?php
require '../../conexao/conexao.php';
require '../../configuacoes.php';
require '../../conexao/acesso.php';
require '../../logs/gera-log.php';

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

//Declarando null pro resultado do record, caso o usuário clique em pesquisar, ela será preenchida.
$resultmeta = null;

// Consulta SQL DEPARTAMENTO
$sql_departamento = "SELECT dp.id_departamento,dp.nome_departamento FROM departamentos as dp where situacao <> 'I'";

// Executando a consulta
$result_departamento = $connectionmysql->query($sql_departamento);

// Verificando se a consulta foi bem-sucedida
if ($result_departamento) {
    // Inicializando um array para armazenar os resultados
    $departamentoArray = array();

    // Fetching os resultados e armazenando no array
    while ($row3 = $result_departamento->fetch_assoc()) {
        $departamentoArray[] = $row3;
    }
} else {
    // Lidando com erros na execução da consulta
    echo "Erro na execução da consulta: " . $connectionmysql->error;
}

// Consulta SQL setor
$sql_setor =
    "SELECT st.id_setor,st.nome_setor FROM departamentos dp join setores st on st.id_departamento = dp.id_departamento where situacao <> 'I'";

// Executando a consulta
$result_setor = $connectionmysql->query($sql_setor);

// Verificando se a consulta foi bem-sucedida
if ($result_setor) {
    // Inicializando um array para armazenar os resultados
    $setorArray = array();

    // Fetching os resultados e armazenando no array
    while ($row4 = $result_setor->fetch_assoc()) {
        $setorArray[] = $row4;
    }
} else {
    // Lidando com erros na execução da consulta
    echo "Erro na execução da consulta: " . $connectionmysql->error;
}

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


    // Obtendo os parâmetros
    $codigo_fcerta = $_GET['codigo_fcerta'] ?? null;
    $setor = $_GET['setor'] ?? null;
    $departamento = $_GET['departamento'] ?? null;
    $nome = $_GET['nome'] ?? null;
    $situacao = $_GET['situacao'] ?? null;



    // Iniciando a construção do SQL BASE
    $sql_base = "SELECT f.id_funcionario,f.nome,f.cod_fcerta,d.nome_departamento,s.nome_setor,f.situacao,  COUNT(ml.id_lancamento) as qtd_erro from funcionarios as f 
    left join mapa_erros_lancados as  ml on f.id_funcionario = ml.id_funcionario
    inner join departamentos as d on f.id_departamento = d.id_departamento
    inner join setores as s on f.id_setor = s.id_setor where 1 = 1";

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

    if ($situacao) {
        $sql_base .= " AND f.situacao = '$situacao'";
    }

    if (isset($departamento) && trim($departamento) !== "Todos") {
        $sql_base .= " AND d.id_departamento = '$departamento'";
    }

    if (isset($setor) && trim($setor) !== "Todos") {
        $sql_base .= " AND s.id_setor = '$setor'";
    }

    if (isset($nome) && trim($nome) !== "") {
        $nome = strtoupper($nome);
        $nome = $connectionmysql->real_escape_string($nome);
        $sql_base .= " AND UPPER(f.nome) LIKE '%$nome%'";
    }
    $sql_base .= " GROUP BY f.nome,f.cod_fcerta,d.nome_departamento,s.nome_setor,f.id_funcionario";


    $resultmeta = $connectionmysql->query($sql_base);
}

//echo $total_records;
//echo $sql_final;


?>


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

<head>
    <link rel="stylesheet" href="modalexcluir.css">
</head>
<?php
$pageTitle = "Cadastro de Colaboradores"; // Definir o título da página aqui
include('../header.php');
include('../menu.php');
?>

<head>
    <link rel="icon" href="\KPI\pages/configuracoes/logo-sm.png">
    <link rel="shortcut icon" href="\KPI\pages/configuracoes/logo-sm.png">

</head>

<body>
    <!-- ============================================================== -->
    <!-- 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">Lista de Colaboradores</h4>
                    </div>

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

                        <a href="inclusao_alteracao_funcionario.php?id=0" class="btn btn-light" alt="Incluir Colaborador" title="Incluir Colaborador"><i class="mdi mdi-plus"></i> Adicionar Colaborador</a>


                    </div>

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

                    <div class="col-12">
                        <form method="get" action="">
                            <div class="form-row mb-3">

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

                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="codigo_fcerta" class="col-form-label">Código Pharmacie</label>
                                    <input type="number" class="form-control" id="codigo_fcerta" name="codigo_fcerta" placeholder="Informe o Código Pharmacie" value="<?php echo isset($codigo_fcerta) ? htmlspecialchars($codigo_fcerta) : ''; ?>">
                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="tipo" class="col-form-label">Departamento</label>
                                    <select id="departamento" name="departamento" class="form-control">
                                        <option value="Todos" <?php echo (!isset($departamento) || $departamento == "Todos") ? "selected" : ""; ?>>Todos</option>
                                        <?php foreach ($departamentoArray as $departamentos) : ?>
                                            <option value="<?php echo $departamentos['id_departamento']; ?>" <?php echo (isset($departamento) && $departamento == $departamentos['id_departamento']) ? "selected" : ""; ?>>
                                                <?php echo $departamentos['nome_departamento']; ?>
                                            </option>
                                        <?php endforeach; ?>
                                    </select>
                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="tipo" class="col-form-label">Setor</label>
                                    <select id="setor" name="setor" class="form-control">
                                        <option value="Todos" <?php echo (!isset($setor) || $setor == "Todos") ? "selected" : ""; ?>>Todos</option>
                                        <?php foreach ($setorArray as $meusetor) : ?>
                                            <option value="<?php echo $meusetor['id_setor']; ?>" <?php echo (isset($setor) && $setor == $meusetor['id_setor']) ? "selected" : ""; ?>>
                                                <?php echo $meusetor['nome_setor']; ?>
                                            </option>
                                        <?php endforeach; ?>
                                    </select>
                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="situacao" class="col-form-label">Situação</label>
                                    <select id="situacao" name="situacao" class="form-control">
                                        <option value="A">Ativo</option>
                                        <option value="I" <?php echo (isset($situacao) && $situacao == "I") ? "selected" : ""; ?>>Inativo</option>
                                    </select>
                                </div>
                                <!--CAMPO PARA INDICAR QUE CLICAMOS NO PESQUISAR -->
                                <input type="hidden" name="form_submitted" value="1" />
                                <div class="col-6 col-md-4 col-lg-12 d-flex mt-3 mt-lg-0" style="align-items:center;justify-content: end;">
                                    <div>
                                        <a href="funcionarios.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 Colaboradores </h6>
                        </div>

                        <table id="datatable-buttons" class="table table-striped table-bordered dt-responsive nowrap">
                            <thead>
                                <tr class="text-center">
                                    <th>Nome</th>
                                    <th>Código Pharmacie</th>
                                    <th>Departamento</th>
                                    <th>Setor</th>
                                    <th>Ações</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php
                                $hasResults = false;  // Inicializa como false

                                if ($resultmeta) {  // Verifica se $resultmeta é válido
                                    while ($row = $resultmeta->fetch_assoc()) {  // Usa $row em vez de $rowMeta para consistência
                                        $hasResults = true;  // Indica que encontrou ao menos um resultado
                                        $id_funcionario = $row['id_funcionario'];
                                ?>
                                        <tr class="text-center">
                                            <td><?php echo htmlspecialchars($row['nome']); ?></td>
                                            <td><?php echo htmlspecialchars($row['cod_fcerta']); ?></td>
                                            <td><?php echo htmlspecialchars($row['nome_departamento']); ?></td>
                                            <td><?php echo htmlspecialchars($row['nome_setor']); ?></td>

                                            <td>
                                                <div class="table-actions">
                                                    <div id="toggleButton-<?php echo $id_funcionario; ?>" class="toggle-button <?php echo $row['situacao'] == 'A' ? 'active' : ''; ?>" title="Ativo ou Inativo" onclick="toggleStatus(<?php echo $id_funcionario; ?>)">
                                                        <div class="toggle-knob"></div>
                                                    </div>
                                                    <a href="inclusao_alteracao_funcionario.php?id=1&id_funcionario=<?php echo $id_funcionario; ?>&nome=<?php echo urlencode($nome); ?>&codigo_fcerta=<?php echo urlencode($codigo_fcerta); ?>&departamento=<?php echo urlencode($departamento); ?>&setor=<?php echo urlencode($setor); ?>&situacao=<?php echo urlencode($situacao); ?>" class="table-actions link-view" title="Alterar Funcionário"><i class="mdi mdi mdi-account-edit"></i></a>

                                                </div>
                                            </td>
                                        </tr>
                                <?php
                                    }
                                }

                                if (!$hasResults) {
                                    echo "<tr><td colspan='7' class='text-center'>Sem resultado para a consulta</td></tr>";
                                }
                                ?>

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




    <!-- FINAL MODAL DE EXCLUIR -->

    <!-- end wrapper -->

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

    <?php
    include('../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="../../geral/javascript.js"></script>
    <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>
        $(document).ready(function() {
            var table = $('#datatable-buttons').DataTable({
                "language": {
                    "url": "https://cdn.datatables.net/plug-ins/1.10.21/i18n/Portuguese-Brasil.json"
                },
                "ordering": true,
                "responsive": true,
                "autoWidth": false,
                "lengthMenu": [
                    [10, 25, 50, 100, -1],
                    [10, 25, 50, 100, "Todos"]
                ],
                "dom": 'Bfrtip'
            });

            $('#datatable-buttons tbody').on('click', 'div.toggle-button', function() {
                var id_funcionario = $(this).data('id-funcionario');
                toggleStatus(id_funcionario);
            });
            setTimeout(function() {
                $("#datatable-buttons_filter").children("label").css("font-size", "15px");
            }, 20);
        });
        // Função para abrir o modal e definir os valores dos campos ocultos
        function openModal(id_funcionario) {
            document.getElementById('id_funcionario').value = id_funcionario;
            document.getElementById('myModal').style.display = 'block';
        }

        // Função para fechar o modal
        function closeModal() {
            document.getElementById('myModal').style.display = 'none';
        }

        // Função para confirmar a exclusão e enviar o formulário
        function confirmarExclusao() {
            // Verifica se a opção "Sim" está selecionada
            if (document.getElementById('confirmacao_sim').checked) {
                document.getElementById('formExclusao').submit();
            } else {
                closeModal();
            }
        }

        function toggleStatus(id_funcionario) {
            const toggleButton = document.getElementById('toggleButton-' + id_funcionario);
            toggleButton.classList.toggle('active');

            const newStatus = toggleButton.classList.contains('active') ? 'A' : 'I';

            // Chama o PHP para atualizar o status no banco de dados
            fetch('status_colaborador.php', {
                    method: 'POST',
                    headers: {
                        'Content-Type': 'application/json'
                    },
                    body: JSON.stringify({
                        id_funcionario: id_funcionario,
                        status: newStatus
                    })
                })
                .then(response => response.json())
                .then(data => {
                    console.log(data);
                })
                .catch(error => {
                    console.error('Error:', error);
                });
        }

        // // Fecha o modal se o usuário clicar fora da modal
        // window.onclick = function(event) {
        //     var modal = document.getElementById('myModal');
        //     if (event.target == modal) {
        //         closeModal();
        //     }
        // }
    </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>
        .table-actions {
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 5px;
        }

        .toggle-button {
            margin-right: 15px;
        }

        .toggle-button {
            width: 30px;
            height: 16px;
            background-color: grey;
            border-radius: 15px;
            position: relative;
            cursor: pointer;
            transition: background-color 0.3s;
        }

        .toggle-button.active {
            background-color: #d5a800;
        }

        .toggle-knob {
            width: 14px;
            height: 14px;
            background-color: white;
            border-radius: 50%;
            position: absolute;
            top: 1px;
            left: 1px;
            transition: left 0.3s;
        }

        .toggle-button.active .toggle-knob {
            left: 14px;
        }
    </style>

</body>

</html>