<?php
require '../conexao/conexao.php';
require '../sessao.php';
require '../configuacoes.php';
require '../configuracao/consulta_banco_dados.php';
require '../conexao/acesso.php';
require '../configuracao/filtros.php';
// Instancia a classe de consulta_bb ao banco de dados
$filtros = new Filtros();
$consulta_bb = new ConsultaBancoDeDados();
$funcionarios = $consulta_bb->get_funcionarios_mandareceita();

$etapaArray = $consulta_bb->get_etapaFirebird();

//var_dump($etapaArray);
$id_lancamento = '0';

//Declarado as variáveis que serão usadas para edição.
$produto = array(
    'id_funcionario' => '0',
    'erro' => '',
    'data_lancamento' => '',
    'obs_erro' => '',

);

$sql_erros = "SELECT id_erro, nome_erro, status 
FROM mapa_erros 
WHERE mapa_erros.status IS NULL or status = 'S'";
$result_erros = $connectionmysql->query($sql_erros);
$errosArray = [];
if ($result_erros) {
    while ($row = $result_erros->fetch_assoc()) {
        $errosArray[] = $row;
    }
}
//Verificando se é alteração


if (isset($_GET['id']) && $_GET['id'] == '1') {
    $idfuncionario = $_GET['id_funcionario'];

    $query_string = http_build_query([
        'codigo_fcerta' => $_GET['codigo_fcerta'] ?? null,
        'filial' => $_GET['filial'] ?? null,
        'departamento' => $_GET['departamento'] ?? null,
        'setor' => $_GET['setor'] ?? null,
        'nome' => $_GET['nome'] ?? null,
        'form_submitted' => '1'
    ]);
    // Preparando a declaração
    $stmt = $connectionmysql->prepare("SELECT f.id_funcionario, f.nome, f.cod_fcerta  as cod_fun FROM funcionarios f where f.id_funcionario = ?");

    if ($stmt) {
        // Vinculando parâmetros e executando a declaração
        $stmt->bind_param("i", $idfuncionario); // 'i' indica que é um inteiro
        $stmt->execute();

        // Obtendo os resultados
        $result = $stmt->get_result();
        if ($result->num_rows > 0) {
            $funcionario = $result->fetch_assoc(); //preenchendo as variáveis com o retorno da query

        } else {
            echo "Nenhuma pessoa encontrada com o ID especificado.";
        }

        $stmt->close();
    } else {
        echo "Erro ao preparar a declaração: " . $connectionmysql->error;
    }
} elseif (isset($_GET['id']) && $_GET['id'] == '2') {
    $id_lancamento = $_GET['id_lancamento'];


    $stmt = $connectionmysql->prepare("SELECT mel.*,f.nome,f.cod_fun FROM kpi.mapa_erros_lancados mel
    join kpi.funcionarios f on f.id_funcionario = mel.id_funcionario
    join kpi.mapa_erros me on me.id_erro = mel.id_erro where mel.id_lancamento = ?");

    if ($stmt) {
        // Vinculando parâmetros e executando a declaração
        $stmt->bind_param("i", $id_lancamento); // 'i' indica que é um inteiro
        $stmt->execute();

        // Obtendo os resultados
        $result = $stmt->get_result();
        if ($result->num_rows > 0) {
            $funcionario = $result->fetch_assoc(); //preenchendo as variáveis com o retorno da query
            $funcionario_nome = $funcionario['nome'];
        } else {
            echo "Nenhuma pessoa encontrada com o ID especificado.";
        }

        $stmt->close();
    } else {
        echo "Erro ao preparar a declaração: " . $connectionmysql->error;
    }
}

$funcionario['identificador'] = $funcionario['identificador'] ?? null;

if (isset($_GET['id']) && $_GET['id'] == '1') {
    $pageTitle = "Lançamento de Erro"; // Definir o título da página aqui
} else {
    $pageTitle = "Alterar erro do $funcionario_nome";
}
?>

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

include('../geral/header.php');
?>

<body>

    <!-- Navigation Bar-->
    <?php
    include('../geral/menu.php');
    ?>
    <!-- End Navigation Bar-->

    <!-- ============================================================== -->
    <!-- Start Page Content here -->
    <!-- ============================================================== -->

    <div class="wrapper">
        <div class="container-fluid">

            <div class="card-box mt-3">
                <div class="row">
                    <div class="col-6 text-left">
                        <h4 class="page-title"><?php echo $pageTitle ?></h4>
                    </div>

                    <div class="col-6 text-right">
                        <!-- <button onclick="goBack()" class="btn btn-light"><i class="mdi mdi-keyboard-backspace"></i> Voltar</button> -->
                        <a href="index.php?<?= $query_string ?>" class="btn btn-light">
                            <i class="mdi mdi-keyboard-backspace"></i> Voltar
                        </a>
                    </div>

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

                    <div class="col-12">
                        <form method="post" action="processa_erro.php" onsubmit="return validarFormulario();">
                            <div class="form-row mb-3">
                                <?= $filtros->FiltroSearch('identificador', $funcionarios, true, $funcionario['identificador'], false); ?>

                                <div class="form-group col-6 col-md-4 col-lg-3 pessoa-fisica">
                                    <label for="nome" class="col-form-label">Nome</label>
                                    <input type="text" readonly class="form-control" id="nome"
                                        value="<?php echo htmlspecialchars($funcionario['nome']); ?>">
                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-2 pessoa-fisica">
                                    <label for="cod_fun" class="col-form-label">Código</label>
                                    <span id="cod_fun" class="form-control">
                                        <?php echo htmlspecialchars($funcionario['cod_fun']);  ?>
                                    </span>
                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-2 pessoa-fisica">
                                    <label for="erro" class="col-form-label">Erro</label>
                                    <select name="erro" id="erro" class="form-control" onchange="validarCampo('erro')">
                                        <option value="" <?php echo empty($funcionario['id_erro']) ? 'selected' : ''; ?> disabled>Selecione</option>
                                        <?php
                                        foreach ($errosArray as $erro) {
                                            $selected = ($funcionario['id_erro'] == $erro['id_erro']) ? 'selected' : '';
                                            echo "<option value=\"{$erro['id_erro']}\" $selected>{$erro['nome_erro']}</option>";
                                        }
                                        ?>
                                    </select>
                                    <input type="hidden" name="id_erro" id="id_erro" value="<?php echo $funcionario['id_erro']; ?>">
                                </div>


                                <div class="form-group col-6 col-md-4 col-lg-2 pessoa-fisica">
                                    <label for="codigo_etapa" class="col-form-label">Etapa</label>
                                    <select name="codigo_etapa" id="codigo_etapa" class="form-control" onchange="validarCampo('codigo_etapa')">
                                        <option value="" <?php echo empty($funcionario['codigo_etapa']) ? 'selected' : ''; ?> disabled>Selecione</option>
                                        <?php
                                        foreach ($etapaArray as $etapa) {
                                            $selected = ($funcionario['CODIGO_ETAPA'] == $etapa['CODIGO_ETAPA']) ? 'selected' : '';
                                            echo "<option value=\"{$etapa['CODIGO_ETAPA']}\" $selected>{$etapa['NOME_ETAPA']}</option>";
                                        }
                                        ?>
                                    </select>

                                </div>

                                <div class="form-group col-md-4 pessoa-fisica">
                                    <label for="obs_erro" class="col-form-label">Observação</label>
                                    <textarea name="obs_erro" id="obs_erro" class="form-control" placeholder="Campo para Observação" rows="4"><?php echo !empty($funcionario['obs_erro']) ? htmlspecialchars($funcionario['obs_erro']) : ''; ?></textarea>
                                </div>

                                <input type="hidden" name="id_funcionario" id="id_funcionario" value="<?php echo htmlspecialchars($funcionario['id_funcionario']); ?>">
                                <input type="hidden" name="id_lancamento" id="id_lancamento" value="<?php echo $id_lancamento; ?>">

                                <div class="col-12 col-md-12 col-lg-8 mt-4 text-right">
                                    <button type="submit" class="btn btn-primary"><i class="mdi mdi-magnify"></i> Salvar</button>
                                </div>
                            </div>
                        </form>
                    </div>
                </div>
            </div>

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



    <!-- end wrapper -->

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

    <!-- Footer Start -->
    <?php
    include('../geral/footer.php');
    ?>
    <!-- end 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="../../assets/js/funcoes.js"></script>

    <select style="display: none;" id="filial" name="filial">
        <option value="," selected></option>
    </select>
    <script>
        initDropdownFilterSilmples('identificador', 'filial', false);

        document.getElementById('erro').addEventListener('change', function() {
            var selectedOption = this.options[this.selectedIndex];
            document.getElementById('id_erro').value = selectedOption.value;
        });

        function exibirMensagemErro(mensagem, id) {
            var existingError = document.querySelector('#' + id + ' ~ .error-message');
            if (existingError) {
                existingError.parentNode.removeChild(existingError);
            }
            var errorDiv = document.createElement('div');
            errorDiv.textContent = mensagem;
            errorDiv.classList.add('error-message');
            document.getElementById(id).parentNode.appendChild(errorDiv);
        }

        function removerMensagemErro(id) {
            var existingError = document.querySelector('#' + id + ' ~ .error-message');
            if (existingError) {
                existingError.parentNode.removeChild(existingError);
            }
        }

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

            if (!valor) {
                campoValido = false;
                campo.classList.add('is-invalid');
                exibirMensagemErro('Por favor, preencha este campo.', id);
            } else {
                campo.classList.remove('is-invalid');
                removerMensagemErro(id);
            }

            return campoValido;
        }

        function validarFormulario() {
            let erro = validarCampo("codigo_etapa");
            let codigo_etapa = validarCampo("erro");

            campoValido = erro && codigo_etapa;

            return campoValido
        }
    </script>

    <script>
        function goBack() {
            window.history.back();
        }
    </script>
    <style>
        .is-invalid {
            border: 1px solid red;
        }

        .error-message {
            color: red;
            font-size: 1em;
        }
    </style>
</body>

</html>