Example #1
0
 public function cadastrarAction()
 {
     try {
         $conexao = $this->conexao->getConexao();
         $redirecionar = "?modulo=agenda";
         $tipos = Agenda::getTipos();
         $breadcrumbs = array();
         $breadcrumbs[] = array("Agenda" => "?modulo=" . $_GET["modulo"], "Novo compromisso" => "");
         $dados = inicializaDados(new Agenda());
         $dados["marcador"] = 0;
         $dados["data"] = isset($_GET['data']) ? $_GET['data'] : date('d/m/Y');
         $dados["hora"] = isset($_GET['hora']) ? $_GET['hora'] : '';
         $dados["tipo"] = isset($_GET['tipo']) ? $_GET['tipo'] : '0';
         $fisioterapeutas = $this->dao->findAll($conexao, "vw_usuarios", array("where" => array("permissao" => Permissao::PERMISSAO_FISIOTERAPEUTA), "order" => array("nome" => "asc")));
         // recupera os pacientes para o autocomplete
         $pacientes = $this->dao->findAll($conexao, "pacientes");
         $pacientesArr = array();
         foreach ($pacientes as $paciente) {
             $pacientesArr[] = '"' . $paciente["nome"] . '"';
         }
         if (count($_POST) > 0) {
             $redirecionar = NULL;
             $dados = $dadosIn = $_POST;
             $idsFisioterapeutas = array();
             $dados["fisioterapeutas"] = $dadosIn["fisioterapeutas"] = isset($dadosIn["fisioterapeutas"]) ? $dadosIn["fisioterapeutas"] : array();
             $obrigatorios = array("tipo" => array("tipo" => "select", "nome" => "Tipo"), "nomePaciente" => array("tipo" => "input", "nome" => "Paciente"), "data" => array("tipo" => "input", "nome" => "Data"), "hora" => array("tipo" => "input", "nome" => "Hora"), "fisioterapeutas" => array("tipo" => "array", "nome" => "Fisioterapeutas"));
             $mensagens = array();
             $mensagem = validaPost($obrigatorios, $dadosIn);
             if (!empty($mensagem)) {
                 $mensagens[] = $mensagem;
             }
             if (!empty($dadosIn["hora"]) && !validaHora($dadosIn["hora"])) {
                 $mensagens[] = "Informe uma hora válida.";
             }
             foreach ($dadosIn["fisioterapeutas"] as $f) {
                 list($nome, $id) = explode("-", $f);
                 $idsFisioterapeutas[] = $id;
                 $quantidadeCompromissos = $this->dao->count($conexao, "agenda", array("leftJoin" => array("agenda_fisioterapeutas" => "agenda_fisioterapeutas.compromisso = agenda.id"), "where" => array("agenda.data" => $dadosIn["data"], "agenda.hora" => $dadosIn["hora"], "agenda_fisioterapeutas.fisioterapeuta" => $id), "whereNot" => array("agenda.id" => $dadosIn["id"])));
                 if ($quantidadeCompromissos > 0) {
                     $mensagens[] = "Já existe um compromisso para " . $nome . " nesta mesma data e horário";
                 }
             }
             if (count($mensagens) > 0) {
                 throw new Exception(implode('<br />', $mensagens));
             }
             if ($dadosIn["id"] == 0) {
                 $dadosIn["timestampC"] = time();
                 $dadosIn["dataC"] = date('d/m/Y H:i:s', $dadosIn["timestampC"]);
             }
             $dadosIn = retiraDoArray(array("fisioterapeutas"), $dadosIn);
             list($dadosIn["dia"], $dadosIn["mes"], $dadosIn["ano"]) = explode("/", $dadosIn["data"]);
             $dadosIn = $this->dao->salva($conexao, "agenda", $dadosIn);
             foreach ($idsFisioterapeutas as $id) {
                 $this->dao->salva($conexao, "agenda_fisioterapeutas", array("id" => 0, "compromisso" => $dadosIn["id"], "fisioterapeuta" => $id));
             }
             $conexao->commit();
             setMensagem("info", "Compromisso do dia " . desconverteData($dadosIn["data"]) . " às " . $dadosIn["hora"] . " cadastrado [" . $paciente["nome"] . "]");
             Application::redirect("?modulo=agenda&acao=cadastrar");
             exit;
         }
     } catch (Exception $e) {
         $conexao->rollback();
         setMensagem("error", $e->getMessage());
         if ($redirecionar != NULL) {
             Application::redirect($redirecionar);
             exit;
         }
     }
     $conexao->disconnect();
     $view = new View($_GET["modulo"], "painel", "novo.phtml");
     $view->setParams(array("title" => getTitulo($breadcrumbs), "breadcrumbs" => $breadcrumbs, "compromisso" => $dados, "pacientes" => implode(",", $pacientesArr), "fisioterapeutas" => $fisioterapeutas));
     $view->showContents();
 }
 public function fichaAction()
 {
     try {
         $conexao = $this->conexao->getConexao();
         $redirecionar = "?modulo=pacientes";
         $dados = $this->dao->findByPk($conexao, "pacientes", getVariavel("id"));
         $atendimento = $this->dao->find($conexao, "atendimentos", array("where" => array("paciente" => $dados["id"])));
         if (count($atendimento) == 0) {
             $atendimento = inicializaDados(new Atendimento());
         }
         $f = new Ficha();
         $f->AddPage();
         $f->setTextColor(0, 0, 0);
         $f->setY(38);
         $f->setX(30);
         $f->SetFont('Helvetica', 'B', 12);
         $f->SetFont('Helvetica', 'B', 11);
         $f->Cell(0, 0, utf8_decode('FICHA DO PACIENTE'));
         $f->setY(48);
         $f->setX(30);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('IDENTIFICAÇÃO'));
         $f->setY($f->getY() + 6);
         $f->setX(30);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('NOME'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(31);
         $f->Cell(105, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(30);
         $f->Cell(0, 0, utf8_decode($dados["nome"]));
         $f->setY($f->getY() - 4);
         $f->setX(138);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('IDADE'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(138);
         $f->Cell(17, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(138);
         $f->Cell(0, 0, utf8_decode($dados["idade"]) . " ano(s)");
         $f->setY($f->getY() - 4);
         $f->setX(156);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('CPF'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(157);
         $f->Cell(36, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(156);
         $f->Cell(0, 0, utf8_decode($dados["cpf"]));
         $f->setY($f->getY() + 6);
         $f->setX(30);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('DATA DE NASCIMENTO'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(31);
         $f->Cell(40, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(30);
         $f->Cell(0, 0, $dados["dataNascimento"]);
         $f->setY($f->getY() - 4);
         $f->setX(72);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('SEXO'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(73);
         $f->Cell(40, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(72);
         $f->Cell(0, 0, utf8_decode($dados["sexo"]));
         $f->setY($f->getY() - 4);
         $f->setX(114);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('ESTADO CIVIL'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(115);
         $f->Cell(78, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(114);
         $f->Cell(0, 0, utf8_decode($dados["estadoCivil"]));
         $f->setY($f->getY() + 6);
         $f->setX(30);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('CEP'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(31);
         $f->Cell(40, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(30);
         $f->Cell(0, 0, utf8_decode($dados["cep"]));
         $f->setY($f->getY() - 4);
         $f->setX(72);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('ENDEREÇO/Nº/COMPLEMENTO'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(73);
         $f->Cell(120, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(72);
         $endereco = $dados["endereco"];
         if (!empty($dados["numero"])) {
             $endereco .= ", " . $dados["numero"];
         }
         if (!empty($dados["complemento"])) {
             $endereco .= " " . $dados["complemento"];
         }
         $f->Cell(0, 0, utf8_decode($endereco));
         $f->setY($f->getY() + 6);
         $f->setX(30);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('BAIRRO'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(31);
         $f->Cell(82, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(30);
         $f->Cell(0, 0, utf8_decode($dados["bairro"]));
         $f->setY($f->getY() - 4);
         $f->setX(114);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('CIDADE'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(115);
         $f->Cell(78, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(114);
         $f->Cell(0, 0, utf8_decode($dados["cidade"] . " (" . $dados["uf"] . ")"));
         $f->setY($f->getY() + 6);
         $f->setX(30);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('TELEF. CELULAR'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(31);
         $f->Cell(38, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(30);
         $f->Cell(0, 0, utf8_decode($dados["telefoneCelular"]));
         $f->setY($f->getY() - 4);
         $f->setX(71);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('TELEF. RESIDENCIAL'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(72);
         $f->Cell(38, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(71);
         $f->Cell(0, 0, utf8_decode($dados["telefoneResidencial"]));
         $f->setY($f->getY() + 6);
         $f->setX(30);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('E-MAIL'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(31);
         $f->Cell(81, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(30);
         $f->Cell(0, 0, utf8_decode($dados["email"]));
         $f->setY($f->getY() - 4);
         $f->setX(113);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('PROFISSÃO'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(114);
         $f->Cell(78, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(113);
         $f->Cell(0, 0, utf8_decode($dados["profissao"]));
         $f->setY($f->getY() + 6);
         $f->setX(30);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('TRATAMENTOS'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(31);
         $f->Cell(161, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(30);
         $f->Cell(0, 0, utf8_decode(Paciente::getTratamentos($dados["tratamentos"])));
         $f->setY($f->getY() + 6);
         $f->setX(30);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('ALTURA'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(31);
         $f->Cell(13, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(30);
         $f->Cell(0, 0, $atendimento["altura"]);
         $f->setY($f->getY() - 4);
         $f->setX(45);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('PESO'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(46);
         $f->Cell(13, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(45);
         $f->Cell(0, 0, utf8_decode($atendimento["peso"]));
         $f->setY($f->getY() - 4);
         $f->setX(60);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('IMC'));
         $f->SetFont('Helvetica', '', 9);
         $f->setY($f->getY() + 6);
         $f->setX(61);
         $f->Cell(13, 0.1, '', 0, 0, 0, true, '');
         $f->setY($f->getY() - 2);
         $f->setX(60);
         $f->Cell(0, 0, utf8_decode($atendimento["imc"]));
         $f->setY($f->getY() + 8);
         $f->setX(30);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('HISTÓRIA DA DOENÇA ATUAL'));
         $f->SetFont('Helvetica', '', 9);
         $f->setX(31);
         $f->setY($f->getY() + 2);
         $f->setX(30);
         $f->MultiCell(0, 5, empty($atendimento["hda"]) ? "Nada registrado" : strip_tags($atendimento["hda"]));
         $f->setY($f->getY() + 6);
         $f->setX(30);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('AVALIAÇÃO POSTURAL'));
         $f->SetFont('Helvetica', '', 9);
         $f->setX(31);
         $f->setY($f->getY() + 2);
         $f->setX(30);
         $f->MultiCell(0, 5, empty($atendimento["avaliacaoPostural"]) ? "Nada registrado" : strip_tags($atendimento["avaliacaoPostural"]));
         $f->setY($f->getY() + 6);
         $f->setX(30);
         $f->SetFont('Helvetica', 'B', 10);
         $f->Cell(0, 0, utf8_decode('EVOLUÇÃO'));
         $f->SetFont('Helvetica', '', 9);
         $f->setX(31);
         $f->setY($f->getY() + 2);
         $f->setX(30);
         $f->MultiCell(0, 5, empty($atendimento["evolucao"]) ? "Nada registrado" : strip_tags($atendimento["evolucao"]));
         $f->output();
     } catch (Exception $e) {
     }
 }
 public function cadastrarAction()
 {
     try {
         $conexao = $this->conexao->getConexao();
         $redirecionar = NULL;
         $breadcrumbs = array();
         $breadcrumbs[] = array("Usuários" => "?modulo=" . $_GET["modulo"]);
         $dados = inicializaDados(new Usuario());
         $permissoes = $this->dao->findAll($conexao, "permissoes");
         if (isset($_GET["id"])) {
             //if (!temPermissao(array('usuarios:visualizarDados'), $_SESSION['permissoes'])) {
             //	throw new Exception("Você não tem permissão para visualizar dados de usuarios");
             //}
             $id = (int) $_GET["id"];
             $dados = $this->dao->findByPk($conexao, "usuarios", $id);
             $dados["diasAtendimento"] = explode(",", $dados["diasAtendimento"]);
             $senha = $dados["senha"];
             // desconverte as datas
             $breadcrumbs[] = array("Atualizar" => "");
             $acao = "editar";
         } else {
             $breadcrumbs[] = array("Cadastrar" => "");
             $acao = "novo";
         }
         if (count($_POST) > 0) {
             $dados = $_POST["Usuario"];
             $obrigatorios = array("nome" => array("tipo" => "input", "nome" => "Nome"), "login" => array("tipo" => "input", "nome" => "Login"), "permissao" => array("tipo" => "select", "nome" => "Permissão"));
             // A senha só será obrigatória quando for cadastro de usuários novos
             // Em atualizações não é necessário informar
             if ($dados["id"] == 0) {
                 $obrigatorios["senha"] = array("tipo" => "input", "nome" => "Senha");
             }
             $mensagem = validaPost($obrigatorios, $dados);
             if (!empty($mensagem)) {
                 throw new Exception($mensagem);
             }
             if ($dados["id"] == 0) {
                 $dados["senha"] = md5($dados["senha"]);
                 $dados["timestamp"] = time();
                 $dados["data"] = date('d/m/Y H:i:s', $dados["timestamp"]);
             } else {
                 if ($dados["senha"] == "") {
                     $dados["senha"] = $senha;
                 } else {
                     $dados["senha"] = md5($dados["senha"]);
                 }
             }
             $dados["diasAtendimento"] = implode(",", $dados["diasAtendimento"]);
             $dados = $this->dao->salva($conexao, "usuarios", $dados);
             $conexao->commit();
             if ($acao == "novo") {
                 setMensagem("info", "Usuário cadastrado [" . $dados["nome"] . "]");
                 Application::redirect("?modulo=usuarios&acao=cadastrar");
                 exit;
             } else {
                 setMensagem("info", "Usuário atualizado [" . $dados["nome"] . "]");
                 Application::redirect("?modulo=usuarios");
                 exit;
             }
         }
     } catch (Exception $e) {
         $conexao->rollback();
         setMensagem("error", $e->getMessage());
         if ($redirecionar != NULL) {
             Application::redirect($redirecionar);
             exit;
         }
     }
     $conexao->disconnect();
     $view = new View($_GET['modulo'], "painel", "novo.phtml");
     $view->setParams(array("title" => getTitulo($breadcrumbs), "breadcrumbs" => $breadcrumbs, "usuario" => $dados, "permissoes" => $permissoes));
     $view->showContents();
 }