Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Patch de correções de urgência 11/07/2024 #630

Merged
merged 12 commits into from
Jul 11, 2024
Merged
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
config.php
config.php
BD/.idea/
2 changes: 1 addition & 1 deletion .release
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1683417600
1720234800
2 changes: 1 addition & 1 deletion classes/Atendido.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public function setId_pessoa($id_pessoa)
*/
static public function getDataNascimentoMaxima()
{
$idadeMinima = 30;
$idadeMinima = 0;
$data = date('Y-m-d', strtotime("-$idadeMinima years"));
return $data;
}
Expand Down
7 changes: 5 additions & 2 deletions classes/Cargo.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ class Cargo
private $id_cargo;
private $cargo;

public function __construct($cargo)
public function __construct($cargo, $id = null)
{
$this->cargo = $this->setCargo($cargo);
$this->setCargo($cargo);
if($id){
$this->setId_cargo($id);
}
}

public function getId_cargo()
Expand Down
48 changes: 48 additions & 0 deletions controle/CargoControle.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?php

require_once '../classes/Cargo.php';
require_once '../dao/CargoDAO.php';

class CargoControle {
public function incluir() {

// Determina se os dados foram enviados via JSON
if (isset($_SERVER['CONTENT_TYPE']) && strpos($_SERVER['CONTENT_TYPE'], 'application/json') !== false) {
// Recebe o JSON da requisição
$json = file_get_contents('php://input');
// Decodifica o JSON
$data = json_decode($json, true);

$cargoDescricao = trim($data["cargo"]);
} else {
// Recebe os dados do formulário normalmente
$cargoDescricao = trim($_POST["cargo"]);
}

try {
$cargo = new Cargo((string)($cargoDescricao));
} catch (InvalidArgumentException $e) {
echo 'Erro ao adicionar cargo: ' . $e->getMessage();
return;
}

if ($cargo) {
$cargoDAO = new CargoDAO();
$cargoDAO->incluir($cargo);
}
}

public function listarTodos() {
$cargosArray = [];

$cargoDAO = new CargoDAO();
$cargos = $cargoDAO->listarTodos();

foreach ($cargos as $cargo) {
$cargosArray[] = ['id_cargo' => $cargo->getId_cargo(), 'cargo' => $cargo->getCargo()];
}

$cargosJSON = json_encode($cargosArray);
echo $cargosJSON;
}
}
57 changes: 40 additions & 17 deletions controle/control.php
Original file line number Diff line number Diff line change
@@ -1,23 +1,46 @@
<?php


ini_set('display_errors',1);
ini_set('display_startup_erros',1);
ini_set('display_errors', 1);
ini_set('display_startup_erros', 1);
error_reporting(E_ALL);
extract($_REQUEST);

function processaRequisicao($nomeClasse, $metodo, $modulo = null){
if ($nomeClasse && $metodo) {
if ($modulo) {
include_once $modulo . "/" . $nomeClasse . ".php";
} else {
include_once $nomeClasse . ".php";
}

// Cria uma instância da classe e chama o método
$objeto = new $nomeClasse();
$objeto->$metodo();
} else {
// Responde com erro se as variáveis necessárias não foram fornecidas
http_response_code(400);
exit('Classe ou método não fornecidos: '.'C = '.$nomeClasse.'M = '.$metodo);
}
}

if (isset($_SERVER['CONTENT_TYPE']) && strpos($_SERVER['CONTENT_TYPE'], 'application/json') !==false) {
// Recebe o JSON da requisição
$json = file_get_contents('php://input');
// Decodifica o JSON
$data = json_decode($json, true);

// Extrai as variáveis do array $data
$nomeClasse = $data['nomeClasse'] ?? null;
$metodo = $data['metodo'] ?? null;
$modulo = $data['modulo'] ?? null;

if(isset($modulo))
{
include_once $modulo."/".$nomeClasse.".php";
$objeto = new $nomeClasse();
$objeto->$metodo();
}
else
{
include_once $nomeClasse.".php";
$objeto = new $nomeClasse();
$objeto->$metodo();
}
// Processa a requisição
processaRequisicao($nomeClasse, $metodo, $modulo);
} else {
// Recebe os dados do formulário normalmente
$nomeClasse = $_REQUEST['nomeClasse'] ?? null;
$metodo = $_REQUEST['metodo'] ?? null;
$modulo = $_REQUEST['modulo'] ?? null;

?>
// Processa a requisição
processaRequisicao($nomeClasse, $metodo, $modulo);
}
51 changes: 25 additions & 26 deletions dao/CargoDAO.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,24 @@

