From 9c573b79b8c0de4ed40154ab7f2dda47c434abdd Mon Sep 17 00:00:00 2001 From: GabrielPintoSouza Date: Fri, 12 Jul 2024 07:25:30 -0300 Subject: [PATCH 01/10] =?UTF-8?q?Resolu=C3=A7=C3=A3o=20da=20issue=20#633?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- testes/servidor/testeCPF.php | 23 ----------------------- testes/servidor/testeDatasFuncionario.php | 10 ---------- 2 files changed, 33 deletions(-) delete mode 100644 testes/servidor/testeCPF.php delete mode 100644 testes/servidor/testeDatasFuncionario.php diff --git a/testes/servidor/testeCPF.php b/testes/servidor/testeCPF.php deleted file mode 100644 index cb97c050..00000000 --- a/testes/servidor/testeCPF.php +++ /dev/null @@ -1,23 +0,0 @@ -validarCPF($cpf) ? "Válido" : "Inválido") . "\n"; - } -} - -loopTeste($validador, $cpfsValidos, "Testando CPF's válidos"); -loopTeste($validador, $cpfsInvalidos, "Testando CPF's inválidos"); diff --git a/testes/servidor/testeDatasFuncionario.php b/testes/servidor/testeDatasFuncionario.php deleted file mode 100644 index 176a0ae8..00000000 --- a/testes/servidor/testeDatasFuncionario.php +++ /dev/null @@ -1,10 +0,0 @@ - Date: Fri, 12 Jul 2024 07:53:50 -0300 Subject: [PATCH 02/10] =?UTF-8?q?Resolu=C3=A7=C3=A3o=20da=20issue=20#631?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/socio/sistema/controller/import_modais.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/socio/sistema/controller/import_modais.php b/html/socio/sistema/controller/import_modais.php index c0f0d808..de1ce2e3 100755 --- a/html/socio/sistema/controller/import_modais.php +++ b/html/socio/sistema/controller/import_modais.php @@ -227,7 +227,7 @@ Date: Fri, 12 Jul 2024 08:24:32 -0300 Subject: [PATCH 03/10] =?UTF-8?q?Resolu=C3=A7=C3=A3o=20da=20issue=20#637?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BD/wegia001.sql | 2 +- html/saude/aplicacao_upload.php | 2 +- html/saude/aplicar_medicamento.php | 10 +++++----- html/saude/profile_paciente.php | 10 +++++----- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/BD/wegia001.sql b/BD/wegia001.sql index d3ffcf5a..f2a9fdf3 100755 --- a/BD/wegia001.sql +++ b/BD/wegia001.sql @@ -1564,7 +1564,7 @@ ENGINE = InnoDB; -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `wegia`.`saude_medicamento_administracao` ( `idsaude_medicamento_administracao` INT NOT NULL AUTO_INCREMENT, - `aplicação` DATETIME NOT NULL, + `aplicacao` DATETIME NOT NULL, `saude_medicacao_id_medicacao` INT NOT NULL, `pessoa_id_pessoa` INT(11) NOT NULL, `funcionario_id_funcionario` INT(11) NOT NULL, diff --git a/html/saude/aplicacao_upload.php b/html/saude/aplicacao_upload.php index 50274d21..67b04893 100644 --- a/html/saude/aplicacao_upload.php +++ b/html/saude/aplicacao_upload.php @@ -32,7 +32,7 @@ try { $pdo = Conexao::connect(); - $prep = $pdo->prepare("INSERT INTO saude_medicamento_administracao(aplicação, saude_medicacao_id_medicacao, pessoa_id_pessoa, funcionario_id_funcionario) VALUES (:aplicacao, :saude_medicacao_id_medicacao, :pessoa_id_pessoa, :funcionario_id_funcionario)"); + $prep = $pdo->prepare("INSERT INTO saude_medicamento_administracao(aplicacao, saude_medicacao_id_medicacao, pessoa_id_pessoa, funcionario_id_funcionario) VALUES (:aplicacao, :saude_medicacao_id_medicacao, :pessoa_id_pessoa, :funcionario_id_funcionario)"); $prep->bindValue(":aplicacao", $aplicacao); $prep->bindValue(":saude_medicacao_id_medicacao", $id_medicacao); diff --git a/html/saude/aplicar_medicamento.php b/html/saude/aplicar_medicamento.php index d5bc61af..7cdec67f 100644 --- a/html/saude/aplicar_medicamento.php +++ b/html/saude/aplicar_medicamento.php @@ -81,14 +81,14 @@ $a = $_GET['id_fichamedica']; - $medaplicadas = $pdo->query("SELECT medicamento, aplicação, p.nome as nomeFuncionario FROM saude_medicacao sm JOIN saude_medicamento_administracao sa ON (sm.id_medicacao = sa.saude_medicacao_id_medicacao) join saude_atendimento saa on(saa.id_atendimento=sm.id_atendimento) - JOIN funcionario f ON (sa.funcionario_id_funcionario=f.id_funcionario) JOIN pessoa p ON (p.id_pessoa=f.id_pessoa) WHERE saa.id_fichamedica= '$a' ORDER BY aplicação DESC"); + $medaplicadas = $pdo->query("SELECT medicamento, aplicacao, p.nome as nomeFuncionario FROM saude_medicacao sm JOIN saude_medicamento_administracao sa ON (sm.id_medicacao = sa.saude_medicacao_id_medicacao) join saude_atendimento saa on(saa.id_atendimento=sm.id_atendimento) + JOIN funcionario f ON (sa.funcionario_id_funcionario=f.id_funcionario) JOIN pessoa p ON (p.id_pessoa=f.id_pessoa) WHERE saa.id_fichamedica= '$a' ORDER BY aplicacao DESC"); $medaplicadas = $medaplicadas->fetchAll(PDO::FETCH_ASSOC); foreach($medaplicadas as $key => $value){ //formatar data - $data = new DateTime($value['aplicação']); - $medaplicadas[$key]['aplicação'] = $data->format('d/m/Y h:i:s'); + $data = new DateTime($value['aplicacao']); + $medaplicadas[$key]['aplicacao'] = $data->format('d/m/Y h:i:s'); } $medaplicadas = json_encode($medaplicadas); @@ -303,7 +303,7 @@ .append($("") .append($("").text(item.nomeFuncionario)) .append($("").text(item.medicamento)) - .append($("").text(item.aplicação)) + .append($("").text(item.aplicacao)) ) }); }); diff --git a/html/saude/profile_paciente.php b/html/saude/profile_paciente.php index 4629208c..b2364809 100644 --- a/html/saude/profile_paciente.php +++ b/html/saude/profile_paciente.php @@ -130,14 +130,14 @@ $prontuarioPHP = $prontuariopublico; $prontuariopublico = json_encode($prontuariopublico); - $medaplicadas = $pdo->query("SELECT medicamento, aplicação, p.nome as nomeFuncionario FROM saude_medicacao sm JOIN saude_medicamento_administracao sa ON (sm.id_medicacao = sa.saude_medicacao_id_medicacao) join saude_atendimento saa on(saa.id_atendimento=sm.id_atendimento) - JOIN funcionario f ON (sa.funcionario_id_funcionario=f.id_funcionario) JOIN pessoa p ON (p.id_pessoa=f.id_pessoa) WHERE saa.id_fichamedica= '$id' ORDER BY aplicação DESC"); + $medaplicadas = $pdo->query("SELECT medicamento, aplicacao, p.nome as nomeFuncionario FROM saude_medicacao sm JOIN saude_medicamento_administracao sa ON (sm.id_medicacao = sa.saude_medicacao_id_medicacao) join saude_atendimento saa on(saa.id_atendimento=sm.id_atendimento) + JOIN funcionario f ON (sa.funcionario_id_funcionario=f.id_funcionario) JOIN pessoa p ON (p.id_pessoa=f.id_pessoa) WHERE saa.id_fichamedica= '$id' ORDER BY aplicacao DESC"); $medaplicadas = $medaplicadas->fetchAll(PDO::FETCH_ASSOC); foreach($medaplicadas as $key => $value){ //formata data - $data = new DateTime($value['aplicação']); - $medaplicadas[$key]['aplicação'] = $data->format('d/m/Y h:i:s'); + $data = new DateTime($value['aplicacao']); + $medaplicadas[$key]['aplicacao'] = $data->format('d/m/Y h:i:s'); } $medaplicadas = json_encode($medaplicadas); @@ -465,7 +465,7 @@ function listarEnfermidades(enfermidades){ .append($("") .append($("").text(item.nomeFuncionario)) .append($("").text(item.medicamento)) - .append($("").text(item.aplicação)) + .append($("").text(item.aplicacao)) ) }); }); From ed1913aeb9e1400a950916443b26aa17f6b77be2 Mon Sep 17 00:00:00 2001 From: Nilson Lazarin Date: Sat, 13 Jul 2024 16:36:41 -0300 Subject: [PATCH 04/10] definindo charset no instalador --- instalador/instalador.php | 2 +- requisitos.txt | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/instalador/instalador.php b/instalador/instalador.php index cc80f320..b3f3c784 100755 --- a/instalador/instalador.php +++ b/instalador/instalador.php @@ -133,7 +133,7 @@ function createInportFile($file, $new_file, $replace){ } }else{ foreach ($sqlFiles as $key => $file){ - $log = shell_exec("mysql -u $user -p$senha $nomeDB < ".realpath($inport_dir . $file).""); + $log = shell_exec("mysql --default-character-set=utf8 -u $user -p$senha $nomeDB < ".realpath($inport_dir . $file).""); if (!$log){ echo("

