diff --git a/BD/wegia001.sql b/BD/wegia001.sql index f2a9fdf3..e1547543 100755 --- a/BD/wegia001.sql +++ b/BD/wegia001.sql @@ -807,20 +807,13 @@ CREATE TABLE `wegia`.`contribuicao_meioPagamento` ( -- Table `wegia`.`contribuicao_conjuntoRegras` -- ----------------------------------------------------- CREATE TABLE `wegia`.`contribuicao_conjuntoRegras` ( - `id_meio` INT NOT NULL, - `id_regra` INT NOT NULL, - `value` VARCHAR(45) NULL, - PRIMARY KEY (`id_meio`, `id_regra`), - CONSTRAINT `fk_contribuicao_meioPagamento_meio` - FOREIGN KEY (`id_meio`) - REFERENCES `wegia`.`contribuicao_meioPagamento` (`id`) - ON DELETE NO ACTION - ON UPDATE NO ACTION, - CONSTRAINT `fk_contribuicao_regras_regra` - FOREIGN KEY (`id_regra`) - REFERENCES `wegia`.`contribuicao_regras` (`id`) - ON DELETE NO ACTION - ON UPDATE NO ACTION + `id` INT AUTO_INCREMENT PRIMARY KEY, + `id_meioPagamento` INT, + `id_regra` INT, + `valor` DECIMAL(10, 2), + CONSTRAINT `fk_contribuicao_meioPagamento` FOREIGN KEY (`id_meioPagamento`) REFERENCES `wegia`.`contribuicao_meioPagamento`(`id`), + CONSTRAINT `fk_contribuicao_regras` FOREIGN KEY (`id_regra`) REFERENCES `wegia`.`contribuicao_regras`(`id`), + CONSTRAINT `unico_meioPagamento_regra` UNIQUE (`id_meioPagamento`, `id_regra`) ) ENGINE = InnoDB; diff --git a/BD/wegia002.sql b/BD/wegia002.sql index 7db38607..5efada47 100755 --- a/BD/wegia002.sql +++ b/BD/wegia002.sql @@ -107,6 +107,7 @@ INSERT INTO `recurso` (`id_recurso`, `descricao`) VALUES ('51', 'Criar ficha médica'), ('52', 'Ficha do paciente'), ('6', 'Módulo Pet'), +('7', 'Módulo Contribuição'), ('61', 'Cadastrar Pet'), ('62', 'Saúde Pet'), ('9', 'Configurações'), @@ -119,7 +120,8 @@ INSERT INTO `modulos_visiveis` (`id_recurso`, `visivel`) VALUES (3, 1), (4, 1), (5, 1), -(6, 1); +(6, 1), +(7, 1); INSERT INTO `permissao` (`id_cargo`, `id_acao`, `id_recurso`) VALUES (1, 7, 1), diff --git a/classes/Saude.php b/classes/Saude.php index 58139f98..e607746f 100644 --- a/classes/Saude.php +++ b/classes/Saude.php @@ -2,6 +2,9 @@ require_once 'Atendido.php'; // require_once 'Pessoa.php'; +error_reporting(E_ALL); +ini_set('display_errors', 1); + class Saude extends Atendido { private $texto; diff --git a/classes/memorando/Memorando.php b/classes/memorando/Memorando.php index 4f78ea94..84fc5a6a 100755 --- a/classes/memorando/Memorando.php +++ b/classes/memorando/Memorando.php @@ -2,6 +2,7 @@ class Memorando { + //Atributos private $id_memorando; private $id_pessoa; private $id_status_memorando; @@ -13,51 +14,61 @@ public function __construct($titulo) $this->titulo = $titulo; } + //Retorna o id de um memorando public function getId_memorando() { return $this->id_memorando; } + //Retorna o id de uma pessoa public function getId_pessoa() { return $this->id_pessoa; } + //Retorna o id do status do memorando public function getId_status_memorando() { return $this->id_status_memorando; } + //Retorna um título de um memorando public function getTitulo() { return $this->titulo; } + //Retorna a data de um memorando public function getData() { return $this->data; } + //Define o id de um memorando public function setId_memorando($id_memorando) { $this->id_memorando = $id_memorando; } + //Define o id de uma pessoa public function setId_pessoa($id_pessoa) { $this->id_pessoa = $id_pessoa; } + //Define o id de status do memorando public function setId_status_memorando($id_status_memorando) { $this->id_status_memorando = $id_status_memorando; } + //Define o título do memorando public function setTitulo($titulo) { $this->titulo = $titulo; } + //Define a data do memorando public function setData($data = null) { if ($data) { diff --git a/classes/memorando/index.php b/classes/memorando/index.php new file mode 100644 index 00000000..6ba50656 --- /dev/null +++ b/classes/memorando/index.php @@ -0,0 +1,5 @@ +open('anexo_zip.zip', ZIPARCHIVE::CREATE) == TRUE) - { - $zip->addFile($arq['tmp_name'][$i], $nome.".".$extensao); - } - var_dump($zip); - $caminho=$zip->filename; - $zip->close(); - $arquivo_zip = file_get_contents($caminho); - unlink('anexo_zip.zip');*/ - /*$fp = fopen($_FILES['anexo']['tmp_name'][$i], "rb"); - $conteudo = fread($fp, $tamanho_arquivo); - $conteudo = addslashes($conteudo); - fclose($fp);*/ - $anexo_tmpName = $arq['tmp_name']; $arquivo = file_get_contents($anexo_tmpName[$i]); $arquivo1 = $arq['name'][$i]; - $tamanho = strlen($arquivo1); + //$tamanho = strlen($arquivo1); $pos = strpos($arquivo1, ".") + 1; $extensao = substr($arquivo1, $pos, strlen($arquivo1) + 1); $nome = substr($arquivo1, 0, $pos - 1); @@ -91,6 +80,7 @@ public function incluir($anexo, $lastId) $AnexoControle = new AnexoControle; $arquivo_zip = $AnexoControle->comprimir($arquivo); + //Insere um novo anexo try { $anexo = new Anexo(); $anexo->setId_despacho($lastId); @@ -101,6 +91,7 @@ public function incluir($anexo, $lastId) echo "Erro ao tentar inserir anexo: " . $e->getMessage(); } + //Cria um novo despacho try { $anexoDAO = new AnexoDAO(); $anexoDAO->incluir($anexo); diff --git a/controle/memorando/DespachoControle.php b/controle/memorando/DespachoControle.php index b3403c55..d60a5e30 100755 --- a/controle/memorando/DespachoControle.php +++ b/controle/memorando/DespachoControle.php @@ -103,6 +103,7 @@ public function verificarDespacho() } } + //Busca um despacho pelo id public function getPorId(int $id){ try{ if($id < 1){ diff --git a/controle/memorando/MemorandoControle.php b/controle/memorando/MemorandoControle.php index 3daa141d..8852760b 100755 --- a/controle/memorando/MemorandoControle.php +++ b/controle/memorando/MemorandoControle.php @@ -28,7 +28,7 @@ public function listarTodos() $_SESSION['memorando']=$memorandos; } - //LIstar memorando pelo Id + //Listar memorando pelo Id public function listarTodosId($id_memorando) { extract($_REQUEST); @@ -37,7 +37,7 @@ public function listarTodosId($id_memorando) $_SESSION['memorandoId'] = $memorandos; } - //LIstar memorandos inativos + //Listar memorandos inativos public function listarTodosInativos() { extract($_REQUEST); @@ -46,6 +46,7 @@ public function listarTodosInativos() $_SESSION['memorandoInativo'] = $memorandos; } + //Lista memorandos inativos pelo id public function listarIdTodosInativos() { extract($_REQUEST); @@ -60,8 +61,6 @@ public function incluir() $memorando = $this->verificarMemorando(); $memorandoDAO = new MemorandoDAO(); - - try { $lastId = $memorandoDAO->incluir($memorando); diff --git a/controle/memorando/StatusMemorandoControle.php b/controle/memorando/StatusMemorandoControle.php index 68ced7b0..4ecf61a0 100644 --- a/controle/memorando/StatusMemorandoControle.php +++ b/controle/memorando/StatusMemorandoControle.php @@ -6,7 +6,8 @@ class StatusMemorandoControle{ /** - * Retorna um objeto do tipo StatusMemorando que é equivalente ao dado armazenado no banco de dados que possuí o id passado como parâmetro, caso não exista um objeto equivalente retorna null. + * Retorna um objeto do tipo StatusMemorando que é equivalente ao dado armazenado no banco de dados que possuí o id passado como + * parâmetro, caso não exista um objeto equivalente retorna null. */ public function getPorId(int $id){ try{ diff --git a/controle/memorando/index.php b/controle/memorando/index.php new file mode 100644 index 00000000..6ba50656 --- /dev/null +++ b/controle/memorando/index.php @@ -0,0 +1,5 @@ +setId_memorando($id_memorando); $memorando->setId_status_memorando(2); $MemorandoDAO2 = new MemorandoDAO(); - $id_status_memorando = 2; + //$id_status_memorando = 2; $MemorandoDAO2->alterarIdStatusMemorando($memorando); } @@ -104,7 +107,7 @@ public function incluir(Despacho $despacho) $memorando->setId_memorando($id_memorando); $memorando->setId_status_memorando(3); $MemorandoDAO2 = new MemorandoDAO(); - $id_status_memorando = 3; + //$id_status_memorando = 3; $MemorandoDAO2->alterarIdStatusMemorando($memorando); } } catch (PDOException $e) { @@ -113,6 +116,7 @@ public function incluir(Despacho $despacho) return $lastId; } + //Função para pegar o id do despacho public function getPorId(int $id){ $sql = 'SELECT * FROM despacho WHERE id_despacho=:idDespacho'; $pdo = Conexao::connect(); diff --git a/dao/memorando/UsuarioDAO.php b/dao/memorando/UsuarioDAO.php index a967fca8..75ce67ea 100755 --- a/dao/memorando/UsuarioDAO.php +++ b/dao/memorando/UsuarioDAO.php @@ -16,9 +16,9 @@ public function obterUsuario($usuario) $x++; } } - catch(PDOExeption $e) + catch(PDOException $e) { - echo 'Error:' . $e->getMessage; + echo 'Error:' . $e->getMessage(); } return $Usuario; } diff --git a/dao/memorando/index.php b/dao/memorando/index.php new file mode 100644 index 00000000..6ba50656 --- /dev/null +++ b/dao/memorando/index.php @@ -0,0 +1,5 @@ +prepare("SELECT nome, sobrenome FROM pessoa WHERE registro_geral = :rg"); $pd->bindValue(":rg", $rg); $pd->execute(); diff --git a/dao/pet/PetDAO.php b/dao/pet/PetDAO.php index aebe2e99..7218538e 100644 --- a/dao/pet/PetDAO.php +++ b/dao/pet/PetDAO.php @@ -1,5 +1,6 @@ prepare("SELECT id_pet_foto FROM pet WHERE id_pet =:id_pet"); diff --git a/dao/pet/exibir_cor.php b/dao/pet/exibir_cor.php index 0262dfdd..40dfbf3d 100644 --- a/dao/pet/exibir_cor.php +++ b/dao/pet/exibir_cor.php @@ -1,7 +1,6 @@ query($sql); $resultado = array(); @@ -9,5 +8,4 @@ $resultado[] = array('id_cor'=>$row['id_pet_cor'],'cor'=>$row['descricao']); } echo json_encode($resultado); - ?> \ No newline at end of file diff --git a/dao/pet/exibir_especie.php b/dao/pet/exibir_especie.php index 8938f213..77c02b35 100644 --- a/dao/pet/exibir_especie.php +++ b/dao/pet/exibir_especie.php @@ -1,13 +1,33 @@ -query($sql); - $resultado = array(); - while ($row = $stmt->fetch()) { - $resultado[] = array('id_especie'=>$row['id_pet_especie'],'especie'=>$row['descricao']); - } - echo json_encode($resultado); - -?> \ No newline at end of file +query($sql); + + // Array para armazenar os resultados + $resultado = array(); + + // Fetch os resultados e sanitizar os dados + while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + $id_especie = htmlspecialchars($row['id_pet_especie'], ENT_QUOTES, 'UTF-8'); + $especie = htmlspecialchars($row['descricao'], ENT_QUOTES, 'UTF-8'); + + $resultado[] = array('id_especie' => $id_especie, 'especie' => $especie); + } + + // Retornar os resultados em formato JSON + header('Content-Type: application/json'); + echo json_encode($resultado); + +} catch (PDOException $e) { + // Tratamento de erros de conexão + echo json_encode(array('error' => 'Erro ao conectar ao banco de dados: ' . $e->getMessage())); +} +?> diff --git a/dao/pet/exibir_raca.php b/dao/pet/exibir_raca.php index 115d43e5..1b999243 100644 --- a/dao/pet/exibir_raca.php +++ b/dao/pet/exibir_raca.php @@ -1,13 +1,27 @@ -query($sql); - $sql = 'select * from pet_raca'; - $stmt = $pdo->query($sql); - $resultado = array(); - while ($row = $stmt->fetch()) { - $resultado[] = array('id_raca'=>$row['id_pet_raca'],'raca'=>$row['descricao']); - } - echo json_encode($resultado); + if (!$stmt) { + throw new Exception('Erro ao executar a consulta SQL.'); + } -?> \ No newline at end of file + $resultado = array(); + while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + $resultado[] = array('id_raca' => $row['id_pet_raca'], 'raca' => $row['descricao']); + } + + echo json_encode($resultado); +} catch (PDOException $e) { + // Tratamento de erros específicos do PDO + echo json_encode(array('error' => 'Erro de banco de dados: ' . $e->getMessage())); +} catch (Exception $e) { + // Tratamento de erros genéricos + echo json_encode(array('error' => 'Erro: ' . $e->getMessage())); +} +?> diff --git a/html/atendido/Cadastro_Atendido.php b/html/atendido/Cadastro_Atendido.php index c5b1a394..39c6c3d3 100755 --- a/html/atendido/Cadastro_Atendido.php +++ b/html/atendido/Cadastro_Atendido.php @@ -24,13 +24,19 @@ $conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $id_pessoa = $_SESSION['id_pessoa']; -$resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa"); +$stmt = mysqli_prepare($conexao, "SELECT * FROM funcionario WHERE id_pessoa=?"); +mysqli_stmt_bind_param($stmt, 'i', $id_pessoa); +mysqli_stmt_execute($stmt); +$resultado = mysqli_stmt_get_result($stmt); if (!is_null($resultado)) { $id_cargo = mysqli_fetch_array($resultado); if (!is_null($id_cargo)) { $id_cargo = $id_cargo['id_cargo']; } - $resultado = mysqli_query($conexao, "SELECT * FROM permissao WHERE id_cargo=$id_cargo and id_recurso=12"); + $stmt = mysqli_prepare($conexao, "SELECT * FROM permissao WHERE id_cargo=? and id_recurso=12"); + mysqli_stmt_bind_param($stmt, 'i', $id_cargo); + mysqli_stmt_execute($stmt); + $resultado = mysqli_stmt_get_result($stmt); if (!is_bool($resultado) and mysqli_num_rows($resultado)) { $permissao = mysqli_fetch_array($resultado); if ($permissao['id_acao'] < 7) { diff --git a/html/atendido/cadastro_atendido_pessoa_existente.php b/html/atendido/cadastro_atendido_pessoa_existente.php index b5b18430..7c7c97c5 100644 --- a/html/atendido/cadastro_atendido_pessoa_existente.php +++ b/html/atendido/cadastro_atendido_pessoa_existente.php @@ -21,15 +21,20 @@ header("Location: " . WWW . "index.php"); } -$conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $id_pessoa = $_SESSION['id_pessoa']; -$resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa"); +$stmt = mysqli_prepare($conexao, "SELECT * FROM funcionario WHERE id_pessoa=?"); +mysqli_stmt_bind_param($stmt, 'i', $id_pessoa); +mysqli_stmt_execute($stmt); +$resultado = mysqli_stmt_get_result($stmt); if (!is_null($resultado)) { $id_cargo = mysqli_fetch_array($resultado); if (!is_null($id_cargo)) { $id_cargo = $id_cargo['id_cargo']; } - $resultado = mysqli_query($conexao, "SELECT * FROM permissao WHERE id_cargo=$id_cargo and id_recurso=3"); + $stmt = mysqli_prepare($conexao, "SELECT * FROM permissao WHERE id_cargo=? and id_recurso=3"); + mysqli_stmt_bind_param($stmt, 'i', $id_cargo); + mysqli_stmt_execute($stmt); + $resultado = mysqli_stmt_get_result($stmt); if (!is_bool($resultado) and mysqli_num_rows($resultado)) { $permissao = mysqli_fetch_array($resultado); if ($permissao['id_acao'] == 1) { @@ -59,6 +64,9 @@ require_once "../../dao/Conexao.php"; $pdo = Conexao::connect(); $cpf = $_GET['cpf']; +if (!preg_match('/^\d{11}$/', $cpf)) { + die('CPF inválido.'); +} $atendido = new AtendidoDAO; $informacoesFunc = $atendido->listarPessoaExistente($cpf); $id_pessoaForm = $atendido->listarIdPessoa($cpf); diff --git a/html/atendido/cadastro_ocorrencia.php b/html/atendido/cadastro_ocorrencia.php index d4403f20..e35b05b6 100644 --- a/html/atendido/cadastro_ocorrencia.php +++ b/html/atendido/cadastro_ocorrencia.php @@ -23,13 +23,19 @@ $conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $id_pessoa = $_SESSION['id_pessoa']; -$resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa"); +$stmt = mysqli_prepare($conexao, "SELECT * FROM funcionario WHERE id_pessoa=?"); +mysqli_stmt_bind_param($stmt, 'i', $id_pessoa); +mysqli_stmt_execute($stmt); +$resultado = mysqli_stmt_get_result($stmt); if(!is_null($resultado)){ $id_cargo = mysqli_fetch_array($resultado); if(!is_null($id_cargo)){ $id_cargo = $id_cargo['id_cargo']; } - $resultado = mysqli_query($conexao, "SELECT * FROM permissao WHERE id_cargo=$id_cargo and id_recurso=3"); + $stmt = mysqli_prepare($conexao, "SELECT * FROM permissao WHERE id_cargo=? and id_recurso=3"); + mysqli_stmt_bind_param($stmt, 'i', $id_cargo); + mysqli_stmt_execute($stmt); + $resultado = mysqli_stmt_get_result($stmt); if(!is_bool($resultado) and mysqli_num_rows($resultado)){ $permissao = mysqli_fetch_array($resultado); if($permissao['id_acao'] == 1){ diff --git a/html/atendido/docfamiliar_upload.php b/html/atendido/docfamiliar_upload.php index caaf6f9e..3c3f66ec 100644 --- a/html/atendido/docfamiliar_upload.php +++ b/html/atendido/docfamiliar_upload.php @@ -15,25 +15,33 @@ // A tabela funcioanrio_docs requer id_dependente, id_docdependente, extensao_arquivo, nome_arquivo e arquivo $arquivo = $_FILES["arquivo"]; $nome_arquivo = $arquivo["name"]; - $extensao_arquivo = explode(".", $arquivo["name"])[1]; + $extensao_arquivo = strtolower(pathinfo($nome_arquivo, PATHINFO_EXTENSION)); $arquivo_b64 = base64_encode(file_get_contents($arquivo['tmp_name'])); - try { - $pdo = Conexao::connect(); - $prep = $pdo->prepare("INSERT INTO funcionario_dependentes_docs (id_dependente, id_docdependentes, extensao_arquivo, nome_arquivo, arquivo) - VALUES ( :idf , :idd , :ext , :n , COMPRESS(:a) )"); - - $prep->bindValue(":idf", $id_dependente); - $prep->bindValue(":idd", $id_docdependente); - $prep->bindValue(":ext", $extensao_arquivo); - $prep->bindValue(":n", $nome_arquivo); - $prep->bindValue(":a", $arquivo_b64); - - $prep->execute(); - - header("Location: ../profile_dependente.php?id_dependente=$id_dependente"); - } catch (PDOException $e) { - echo("Houve um erro ao realizar o upload do documento:

$e"); + // Tipos de arquivos permitidos + $tipos_permitidos = ['pdf', 'jpg', 'jpeg', 'png', 'doc', 'docx']; + + // Verifica se a extensão do arquivo é permitida + if (in_array($extensao_arquivo, $tipos_permitidos)) { + try { + $pdo = Conexao::connect(); + $prep = $pdo->prepare("INSERT INTO funcionario_dependentes_docs (id_dependente, id_docdependentes, extensao_arquivo, nome_arquivo, arquivo) + VALUES ( :idf , :idd , :ext , :n , COMPRESS(:a) )"); + + $prep->bindValue(":idf", $id_dependente); + $prep->bindValue(":idd", $id_docdependente); + $prep->bindValue(":ext", $extensao_arquivo); + $prep->bindValue(":n", $nome_arquivo); + $prep->bindValue(":a", $arquivo_b64); + + $prep->execute(); + + header("Location: ../profile_dependente.php?id_dependente=$id_dependente"); + } catch (PDOException $e) { + echo("Houve um erro ao realizar o upload do documento:

$e"); + } + } else { + echo "Tipo de arquivo não permitido. Apenas arquivos PDF, JPG, JPEG, PNG, DOC e DOCX são aceitos."; } }else { header("Location: ../informacao_funcionario.php"); diff --git a/html/atendido/documento.php b/html/atendido/documento.php index 55afd505..400175e2 100644 --- a/html/atendido/documento.php +++ b/html/atendido/documento.php @@ -11,23 +11,47 @@ class DocumentoAtendido { // Constructor + // function __construct($id) + // { + // $id = (int) $id; + // $this->setid_fundocs($id); + // try { + // $pdo = Conexao::connect(); + // $query = $pdo->query("SELECT arquivo_extensao, arquivo_nome, arquivo FROM atendido_documentacao WHERE idatendido_documentacao = $id ;"); + // $query = $query->fetch(PDO::FETCH_ASSOC); + // $this->setDocumento(base64_decode(gzuncompress($query["arquivo"]))); + // $this->setExtensao($query["arquivo_extensao"]); + // $this->setNome($query["arquivo_nome"]); + // } catch (PDOException $e) { + // $this->setException("Houve um erro ao consultar o documento no banco de dados: $e"); + // } + // } + function __construct($id) { $id = (int) $id; $this->setid_fundocs($id); try { $pdo = Conexao::connect(); - $query = $pdo->query("SELECT arquivo_extensao, arquivo_nome, arquivo FROM atendido_documentacao WHERE idatendido_documentacao = $id ;"); - $query = $query->fetch(PDO::FETCH_ASSOC); - $this->setDocumento(base64_decode(gzuncompress($query["arquivo"]))); - $this->setExtensao($query["arquivo_extensao"]); - $this->setNome($query["arquivo_nome"]); + $prep = $pdo->prepare("SELECT arquivo_extensao, arquivo_nome, arquivo FROM atendido_documentacao WHERE idatendido_documentacao = :id;"); + $prep->bindValue(':id', $id, PDO::PARAM_INT); + $prep->execute(); + $query = $prep->fetch(PDO::FETCH_ASSOC); + + if ($query) { + $this->setDocumento(base64_decode(gzuncompress($query["arquivo"]))); + $this->setExtensao($query["arquivo_extensao"]); + $this->setNome($query["arquivo_nome"]); + } else { + $this->setException("Documento não encontrado."); + } } catch (PDOException $e) { - $this->setException("Houve um erro ao consultar o documento no banco de dados: $e"); + $this->setException("Houve um erro ao consultar o documento no banco de dados: " . $e->getMessage()); } } + // Getters & Setters public function getid_fundocs() @@ -93,14 +117,30 @@ public function setNome($nome) // Metodos + // function delete(){ + // try { + // $pdo = Conexao::connect(); + // $query = $pdo->query("DELETE FROM atendido_documentacao WHERE idatendido_documentacao = ".$this->getid_fundocs()." ;"); + // $query = $query->fetch(PDO::FETCH_ASSOC); + // } catch (PDOException $e) { + // $this->setException("Houve um erro ao remover o documento do banco de dados: $e"); + // } + // } + function delete(){ try { $pdo = Conexao::connect(); - $query = $pdo->query("DELETE FROM atendido_documentacao WHERE idatendido_documentacao = ".$this->getid_fundocs()." ;"); - $query = $query->fetch(PDO::FETCH_ASSOC); + $prep = $pdo->prepare("DELETE FROM atendido_documentacao WHERE idatendido_documentacao = :id;"); + $prep->bindValue(':id', $this->getid_fundocs(), PDO::PARAM_INT); + $prep->execute(); + + if ($prep->rowCount() > 0) { + // Deletado com sucesso + } else { + $this->setException("Documento não encontrado para exclusão."); + } } catch (PDOException $e) { - $this->setException("Houve um erro ao remover o documento do banco de dados: $e"); + $this->setException("Houve um erro ao remover o documento do banco de dados: " . $e->getMessage()); } - } - + } } diff --git a/html/atendido/documento_upload.php b/html/atendido/documento_upload.php index e4273a07..16241fbd 100644 --- a/html/atendido/documento_upload.php +++ b/html/atendido/documento_upload.php @@ -17,39 +17,44 @@ // $idatendido, $id_docfuncional e $arquivo var_dump($_POST); extract($_POST); - - // A tabela atendido_ocorrencia_docs requer idatendido_ocorrencia_doc atentido_ocorrencia_idatentido_ocorrencias data arquivo_nome arquivo_extensao arquivo + $arquivo = $_FILES["arquivo"]; + if ($arquivo['error'] !== UPLOAD_ERR_OK) { + die("Houve um erro no upload do arquivo. Código de erro: " . $arquivo['error']); + } $arquivo_nome = $arquivo["name"]; - $extensao_nome = explode(".", $arquivo["name"])[1]; - $arquivo_b64 = base64_encode(file_get_contents($arquivo['tmp_name'])); - - try { - $pdo = Conexao::connect(); - $prep = $pdo->prepare("INSERT INTO atendido_documentacao( atendido_idatendido, atendido_docs_atendidos_idatendido_docs_atendidos, data, arquivo_nome, arquivo_extensao, arquivo) - VALUES ( :atendido_idatendido , :atendido_docs_atendidos_idatendido_docs_atendidos , :data, :arquivo_nome , :arquivo_extensao, :arquivo )"); - - //$prep->bindValue(":ida", $idatendido); - //$prep->bindValue(":idd", $atentido_ocorrencia_idatentido_ocorrencias); - $prep->bindValue(":atendido_idatendido", $idatendido); - $prep->bindValue(":atendido_docs_atendidos_idatendido_docs_atendidos", $id_docfuncional); - $prep->bindValue(":arquivo_nome", $arquivo_nome); - $prep->bindValue(":arquivo_extensao", $extensao_nome); - $prep->bindValue(":arquivo", gzcompress($arquivo_b64)); - - $dataDocumento = date('Y/m/d'); - $prep->bindValue(":data", $dataDocumento); - - $prep->execute(); - - header("Location: Profile_Atendido.php?idatendido=$idatendido"); - } catch (PDOException $e) { - echo("Houve um erro ao realizar o upload do documento:

$e"); + $extensao_nome = strtolower(pathinfo($arquivo["name"], PATHINFO_EXTENSION)); + $arquivo_b64 = base64_encode(file_get_contents($arquivo['tmp_name'])); + + $tipos_permitidos = ['pdf', 'jpg', 'jpeg', 'png', 'doc', 'docx']; + + if (in_array($extensao_nome, $tipos_permitidos)) { + try { + $pdo = Conexao::connect(); + $prep = $pdo->prepare("INSERT INTO atendido_documentacao( atendido_idatendido, atendido_docs_atendidos_idatendido_docs_atendidos, data, arquivo_nome, arquivo_extensao, arquivo) + VALUES ( :atendido_idatendido , :atendido_docs_atendidos_idatendido_docs_atendidos , :data, :arquivo_nome , :arquivo_extensao, :arquivo )"); + + //$prep->bindValue(":ida", $idatendido); + //$prep->bindValue(":idd", $atentido_ocorrencia_idatentido_ocorrencias); + $prep->bindValue(":atendido_idatendido", $idatendido); + $prep->bindValue(":atendido_docs_atendidos_idatendido_docs_atendidos", $id_docfuncional); + $prep->bindValue(":arquivo_nome", $arquivo_nome); + $prep->bindValue(":arquivo_extensao", $extensao_nome); + $prep->bindValue(":arquivo", gzcompress($arquivo_b64)); + + $dataDocumento = date('Y/m/d'); + $prep->bindValue(":data", $dataDocumento); + + $prep->execute(); + + header("Location: Profile_Atendido.php?idatendido=$idatendido"); + } catch (PDOException $e) { + error_log("Erro de PDO: " . $e->getMessage()); + echo("Houve um erro ao realizar o upload do documento:

$e"); + } + } else { + echo "Tipo de arquivo não permitido. Apenas arquivos PDF, JPG, JPEG, PNG, DOC e DOCX são aceitos."; } - - }else { header("Location: Informacao_Atendido.php"); -} - - +} \ No newline at end of file diff --git a/html/atendido/familiar_listar.php b/html/atendido/familiar_listar.php index dee22337..cc2c1760 100644 --- a/html/atendido/familiar_listar.php +++ b/html/atendido/familiar_listar.php @@ -14,16 +14,24 @@ $pdo = Conexao::connect(); $id_funcionario = $_POST["id_funcionario"]; -$dependente = $pdo->query("SELECT +$stmt = $pdo->prepare("SELECT p.nome AS nome, p.cpf AS cpf, par.descricao AS parentesco FROM funcionario_dependentes fdep LEFT JOIN funcionario f ON f.id_funcionario = fdep.id_funcionario LEFT JOIN pessoa p ON p.id_pessoa = fdep.id_pessoa LEFT JOIN funcionario_dependente_parentesco par ON par.id_parentesco = fdep.id_parentesco -WHERE fdep.id_funcionario = $id_funcionario;"); -$dependente = $dependente->fetchAll(PDO::FETCH_ASSOC); -$dependente = json_encode($dependente); +WHERE fdep.id_funcionario = :id_funcionario"); -echo $dependente; +$stmt->bindParam(':id_funcionario', $id_funcionario, PDO::PARAM_INT); -die(); \ No newline at end of file +$stmt->execute(); + +$dependentes = $stmt->fetchAll(PDO::FETCH_ASSOC); + +foreach ($dependentes as &$dependente) { + $dependente['cpf'] = substr($dependente['cpf'], 0, 3) . '.***.***-' . substr($dependente['cpf'], -2); +} + +echo json_encode($dependentes); + +exit(); \ No newline at end of file diff --git a/html/cadastro_destino.php b/html/cadastro_destino.php index 31e9380e..b10388fa 100755 --- a/html/cadastro_destino.php +++ b/html/cadastro_destino.php @@ -99,28 +99,28 @@ function validarCPF(strCPF) { } function FormataCnpj(campo, teclapres) { - var tecla = teclapres.keyCode; - var vr = new String(campo.value); - vr = vr.replace(".", ""); - vr = vr.replace("/", ""); - vr = vr.replace("-", ""); - tam = vr.length + 1; - if (tecla != 14) { - if (tam == 3) - campo.value = vr.substr(0, 2) + '.'; - if (tam == 6) - campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 5) + '.'; - if (tam == 10) - campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(6, 3) + '/'; - if (tam == 15) - campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(6, 3) + '/' + vr.substr(9, 4) + '-' + vr.substr(13, 2); - } +var tecla = teclapres.keyCode; +var vr = campo.value.replace(/\D/g, ''); // Remove todos os caracteres não numéricos +var tam = vr.length; + +if (tecla != 8) { // Ignora o backspace + if (tam <= 2) { + campo.value = vr; // Ex: 12 + } else if (tam <= 5) { + campo.value = vr.substr(0, 2) + '.' + vr.substr(2); // Ex: 12.345 + } else if (tam <= 8) { + campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5); // Ex: 12.345.678 + } else if (tam <= 12) { + campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5, 3) + '/' + vr.substr(8); // Ex: 12.345.678/9012 + } else { + campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5, 3) + '/' + vr.substr(8, 4) + '-' + vr.substr(12, 2); // Ex: 12.345.678/9012-34 + } +} } function validarCNPJ(cnpj) { cnpj = cnpj.replace(/[^\d]+/g, ''); - if (cnpj == '') return false; if (cnpj.length != 14) return false; @@ -178,6 +178,20 @@ function exibirCNPJ(cnpj) { document.getElementById("enviar").disabled = false; } } + function permitirSomenteCNPJ(e) { + var tecla = e.key; + + // Permite números (0-9), "/", "-", ".", e teclas de controle como Backspace, Delete, Tab, etc. + var regex = /^[0-9\/\.\-]$/; + + // Se a tecla não for permitida, cancela o evento + if (!regex.test(tecla) && !['Backspace', 'Tab', 'ArrowLeft', 'ArrowRight', 'Delete'].includes(tecla)) { + e.preventDefault(); + + } +} + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+
+
+

Cadastro de um novo Gateway

+
+ +
+
+
+
+ + + + + +
+ +
+ +
+
+ Os campos com * devem ser preenchidos antes de prosseguir. +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+

Gateways do Sistema

+
+ +
+
+
+
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
PlataformaEndpointToken APIAtivoAção
+
+ + + + + + +
+
+ +
+ + + + +
+
+ + + + + +
+
+
+
+ +
+
+
+ + +
+ +
+ + + \ No newline at end of file diff --git a/html/contribuicao/configuracao/meio_pagamento.php b/html/contribuicao/configuracao/meio_pagamento.php new file mode 100644 index 00000000..592f2715 --- /dev/null +++ b/html/contribuicao/configuracao/meio_pagamento.php @@ -0,0 +1,319 @@ +query("SELECT * FROM situacao"); +$cargo = $mysqli->query("SELECT * FROM cargo"); + +$conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); +$id_pessoa = $_SESSION['id_pessoa']; +$resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa"); +if (!is_null($resultado)) { + $id_cargo = mysqli_fetch_array($resultado); + if (!is_null($id_cargo)) { + $id_cargo = $id_cargo['id_cargo']; + } + $resultado = mysqli_query($conexao, "SELECT * FROM permissao WHERE id_cargo=$id_cargo and id_recurso=9"); + if (!is_bool($resultado) and mysqli_num_rows($resultado)) { + $permissao = mysqli_fetch_array($resultado); + if ($permissao['id_acao'] < 3) { + $msg = "Você não tem as permissões necessárias para essa página."; + header("Location: ../../home.php?msg_c=$msg"); + } + $permissao = $permissao['id_acao']; + } else { + $permissao = 1; + $msg = "Você não tem as permissões necessárias para essa página."; + header("Location: ../../home.php?msg_c=$msg"); + } +} else { + $permissao = 1; + $msg = "Você não tem as permissões necessárias para essa página."; + header("Location: ../../home.php?msg_c=$msg"); +} + +//Captura mensagem passada na URL como parâmetro +if (isset($_GET['msg'])) { + $msg = trim($_GET['msg']); +} + +//carrega gateways salvos no banco de dados da aplicação +require_once('./src/controller/GatewayPagamentoController.php'); + +$gatewayPagamentoController = new GatewayPagamentoController(); +$gateways = $gatewayPagamentoController->buscaTodos(); + +//carrega meios de pagamentos salvos no banco de dados da aplicação +require_once('./src/controller/MeioPagamentoController.php'); + +$meioPagamentoController = new MeioPagamentoController(); +$meiosPagamento = $meioPagamentoController->buscaTodos(); +?> + + + + + + + Meio de Pagamento + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + +
+
+
+
+

