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