class CargoDAO
{
private $pdo;

public function incluir($cargo)
public function __construct()
{
try {
$pdo = Conexao::connect();
try{
$this->pdo = Conexao::connect();
}catch(PDOException $e){
echo 'Erro ao instanciar objeto do tipo CargoDAO: '.$e->getMessage();
}
}

public function incluir(Cargo $cargo)
{
try {
$sql = 'INSERT cargo(cargo) VALUES(:cargo)';
$sql = str_replace("'", "\'", $sql);

$stmt = $pdo->prepare($sql);

$stmt = $this->pdo->prepare($sql);
$cargo = $cargo->getCargo();

$stmt->bindParam(':cargo', $cargo);

$stmt->execute();
} catch (PDOException $e) {
echo 'Error: <b> na tabela cargo = ' . $sql . '</b> <br /><br />' . $e->getMessage();
Expand All @@ -28,31 +31,27 @@ public function incluir($cargo)
public function listarUm($id_cargo)
{
try {
$pdo = Conexao::connect();
$sql = "SELECT id_cargo, cargo FROM cargo WHERE id_cargo = :id_cargo";
$consulta = $pdo->prepare($sql);
$consulta = $this->pdo->prepare($sql);
$consulta->execute(array(
'id_cargo' => $id_cargo,
));
try {
while ($linha = $consulta->fetch(PDO::FETCH_ASSOC)) {
$cargo = new Cargo($linha['cargo']);
$cargo->setId_cargo(intval($linha['id_cargo']));
}
$linha = $consulta->fetch(PDO::FETCH_ASSOC);
$cargo = new Cargo($linha['cargo'], $linha['id_cargo']);
return $cargo;
} catch (InvalidArgumentException $e) {
exit('Ocorreu um erro ao tentar listar o cargo solicitado: ' . $e->getMessage());
}
} catch (PDOException $e) {
throw $e;
}
return $cargo;
}
public function excluir($id_cargo)
{
try {
$pdo = Conexao::connect();
$sql = 'DELETE FROM cargo WHERE id_cargo = :id_cargo';
$stmt = $pdo->prepare($sql);
$stmt = $this->pdo->prepare($sql);
$stmt->bindParam(':id_cargo', $id_cargo);
$stmt->execute();
} catch (PDOException $e) {
Expand All @@ -61,19 +60,19 @@ public function excluir($id_cargo)
}
public function listarTodos()
{

try {
$cargos = array();
$pdo = Conexao::connect();
$consulta = $pdo->query("SELECT id_cargo, cargo FROM cargo");
$x = 0;
while ($linha = $consulta->fetch(PDO::FETCH_ASSOC)) {
$cargos[$x] = array('id_cargo' => $linha['id_cargo'], 'cargo' => $linha['cargo']);
$x++;
$consulta = $this->pdo->query("SELECT id_cargo, cargo FROM cargo");
$resultados = $consulta->fetchAll(PDO::FETCH_ASSOC);
if($resultados){
foreach($resultados as $resultado){
$cargo = new Cargo($resultado['cargo'], $resultado['id_cargo']);
$cargos []= $cargo;
}
}
return $cargos;
} catch (PDOException $e) {
echo 'Error:' . $e->getMessage();
}
return json_encode($cargos);
}
}
16 changes: 10 additions & 6 deletions html/cadastro_saida.php
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@

$.each(produtos_autocomplete, function(i, item) {
//$('#produtos_autocomplete').append('<option value="' + item.id_produto + '|' + item.descricao + '">');
prods[i] = item.id_produto + '|' + item.descricao + '|' + item.codigo;
prods[i] = item.id_produto + '|' + item.descricao + '|' + item.codigo;//alterar aqui
})

$("#input_produtos").autocomplete({
Expand Down Expand Up @@ -177,10 +177,14 @@
$(".add-row").click(function() {
var produto = $("#input_produtos").val();
var val = $("#input_produtos").val();
var obj = prods.find(prod => prod === val);
// console.log(prods);
// console.log(prods.find(prod => prod === val),val);
// console.log(obj);

//As próximas 3 linhas de código são responsáveis por deixar a formatação compatível para a verificação na linha de código seguinte, uma vez que os dados vem de tabelas diferentes e a tabela de produtos não possuí o campo quantidade
let parts = val.split('|');
parts.splice(2,1);
val = parts.join('|')

var obj = prods.find;(prod => prod === val);

produto = produto.split("|");
if (obj != null && obj.length > 0) {
if (Number(produto[2]) >= Number($("#quantidade").val())) {
Expand Down Expand Up @@ -497,7 +501,7 @@ function checkFocus(event) {
// $("<option/>").val(produto.id_produto + '-' + produto.descricao+ '-' + produto.qtd+ '-' + produto.codigo).attr("qtd", produto.qtd)
// );
console.log(i, produto);
prods[i] = produto.id_produto + '|' + produto.descricao + '|' + produto.codigo;
prods[i] = produto.id_produto + '|' + produto.descricao + '|' + produto.qtd + '|' + produto.codigo;
}
$("#input_produtos").autocomplete({
source: prods,
Expand Down
19 changes: 12 additions & 7 deletions html/funcionario/cadastro_funcionario.php
Original file line number Diff line number Diff line change
Expand Up @@ -312,13 +312,13 @@
<div class="form-group" id="reservista1" style="display: none">
<label class="col-md-3 control-label">Número do certificado reservista</label>
<div class="col-md-6">
<input type="text" name="certificado_reservista_numero" class="form-control num_reservista">
<input type="text" name="certificado_reservista_numero" class="form-control num_reservista" onkeypress="return Onlynumbers(event)">
</div>
</div>
<div class="form-group" id="reservista2" style="display: none">
<label class="col-md-3 control-label">Série do certificado reservista</label>
<div class="col-md-6">
<input type="text" name="certificado_reservista_serie" class="form-control serie_reservista">
<input type="text" name="certificado_reservista_serie" class="form-control serie_reservista" onkeypress="return Onlynumbers(event)">
</div>
</div>

Expand Down Expand Up @@ -692,7 +692,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
Expand All @@ -702,17 +702,22 @@ function adicionar_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'
})
});
}

$(function() {
Expand Down
1 change: 0 additions & 1 deletion html/home.php
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,6 @@ function openItem(id){
<div class="col-lg-2 col-md-8 i category-item" data-toggle="collapse" href="#pet">
<i class="fa fa-paw"></i>
<h4>Pet</h4>
<h6 style="color:red">Em desenvolvimento</h6>
</div>
</a>

Expand Down
1 change: 0 additions & 1 deletion html/pet/cadastrar_medicamento.php
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,6 @@
<div class="panel-actions">
<a href="#" class="fa fa-caret-down"></a>
</div>
<span style="color: red">Formulário em desenvolvimento</span>
<h2 class="panel-title">Medicamento do Pet</h2>
</header>
<div class="panel-body">
Expand Down
1 change: 0 additions & 1 deletion html/pet/cadastro_ficha_medica_pet.php
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,6 @@
<div class="panel-actions">
<a href="#" class="fa fa-caret-down"></a>
</div>
<span style="color: red">Formulário em desenvolvimento</span>
<h2 class="panel-title">Informações do Pet</h2>
</header>
<div class="panel-body">
Expand Down
1 change: 0 additions & 1 deletion html/pet/cadastro_pet.php
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,6 @@
<div class="tab-content">
<div id="overview" class="tab-pane active">
<form class="form-horizontal" method="POST" action="../../controle/pet/controlPet.php" onsubmit="verificarDataAcolhimento()">
<span style="color: red">Formulário em desenvolvimento</span>
<h4 class="mb-xlg">Informações do Pet</h4>
<h5 class="obrig">Campos Obrigatórios(*)</h5>
<div class="form-group">
Expand Down
1 change: 0 additions & 1 deletion html/pet/informacao_medicamento.php
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,6 @@
<div class="panel-actions">
<a href="#" class="fa fa-caret-down"></a>
</div>
<span style="color: red">Formulário em desenvolvimento</span>
<h2 class="panel-title">Medicamento do Pet</h2>
</header>
<div class="panel-body">
Expand Down
Loading