Cadastro de um novo Meio de Pagamento

+
+ +
+
+
+
+ + + + + +
+ +
+ +
+
+ Os campos com * devem ser preenchidos antes de prosseguir. +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+

Meios de pagamento do sistema

+
+ +
+
+
+
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + +
DescriçãoPlataforma | EndpointAtivoAção
+
+ + + + + + +
+
+ +
+ + + + +
+
+ + + + + +
+
+
+
+
+
+
+ + + +
+ +
+ + + \ No newline at end of file diff --git a/html/contribuicao/configuracao/regra_pagamento.php b/html/contribuicao/configuracao/regra_pagamento.php new file mode 100644 index 00000000..ef25b354 --- /dev/null +++ b/html/contribuicao/configuracao/regra_pagamento.php @@ -0,0 +1,331 @@ +query("SELECT * FROM situacao"); +$cargo = $mysqli->query("SELECT * FROM cargo"); + +$conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); +$id_pessoa = $_SESSION['id_pessoa']; +$resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa"); +if (!is_null($resultado)) { + $id_cargo = mysqli_fetch_array($resultado); + if (!is_null($id_cargo)) { + $id_cargo = $id_cargo['id_cargo']; + } + $resultado = mysqli_query($conexao, "SELECT * FROM permissao WHERE id_cargo=$id_cargo and id_recurso=9"); + if (!is_bool($resultado) and mysqli_num_rows($resultado)) { + $permissao = mysqli_fetch_array($resultado); + if ($permissao['id_acao'] < 3) { + $msg = "Você não tem as permissões necessárias para essa página."; + header("Location: ../../home.php?msg_c=$msg"); + } + $permissao = $permissao['id_acao']; + } else { + $permissao = 1; + $msg = "Você não tem as permissões necessárias para essa página."; + header("Location: ../../home.php?msg_c=$msg"); + } +} else { + $permissao = 1; + $msg = "Você não tem as permissões necessárias para essa página."; + header("Location: ../../home.php?msg_c=$msg"); +} + +//Captura mensagem passada na URL como parâmetro +if (isset($_GET['msg'])) { + $msg = trim($_GET['msg']); +} + +//carrega meios de pagamentos salvos no banco de dados da aplicação +require_once('./src/controller/MeioPagamentoController.php'); + +$meioPagamentoController = new MeioPagamentoController(); +$meiosPagamento = $meioPagamentoController->buscaTodos(); + +//carrega regras de contribuição +require_once('./src/controller/RegraPagamentoController.php'); + +$regraPagamentoController = new RegraPagamentoController(); +$regrasContribuicao = $regraPagamentoController->buscaRegrasContribuicao(); + +//carrega conjunto de regras de pagamento +$conjuntoRegrasPagamento = $regraPagamentoController->buscaConjuntoRegrasPagamento(); +//print_r($conjuntoRegrasPagamento); +?> + + + + + + + Regra de Pagamento + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+
+
+
+