$file importado com sucesso

"); }else{ diff --git a/requisitos.txt b/requisitos.txt index 02fcbe62..2348b7e4 100755 --- a/requisitos.txt +++ b/requisitos.txt @@ -12,8 +12,9 @@ apt install apache2 mariadb-server git python3-certbot-apache php8.2 php8.2-cli nano /etc/apache2/sites-available/wegia.conf - ServerName wegia.instituicao.org - DocumentRoot /var/www/WeGIA + ServerName wegia.instituicao.org + DocumentRoot /var/www/WeGIA + ErrorDocument 404 http://wegia.instituicao.org/ a2ensite wegia.conf From 2ef50edae89fb653acc678e394609b7d76ecdb04 Mon Sep 17 00:00:00 2001 From: GabrielPintoSouza Date: Thu, 18 Jul 2024 11:13:44 -0300 Subject: [PATCH 05/10] =?UTF-8?q?Implementa=C3=A7=C3=A3o=20da=20controlado?= =?UTF-8?q?ra=20na=20p=C3=A1gina=20profile=5Ffuncionario.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/funcionario/profile_funcionario.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/html/funcionario/profile_funcionario.php b/html/funcionario/profile_funcionario.php index e9033a05..34b6c830 100755 --- a/html/funcionario/profile_funcionario.php +++ b/html/funcionario/profile_funcionario.php @@ -615,7 +615,7 @@ function gerarCargo() { } function adicionar_cargo() { - url = '../../dao/adicionar_cargo.php'; + url = '../../controle/control.php'; var cargo = window.prompt("Cadastre um Novo Cargo:"); if (!cargo) { return @@ -624,16 +624,22 @@ function adicionar_cargo() { if (cargo == '') { return } - data = 'cargo=' + cargo; + data = { + nomeClasse : 'CargoControle', + metodo: 'incluir', + cargo : cargo + }; + console.log(data); $.ajax({ type: "POST", url: url, - data: data, + data: JSON.stringify(data), + contentType: "application/json", success: function(response) { - gerarCargo(); + gerarCargo(); }, dataType: 'text' - }) + }); } From e83f1a60da33ba195e209559e45f360392c492c4 Mon Sep 17 00:00:00 2001 From: GabrielPintoSouza Date: Thu, 18 Jul 2024 11:25:33 -0300 Subject: [PATCH 06/10] =?UTF-8?q?Implementa=C3=A7=C3=A3o=20da=20emiss?= =?UTF-8?q?=C3=A3o=20de=20boletos=20autom=C3=A1tica?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/contribuicao/doacao/index.php | 442 ++++++++++++++++++ .../doacao/model/emitirBoleto.php | 203 ++++++++ html/contribuicao/js/cadastroSocio.js | 31 +- html/contribuicao/js/geraboleto.js | 36 ++ html/contribuicao/js/transicoes.js | 9 +- html/contribuicao/js/verificar.js | 34 ++ html/contribuicao/php/cadastrarSocio.php | 101 +++- html/contribuicao/php/configuracao_doacao.php | 2 +- 8 files changed, 822 insertions(+), 36 deletions(-) create mode 100644 html/contribuicao/doacao/index.php create mode 100755 html/contribuicao/doacao/model/emitirBoleto.php diff --git a/html/contribuicao/doacao/index.php b/html/contribuicao/doacao/index.php new file mode 100644 index 00000000..b8045eb0 --- /dev/null +++ b/html/contribuicao/doacao/index.php @@ -0,0 +1,442 @@ + + + + + + Seja um Sócio Contribuidor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+
+
+ + + +
+ +
+ +
+ Digite um valor + + + +

