From fd1bb8bc2f16400853e200359c20b8eb56abb646 Mon Sep 17 00:00:00 2001 From: ligiadf <39387852+ligiadf@users.noreply.github.com> Date: Sun, 30 Sep 2018 18:20:56 -0300 Subject: [PATCH] =?UTF-8?q?Criado=20novo=20par=C3=A2metro=20para=20id=20do?= =?UTF-8?q?=20paciente=20para=20funcionar=20corretamente=20a=20marca=C3=A7?= =?UTF-8?q?=C3=A3o=20de=20consulta=20a=20partir=20da=20lista=20de=20pacien?= =?UTF-8?q?tes=20ou=20da=20ficha=20dele?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/consultasController.php | 15 ++++++++++++--- controllers/examesController.php | 8 ++++++-- controllers/pacientesController.php | 9 +++++++-- models/Pacientes.php | 17 +++++++++++++++-- views/consulta-marcar.php | 2 +- views/paciente-ficha.php | 2 +- views/paciente-listar.php | 2 +- 7 files changed, 43 insertions(+), 12 deletions(-) diff --git a/controllers/consultasController.php b/controllers/consultasController.php index 05e20a5..ab244bd 100644 --- a/controllers/consultasController.php +++ b/controllers/consultasController.php @@ -110,12 +110,16 @@ public function marcar() { // filtro $md = ''; $pc = ''; + $id_pc = ''; if(isset($_GET['md'])) { $md = $_GET['md']; } if(isset($_GET['pc'])) { $pc = $_GET['pc']; } + if(isset($_GET['id_pc'])) { + $id_pc = $_GET['id_pc']; + } $dtConsulta_fim = ''; $dtConsulta_inicio = ''; @@ -151,7 +155,7 @@ public function marcar() { $dados = array( 'titulo_pagina' => 'Marcar consulta', 'medicos' => $medicos->listarMedicosAtivos($offset, $limite), - 'pacientes' => $pacientes->listarPacientes($offset, $limite, $pc), + 'pacientes' => $pacientes->listarPacientes($offset, $limite, $pc, $id_pc), 'id_medico' => $id_medico, 'paciente' => $paciente, 'statusConsulta' => $statusConsulta, @@ -160,7 +164,8 @@ public function marcar() { 'msgIndisponibilidadeMedico' => $msgIndisponibilidadeMedico, 'msgConsultaMarcada' => $msgConsultaMarcada, 'md' => $md, - 'pc' => $pc + 'pc' => $pc, + 'id_pc' => $id_pc ); // se não está logado @@ -268,12 +273,16 @@ public function editar($id) { // filtro $md = ''; $pc = ''; + $id_pc = ''; if(isset($_GET['md'])) { $md = $_GET['md']; } if(isset($_GET['pc'])) { $pc = $_GET['pc']; } + if(isset($_GET['id_pc'])) { + $id_pc = $_GET['id_pc']; + } $diaMesConsulta = substr($detalhe['con_inicio'], 0, 10); // AAAA-MM-DD $horaConsulta = substr($detalhe['con_inicio'], 11, 5); // HH:ii @@ -343,7 +352,7 @@ public function editar($id) { 'titulo_pagina' => 'Editar consulta n. '.$id, 'detalhe' => $detalhe, 'medicos' => $medicos->listarMedicosAtivos($offset, $limite), - 'pacientes' => $pacientes->listarPacientes($offset, $limite, $pc), + 'pacientes' => $pacientes->listarPacientes($offset, $limite, $pc, $id_pc), 'med_id' => $detalhe['med_id'], 'med_nome' => $detalhe['med_nome'], 'especialidade' => $detalhe['especialidade'], diff --git a/controllers/examesController.php b/controllers/examesController.php index fbaadd0..2595d4d 100644 --- a/controllers/examesController.php +++ b/controllers/examesController.php @@ -373,6 +373,10 @@ public function pacientes() { if(isset($_GET['pc'])) { $pc = $_GET['pc']; } + $id_pc = ''; + if(isset($_GET['id_pc'])) { + $id_pc = $_GET['id_pc']; + } // paginação $offset = 0; @@ -390,9 +394,9 @@ public function pacientes() { } $offset = ($dados['pagina_atual'] * $limite) - $limite; - $dados['pacientes'] = $pacientes->listarPacientes($offset, $limite, $pc); + $dados['pacientes'] = $pacientes->listarPacientes($offset, $limite, $pc, $id_pc); - if($pacientes->listarPacientes($offset, $limite, $pc) == false) { + if($pacientes->listarPacientes($offset, $limite, $pc, $id_pc) == false) { $dados['msgSemResultado'] = 'Não há resultados. Deseja cadastrar um paciente?'; } else { $dados['msgSemResultado'] = ''; diff --git a/controllers/pacientesController.php b/controllers/pacientesController.php index 17abf85..ebd23e5 100644 --- a/controllers/pacientesController.php +++ b/controllers/pacientesController.php @@ -16,6 +16,11 @@ public function index() { $pc = $_GET['pc']; } + $id_pc = ''; + if(isset($_GET['id_pc'])) { + $id_pc = $_GET['id_pc']; + } + // paginação $offset = 0; $limite = 10; @@ -32,9 +37,9 @@ public function index() { } $offset = ($dados['pagina_atual'] * $limite) - $limite; - $dados['pacientes'] = $pacientes->listarPacientes($offset, $limite, $pc); + $dados['pacientes'] = $pacientes->listarPacientes($offset, $limite, $pc, $id_pc); - if($pacientes->listarPacientes($offset, $limite, $pc) == false) { + if($pacientes->listarPacientes($offset, $limite, $pc, $id_pc) == false) { $dados['msgSemResultado'] = 'Não há resultados. Deseja cadastrar um paciente?'; } else { $dados['msgSemResultado'] = ''; diff --git a/models/Pacientes.php b/models/Pacientes.php index b8800c7..5625aac 100644 --- a/models/Pacientes.php +++ b/models/Pacientes.php @@ -10,13 +10,16 @@ class Pacientes extends Model { private $cpf; private $plano_saude; - public function listarPacientes($offset, $limite, $pc) { + public function listarPacientes($offset, $limite, $pc, $id_pc) { $array = array(); if(empty($_GET['pc'])) { $pc = ''; } else { $pc = $_GET['pc']; } + if(empty($_GET['id_pc'])) { $id_pc = ''; } + else { $id_pc = $_GET['id_pc']; } + // array vazio dá erro no SQL, então 1=1 $filtroString = array('1=1'); @@ -24,12 +27,16 @@ public function listarPacientes($offset, $limite, $pc) { $filtroString[] = 'nome LIKE :pc OR cpf LIKE :pc'; } + if(!empty($id_pc)){ + $filtroString[] = 'id = :id_pc'; + } + $sql = "SELECT * FROM pacientes WHERE ".implode(' AND ', $filtroString)." ORDER BY nome LIMIT $offset, $limite"; - if(empty($pc)){ + if(empty($pc) && empty($id_pc)){ $sql = $this->pdo->query($sql); } @@ -39,6 +46,12 @@ public function listarPacientes($offset, $limite, $pc) { $sql->execute(); } + if(!empty($id_pc)) { + $sql = $this->pdo->prepare($sql); + $sql->bindValue(":id_pc", $id_pc); + $sql->execute(); + } + if($sql->rowCount() > 0) { $array = $sql->fetchAll(); } diff --git a/views/consulta-marcar.php b/views/consulta-marcar.php index 1b11235..9cf4192 100644 --- a/views/consulta-marcar.php +++ b/views/consulta-marcar.php @@ -51,7 +51,7 @@ - + diff --git a/views/paciente-ficha.php b/views/paciente-ficha.php index 52b9252..585236a 100644 --- a/views/paciente-ficha.php +++ b/views/paciente-ficha.php @@ -57,7 +57,7 @@
diff --git a/views/paciente-listar.php b/views/paciente-listar.php index 26731e9..3d1071b 100644 --- a/views/paciente-listar.php +++ b/views/paciente-listar.php @@ -40,7 +40,7 @@