Cadastro de uma nova regra de pagamento

+
+ +
+
+
+
+ + + + + +
+ +
+ +
+
+ Os campos com * devem ser preenchidos antes de prosseguir. +
+
+ + + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+

Regras de pagamento do sistema

+
+ +
+
+
+
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Meio de PagamentoPlataforma | EndpointRegraValorAtivoAção
+
+ + + + + + +
+
+ +
+ + + + +
+
+ + + + + +
+
+
+
+
+
+
+ + + +
+ +
+ + + \ No newline at end of file diff --git a/html/contribuicao/configuracao/src/controller/GatewayPagamentoController.php b/html/contribuicao/configuracao/src/controller/GatewayPagamentoController.php new file mode 100644 index 00000000..86859a9d --- /dev/null +++ b/html/contribuicao/configuracao/src/controller/GatewayPagamentoController.php @@ -0,0 +1,91 @@ +cadastrar(); + header("Location: ../../gateway_pagamento.php?msg=cadastrar-sucesso"); + } catch (Exception $e) { + header("Location: ../../gateway_pagamento.php?msg=cadastrar-falha"); + } + } + + /** + * Realiza os procedimentos necessários para buscar os gateways de pagamento da aplicação + */ + public function buscaTodos() + { + try { + $gatewayPagamentoDao = new GatewayPagamentoDAO(); + $gateways = $gatewayPagamentoDao->buscaTodos(); + return $gateways; + } catch (PDOException $e) { + echo 'Erro na busca de gateways de pagamento: ' . $e->getMessage(); + } + } + + /** + * Realiza os procedimentos necessários para remover um gateway de pagamento do sistema. + */ + public function excluirPorId() + { + $gatewayId = trim($_POST['gateway-id']); + + if (!$gatewayId || empty($gatewayId) || $gatewayId < 1) { + //parar operação + header("Location: ../../gateway_pagamento.php?msg=excluir-falha#mensagem-tabela"); + exit(); + } + + try { + $gatewayPagamentoDao = new GatewayPagamentoDAO(); + $gatewayPagamentoDao->excluirPorId($gatewayId); + header("Location: ../../gateway_pagamento.php?msg=excluir-sucesso#mensagem-tabela"); + } catch (Exception $e) { + header("Location: ../../gateway_pagamento.php?msg=excluir-falha#mensagem-tabela"); + } + //echo 'O id do gateway que será excluído é: '.$gatewayId; + } + + /** + * Realiza os procedimentos necessários para alterar as informações de um gateway de pagamento do sistema + */ + public function editarPorId(){ + $gatewayId = $_POST['id']; + $gatewayNome = $_POST['nome']; + $gatewayEndepoint = $_POST['endpoint']; + $gatewayToken = $_POST['token']; + + try{ + $gatewayPagamento = new GatewayPagamento($gatewayNome, $gatewayEndepoint, $gatewayToken); + $gatewayPagamento->setId($gatewayId); + $gatewayPagamento->editar(); + header("Location: ../../gateway_pagamento.php?msg=editar-sucesso#mensagem-tabela"); + }catch(Exception $e){ + header("Location: ../../gateway_pagamento.php?msg=editar-falha#mensagem-tabela"); + } + //echo 'Editando gateway de id: '.$gatewayId; + } +} diff --git a/html/contribuicao/configuracao/src/controller/MeioPagamentoController.php b/html/contribuicao/configuracao/src/controller/MeioPagamentoController.php new file mode 100644 index 00000000..bbdcb12d --- /dev/null +++ b/html/contribuicao/configuracao/src/controller/MeioPagamentoController.php @@ -0,0 +1,82 @@ +cadastrar(); + header("Location: ../../meio_pagamento.php?msg=cadastrar-sucesso"); + }catch(Exception $e){ + header("Location: ../../meio_pagamento.php?msg=cadastrar-falha"); + } + } + + /** + * Busca os meios de pagamentos registrados no banco de dados da aplicação + */ + public function buscaTodos(){ + try{ + $meioPagamentoDao = new MeioPagamentoDAO(); + $meiosPagamento = $meioPagamentoDao->buscaTodos(); + return $meiosPagamento; + }catch(PDOException $e){ + echo 'Erro na busca de meios de pagamento: '.$e->getMessage(); + } + } + + /** + * Realiza os procedimentos necessários para remover um meio de pagamento do sistema. + */ + public function excluirPorId(){ + $meioPagamentoId = trim($_POST['meio-pagamento-id']); + + if (!$meioPagamentoId || empty($meioPagamentoId) || $meioPagamentoId < 1) { + //parar operação + header("Location: ../../meio_pagamento.php?msg=excluir-falha#mensagem-tabela"); + exit(); + } + + try{ + $meioPagamentoDao = new MeioPagamentoDAO(); + $meioPagamentoDao->excluirPorId($meioPagamentoId); + header("Location: ../../meio_pagamento.php?msg=excluir-sucesso#mensagem-tabela"); + }catch(Exception $e){ + header("Location: ../../meio_pagamento.php?msg=excluir-falha#mensagem-tabela"); + } + } + + /** + * Realiza os procedimentos necessários para alterar as informações de um meio de pagamento do sistema + */ + public function editarPorId(){ + $descricao = $_POST['nome']; + $gatewayId = $_POST['plataforma']; + $meioPagamentoId = $_POST['id']; + + try{ + $meioPagamento = new MeioPagamento($descricao, $gatewayId); + $meioPagamento->setId($meioPagamentoId); + $meioPagamento->editar(); + header("Location: ../../meio_pagamento.php?msg=editar-sucesso#mensagem-tabela"); + }catch(Exception $e){ + header("Location: ../../meio_pagamento.php?msg=editar-falha#mensagem-tabela"); + } + } +} \ No newline at end of file diff --git a/html/contribuicao/configuracao/src/controller/RegraPagamentoController.php b/html/contribuicao/configuracao/src/controller/RegraPagamentoController.php new file mode 100644 index 00000000..6c24b65e --- /dev/null +++ b/html/contribuicao/configuracao/src/controller/RegraPagamentoController.php @@ -0,0 +1,96 @@ +buscaRegrasContribuicao(); + return $regrasContribuicao; + } + + /** + * Retorna o conjunto de regras de pagamento presentes no sistema + */ + public function buscaConjuntoRegrasPagamento(){ + $regraPagamentoDao = new RegraPagamentoDAO(); + $conjuntoRegrasPagamento = $regraPagamentoDao->buscaConjuntoRegrasPagamento(); + return $conjuntoRegrasPagamento; + } + + /** + * Extraí os dados do formulário e realiza os procedimentos necessários para inserir um novo + * conjunto de regras no sistema. + */ + public function cadastrar(){ + //Implementar restante da lógica do código... + $meioPagamentoId = $_POST['meio-pagamento-plataforma']; + $regraContribuicaoId = $_POST['regra-pagamento']; + $valor = $_POST['valor']; + try{ + $regraPagamento = new RegraPagamento(); + $regraPagamento + ->setMeioPagamentoId($meioPagamentoId) + ->setRegraContribuicaoId($regraContribuicaoId) + ->setValor($valor) + ->cadastrar(); + header("Location: ../../regra_pagamento.php?msg=cadastrar-sucesso"); + }catch(Exception $e){ + header("Location: ../../regra_pagamento.php?msg=cadastrar-falha"); + } + } + + /** + * Realiza os procedimentos necessários para remover uma regra de pagamento do sistema. + */ + public function excluirPorId(){ + $regraPagamentoId = trim($_POST['regra-pagamento-id']); + + if (!$regraPagamentoId || empty($regraPagamentoId) || $regraPagamentoId < 1) { + //parar operação + header("Location: ../../regra_pagamento.php?msg=excluir-falha#mensagem-tabela"); + exit(); + } + + try{ + $regraPagamentoDao = new RegraPagamentoDAO(); + $regraPagamentoDao->excluirPorId($regraPagamentoId); + header("Location: ../../regra_pagamento.php?msg=excluir-sucesso#mensagem-tabela"); + }catch(Exception $e){ + header("Location: ../../regra_pagamento.php?msg=excluir-falha#mensagem-tabela"); + } + } + + /** + * Realiza os procedimentos necessários para alterar as informações de uma regra de pagamento do sistema + */ + public function editarPorId(){ + $valor = $_POST['valor']; + $regraPagamentoId = $_POST['id']; + + try{ + $regraPagamento = new RegraPagamento(); + $regraPagamento + ->setId($regraPagamentoId) + ->setValor($valor) + ->editar(); + header("Location: ../../regra_pagamento.php?msg=editar-sucesso#mensagem-tabela"); + }catch(Exception $e){ + header("Location: ../../regra_pagamento.php?msg=editar-falha#mensagem-tabela"); + } + } +} \ No newline at end of file diff --git a/html/contribuicao/configuracao/src/controller/control.php b/html/contribuicao/configuracao/src/controller/control.php new file mode 100644 index 00000000..e4f2c81b --- /dev/null +++ b/html/contribuicao/configuracao/src/controller/control.php @@ -0,0 +1,46 @@ +$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; + + // Processa a requisição + processaRequisicao($nomeClasse, $metodo); +} 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); +} \ No newline at end of file diff --git a/html/contribuicao/configuracao/src/dao/GatewayPagamentoDAO.php b/html/contribuicao/configuracao/src/dao/GatewayPagamentoDAO.php new file mode 100644 index 00000000..feeeb641 --- /dev/null +++ b/html/contribuicao/configuracao/src/dao/GatewayPagamentoDAO.php @@ -0,0 +1,98 @@ +pdo = $conexao->pdo; + } + + /** + * Inseri um gateway de pagamento no banco de dados da aplicação + */ + public function cadastrar($nome, $endpoint, $token/*, $status*/){ + /*Lógica da aplicação */ + //definir consulta SQL + $sqlCadastrar = "INSERT INTO contribuicao_gatewayPagamento (plataforma, endpoint, token) + VALUES (:plataforma, :endpoint, :token)"; + //utilizar prepared statements + $stmt = $this->pdo->prepare($sqlCadastrar); + $stmt->bindParam(':plataforma', $nome); + $stmt->bindParam(':endpoint', $endpoint); + $stmt->bindParam(':token', $token); + //executar + $stmt->execute(); + } + + /** + * Busca os gateways de pagamento registrados no banco de dados da aplicação + */ + public function buscaTodos(){ + //definir consulta sql + $sqlBuscaTodos = "SELECT * from contribuicao_gatewayPagamento"; + //executar + $resultado = $this->pdo->query($sqlBuscaTodos)->fetchAll(PDO::FETCH_ASSOC); + //retornar resultado + return $resultado; + } + + /** + * Remover o gateway de pagamento que possuí id equivalente no banco de dados da aplicação + */ + public function excluirPorId($id){ + //definir consulta sql + $sqlExcluirPorId = "DELETE FROM contribuicao_gatewayPagamento WHERE id=:id"; + //utilizar prepared statements + $stmt = $this->pdo->prepare($sqlExcluirPorId); + $stmt->bindParam(':id', $id); + //executar + $stmt->execute(); + + //verificar se algum elemento foi de fato excluído + $gatewayExcluido = $stmt->rowCount(); + + if($gatewayExcluido < 1){ + throw new Exception(); + } + } + + /** + * Modifica os campos da tabela contribuicao_gatewaypagamento relacionados ao id informado + */ + public function editarPorId($id, $nome, $endpoint, $token){ + //definir consulta sql + $sqlEditarPorId = "UPDATE contribuicao_gatewayPagamento SET plataforma =:nome, endpoint =:endpoint, token =:token WHERE id=:id"; + //utilizar prepared statements + $stmt = $this->pdo->prepare($sqlEditarPorId); + $stmt->bindParam(':nome', $nome); + $stmt->bindParam(':endpoint', $endpoint); + $stmt->bindParam(':token', $token); + $stmt->bindParam(':id', $id); + //executar + $stmt->execute(); + + //verificar se algum elemento foi de fato alterado + $gatewayExcluido = $stmt->rowCount(); + + if($gatewayExcluido < 1){ + throw new Exception(); + } + } +} \ No newline at end of file diff --git a/html/contribuicao/configuracao/src/dao/MeioPagamentoDAO.php b/html/contribuicao/configuracao/src/dao/MeioPagamentoDAO.php new file mode 100644 index 00000000..5369d294 --- /dev/null +++ b/html/contribuicao/configuracao/src/dao/MeioPagamentoDAO.php @@ -0,0 +1,98 @@ +pdo = $conexao->pdo; + } + + /** + * Inseri um meio de pagamento no banco de dados da aplicação + */ + public function cadastrar($descricao, $gatewayId){ + /*Lógica da aplicação */ + //definir consulta SQL + $sqlCadastrar = "INSERT INTO contribuicao_meioPagamento (meio, id_plataforma) + VALUES (:descricao, :gatewayId)"; + //utilizar prepared statements + $stmt = $this->pdo->prepare($sqlCadastrar); + $stmt->bindParam(':descricao', $descricao); + $stmt->bindParam(':gatewayId', $gatewayId); + //executar + $stmt->execute(); + } + + /** + * Retorna todos os meios de pagamentos registrados no banco de dados da aplicação + */ + public function buscaTodos(){ + //definir consulta sql + $sqlBuscaTodos = "SELECT cmp.id, cmp.meio, cmp.id_plataforma, cgp.plataforma, cgp.endpoint + FROM contribuicao_meioPagamento cmp + JOIN contribuicao_gatewayPagamento cgp ON (cgp.id=cmp.id_plataforma)"; + //executar + $resultado = $this->pdo->query($sqlBuscaTodos)->fetchAll(PDO::FETCH_ASSOC); + //retornar resultado + return $resultado; + } + + /** + * Remover o meio de pagamento que possuí id equivalente no banco de dados da aplicação + */ + public function excluirPorId($id){ + //definir consulta sql + $sqlExcluirPorId = "DELETE FROM contribuicao_meioPagamento WHERE id=:id"; + //utilizar prepared statements + $stmt = $this->pdo->prepare($sqlExcluirPorId); + $stmt->bindParam(':id', $id); + //executar + $stmt->execute(); + + //verificar se algum elemento foi de fato excluído + $meioPagamentoExcluido = $stmt->rowCount(); + + if($meioPagamentoExcluido < 1){ + throw new Exception(); + } + } + + /** + * Edita o meio de pagamento que possuí id equivalente no banco de dados da aplicação + */ + public function editarPorId($id, $descricao, $gatewayId){ + //definir consulta sql + $sqlEditarPorId = "UPDATE contribuicao_meioPagamento SET meio =:descricao, id_plataforma =:gatewayId WHERE id=:id"; + //utilizar prepared statements + $stmt = $this->pdo->prepare($sqlEditarPorId); + $stmt->bindParam(':descricao', $descricao); + $stmt->bindParam(':gatewayId', $gatewayId); + $stmt->bindParam(':id', $id); + //executar + $stmt->execute(); + + //verificar se algum elemento foi de fato alterado + $meioPagamentoExcluido = $stmt->rowCount(); + + if($meioPagamentoExcluido < 1){ + throw new Exception(); + } + } +} \ No newline at end of file diff --git a/html/contribuicao/configuracao/src/dao/RegraPagamentoDAO.php b/html/contribuicao/configuracao/src/dao/RegraPagamentoDAO.php new file mode 100644 index 00000000..7f39eac0 --- /dev/null +++ b/html/contribuicao/configuracao/src/dao/RegraPagamentoDAO.php @@ -0,0 +1,106 @@ +pdo = $conexao->pdo; + } + + /** + * Retorna todas as regras de contribuição presentes no banco de dados da aplicação + */ + public function buscaRegrasContribuicao(){ + //definir consulta sql + $sqlBuscaTodos = "SELECT * FROM contribuicao_regras"; + //executar + $resultado = $this->pdo->query($sqlBuscaTodos)->fetchAll(PDO::FETCH_ASSOC); + //retornar resultado + return $resultado; + } + + public function buscaConjuntoRegrasPagamento(){ + //definir consulta sql + $sqlBuscaTodos = "SELECT ccr.id, ccr.id_meioPagamento, ccr.id_regra, ccr.valor, cmp.meio, cr.regra, cgp.plataforma, cgp.endpoint + FROM contribuicao_conjuntoRegras ccr + JOIN contribuicao_meioPagamento cmp ON(cmp.id=ccr.id_meioPagamento) + JOIN contribuicao_gatewayPagamento cgp ON(cgp.id = cmp.id_plataforma) + JOIN contribuicao_regras cr ON(cr.id=ccr.id_regra)"; + //executar + $resultado = $this->pdo->query($sqlBuscaTodos)->fetchAll(PDO::FETCH_ASSOC); + //retornar resultado + return $resultado; + } + + /** + * Inseri um novo conjunto de regras no banco de dados da aplicação + */ + public function cadastrar($meioPagamentoId, $regraContribuicaoId, $valor){ + /*Lógica da aplicação */ + //definir consulta SQL + $sqlCadastrar = "INSERT INTO contribuicao_conjuntoRegras (id_meioPagamento, id_regra, valor) + VALUES (:meioPagamentoId, :regraContribuicaoId, :valor)"; + //utilizar prepared statements + $stmt = $this->pdo->prepare($sqlCadastrar); + $stmt->bindParam(':meioPagamentoId', $meioPagamentoId); + $stmt->bindParam(':regraContribuicaoId', $regraContribuicaoId); + $stmt->bindParam(':valor', $valor); + //executar + $stmt->execute(); + } + + + public function excluirPorId($id){ + //definir consulta sql + $sqlExcluirPorId = "DELETE FROM contribuicao_conjuntoRegras WHERE id=:id"; + //utilizar prepared statements + $stmt = $this->pdo->prepare($sqlExcluirPorId); + $stmt->bindParam(':id', $id); + //executar + $stmt->execute(); + + //verificar se algum elemento foi de fato excluído + $conjuntoRegraPagamentoExcluido = $stmt->rowCount(); + + if($conjuntoRegraPagamentoExcluido < 1){ + throw new Exception(); + } + } + + /** + * Edita o meio de pagamento que possuí id equivalente no + */ + public function editarPorId($id, $valor){ + //definir consulta sql + $sqlEditarPorId = "UPDATE contribuicao_conjuntoRegras SET valor =:valor WHERE id=:id"; + //utilizar prepared statements + $stmt = $this->pdo->prepare($sqlEditarPorId); + $stmt->bindParam(':valor', $valor); + $stmt->bindParam(':id', $id); + //executar + $stmt->execute(); + + //verificar se algum elemento foi de fato alterado + $meioPagamentoExcluido = $stmt->rowCount(); + + if($meioPagamentoExcluido < 1){ + throw new Exception(); + } + } +} \ No newline at end of file diff --git a/html/contribuicao/configuracao/src/model/GatewayPagamento.php b/html/contribuicao/configuracao/src/model/GatewayPagamento.php new file mode 100644 index 00000000..601814f3 --- /dev/null +++ b/html/contribuicao/configuracao/src/model/GatewayPagamento.php @@ -0,0 +1,169 @@ +setNome($nome)->setEndpoint($endpoint)->setToken($token); + if(!$status){ + $this->setStatus(0); + }else{ + $this->setStatus($status); + } + //echo json_encode('Funcionou o Gateway Pagamento'); + } + + /** + * Pega os atributos nome, endpoint, token e status e realiza os procedimentos necessários + * para inserir um Gateway de pagamento no sistema + */ + public function cadastrar(){ + require_once '../dao/GatewayPagamentoDAO.php'; + $gatewayPagamentoDao = new GatewayPagamentoDAO(); + $gatewayPagamentoDao->cadastrar($this->nome, $this->endpoint, $this->token/*, $this->status*/); + } + + /** + * Altera os dados do sistema pelos novos fornecidos através dos atributos $nome e $endpoint e $token + */ + public function editar(){ + require_once '../dao/GatewayPagamentoDAO.php'; + $gatewayPagamentoDao = new GatewayPagamentoDAO(); + $gatewayPagamentoDao->editarPorId($this->id, $this->nome, $this->endpoint, $this->token); + } + + /** + * Get the value of status + */ + public function getStatus() + { + return $this->status; + } + + /** + * Set the value of status + * + * @return self + */ + public function setStatus($status) + { + $statusLimpo = trim($status); + //echo $statusLimpo; + + if((!$statusLimpo || empty($statusLimpo)) && $statusLimpo != 0){ + throw new InvalidArgumentException('O status de um gateway de pagamento não pode ser vazio.'); + } + + $this->status = $status; + + return $this; + } + + /** + * Get the value of token + */ + public function getToken() + { + return $this->token; + } + + /** + * Set the value of token + * + * @return self + */ + public function setToken($token) + { + $tokenLimpo = trim($token); + + if(!$tokenLimpo || empty($tokenLimpo)){ + throw new InvalidArgumentException('O token de um gateway de pagamento não pode ser vazio.'); + } + + $this->token = $token; + + return $this; + } + + /** + * Get the value of endpoint + */ + public function getEndpoint() + { + return $this->endpoint; + } + + /** + * Set the value of endpoint + * + * @return self + */ + public function setEndpoint($endpoint) + { + $endpointLimpo = trim($endpoint); + + if(!$endpointLimpo || empty($endpointLimpo)){ + throw new InvalidArgumentException('O endpoint de um gateway de pagamento não pode ser vazio.'); + } + + $this->endpoint = $endpoint; + + return $this; + } + + /** + * Get the value of nome + */ + public function getNome() + { + return $this->nome; + } + + /** + * Set the value of nome + * + * @return self + */ + public function setNome($nome) + { + $nomeLimpo = trim($nome); + + if(!$nomeLimpo || empty($nomeLimpo)){ + throw new InvalidArgumentException('O nome de um gateway de pagamento não pode ser vazio.'); + } + $this->nome = $nome; + + return $this; + } + + /** + * Get the value of id + */ + public function getId() + { + return $this->id; + } + + /** + * Set the value of id + * + * @return self + */ + public function setId($id) + { + $idLimpo = trim($id); + + if(!$idLimpo || $idLimpo <1){ + throw new InvalidArgumentException(); + } + $this->id = $id; + + return $this; + } +} \ No newline at end of file diff --git a/html/contribuicao/configuracao/src/model/MeioPagamento.php b/html/contribuicao/configuracao/src/model/MeioPagamento.php new file mode 100644 index 00000000..93126183 --- /dev/null +++ b/html/contribuicao/configuracao/src/model/MeioPagamento.php @@ -0,0 +1,105 @@ +setDescricao($descricao); + $this->setGatewayId($gatewayId); + } + + /** + * Pega os atributos $descricao e $gatewayId e realiza os procedimentos necessários para + * inserir um novo meio de pagamento no sistema da aplicação. + */ + public function cadastrar(){ + require_once '../dao/MeioPagamentoDAO.php'; + $meioPagamentoDao = new MeioPagamentoDAO(); + $meioPagamentoDao->cadastrar($this->descricao, $this->gatewayId); + } + + /** + * Altera os dados do sistema pelos novos fornecidos através dos atributos $descricao e $gatewayId + */ + public function editar(){ + require_once '../dao/MeioPagamentoDAO.php'; + $meioPagamentoDao = new MeioPagamentoDAO(); + $meioPagamentoDao->editarPorId($this->id, $this->descricao, $this->gatewayId); + } + + /** + * Get the value of descricao + */ + public function getDescricao() + { + return $this->descricao; + } + + /** + * Set the value of descricao + * + * @return self + */ + public function setDescricao($descricao) + { + $descricaoLimpa = trim($descricao); + if(!$descricaoLimpa || empty($descricaoLimpa)){ + throw new InvalidArgumentException(); + } + + $this->descricao = $descricao; + + return $this; + } + + /** + * Get the value of gatewayId + */ + public function getGatewayId() + { + return $this->gatewayId; + } + + /** + * Set the value of gatewayId + * + * @return self + */ + public function setGatewayId($gatewayId) + { + if(!$gatewayId || $gatewayId < 1){ + throw new InvalidArgumentException(); + } + + $this->gatewayId = $gatewayId; + + return $this; + } + + /** + * Get the value of id + */ + public function getId() + { + return $this->id; + } + + /** + * Set the value of id + * + * @return self + */ + public function setId($id) + { + $idLimpo = trim($id); + + if(!$idLimpo || $idLimpo <1){ + throw new InvalidArgumentException(); + } + $this->id = $id; + + return $this; + } +} \ No newline at end of file diff --git a/html/contribuicao/configuracao/src/model/RegraPagamento.php b/html/contribuicao/configuracao/src/model/RegraPagamento.php new file mode 100644 index 00000000..ae41eb3b --- /dev/null +++ b/html/contribuicao/configuracao/src/model/RegraPagamento.php @@ -0,0 +1,127 @@ +cadastrar($this->meioPagamentoId, $this->regraContribuicaoId, $this->valor); + } + + /** + * Altera o valor de uma regra de pagamento no sistema + */ + public function editar(){ + require_once '../dao/RegraPagamentoDAO.php'; + $meioPagamentoDao = new RegraPagamentoDAO(); + $meioPagamentoDao->editarPorId($this->id, $this->valor); + } + + + /** + * Get the value of valor + */ + public function getValor() + { + return $this->valor; + } + + /** + * Set the value of valor + * + * @return self + */ + public function setValor($valor) + { + $valor = floatval($valor); + + if(!$valor || $valor < 0){ + throw new InvalidArgumentException(); + } + $this->valor = $valor; + + return $this; + } + + /** + * Get the value of regraContribuicaoId + */ + public function getRegraContribuicaoId() + { + return $this->regraContribuicaoId; + } + + /** + * Set the value of regraContribuicaoId + * + * @return self + */ + public function setRegraContribuicaoId($regraContribuicaoId) + { + $regraContribuicaoIdLimpo = trim($regraContribuicaoId); + + if(!$regraContribuicaoIdLimpo || $regraContribuicaoIdLimpo <1){ + throw new InvalidArgumentException(); + } + $this->regraContribuicaoId = $regraContribuicaoIdLimpo; + + return $this; + } + + /** + * Get the value of meioPagamentoId + */ + public function getMeioPagamentoId() + { + return $this->meioPagamentoId; + } + + /** + * Set the value of meioPagamentoId + * + * @return self + */ + public function setMeioPagamentoId($meioPagamentoId) + { + $meioPagamentoIdLimpo = trim($meioPagamentoId); + + if(!$meioPagamentoIdLimpo || $meioPagamentoIdLimpo <1){ + throw new InvalidArgumentException(); + } + $this->meioPagamentoId = $meioPagamentoIdLimpo; + + return $this; + } + + /** + * Get the value of id + */ + public function getId() + { + return $this->id; + } + + /** + * Set the value of id + * + * @return self + */ + public function setId($id) + { + if(!$id || $id < 1){ + throw new InvalidArgumentException(); + } + + $this->id = $id; + + return $this; + } +} diff --git a/html/home.php b/html/home.php index 8921a7be..a8700976 100755 --- a/html/home.php +++ b/html/home.php @@ -282,6 +282,13 @@ function openItem(id){ + +
+ +

Contribuição

+
+
+
@@ -701,6 +708,31 @@ function openItem(id){ + +
+ +
+ +
diff --git a/html/listar_entrada.php b/html/listar_entrada.php index 46aa0e73..5f5c718a 100755 --- a/html/listar_entrada.php +++ b/html/listar_entrada.php @@ -15,7 +15,10 @@ } $conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $id_pessoa = $_SESSION['id_pessoa']; - $resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa"); + $stmt = $conexao->prepare("SELECT * FROM funcionario WHERE id_pessoa=?"); + $stmt->bind_param("i", $id_pessoa); + $stmt->execute(); + $resultado = $stmt->get_result(); if(!is_null($resultado)){ $id_cargo = mysqli_fetch_array($resultado); if(!is_null($id_cargo)){ diff --git a/html/memorando/exibe_anexo.php b/html/memorando/exibe_anexo.php index 95848d76..4ea071c1 100755 --- a/html/memorando/exibe_anexo.php +++ b/html/memorando/exibe_anexo.php @@ -10,8 +10,10 @@ require_once($config_path); } +//Inicia a sessão session_start(); +//Ao inicar a sessão, redireciona o usuário para a página principal if(!isset($_SESSION['usuario'])){ header ("Location: ".WWW."index.php"); } @@ -22,12 +24,13 @@ $extensao = $_GET['extensao']; $nome = $_GET['nome']; +//Cria um novo objeto (Anexo de controle) $AnexoControle = new AnexoControle; $AnexoControle->listarAnexo($id_anexo); header('Content-Type: application/force-download'); header('Content-Disposition: attachment; filename="' . $nome . '.' . $extensao . '"'); -/*Header('Content-Disposition: attachment; filename="'.$nome.'.'.$extensao);*/ +//Header('Content-Disposition: attachment; filename="'.$nome.'.'.$extensao); echo $_SESSION['arq'][0]['anexo']; ?> \ No newline at end of file diff --git a/html/memorando/insere_despacho.php b/html/memorando/insere_despacho.php index dfd9822f..2d0c3ac0 100755 --- a/html/memorando/insere_despacho.php +++ b/html/memorando/insere_despacho.php @@ -11,19 +11,25 @@ require_once($config_path); } +//Inicia a sessão e redireciona o usuário para a página inicial session_start(); if(!isset($_SESSION['usuario'])){ header ("Location: ".WWW."index.php"); } +//Faz a conexão com o banco de dados $conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $id_pessoa = $_SESSION['id_pessoa']; + +//Lista os funcionários $resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa"); if(!is_null($resultado)){ $id_cargo = mysqli_fetch_array($resultado); if(!is_null($id_cargo)){ $id_cargo = $id_cargo['id_cargo']; } + + //Lista as permissões $resultado = mysqli_query($conexao, "SELECT * FROM permissao WHERE id_cargo=$id_cargo and id_recurso=3"); if(!is_bool($resultado) and mysqli_num_rows($resultado)){ $permissao = mysqli_fetch_array($resultado); @@ -131,8 +137,7 @@ $(function(){ var funcionario=; $.each(funcionario,function(i,item){ - $("#destinatario") - .append($("")); + $("#destinatario").append($("")); }); $("#header").load("html/header.php"); $(".menuu").load("html/menu.php"); @@ -244,40 +249,6 @@ ); $(".file-list").find("li:last").show(800); - //removal button handler - //manipulador de botão de remoção - // $(".removal-button").on("click", function (e) { - // e.preventDefault(); - - // //remove the corresponding hidden input - // //remove a entrada oculta correspondente - // $( - // '.hidden-inputs input[data-uploadid="' + - // $(this).data("uploadid") + - // '"]' - // ).remove(); - - // //remove the name from file-list that corresponds to the button clicked - // //remova o nome da lista de arquivos que corresponde ao botão clicado - // $(this) - // .parent() - // .hide("puff") - // .delay(10) - // .queue(function () { - // $(this).remove(); - // }); - - // //if the list is now empty, change the text back - // //se a lista estiver vazia, mude o texto de volta - // if ($(".file-list li").length === 0) { - // $(".file-uploader__message-area").text( - // options.MessageAreaText || settings.MessageAreaText - // ); - // } - - - // }); - //so the event handler works on the new "real" one //então o manipulador de eventos funciona no novo "real" $(".hidden-inputs .file-chooser__input") diff --git a/html/memorando/listar_despachos.php b/html/memorando/listar_despachos.php index cad53e0b..4a015b7c 100755 --- a/html/memorando/listar_despachos.php +++ b/html/memorando/listar_despachos.php @@ -60,22 +60,26 @@ $id_memorando = $_GET['id_memorando']; - +//Cria novos objetos (Despachos) $despachos = new DespachoControle; $despachos->listarTodos(); $despachos2 = new DespachoControle; $despachos2->listarTodosComAnexo(); +//Cria novo objeto (FuncionarioControle) $funcionarios = new FuncionarioControle; $funcionarios->listarTodos2(); +//Cria novo objeto (MemorandoControle) $ultimoDespacho = new MemorandoControle; $ultimoDespacho->buscarUltimoDespacho($id_memorando); +//Cria novo objeto (AnexoControle) $Anexos = new AnexoControle; $Anexos->listarTodos($id_memorando); +//Cria novos objetos (MemorandoControle) $id_status = new MemorandoControle; $id_status->buscarIdStatusMemorando($id_memorando); diff --git a/html/memorando/listar_memorandos_antigos.php b/html/memorando/listar_memorandos_antigos.php index 069461ca..3cf2b1e7 100755 --- a/html/memorando/listar_memorandos_antigos.php +++ b/html/memorando/listar_memorandos_antigos.php @@ -11,19 +11,25 @@ require_once($config_path); } +//Incia a sessão e redireciona o usuário para a página inicial session_start(); if(!isset($_SESSION['usuario'])){ header ("Location: ".WWW."index.php"); } +//Faz a conexão com banco de dados $conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $id_pessoa = $_SESSION['id_pessoa']; + +//Lista o funcionario $resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa"); if(!is_null($resultado)){ $id_cargo = mysqli_fetch_array($resultado); if(!is_null($id_cargo)){ $id_cargo = $id_cargo['id_cargo']; } + + //Lista as permissões $resultado = mysqli_query($conexao, "SELECT * FROM permissao WHERE id_cargo=$id_cargo and id_recurso=3"); if(!is_bool($resultado) and mysqli_num_rows($resultado)){ $permissao = mysqli_fetch_array($resultado); diff --git a/html/memorando/listar_memorandos_ativos.php b/html/memorando/listar_memorandos_ativos.php index b05a6ba5..1c1d6a1d 100755 --- a/html/memorando/listar_memorandos_ativos.php +++ b/html/memorando/listar_memorandos_ativos.php @@ -10,6 +10,8 @@ } require_once($config_path); } + +//Inicia a sessão e redireciona o usário para a página inicial session_start(); if(!isset($_SESSION['usuario'])){ header ("Location: ".WWW."html/index.php"); @@ -20,32 +22,34 @@ $memorando = new MemorandoControle; $memorando->listarTodos(); - $conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); - $id_pessoa = $_SESSION['id_pessoa']; - $resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa"); - if(!is_null($resultado)){ +// +$conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); +$id_pessoa = $_SESSION['id_pessoa']; +$resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa"); +if(!is_null($resultado)){ $id_cargo = mysqli_fetch_array($resultado); - if(!is_null($id_cargo)){ +if(!is_null($id_cargo)){ $id_cargo = $id_cargo['id_cargo']; - } - $resultado = mysqli_query($conexao, "SELECT * FROM permissao WHERE id_cargo=$id_cargo and id_recurso=3"); - if(!is_bool($resultado) and mysqli_num_rows($resultado)){ - $permissao = mysqli_fetch_array($resultado); - if($permissao['id_acao'] == 1){ +} +$resultado = mysqli_query($conexao, "SELECT * FROM permissao WHERE id_cargo=$id_cargo and id_recurso=3"); +if(!is_bool($resultado) and mysqli_num_rows($resultado)){ + $permissao = mysqli_fetch_array($resultado); + if($permissao['id_acao'] == 1){ $msg = "Você não tem as permissões necessárias para essa página."; header("Location: ".WWW."html/home.php?msg_c=$msg"); - } - $permissao = $permissao['id_acao']; + } + $permissao = $permissao['id_acao']; + }else{ $permissao = 1; $msg = "Você não tem as permissões necessárias para essa página."; header("Location: ".WWW."html/home.php?msg_c=$msg"); } - }else{ +}else{ $permissao = 1; $msg = "Você não tem as permissões necessárias para essa página."; header("Location: ".WWW."html/home.php?msg_c=$msg"); - } + } // Adiciona a Função display_campo($nome_campo, $tipo_campo) require_once ROOT."/html/personalizacao_display.php"; diff --git a/html/memorando/novo_memorandoo.php b/html/memorando/novo_memorandoo.php index cfe84939..610b09fc 100644 --- a/html/memorando/novo_memorandoo.php +++ b/html/memorando/novo_memorandoo.php @@ -1,22 +1,24 @@ listarTodos2(); @@ -26,41 +28,42 @@ $memorando = $_POST['dados']; +//Faz a conexão com o banco de dados +$conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); +$id_pessoa = $_SESSION['id_pessoa']; - - $conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); - $id_pessoa = $_SESSION['id_pessoa']; - $resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa"); - if(!is_null($resultado)){ +//Lista todos os funcionarios +$resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa"); +if (!is_null($resultado)) { $id_cargo = mysqli_fetch_array($resultado); - if(!is_null($id_cargo)){ - $id_cargo = $id_cargo['id_cargo']; + if (!is_null($id_cargo)) { + $id_cargo = $id_cargo['id_cargo']; } + + //Lista as permissões $resultado = mysqli_query($conexao, "SELECT * FROM permissao WHERE id_cargo=$id_cargo and id_recurso=3"); - if(!is_bool($resultado) and mysqli_num_rows($resultado)){ - $permissao = mysqli_fetch_array($resultado); - if($permissao['id_acao'] == 1){ + if (!is_bool($resultado) and mysqli_num_rows($resultado)) { + $permissao = mysqli_fetch_array($resultado); + if ($permissao['id_acao'] == 1) { + $msg = "Você não tem as permissões necessárias para essa página."; + header("Location: " . WWW . "html/home.php?msg_c=$msg"); + } + $permissao = $permissao['id_acao']; + } else { + $permissao = 1; $msg = "Você não tem as permissões necessárias para essa página."; - header("Location: ".WWW."html/home.php?msg_c=$msg"); - } - $permissao = $permissao['id_acao']; - }else{ - $permissao = 1; - $msg = "Você não tem as permissões necessárias para essa página."; - header("Location: ".WWW."html/home.php?msg_c=$msg"); - } - }else{ + header("Location: " . WWW . "html/home.php?msg_c=$msg"); + } +} else { $permissao = 1; $msg = "Você não tem as permissões necessárias para essa página."; - header("Location: ".WWW."html/home.php?msg_c=$msg"); - } - require_once ROOT."/controle/FuncionarioControle.php"; -require_once ROOT."/controle/memorando/MemorandoControle.php"; - - + header("Location: " . WWW . "html/home.php?msg_c=$msg"); +} +require_once ROOT . "/controle/FuncionarioControle.php"; +require_once ROOT . "/controle/memorando/MemorandoControle.php"; // Adiciona a Função display_campo($nome_campo, $tipo_campo) -require_once ROOT."/html/personalizacao_display.php"; +require_once ROOT . "/html/personalizacao_display.php"; ?> @@ -72,347 +75,341 @@ Criar Memorando - + - - + + - - - " type="image/x-icon" id="logo-icon"> + + + " type="image/x-icon" id="logo-icon"> - - + + - + - + - + - - + + - - - - - - - - + + + + + + + + - - + + - - + + - - + + - + - - - + + + - + + - - + - -
- - - -
- - - -
- - + +
+ + + +
+ + + +
+ + - -
-
+ +
+
-

Criar memorando

+

Criar memorando

-
+ - + -
+ -
+
+ +
+
-
-
- -
- - +
- ×'.$_GET["sccs"]."
"); - } - } - ?> - -
- - + -
-

Encaminhar memorando

-
-
+ if (isset($_GET['msg'])) { + if ($_GET['msg'] == 'success') { + echo ('
×' . $_GET["sccs"] . "
"); + } + } + ?> + + +
+ + "; + } else { ?> -
- -
- +
+

Encaminhar memorando

+
+
+ + "; + ?> +
+ +
+ +
-
-
- -
- +
+ +
+ +
-
-
+
-
-
-
- -
-
- -
-
- -
-
-
-
- +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
- -
- -
-
+ +
-
+
+
+ + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +
- -
- + +
+ - + \ No newline at end of file diff --git a/html/menu.php b/html/menu.php index 33be55d4..db520017 100755 --- a/html/menu.php +++ b/html/menu.php @@ -404,6 +404,35 @@ function verificar_modulos(){ + + + +
- + \ No newline at end of file diff --git a/html/pet/erro.php b/html/pet/erro.php index adad721f..ad70a4d5 100644 --- a/html/pet/erro.php +++ b/html/pet/erro.php @@ -7,11 +7,45 @@ Document - \ No newline at end of file diff --git a/html/pet/foto.php b/html/pet/foto.php index bf20e371..4fd19496 100644 --- a/html/pet/foto.php +++ b/html/pet/foto.php @@ -11,15 +11,50 @@ } require_once $dao; } -$post = json_decode(file_get_contents("php://input")); -$arr = []; -foreach($post as $valor){ - $id = $valor; + +// Recebe o JSON e decodifica +$post = json_decode(file_get_contents("php://input"), true); + +if (json_last_error() !== JSON_ERROR_NONE) { + // Se houver um erro na decodificação JSON + http_response_code(400); + echo json_encode(["error" => "Dados JSON inválidos"]); + exit; } -$pdo = new PDO('mysql:host='.DB_HOST.'; dbname='.DB_NAME.'; charset=utf8',DB_USER,DB_PASSWORD); -$resultado = $pdo->query("SELECT p.id_pet_foto AS id_foto, pf.arquivo_foto_pet AS 'imagem' FROM pet p, -pet_foto pf WHERE p.id_pet_foto=pf.id_pet_foto and p.id_pet=$id"); -$petImagem = $resultado->fetch(); +// Valida e sanitiza o ID recebido +if (!isset($post['id']) || !is_numeric($post['id']) || intval($post['id']) <= 0) { + // Se o ID não estiver presente ou não for um número positivo + http_response_code(400); + echo json_encode(["error" => "ID inválido"]); + exit; +} + +$id = intval($post['id']); // Sanitiza o ID convertendo para inteiro + +// Conecta ao banco de dados usando PDO +try { + $pdo = new PDO('mysql:host='.DB_HOST.'; dbname='.DB_NAME.'; charset=utf8', DB_USER, DB_PASSWORD); + $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); -echo json_encode($petImagem); \ No newline at end of file + // Prepara a consulta com um parâmetro + $stmt = $pdo->prepare(" + SELECT p.id_pet_foto AS id_foto, pf.arquivo_foto_pet AS imagem + FROM pet p + JOIN pet_foto pf ON p.id_pet_foto = pf.id_pet_foto + WHERE p.id_pet = :id + "); + $stmt->bindParam(':id', $id, PDO::PARAM_INT); + $stmt->execute(); + + // Busca o resultado + $petImagem = $stmt->fetch(PDO::FETCH_ASSOC); + + // Retorna o resultado como JSON + echo json_encode($petImagem); + +} catch (PDOException $e) { + // Se houver um erro na consulta ou na conexão + http_response_code(500); + echo json_encode(["error" => "Erro no banco de dados: " . $e->getMessage()]); +} diff --git a/html/pet/historico_pet.php b/html/pet/historico_pet.php index 504435eb..42dacbb0 100644 --- a/html/pet/historico_pet.php +++ b/html/pet/historico_pet.php @@ -19,32 +19,72 @@ } require_once($config_path); } - $conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); + + // Conecta ao banco de dados + $conexao = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); + + // Verifica se a conexão foi bem-sucedida + if ($conexao->connect_error) { + die("Falha na conexão: " . $conexao->connect_error); + } + + // Inicia a sessão + session_start(); + + // Obtém o ID da pessoa da sessão $id_pessoa = $_SESSION['id_pessoa']; - $resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa"); - if(!is_null($resultado)){ - $id_cargo = mysqli_fetch_array($resultado); - if(!is_null($id_cargo)){ - $id_cargo = $id_cargo['id_cargo']; - } - $resultado = mysqli_query($conexao, "SELECT * FROM permissao p JOIN acao a ON(p.id_acao=a.id_acao) JOIN recurso r ON(p.id_recurso=r.id_recurso) WHERE id_cargo=$id_cargo AND a.descricao = 'LER, GRAVAR E EXECUTAR' AND r.descricao='Módulo Saúde'"); - if(!is_bool($resultado) and mysqli_num_rows($resultado)){ - $permissao = mysqli_fetch_array($resultado); - if($permissao['id_acao'] < 5){ - $msg = "Você não tem as permissões necessárias para essa página."; - header("Location: ../home.php?msg_c=$msg"); + + // Prepara e executa a consulta para obter o id_cargo + $stmt = $conexao->prepare("SELECT id_cargo FROM funcionario WHERE id_pessoa = ?"); + $stmt->bind_param("i", $id_pessoa); + $stmt->execute(); + $resultado = $stmt->get_result(); + + // Verifica se o resultado é válido + if ($resultado && $row = $resultado->fetch_assoc()) { + $id_cargo = $row['id_cargo']; + + // Prepara e executa a consulta para verificar permissões + $stmt = $conexao->prepare(" + SELECT p.id_acao + FROM permissao p + JOIN acao a ON p.id_acao = a.id_acao + JOIN recurso r ON p.id_recurso = r.id_recurso + WHERE p.id_cargo = ? + AND a.descricao = 'LER, GRAVAR E EXECUTAR' + AND r.descricao = 'Módulo Saúde' + "); + $stmt->bind_param("i", $id_cargo); + $stmt->execute(); + $resultado = $stmt->get_result(); + + if ($resultado && $row = $resultado->fetch_assoc()) { + // Verifica o nível de permissão + if ($row['id_acao'] < 5) { + $msg = "Você não tem as permissões necessárias para essa página."; + header("Location: ../home.php?msg_c=" . urlencode($msg)); + exit; } - $permissao = $permissao['id_acao']; - }else{ - $permissao = 1; - $msg = "Você não tem as permissões necessárias para essa página."; - header("Location: ../home.php?msg_c=$msg"); - } - }else{ + $permissao = $row['id_acao']; + } else { + // Permissão não encontrada + $permissao = 1; + $msg = "Você não tem as permissões necessárias para essa página."; + header("Location: ../home.php?msg_c=" . urlencode($msg)); + exit; + } + } else { + // ID da pessoa não encontrado $permissao = 1; $msg = "Você não tem as permissões necessárias para essa página."; - header("Location: ../../home.php?msg_c=$msg"); - } + header("Location: ../home.php?msg_c=" . urlencode($msg)); + exit; + } + + // Fecha a declaração e a conexão + $stmt->close(); + $conexao->close(); + // Adiciona a Função display_campo($nome_campo, $tipo_campo) require_once "../personalizacao_display.php"; diff --git a/html/pet/informacao_medicamento.php b/html/pet/informacao_medicamento.php index 213f9d19..083161ca 100644 --- a/html/pet/informacao_medicamento.php +++ b/html/pet/informacao_medicamento.php @@ -1,7 +1,7 @@ prepare("SELECT * FROM funcionario WHERE id_pessoa = ?"); +$stmt->bind_param("i", $id_pessoa); +$stmt->execute(); +$resultado = $stmt->get_result(); if(!is_null($resultado)){ $id_cargo = mysqli_fetch_array($resultado); if(!is_null($id_cargo)){ diff --git a/html/pet/informacao_saude_pet.php b/html/pet/informacao_saude_pet.php index b697e7e4..f3121ca6 100644 --- a/html/pet/informacao_saude_pet.php +++ b/html/pet/informacao_saude_pet.php @@ -23,7 +23,10 @@ } $conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $id_pessoa = $_SESSION['id_pessoa']; - $resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa"); + $stmt = $conexao->prepare("SELECT * FROM funcionario WHERE id_pessoa = ?"); + $stmt->bind_param("i", $id_pessoa); + $stmt->execute(); + $resultado = $stmt->get_result(); if(!is_null($resultado)){ $id_cargo = mysqli_fetch_array($resultado); if(!is_null($id_cargo)){ diff --git a/html/pet/profile_pet.php b/html/pet/profile_pet.php index 6333fa54..e40c7988 100644 --- a/html/pet/profile_pet.php +++ b/html/pet/profile_pet.php @@ -1006,32 +1006,38 @@ function excluirArquivo(dado){ } } - function addTipoExame() - { - url = '../../dao/pet/adicionar_tipo_exame.php'; - var tipo_exame = window.prompt("Cadastre um novo tipo de exame:"); - if (!tipo_exame) - { - return - } - tipo_exame = tipo_exame.trim(); - if (tipo_exame == '') - { - return - } - data = 'tipo_exame=' + tipo_exame; - $.ajax( - { - type: "POST", - url: url, - data: data, - success: function(response) - { - gerarTipoExamePet(response); - }, - dataType: 'text' - }) - } + async function addTipoExame() { + const url = '../../dao/pet/adicionar_tipo_exame.php'; + let tipoExame = window.prompt("Cadastre um novo tipo de exame:"); + + if (!tipoExame) { + return; + } + + tipoExame = tipoExame.trim(); + if (tipoExame === '') { + return; + } + + const data = new URLSearchParams({ tipo_exame: tipoExame }); + + try { + const response = await fetch(url, { + method: 'POST', + body: data, + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + }); + + if (!response.ok) { + throw new Error('Network response was not ok'); + } + + const responseText = await response.text(); + gerarTipoExamePet(responseText); + } catch (error) { + console.error('Error adding tipo exame:', error); + } +} function gerarTipoExamePet(response) { diff --git a/html/saude/alergia_upload.php b/html/saude/alergia_upload.php index e933aff3..f0db2fc7 100644 --- a/html/saude/alergia_upload.php +++ b/html/saude/alergia_upload.php @@ -6,7 +6,8 @@ error_reporting(E_ALL); session_start(); -extract($_REQUEST); +$id_CID_alergia = $_POST["id_CID_alergia"]; +$id_fichamedica = $_POST["id_fichamedica"]; if (!isset($_SESSION["usuario"])){ header("Location: ../../index.php"); } diff --git a/html/saude/aplicar_medicamento.php b/html/saude/aplicar_medicamento.php index 7cdec67f..ce5e80c3 100644 --- a/html/saude/aplicar_medicamento.php +++ b/html/saude/aplicar_medicamento.php @@ -7,11 +7,11 @@ session_start(); - if(!isset($_SESSION['usuario'])){ + if(!isset($_POST['usuario'])){ header ("Location: ../index.php"); } - if(!isset($_SESSION['id_fichamedica'])) { + if(!isset($_POST['id_fichamedica'])) { header('Location: ../../controle/control.php?metodo=listarUm&nomeClasse=SaudeControle&nextPage=../html/saude/aplicar_medicamento.php'); } @@ -31,7 +31,7 @@ $pdo = Conexao::connect(); $conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); - $id_pessoa = $_SESSION['id_pessoa']; + $id_pessoa = $_POST['id_pessoa']; $resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa"); if(!is_null($resultado)){ $id_cargo = mysqli_fetch_array($resultado); diff --git a/html/saude/exibir_alergia.php b/html/saude/exibir_alergia.php index ecc4f2e5..e7d7331c 100644 --- a/html/saude/exibir_alergia.php +++ b/html/saude/exibir_alergia.php @@ -2,11 +2,17 @@ require_once'../../dao/Conexao.php'; $pdo = Conexao::connect(); - $sql = "select * from saude_tabelacid WHERE CID LIKE 'T78.4.%'"; - $stmt = $pdo->query($sql); - $resultado = array(); - while ($row = $stmt->fetch()) { - $resultado[] = array('id_CID'=>$row['id_CID'],'CID'=>$row['CID'],'descricao'=>$row['descricao']); - } - echo json_encode($resultado); + try{ + $sql = "select * from saude_tabelacid WHERE CID LIKE 'T78.4.%'"; + $stmt = $pdo->query($sql); + $resultado = array(); + while ($row = $stmt->fetch()) { + $resultado[] = array('id_CID'=>$row['id_CID'],'CID'=>$row['CID'],'descricao'=>$row['descricao']); + } + echo json_encode($resultado); + }catch (PDOException $e) { + echo("Houve um erro ao realizar a exibição da alergia:

$e"); + } + + ?> \ No newline at end of file diff --git a/html/saude/sinais_vitais_excluir.php b/html/saude/sinais_vitais_excluir.php index 49562859..1765de42 100644 --- a/html/saude/sinais_vitais_excluir.php +++ b/html/saude/sinais_vitais_excluir.php @@ -10,7 +10,10 @@ permissao($_SESSION['id_pessoa'], 11, 7); require_once "../../dao/Conexao.php"; -$sin_vit = $_POST["id_sinais_vitais"]; +if (isset($_POST["id_sinais_vitais"])) { + // A variável 'id_sinais_vitais' está presente no POST + $sin_vit = $_POST["id_sinais_vitais"]; +} try { $pdo = Conexao::connect(); @@ -29,6 +32,4 @@ } } catch (PDOException $e) { echo json_encode(array("erro" => "Ocorreu um erro ao excluir os sinais vitais: ". $e)); -} finally { - $pdo = null; } \ No newline at end of file diff --git a/html/saude/status_update.php b/html/saude/status_update.php index c332dd4e..860108fc 100644 --- a/html/saude/status_update.php +++ b/html/saude/status_update.php @@ -21,8 +21,10 @@ $id_fichamedica = $_POST['id_fichamedica']; try { $pdo = Conexao::connect(); - $prep = $pdo->prepare("UPDATE saude_medicacao SET saude_medicacao_status_idsaude_medicacao_status = $saude_medicacao_status_idsaude_medicacao_status WHERE id_medicacao = '$id_medicacao'"); - + $prep = $pdo->prepare("UPDATE saude_medicacao SET saude_medicacao_status_idsaude_medicacao_status = :status WHERE id_medicacao = :id_medicacao"); + $prep->bindParam(':status', $saude_medicacao_status_idsaude_medicacao_status, PDO::PARAM_INT); + $prep->bindParam(':id_medicacao', $id_medicacao, PDO::PARAM_INT); + $prep->execute(); // UPDATE saude_enfermidades SET status = 0 WHERE id_CID = ".$this->getid_CID()." ;" diff --git a/html/socio/sistema/controller/import_conteudo_relatorios_socios.php b/html/socio/sistema/controller/import_conteudo_relatorios_socios.php index 27ca488e..6d7a03a9 100644 --- a/html/socio/sistema/controller/import_conteudo_relatorios_socios.php +++ b/html/socio/sistema/controller/import_conteudo_relatorios_socios.php @@ -68,6 +68,7 @@
prepare("SELECT * FROM ?"); - $stmt->bind_param("s", $socio_tag); + //$socio_tag = "socio_tag"; + $stmt = $conexao->prepare("SELECT * FROM socio_tag"); + //$stmt->bind_param("s", $socio_tag); $stmt->execute(); $tags = $stmt->get_result(); @@ -139,7 +139,7 @@ -
+
- +
diff --git a/html/socio/sistema/controller/script/relatorios_socios.js b/html/socio/sistema/controller/script/relatorios_socios.js index 51e50e61..ebbea5e3 100644 --- a/html/socio/sistema/controller/script/relatorios_socios.js +++ b/html/socio/sistema/controller/script/relatorios_socios.js @@ -54,11 +54,13 @@ $(document).ready(function(){ Nome CPF/CPNJ Telefone - Tipo Sócio + E-mail + Tipo Sócio + TAG Valor/Período Status ` - tabela += `${socio.nome}${socio.cpf}${socio.telefone}${socio.tipo}${valor_periodo}${socio.status}` + tabela += `${socio.nome}${socio.cpf}${socio.telefone}${socio.email}${socio.tipo}${socio.tag}${valor_periodo}${socio.status}` } } $(".resultado").html(` diff --git a/html/socio/sistema/get_relatorios_socios.php b/html/socio/sistema/get_relatorios_socios.php index a632d210..2ee1d2d5 100644 --- a/html/socio/sistema/get_relatorios_socios.php +++ b/html/socio/sistema/get_relatorios_socios.php @@ -1,15 +1,140 @@ set_charset("utf8"); - extract($_REQUEST); - switch($tipo_socio){ + +function montaConsultaStatus(&$consulta, $status, &$where) +{ + if ($status != 'x' && $where === false) { + $consulta .= " WHERE s.id_sociostatus=$status"; + $where = true; + } elseif ($status != 'x') { + $consulta .= " AND s.id_sociostatus=$status"; + } +} + +function montaConsultaTAG(&$consulta, $tag, &$where) +{ + if ($tag != 'x' && $where === false) { + $consulta .= " WHERE s.id_sociotag=$tag"; + $where = true; + } elseif ($tag != 'x') { + $consulta .= " AND s.id_sociotag=$tag"; + } +} + +function montaConsultaValor(&$consulta, $valor, $operador, &$where) +{ + $op = ''; + switch ($operador) { + case "maior_q": + $op = ">"; + break; + case "maior_ia": + $op = ">="; + break; + case "igual_a": + $op = "="; + break; + case "menor_ia": + $op = "<="; + break; + case "menor_q": + $op = "<"; + break; + } + + if (!isset($valor) || empty(trim($valor))) { + $valor = '0'; + } + + if ($where === false) { + $consulta .= " WHERE s.valor_periodo $op $valor"; + $where = true; + } else { + $consulta .= " AND s.valor_periodo $op $valor"; + } +} + +function montaConsultaTipoPessoa(&$consulta, $tipoPessoa, &$where){ + $qtdCaracteres = 0; + switch ($tipoPessoa) { + case "f": + $qtdCaracteres = 14; + break; + case "j": + $qtdCaracteres = 18; + break; + } + + if($qtdCaracteres === 0){ + return; + } + + if ($where === false) { + $consulta .= " WHERE LENGTH(p.cpf)=$qtdCaracteres"; + $where = true; + } else { + $consulta .= " AND LENGTH(p.cpf)=$qtdCaracteres"; + } +} + +function montaConsultaTipoSocio(&$consulta, $tipoSocio, &$where){ + $td = false; + switch($tipoSocio){ + case "x": break; //Todos + case "c": $td = "0,1"; break; //Casuais + case "b": $td = "6,7"; break; //Bimestrais + case "t": $td = "8,9"; break; //Trimestrais + case "s": $td = "10,11"; break; //Semestrais + case "m": $td = "2,3"; break; //Mensais + } + + if(!$td){ + return; + } + + if ($where === false) { + $consulta .= " WHERE s.id_sociotipo IN ($td)"; + $where = true; + } else { + $consulta .= " AND s.id_sociotipo IN ($td)"; + } +} + +require("../conexao.php"); +if (!isset($_POST) or empty($_POST)) { + $data = file_get_contents("php://input"); + $data = json_decode($data, true); + $_POST = $data; +} else if (is_string($_POST)) { + $_POST = json_decode($_POST, true); +} +$conexao->set_charset("utf8"); +extract($_REQUEST); + +//print_r($_REQUEST); +$where = false; +$consultaBasica = "SELECT p.nome, p.telefone, p.cpf, s.valor_periodo, s.email, st.tipo, ss.status, stag.tag FROM pessoa p JOIN socio s ON (p.id_pessoa=s.id_pessoa) JOIN socio_tipo st ON (s.id_sociotipo = st.id_sociotipo) JOIN socio_status ss ON (ss.id_sociostatus = s.id_sociostatus) JOIN socio_tag stag on (stag.id_sociotag = s.id_sociotag)"; +montaConsultaStatus($consultaBasica, $status, $where); +montaConsultaTAG($consultaBasica, $tag, $where); +montaConsultaValor($consultaBasica, $valor, $operador, $where); +montaConsultaTipoPessoa($consultaBasica, $tipo_pessoa, $where); +montaConsultaTipoSocio($consultaBasica, $tipo_socio, $where); +$consultaBasica .= " ORDER BY p.nome"; + +//echo $consultaBasica; + +$query = mysqli_query($conexao, $consultaBasica); +while ($resultado = mysqli_fetch_assoc($query)) { + $dados[] = $resultado; +} + +if(!isset($dados)){ + echo json_encode(null); +}else{ + echo json_encode($dados); +} + + +/*switch($tipo_socio){ case "x": $td = "2,3,4,6,7,8,9,10,11"; $periodo = "BETWEEN -720 AND 720"; break; //Todos case "b": $td = "6,7"; $periodo = "BETWEEN 49 AND 70"; break; //Bimestrais case "t": $td = "8,9"; $periodo = "BETWEEN 71 AND 100"; break; //Trimestrais @@ -107,5 +232,4 @@ echo json_encode(null); }else{ echo json_encode($dados); - } -?> \ No newline at end of file + }*/