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(); }