Exemplo n.º 1
0
 /**
  * Método que edita o vídeo de uma determinada disciplina.
  * @param Disciplina $disciplina A disciplina a ter o vídeo editado
  * @return boolean Retorna TRUE em caso de sucesso ou FALSE em caso de erro
  */
 public function editarVideo(Disciplina $disciplina)
 {
     if (!$disciplina->getId()) {
         throw new \Kernel\Exception\DisciplinaException("A disciplina informada não é válida");
     }
     return $this->tableGatway->update(array("pk_materia" => $disciplina->getId()), array("materia_video_apresentacao" => $disciplina->getVideoApresentacao()));
 }
Exemplo n.º 2
0
 /**
  * Método que exibe o conteúdo ministrado no dia informado, da matéria informada para a turma informada.
  * Apenas conteúdo concluído
  * @param Turma $turma
  * @param string $data
  * @param Disciplina $materia
  */
 public function conteudosDoDia(Turma $turma, $data, $materia = false)
 {
     $query = "select apostilas.acompanhamento.fk_conteudo, fk_materia " . "from apostilas.acompanhamento " . "inner join apostilas.conteudo on pk_conteudo=fk_conteudo " . "inner join apostilas.capitulo on pk_capitulo=fk_capitulo " . "inner join public.materia_vin on pk_materia_vin=fk_materia_vin " . "WHERE apostilas.acompanhamento.data_aula='{$data}' " . "and fk_materia={$materia->getId()} " . "and apostilas.acompanhamento.fk_turma={$turma->getId()} " . "and apostilas.acompanhamento.status=" . Conteudos::STATUS_ACOMPANAHMENTO_CONCLUIDO;
     $prepare = $this->tablegateway->getPDO()->query($query);
     $prepare->execute();
     return $prepare->fetchAll(PDO::FETCH_CLASS);
 }
 /**
  * Método que retorna um conteúdo especifico de uma série e disciplina definida.
  * 
  * @param Serie      $serie      A série associada ao conteúdo
  * @param Disciplina $disciplina A disciplina associada ao conteúdo
  * 
  * @return ConteudoDirecionado Um objeto contendo os dados do conteúdo direcionado
  */
 public function deSerieDisciplina(Serie $serie, Disciplina $disciplina)
 {
     $this->defColInteger(array("pk_serie", "pk_materia"));
     $return = $this->tg->selectObj($this->select()->where(array("pk_serie" => $serie->getId(), "pk_materia" => $disciplina->getId()))->limit(1));
     if (!$return->rowCount()) {
         throw new UnidadeException("Não foi encontrada uma série " . "associada a disciplina informada");
     }
     return $return->fetch();
 }
Exemplo n.º 4
0
 /**
  * Método que retorna um livro baseado no id e disciplina informados.
  *
  * @param int        $livro      O código do livro
  * @param Disciplina $disciplina A disciplina associada ao livro
  *
  * @return Livreto Um objeto contendo os dados do livro
  */
 public function getComDisciplina($livro, Disciplina $disciplina)
 {
     if (!is_int($livro)) {
         throw new LivroException('O livro informado é inválido');
     }
     $resultSet = $this->tg->selectObj($this->select()->where(array('pk_livro' => $livro, 'pk_materia' => $disciplina->getId()))->limit(1));
     if (!$resultSet->rowCount()) {
         throw new LivroException('O livro informado não foi encontrado ' . 'ou não esta associado a disciplina informada');
     }
     return $resultSet->fetch();
 }
Exemplo n.º 5
0
 /**
  * Método que verifica se houve aula da matéria no dia informado
  * @param Turma $turma A turma a ser buscada
  * @param stdClass $materia A matéria a ser buscada
  * @param int $dia O dia a ser verificado
  */
 public function houveAulaMateria(Turma $turma, \Kernel\Modelo\Disciplina\Disciplina $materia, $dia)
 {
     $query = "select * from public.grade_horario " . "inner join public.grade on pk_grade_horario=fk_grade_horario " . "inner join public.materia_vin on pk_materia_vin=fk_materia_vin " . "where public.grade_horario.fk_turma={$turma->getId()} " . "and dia={$dia} and fk_materia={$materia->getId()} " . "limit 1";
     return (bool) $this->tableGatway->querySelect($query)->rowCount();
 }
Exemplo n.º 6
0
 /**
  * Método que retorna os conteúdos do livro informado com o seu andamento
  * @param Livro $livro O livro alvo da busca
  * @param Disciplina $disciplina A disciplina referente ao conteúdo
  * @throws \GGE\Lib\Base\Exception
  */
 public function deLivroComAcompanhamento(Livro $livro, Disciplina $disciplina)
 {
     $select = new Select();
     return $this->tableGatway->selectObj($select->distinct("sequencial_topico")->columns("*, apostilas.acompanhamento.status as topico_status, " . "data_aula as topico_data_aula ")->join("apostilas.capitulo", array("pk_capitulo" => "fk_capitulo"))->join("public.materia_vin", array("fk_materia_vin" => "pk_materia_vin"))->join("public.materia", array("pk_materia" => "fk_materia"))->join("public.materia_mae", array("pk_materia_mae" => "fk_materia_mae"))->join("public.area", array("pk_area" => "fk_area"))->join("apostilas.acompanhamento", array("pk_conteudo" => "fk_conteudo"))->where("fk_livro={$livro->getId()} " . "and pk_materia={$disciplina->getId()} " . "and (status=" . \Kernel\Modelo\Livro\Topico::STATUS_EM_ANDAMENTO . " " . "or status=" . \Kernel\Modelo\Livro\Topico::STATUS_CONCLUIDO . ") " . "and id=(select max(id) from apostilas.acompanhamento " . "where fk_conteudo=pk_conteudo and status!=" . \Kernel\Modelo\Livro\Topico::STATUS_REVISADO . ") " . "and extract(year from data_aula)=" . Loader::data("config", "site", "ano_letivo"))->order("sequencial_topico"));
 }