<?php
require '../conexao/conexao.php';
require '../conexao/acesso.php';
require '../configuacoes.php';
require './consulta_bd.php';

$ConsultaProdutosFalta = new ConsultaProdutosFalta();

if (isset($_GET['id']) && $_GET['id'] == '0') {
    $pageTitle = "Incluir Produto"; // Definir o título da página aqui
} else {
    $pageTitle = "Alterar Produto";
}

$situacaoSelecionadof = $_GET['situacaoSelecionado'] ?? null;
$fornecedorf = $_GET['fornecedor'] ?? null;
$tipof = $_GET['tipo'] ?? null;
$produtof = $_GET['produto'] ?? null;
$codigo_produtof = $_GET['codigo_produto'] ?? null;

//Declarado as variáveis que serão usadas para edição.
$produto = array(
    'id_produtos_falta' => '0',
    'cod_produto' => '',
    'nome_produto' => '',
    'situacao' => '',
    'previsao' => '',
    'observacao' => '',
    'tipo' => '',
    'cidade' => '',
    'fornecedor' => '',
    'quarentena' => '',
    // ... outros campos que você pode ter ...
);


$cidadefiliais = $ConsultaProdutosFalta->getCidadesFiliais();

// Consulta SQL Situacao
$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) {
    // Inicializando um array para armazenar os resultados
    $situacaoArray = array();

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

//Verificando se é alteração
if (isset($_GET['id']) && $_GET['id'] == '1') {


    $idProdutos = $_GET['id_produtos_falta'];

    // Preparando a declaração
    $stmt = $connectionmysql->prepare("SELECT pf.id_produtos_falta,pf.cod_produto,pf.nome_produto,pf.situacao,pf.previsao,
pf.observacao, pf.data_cadastro,pf.data_exclusao,pf.tipo,pf.quarentena,pf.cidade,pf.fornecedor
 FROM kpi.produtos_falta as pf
 WHERE pf.id_produtos_falta = ?");

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

        // Obtendo os resultados
        $result = $stmt->get_result();
        if ($result->num_rows > 0) {
            $produto = $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;
    }
}
?>

<!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>
                    </div>

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

                    <div class="col-12">
                        <form method="post" action="processa_cadastro_alteracao_produto.php" onsubmit="return validarFormulario();">
                            <div class="form-row mb-3">


                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="tipo" class="col-form-label">Tipo</label>
                                    <select id="tipo" name="tipo" class="form-control">
                                        <option value="" <?php echo (empty($produto['tipo'])) ? 'selected' : ''; ?>>Selecione</option>
                                        <option value="1" <?php echo (isset($produto['tipo']) && $produto['tipo'] == "1") ? "selected" : ""; ?>>Alopatia</option>
                                        <option value="2" <?php echo (isset($produto['tipo']) && $produto['tipo'] == "2") ? "selected" : ""; ?>>Homeopatia</option>
                                        <option value="3" <?php echo (isset($produto['tipo']) && $produto['tipo'] == "3") ? "selected" : ""; ?>>Revenda</option>
                                        <option value="4" <?php echo (isset($produto['tipo']) && $produto['tipo'] == "4") ? "selected" : ""; ?>>Embalagem</option>
                                        <option value="9" <?php echo (isset($produto['tipo']) && $produto['tipo'] == "9") ? "selected" : ""; ?>>Outros</option>

                                    </select>
                                </div>


                                <div class="form-group col-6 col-md-4 col-lg-2 pessoa-fisica">
                                    <label for="cod_produto" class="col-form-label">Código Produto</label>

                                    <p><input type="number" name="cod_produto" id="cod_produto" class="form-control" placeholder="Informe o Código do Produto" value="<?php echo htmlspecialchars($produto['cod_produto']); ?>"></p>
                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-2 pessoa-fisica">
                                    <label for="nome_produto" class="col-form-label">Produto</label>


                                    <p><input type="text" name="nome_produto" id="nome_produto" class="form-control" placeholder="Informe o Produto" value="<?php echo htmlspecialchars($produto['nome_produto']); ?>"></p>

                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-2 pessoa-fisica">
                                    <label for="situacao" class="col-form-label">Situação</label>

                                    <p>
                                        <select id="situacao" name="situacao" class="form-control">
                                            <option value="" <?php echo empty($produto['situacao']) ? 'selected' : ''; ?> disabled>Escolha uma Situação</option>

                                            <?php
                                            // Itera sobre os perfis disponíveis
                                            foreach ($situacaoArray as $situacao) {
                                                $selected = ($produto['situacao'] == $situacao['situacao']) ? 'selected' : '';
                                                echo '<option value="' . $situacao['situacao'] . '" ' . $selected . '>' . htmlspecialchars($situacao['situacao']) . '</option>';
                                            }
                                            ?>
                                        </select>
                                    </p>
                                </div>


                                <div class="form-group col-6 col-md-4 col-lg-2 pessoa-fisica">
                                    <label for="previsao" class="col-form-label">Previsão de Chegada</label>
                                    <p> <input class="form-control" id="previsao" type="date" name="previsao" value="<?php echo htmlspecialchars($produto['previsao']); ?>"></p>


                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-2 pessoa-juridica">
                                    <label for="observacao" class="col-form-label">Observação</label>
                                    <p> <input type="text" name="observacao" id="observacao" class="form-control" placeholder="Informe a Observação" value="<?php echo htmlspecialchars($produto['observacao']); ?>"></p>
                                </div>


                                <div class="form-group col-6 col-md-4 col-lg-2 pessoa-juridica">
                                    <label for="cidade" class="col-form-label">Cidade:</label>
                                    <select id="cidade" name="cidade" class="form-control">
                                        <option value="" <?php echo empty($produto['cidade']) ? 'selected' : ''; ?> disabled>Escolha uma Cidade</option>
                                        <?php foreach ($cidadefiliais as $item) : ?>
                                            <option value="<?php echo $item['MUNIC']; ?>" <?php echo (isset($produto['cidade']) && $produto['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 pessoa-juridica">
                                    <label for="fornecedor" class="col-form-label">Fornecedor</label>
                                    <p> <input type="text" name="fornecedor" id="fornecedor" class="form-control" placeholder="Informe o Fornecedor" value="<?php echo htmlspecialchars($produto['fornecedor']); ?>"></p>
                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-3">
                                    <label for="quarentena" class="col-form-label">Produto em Quarentena?</label>
                                    <select id="quarentena" name="quarentena" class="form-control">
                                        <option value="" <?php echo (empty($produto['quarentena'])) ? 'selected' : ''; ?>>Selecione</option>
                                        <option value="N" <?php echo ($produto['quarentena'] == 'N' || empty($produto['quarentena'])) ? 'selected' : ''; ?>>Não</option>
                                        <option value="S" <?php echo ($produto['quarentena'] == 'S') ? 'selected' : ''; ?>>Sim</option>
                                    </select>
                                </div>

                                <input type="hidden" name="id_produtos_falta" id="id_produtos_falta" value="<?php echo htmlspecialchars($produto['id_produtos_falta']); ?>">
                                <input type="hidden" name="situacaof" id="situacaof" value="<?php echo htmlspecialchars($situacaoSelecionadof); ?>">
                                <input type="hidden" name="fornecedorf" id="fornecedorf" value="<?php echo htmlspecialchars($fornecedorf); ?>">
                                <input type="hidden" name="tipof" id="tipof" value="<?php echo htmlspecialchars($tipof); ?>">
                                <input type="hidden" name="produtof" id="produtof" value="<?php echo htmlspecialchars($produtof); ?>">
                                <input type="hidden" name="codigo_produtof" id="codigo_produtof" value="<?php echo htmlspecialchars($codigo_produtof); ?>">

                                <div class="col-6 col-md-12 col-lg-5 mt-4 text-right">
                                    <a href="formulario_inclusao_alteracao_produto.php" class="btn btn-warning mr-2"><i class="mdi mdi-plus"></i> Limpar</a>
                                    <button type="submit" class="btn btn-primary"><i class="mdi mdi-magnify"></i> Salvar</button>
                                </div>
                        </form>
                    </div>
                </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>
        // Função para formatar o CPF
        function formatarCPF(cpf) {
            return cpf.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/, "$1.$2.$3-$4");
        }

        // Função para validar o CPF
        function validarCPF(cpf) {
            cpf = cpf.replace(/[^\d]+/g, '');
            if (cpf == '') return false;
            if (cpf.length != 11 ||
                cpf == "00000000000" ||
                cpf == "11111111111" ||
                cpf == "22222222222" ||
                cpf == "33333333333" ||
                cpf == "44444444444" ||
                cpf == "55555555555" ||
                cpf == "66666666666" ||
                cpf == "77777777777" ||
                cpf == "88888888888" ||
                cpf == "99999999999")
                return false;

            // Valida 1o digito
            add = 0;
            for (i = 0; i < 9; i++)
                add += parseInt(cpf.charAt(i)) * (10 - i);
            rev = 11 - (add % 11);
            if (rev == 10 || rev == 11)
                rev = 0;
            if (rev != parseInt(cpf.charAt(9)))
                return false;

            // Valida 2o digito
            add = 0;
            for (i = 0; i < 10; i++)
                add += parseInt(cpf.charAt(i)) * (11 - i);
            rev = 11 - (add % 11);
            if (rev == 10 || rev == 11)
                rev = 0;
            if (rev != parseInt(cpf.charAt(10)))
                return false;

            return true;
        }

        function validarCNPJ(cnpj) {
            cnpj = cnpj.replace(/[^\d]/g, '');

            if (cnpj === '' || cnpj.length !== 14) return false;

            // Lista de CNPJs inválidos
            const invalidos = [
                '00000000000000',
                '11111111111111',
                '22222222222222',
                '33333333333333',
                '44444444444444',
                '55555555555555',
                '66666666666666',
                '77777777777777',
                '88888888888888',
                '99999999999999'
            ];
            if (invalidos.includes(cnpj)) return false;

            // Validação do primeiro dígito
            let tamanho = cnpj.length - 2;
            let numeros = cnpj.substring(0, tamanho);
            let digitos = cnpj.substring(tamanho);
            let soma = 0;
            let pos = tamanho - 7;

            for (let i = tamanho; i >= 1; i--) {
                soma += numeros.charAt(tamanho - i) * pos--;
                if (pos < 2) pos = 9;
            }

            let resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0)) return false;

            // Validação do segundo dígito
            tamanho++;
            numeros = cnpj.substring(0, tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (let i = tamanho; i >= 1; i--) {
                soma += numeros.charAt(tamanho - i) * pos--;
                if (pos < 2) pos = 9;
            }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1)) return false;

            return true;
        }

        document.addEventListener("DOMContentLoaded", function() {

            const camposPessoaFisica = document.querySelectorAll(".pessoa-fisica");
            const camposPessoaJuridica = document.querySelectorAll(".pessoa-juridica");

            function atualizarCampos() {
                const tipoPessoa = document.getElementById("tipo_pessoa").value;

                if (tipoPessoa === "f") {
                    camposPessoaFisica.forEach(campo => campo.style.display = "block");
                    camposPessoaJuridica.forEach(campo => campo.style.display = "none");
                } else {
                    camposPessoaFisica.forEach(campo => campo.style.display = "none");
                    camposPessoaJuridica.forEach(campo => campo.style.display = "block");
                }
            }

            document.getElementById("tipo_pessoa").addEventListener("change", atualizarCampos);
            atualizarCampos();

            // Validação no envio do formulário
            const form = document.querySelector("form");

            form.addEventListener("submit", function(event) {
                const tipoPessoa = document.getElementById("tipo_pessoa").value;

                if (tipoPessoa === "f") {
                    const cpf = document.getElementById("cpf").value;
                    if (!validarCPF(cpf)) {
                        alert("CPF inválido!");
                        event.preventDefault();
                    }
                } else {
                    const cnpj = document.getElementById("cnpj").value;
                    if (!validarCNPJ(cnpj)) {
                        alert("CNPJ inválido!");
                        event.preventDefault();
                    }
                }
            });
        });




        function formatarCNPJ(cnpj) {
            return cnpj.replace(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/, "$1.$2.$3/$4-$5");
        }

        function validarFormulario() {
            // Validação dos campos obrigatórios do formulário de produtos
            let tipo = document.getElementById("tipo").value;
            let nome_produto = document.getElementById("nome_produto").value;
            let situacao = document.getElementById("situacao").value;
            let cidade = document.getElementById("cidade").value;
            let quarentena = document.getElementById("quarentena").value;

            if (!tipo) {
                alert("Selecione o tipo do produto!");
                return false;
            }

            if (!nome_produto.trim()) {
                alert("Informe o nome do produto!");
                return false;
            }

            if (!situacao) {
                alert("Selecione a situação do produto!");
                return false;
            }

            if (!cidade) {
                alert("Selecione a cidade!");
                return false;
            }

            if (!quarentena) {
                alert("Informe se o produto está em quarentena!");
                return false;
            }

            // Aqui o formulário está validado e você pode prosseguir com a submissão
            return true;
        }

        function goBack() {
            window.history.back();
        }
    </script>
</body>

</html>