/** * Método que retorna um coordenador especifico. * * @param type $id O código do coordenador pedido * @param Coordenador $especializacao Caso seja informado, * usa como modelo para o retorno * * @return Coordenador Retorna um coordenador já preenchido */ public function getCoordenador($id, Coordenador $especializacao = null) { $sqlCoordenador = new SqlCoordenador(); if (is_null($especializacao)) { $modelo = new Coordenador(); } else { $modelo = $especializacao; } //Retornando de acordo com o usuário logado switch ($this->perfilLogado) { case Perfil::ADMIN: case Perfil::GESTOR: return $sqlCoordenador->get($id, $modelo); case Perfil::COORDENADOR: return $sqlCoordenador->get($this->idLogado, $modelo); default: throw new Exception("Você não tem acesso a este usuário"); } }
/** * Método que gera a página genérica do historico do fap * @param int $pkUsuario O código do coordenador * @param int $tipo O filtro de tipo * @param int $subtipo O filtro de subtipo */ private function historicoGeral($pkUsuario, $tipo = FALSE, $subtipo = FALSE) { try { $usr = new Usuarios(); $sqlfap = new SqlFapEqPedagogica(); //Definindo os filtros $this->initGets(array("de", "ate", "professor", "coordenador")); if (is_int($tipo)) { $this->filtro->setGet(array("tipo_fap" => $tipo)); } if (is_int($subtipo)) { $this->filtro->setGet(array("subtipo_fap" => $subtipo)); } if ($this->filtro->issetGet('coordenador')) { $sqlCoord = new SqlCoordenador(); $coordenador = $sqlCoord->get($this->filtro->get('coordenador')); } else { $coordenador = $usr->getCoordenador((int) $pkUsuario); } // $registros = $sqlfap->deCoordenador($coordenador, $this->filtro); //Passando os dados para o view $this->loadPlugin("jquery.tablesorter")->loadPlugin("conceitos")->setData("tipo", $tipo)->setData("subtipo", $subtipo)->setData("coordenador", $coordenador)->setData("registros", $registros)->printView(); } catch (SqlException $sql) { echo Javascript::alert("Ocorreu um erro interno. " . "Tente novamente mais tarde"); die(Javascript::shadowboxClose()); } catch (Exception $exc) { echo Javascript::alert($exc->getMessage()); die(Javascript::shadowboxClose()); } }
/** * Método que exibe a distribuição de atendimentos pelo soep. * * @param type $pkUsuario */ public function distribuicao_de_atendimentos_por_familiares($pkUsuario = 0) { try { $this->initGets(array('de', 'ate', 'coordenador')); $this->filtro->setGet(array('subtipo_afa' => Subtipo::SUB_TIPO_CONVERSA_FAMILIA)); $usr = new Usuarios(); $sqlAfa = new SqlAfaEqPedagogica(); $sqlResponsavel = new SqlResponsavelEqPedagogica(); // if ($this->filtro->issetGet('coordenador')) { $sqlCoord = new SqlCoordenador(); $coordenador = $sqlCoord->get($this->filtro->get('coordenador')); } else { $coordenador = $usr->getCoordenador((int) $pkUsuario); } ////////////////////////////// $responsaveis = $sqlResponsavel->deCoordenadorDistr($coordenador); ////////////////////////////// $anotacoes = $sqlAfa->deCoordenadorTemp($coordenador, $this->filtro); $this->setUserFiltros($coordenador)->setData('coordenador', $coordenador)->setData('responsaveis', $responsaveis)->setData('anotacoes', $anotacoes->fetchAll())->printView(); } catch (Exception $exc) { $this->close($exc); } }