+
+ +
+ +
+ +
+
+ +
+ +

+ +
+ Digite um documento CPF* + +
+ +
+ Digite um documento CNPJ * + +
+
+ + VOLTAR + +
+
+ +
+
+ +
+

INFORMAÇÕES PESSOAIS


+ +
+ NOME COMPLETO * + +
+ +
+ NOME * + +
+ +
+ DATA DE NASCIMENTO *
+ + + + + +
+ +
+ TELEFONE * + +
+ +
+ E-mail* + +

+
+ +

+

+ +
+
+ + VOLTAR + +
+ +
+ +
+ +
+ +
+

ENDEREÇO


+
+ CEP * + +
+
+ LOGRADOURO * + +
+
+ NÚMERO * + +
+
+ COMPLEMENTO + +
+
+ BAIRRO * + +
+
+ CIDADE * + +
+
+ ESTADO * +
+
+

+ +

+ +
+ + + VOLTAR + +
+
+ + + SALVAR INFORMAÇÕES + +
+
+ +
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/html/contribuicao/doacao/model/emitirBoleto.php b/html/contribuicao/doacao/model/emitirBoleto.php new file mode 100755 index 00000000..5bd0873a --- /dev/null +++ b/html/contribuicao/doacao/model/emitirBoleto.php @@ -0,0 +1,203 @@ +pdo; + +try { + + $req = $stmt->prepare("SELECT pessoa.id_pessoa, pessoa.nome, pessoa.telefone, pessoa.cep, pessoa.estado, pessoa.cidade, pessoa.bairro, pessoa.complemento, pessoa.numero_endereco, socio.id_pessoa, socio.email FROM pessoa, socio WHERE pessoa.id_pessoa = socio.id_pessoa AND pessoa.cpf=:cpf;"); + $req->bindParam(":cpf", $cpf); + $req->execute(); + $arrayBd = $req->fetch(PDO::FETCH_ASSOC); + //Verificação para validar se o banco de dados retornou algo ou se a resposta está vazia. + if (!empty($arrayBd)) { + $nome = $arrayBd['nome']; + $telefone = $arrayBd['telefone']; + $email = $arrayBd['email']; + $estado = $arrayBd['estado']; + $cidade = $arrayBd['cidade']; + $bairro = $arrayBd['bairro']; + $complemento = $arrayBd['complemento']; + $cep = $arrayBd['cep']; + $n_ender = $arrayBd['numero_endereco']; + } else { + http_response_code(400); + exit('Não foi possível encontrar um sócio cadastrado com o CPF/CNPJ informado, por favor tente novamente.'); + } +} catch (PDOException $e) { + die("Erro: Não foi possível buscar o sócio no BD" . $e->getMessage() . "."); +} + +$idBoleto = rand(0, 9) . "" . rand(0, 9) . "" . rand(0, 9) . "" . rand(0, 9) . "" . rand(0, 9) . "" . rand(0, 9) . "" . rand(0, 9) . "" . rand(0, 9) . "" . rand(0, 9) . "" . rand(0, 9) . "" . rand(0, 9) . "" . rand(0, 9) . "" . rand(0, 9) . "" . rand(0, 9) . "" . rand(0, 9) . "" . rand(0, 9); +$idBoleto = intval($idBoleto); + +$type = "DM"; + +//Requisição Boleto + +//Validação do valor de um boleto +$value = intval($_POST["valor"]); + +$regras = $stmt->query("SELECT dbr.min_boleto_uni FROM doacao_boleto_regras AS dbr JOIN doacao_boleto_info AS dbi ON (dbr.id = dbi.id_regras)"); +$regras = $regras->fetch(PDO::FETCH_ASSOC); + +if($value < $regras['min_boleto_uni']){ + echo json_encode('O valor para uma doação está abaixo do mínimo requerido.'); + exit(); +} + +//parcelar +$qtd_p = 1; + +$ano = date('Y'); +$mes = date('m'); +$dia = date('d') + 7; + +$aux = 0; + +$datas_de_vencimento = array(); // Inicializa o array de datas de vencimento + +for ($i = 0; $i <= $qtd_p; $i++) { + if ($mes == 12) { + // Se o mês for 12, ajusta o ano e o mês + $datas_de_vencimento[$i] = ($ano + 1) . "/" . (01) . "/" . ($dia); // Janeiro do próximo ano + } else { + // Incrementa o mês e ajusta para não ultrapassar 12 meses no ano + $mes_atual = $mes + $i; + $ano_atual = $ano + floor(($mes_atual - 1) / 12); // Ajusta o ano conforme o número de meses + $mes_atual = ($mes_atual % 12 == 0) ? 12 : ($mes_atual % 12); // Ajusta o mês dentro do limite de 1 a 12 + + $datas_de_vencimento[$i] = $ano_atual . "/" . str_pad($mes_atual, 2, '0', STR_PAD_LEFT) . "/" . $dia; + } +} + +// Definição inicial da primeira data +$datas_de_vencimento[0] = $ano . "/" . $mes . "/" . $dia; + +try { + $req = $stmt->prepare("SELECT doacao_boleto_info.api, doacao_boleto_info.token_api FROM doacao_boleto_info WHERE 1;"); + $req->execute(); + $arrayBd = $req->fetchAll(PDO::FETCH_ASSOC)[0]; + $apikey = $arrayBd['token_api']; + $url = $arrayBd['api']; +} catch (PDOException $e) { + die("Erro: Não foi possível buscar a venda no BD" . $e->getMessage() . "."); +} + +$headers = [ + 'Authorization: Basic ' . base64_encode($apikey . ':'), + 'Content-Type: application/json;charset=utf-8', +]; + +try { + $req = $stmt->prepare("SELECT * FROM `doacao_boleto_regras` WHERE 1;"); + $req->execute(); + $arrayBd = $req->fetchAll(PDO::FETCH_ASSOC)[0]; + $msg = $arrayBd['agradecimento']; +} catch (PDOException $e) { + die("Erro: Não foi possível buscar a venda no BD" . $e->getMessage() . "."); +} + +//Boleto +$boleto = [ + "items" => [ + [ + "amount" => $value * 100, + "description" => "Donation", + "quantity" => 1 + ] + ], + "customer" => [ + "name" => $nome, + "email" => $email, + "document_type" => "CPF", + "document" => $cpfSemMascara, + "type" => "Individual", + "address" => [ + "line_1" => $n_ender . "," . $bairro . "," . $cidade, + "line_2" => $complemento, + "zip_code" => $cep, + "city" => $cidade, + "state" => $estado, + "country" => "BR" + ], + ], + "payments" => [ + [ + "payment_method" => "boleto", + "boleto" => [ + "instructions" => $msg, + "document_number" => $idBoleto, + "due_at" => $ano . "/" . $mes . "/" . $dia, + "type" => $type + ] + ] + ] +]; + +$pdf_links = []; +$arquivos = []; + +//Transforma o boleto em um objeto JSON +for ($i = 0; $i < $qtd_p; $i++) { + // Atualizar a data de vencimento para cada boleto + $boleto['payments'][0]['boleto']['due_at'] = $datas_de_vencimento[$i]; + + // Transformar o boleto em JSON + $boleto_json = json_encode($boleto); + + // Iniciar a requisição cURL + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); + curl_setopt($ch, CURLOPT_POSTFIELDS, $boleto_json); + + // Executar a requisição cURL + $response = curl_exec($ch); + + // Lidar com a resposta da API (mesmo código de tratamento que você já possui) + + // Verifica por erros no cURL + if (curl_errno($ch)) { + echo 'Erro na requisição: ' . curl_error($ch); + curl_close($ch); + exit; + } + + // Obtém o código de status HTTP + $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + + // Fecha a conexão cURL + curl_close($ch); + + + // Verifica o código de status HTTP + if ($httpCode === 200 || $httpCode === 201) { + $responseData = json_decode($response, true); + $pdf_links[] = $responseData['charges'][0]['last_transaction']['pdf']; + $arquivos[] = $responseData['charges'][0]['last_transaction']['pdf']; + } else { + echo json_encode('Erro: A API retornou o código de status HTTP ' . $httpCode . '
'); + // Verifica se há mensagens de erro na resposta JSON + $responseData = json_decode($response, true); + if (isset($responseData['errors'])) { + //echo 'Detalhes do erro:'; + foreach ($responseData['errors'] as $error) { + //echo '
' . htmlspecialchars($error['message']); + } + } + } +} + +foreach ($pdf_links as $pdf_link) { + echo json_encode(['boletoLink' => $pdf_link]); +} diff --git a/html/contribuicao/js/cadastroSocio.js b/html/contribuicao/js/cadastroSocio.js index 5d4ea12c..cd44fc49 100755 --- a/html/contribuicao/js/cadastroSocio.js +++ b/html/contribuicao/js/cadastroSocio.js @@ -17,7 +17,7 @@ function socio_cadastrado(doc) { var doc = doc; doc = formata_cpf_cnpj(doc); - $.post("./php/socioCadastrado.php", {'doc':doc}).done(function(data){ + $.post("../php/socioCadastrado.php", {'doc':doc}).done(function(data){ console.log("Data agora: ", typeof(data)); if(data == 0 || data.includes("false")) { @@ -62,9 +62,9 @@ function socio_cadastrado(doc) $("#pag2").hide(); $("#pag3").hide(); $("#form2").fadeIn(); - $("#form2").html('

Obrigado por contribuir mais uma vez, '+dados.nome+'!



GERAR BOLETO
'); + $("#form2").html('

Obrigado por contribuir mais uma vez, '+dados.nome+'!



GERAR BOLETO
'); - $("#gerar_boleto").click(function(){geraBoleto();}); + $("#gerar_boleto").click(function(){geraBoletoNovo();}); $("#editar_infos").click(function(){ $("#form2").hide(); @@ -106,7 +106,7 @@ function editar_informacoes() $("#form2").html('

Dados atualizados com sucesso!



OK
') $("#pag3").hide(); $("#dados_atualizados").click(function(){$("#form2").html('

Obrigado por contribuir mais uma vez, '+nome+'!



GERAR BOLETO
'); - $("#gerar_boleto").click(function(){geraBoleto();}); + $("#gerar_boleto").click(function(){geraBoletoNovo();}); $("#editar_infos").click(function(){ $("#form2").hide(); @@ -123,7 +123,7 @@ function editar_informacoes() function cadastra_socio() { - var id_sociotipo = tipo_socio(); + var id_sociotipo = tipoSocioNovo(); var horadata = new Date(); var horaAtual = horadata.getHours(); @@ -165,8 +165,8 @@ function cadastra_socio() doc = formata_cpf_cnpj(doc); var dataN = ano.concat("-",mes,"-",dia); - $.post("./php/cadastrarSocio.php", {'tipo':fisjur, 'nome':nome, 'sobrenome': sobrenome, 'telefone':telefone, 'cep':cep, 'log':log, 'comp':comp, 'bairro':bairro, 'cidade':cidade, 'uf':uf, 'numero': num, 'doc':doc,'datanascimento':dataN, 'hora':hora, 'sistema':sistema, 'contato':email, 'id_sociotipo': id_sociotipo, 'status': status, 'datavencimento':data_vencimento, 'valor_doacao':valor_contribuicao}).done(function(data){console.log(data) - geraBoleto(); + $.post("../php/cadastrarSocio.php", {'tipo':fisjur, 'nome':nome, 'sobrenome': sobrenome, 'telefone':telefone, 'cep':cep, 'log':log, 'comp':comp, 'bairro':bairro, 'cidade':cidade, 'uf':uf, 'numero': num, 'doc':doc,'datanascimento':dataN, 'hora':hora, 'sistema':sistema, 'contato':email, 'id_sociotipo': id_sociotipo, 'status': status, 'datavencimento':data_vencimento, 'valor_doacao':valor_contribuicao}).done(function(data){console.log(data) + geraBoletoNovo(); }); @@ -180,8 +180,8 @@ function cadastra_socio() doc = formata_cpf_cnpj(doc); dataN = "0000-00-00" - $.post("./php/cadastrarSocio.php", {'tipo':fisjur, 'nome':nome, 'sobrenome':sobrenome, 'telefone':telefone, 'cep':cep, 'log':log, 'comp':comp, 'bairro':bairro, 'cidade':cidade, 'uf':uf, 'numero': num, 'doc':doc,'datanascimento':dataN, 'hora':hora, 'sistema':sistema, 'contato':email, 'id_sociotipo': id_sociotipo, 'status': status, 'datavencimento':data_vencimento, 'valor_doacao':valor_contribuicao}).done(function(data){console.log(data); - geraBoleto(); + $.post("../php/cadastrarSocio.php", {'tipo':fisjur, 'nome':nome, 'sobrenome':sobrenome, 'telefone':telefone, 'cep':cep, 'log':log, 'comp':comp, 'bairro':bairro, 'cidade':cidade, 'uf':uf, 'numero': num, 'doc':doc,'datanascimento':dataN, 'hora':hora, 'sistema':sistema, 'contato':email, 'id_sociotipo': id_sociotipo, 'status': status, 'datavencimento':data_vencimento, 'valor_doacao':valor_contribuicao}).done(function(data){console.log(data); + geraBoletoNovo(); }); @@ -268,3 +268,16 @@ function tipo_socio(){ return tipo_doacao; } + +function tipoSocioNovo(){ + + let tipoDoacao; + + if($("#op_cpf").prop('checked')){ + tipoDoacao = '0'; + }else if($("#op_cnpj").prop('checked')){ + tipoDoacao = '1'; + } + + return tipoDoacao; +} diff --git a/html/contribuicao/js/geraboleto.js b/html/contribuicao/js/geraboleto.js index cff21006..4abbc768 100755 --- a/html/contribuicao/js/geraboleto.js +++ b/html/contribuicao/js/geraboleto.js @@ -37,6 +37,42 @@ function CadastraCobrancas(carneBoletos, id,valor){ } +function geraBoletoNovo(){ + console.log('Nova geração de boleto.'); + //Enviar um post para ./model/emitirBoleto.php com as informações do CPF e do valor da doação + + let cpfCnpj; + + if($("#op_cpf").prop('checked')){ + cpfCnpj = document.getElementById("dcpf").value; + }else if($("#op_cnpj").prop('checked')){ + cpfCnpj = document.getElementById("dcnpj").value; + } + + const valor = document.getElementById("v").value; + //const cpfCnpj = document.getElementById("dcpf").value; + + console.log("Valor doação: "+valor); + console.log("CPF/CNPJ: "+cpfCnpj); + + $.post("./model/emitirBoleto.php", { + "dcpf": cpfCnpj, + "valor": valor + }).done(function(r){ + const resposta = JSON.parse(r); + if(resposta.boletoLink){ + console.log(resposta.boletoLink); + // Redirecionar o usuário para o link do boleto em uma nova aba + window.open(resposta.boletoLink, '_blank'); + // Desativar o clique no span + $('#gerar_boleto').addClass('disabled'); + $('#avanca3').addClass('disabled'); + }else{ + alert("Ops! Ocorreu um problema na geração do seu boleto, tente novamente, se o erro persistir contate o suporte."); + } + }); +} + function geraBoleto() { $.post("./php/infoBoletoFacil.php").done(function(data) diff --git a/html/contribuicao/js/transicoes.js b/html/contribuicao/js/transicoes.js index 79726c7e..d7dff7a7 100755 --- a/html/contribuicao/js/transicoes.js +++ b/html/contribuicao/js/transicoes.js @@ -142,7 +142,7 @@ function transicoes() $("#tipo_cartao").hide(); $("#cartao_mensal").hide(); $("#cartao_unica").hide(); - $("#input").hide(); + //$("#input").hide(); $("#pag2").hide(); $("#pag3").hide(); $("#cnpj").hide(); @@ -249,6 +249,13 @@ function transicoes() }); + $("#avanca-novo").click(function() + { + console.log('Avança novo'); + verificarNovo(); + + }); + $("#avanca2").click(function() { verifica2(); diff --git a/html/contribuicao/js/verificar.js b/html/contribuicao/js/verificar.js index 9ac7b1d3..8dc2079d 100755 --- a/html/contribuicao/js/verificar.js +++ b/html/contribuicao/js/verificar.js @@ -94,6 +94,40 @@ function verificar() } } } + +//verificarNovo +function verificarNovo(){ + var valor = $("#v").val(); + var val_min = $("#valunic").val(); //vem do bd + val_min = val_min.split('.'); + valor = valor.split('.'); + val_min = parseInt(val_min); + valor = parseInt(valor); + + if(isNaN(valor) || valor[0] == 0) + { + $("#avisa_valor").html("Digite um valor para doação"); + + } + else + { + if(valor < val_min) + { + + $("#avisa_valor").html("O valor mínimo para doação é R$"+val_min+""); + + }else{ + + $("#avisa_valor").html(""); + $("#verifica_socio").fadeIn(); + $("#pag1").hide(); + } + + } +} + + + function verifica2() { if($("#op_cpf").prop('checked')) diff --git a/html/contribuicao/php/cadastrarSocio.php b/html/contribuicao/php/cadastrarSocio.php index ba50698a..da012d44 100755 --- a/html/contribuicao/php/cadastrarSocio.php +++ b/html/contribuicao/php/cadastrarSocio.php @@ -1,38 +1,89 @@ pdo; - cadastra_socio(); +$nome = $_POST['nome']; +$tel = $_POST['telefone']; +$email = $_POST['contato']; +$tipo = $_POST['tipo']; +$doc = $_POST['doc']; +$dataNascimento = $_POST['datanascimento']; - function cadastra_socio() - { +$cep = $_POST['cep']; +$rua = $_POST['log']; +$numero = $_POST['numero']; +$complemento = $_POST['comp']; +$bairro = $_POST['bairro']; +$cidade = $_POST['cidade']; +$uf = $_POST['uf']; - require_once('conexao.php'); - $query = new Conexao; +$status = $_POST['status']; +$idTipo = $_POST['id_sociotipo']; //Por enquanto são cadastrados apenas sócios com doações casuais - $nome = $_POST['nome']; - $tel = $_POST['telefone']; - $email = $_POST['contato']; - $tipo = $_POST['tipo']; - $doc = $_POST['doc']; - $dataN = $_POST['datanascimento']; +try { + $sql1 = "INSERT INTO pessoa(nome,cpf,telefone,data_nascimento,cep,estado,cidade, bairro, logradouro, numero_endereco,complemento) VALUES (:nome, :doc, :telefone, :dataNascimento, :cep, :uf, :cidade, :bairro, :rua, :numero, :complemento)"; - $cep=$_POST['cep']; - $rua=$_POST['log']; - $numero=$_POST['numero']; - $compl=$_POST['comp']; - $bairro=$_POST['bairro']; - $cidade=$_POST['cidade']; - $uf=$_POST['uf']; + $sql2 = "INSERT INTO socio(id_pessoa, id_sociostatus, id_sociotipo, email)values (:idPessoa, :status, :idTipo, :email)"; - $status = $_POST['status']; - $id_tipo = $_POST['id_sociotipo']; + $sql3 = "SELECT id_pessoa FROM pessoa WHERE cpf =:cpf"; - //"CALL registradoacao ('$nome', '$doc','$tel', '$dataN', '$cep', '$uf', '$cidade', '$bairro','$rua', '$numero', '$compl', '$status', '$id_tipo', '$email', '$ip_log', '$data', '$horahoje', '$sistema', '$valor_doacao', '$data_vencimento')"); + $pdo->beginTransaction(); - $query->query("INSERT INTO pessoa(nome,cpf,telefone,data_nascimento,cep,estado,cidade, bairro, logradouro, numero_endereco,complemento) VALUES ('$nome', '$doc','$tel', '$dataN', '$cep', '$uf', '$cidade', '$bairro','$rua', '$numero', '$compl')"); + $stmt3 = $pdo->prepare($sql3); + $stmt3->bindParam(':cpf', $doc); + $stmt3->execute(); + $resultado = $stmt3->fetch(PDO::FETCH_ASSOC); - $query->query("INSERT INTO socio(id_pessoa, id_sociostatus, id_sociotipo, email)values ((SELECT id_pessoa FROM pessoa WHERE pessoa.cpf='$doc'), '$status','$id_tipo', '$email')"); - } + if (!empty($resultado)) {//verifica se existe alguem com o cpf informado no banco de dados de pessoas que não está cadastrado como sócio (um funcionário por exemplo) + $idPessoa = $resultado['id_pessoa']; + $stmt2 = $pdo->prepare($sql2); + $stmt2->bindParam(':idPessoa', $idPessoa); + $stmt2->bindParam(':status', $status); + $stmt2->bindParam(':idTipo', $idTipo); + $stmt2->bindParam(':email', $email); + + if ($stmt2->execute()) { + $pdo->commit(); + } else { + $pdo->rollBack(); + } + } else { + + $stmt1 = $pdo->prepare($sql1); + $stmt1->bindParam(':nome', $nome); + $stmt1->bindParam(':doc', $doc); + $stmt1->bindParam(':telefone', $telefone); + $stmt1->bindParam(':dataNascimento', $dataNascimento); + $stmt1->bindParam(':cep', $cep); + $stmt1->bindParam(':uf', $uf); + $stmt1->bindParam(':cidade', $cidade); + $stmt1->bindParam(':bairro', $bairro); + $stmt1->bindParam(':rua', $rua); + $stmt1->bindParam(':numero', $numero); + $stmt1->bindParam(':complemento', $complemento); + if ($stmt1->execute()) { + $idPessoa = $pdo->lastInsertId(); -?> \ No newline at end of file + $stmt2 = $pdo->prepare($sql2); + $stmt2->bindParam(':idPessoa', $idPessoa); + $stmt2->bindParam(':status', $status); + $stmt2->bindParam(':idTipo', $idTipo); + $stmt2->bindParam(':email', $email); + + if ($stmt2->execute()) { + $pdo->commit(); + } else { + $pdo->rollBack(); + } + } else { + $pdo->rollBack(); + } + } +} catch (PDOException $e) { + http_response_code(500); + exit('Ocorreu um erro ao tentar inserir um sócio no banco de dados: ' . $e->getMessage()); +} diff --git a/html/contribuicao/php/configuracao_doacao.php b/html/contribuicao/php/configuracao_doacao.php index 0fd24bb8..29ed4cbc 100755 --- a/html/contribuicao/php/configuracao_doacao.php +++ b/html/contribuicao/php/configuracao_doacao.php @@ -377,7 +377,7 @@

- + From df37a57c731f370f9919fa2603fa302bc43d20d9 Mon Sep 17 00:00:00 2001 From: GabrielPintoSouza Date: Fri, 19 Jul 2024 07:38:13 -0300 Subject: [PATCH 07/10] =?UTF-8?q?Resolu=C3=A7=C3=A3o=20da=20issue=20#644?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/socio/sistema/tags.php | 38 ------------------------------------- 1 file changed, 38 deletions(-) diff --git a/html/socio/sistema/tags.php b/html/socio/sistema/tags.php index e78a94a8..5184d2ae 100644 --- a/html/socio/sistema/tags.php +++ b/html/socio/sistema/tags.php @@ -117,44 +117,6 @@ $("#header").load("html/header.php"); $(".menuu").load("html/menu.php"); }); - - function gerarCargo(){ - url = '../../dao/exibir_cargo.php'; - $.ajax({ - data: '', - type: "POST", - url: url, - success: function(response){ - var cargo = response; - $('#tabela').empty(); - $.each(cargo,function(i,item){ - if(item.id_cargo != 1 && item.id_cargo != 2) - $('#tabela').append(`${item.id_cargo}SalvarDeletar`); - }); - }, - dataType: 'json' - }); - } - - function adicionar_cargo(){ - url = '../../dao/adicionar_cargo.php'; - var cargo = window.prompt("Cadastre um Novo Cargo:"); - if(!cargo){return} - situacao = cargo.trim(); - if(cargo == ''){return} - - data = 'cargo=' +cargo; - console.log(data); - $.ajax({ - type: "POST", - url: url, - data: data, - success: function(response){ - gerarCargo(); - }, - dataType: 'text' - }) - } From 6bb4c5149149ba73bfcfac8ae8083ca8d423ddaf Mon Sep 17 00:00:00 2001 From: GabrielPintoSouza Date: Fri, 19 Jul 2024 09:21:02 -0300 Subject: [PATCH 08/10] =?UTF-8?q?Resolu=C3=A7=C3=A3o=20da=20issue=20#645?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/import_conteudo_graficos.php | 83 +------------------ 1 file changed, 2 insertions(+), 81 deletions(-) diff --git a/html/socio/sistema/controller/import_conteudo_graficos.php b/html/socio/sistema/controller/import_conteudo_graficos.php index f637611a..4c7a7a92 100755 --- a/html/socio/sistema/controller/import_conteudo_graficos.php +++ b/html/socio/sistema/controller/import_conteudo_graficos.php @@ -45,7 +45,7 @@ -
+
@@ -202,85 +202,6 @@ - - - - + From 436ecbcd998f415ad59dd7a4f68852aac9e32117 Mon Sep 17 00:00:00 2001 From: GabrielPintoSouza Date: Fri, 19 Jul 2024 10:21:22 -0300 Subject: [PATCH 09/10] =?UTF-8?q?Resolu=C3=A7=C3=A3o=20da=20issue=20#646?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/import_conteudo_socios.php | 69 +------------------ 1 file changed, 1 insertion(+), 68 deletions(-) diff --git a/html/socio/sistema/controller/import_conteudo_socios.php b/html/socio/sistema/controller/import_conteudo_socios.php index 6eefa0bb..597ce194 100755 --- a/html/socio/sistema/controller/import_conteudo_socios.php +++ b/html/socio/sistema/controller/import_conteudo_socios.php @@ -269,73 +269,6 @@ - - - - + From b31a36334f76cb79d9e87ffca61d926c4813d4f3 Mon Sep 17 00:00:00 2001 From: GabrielPintoSouza Date: Mon, 22 Jul 2024 09:13:52 -0300 Subject: [PATCH 10/10] =?UTF-8?q?Resolu=C3=A7=C3=A3o=20da=20issue=20#649?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/funcionario/profile_dependente.php | 40 ------------------------- 1 file changed, 40 deletions(-) diff --git a/html/funcionario/profile_dependente.php b/html/funcionario/profile_dependente.php index 196e8a16..3fd20df7 100644 --- a/html/funcionario/profile_dependente.php +++ b/html/funcionario/profile_dependente.php @@ -369,46 +369,6 @@ function adicionar_situacao() { }) } - function gerarCargo() { - url = '../../dao/exibir_cargo.php'; - $.ajax({ - data: '', - type: "POST", - url: url, - success: function(response) { - var cargo = response; - $('#cargo').empty(); - $('#cargo').append(''); - $.each(cargo, function(i, item) { - $('#cargo').append(''); - }); - }, - dataType: 'json' - }); - } - - function adicionar_cargo() { - url = '../../dao/adicionar_cargo.php'; - var cargo = window.prompt("Cadastre um Novo Cargo:"); - if (!cargo) { - return - } - situacao = cargo.trim(); - if (cargo == '') { - return - } - data = 'cargo=' + cargo; - $.ajax({ - type: "POST", - url: url, - data: data, - success: function(response) { - gerarCargo(); - }, - dataType: 'text' - }) - } - function listarDocDependente(docdependentes) { $("#doc-tab").empty(); $.each(docdependentes, function(i, item) {