/** * 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")); }
/** * Método que retorna todas as disciplinas existentes em um determinado livro. * * @param Livro $livro O livro alvo da busca * * @return ResultSetHydrator Um objeto contendo os dados do retorno da consulta */ public function deLivro(Livro $livro) { $select = new Select(); $this->tg->defineColuna('fk_livro', $this->colInt); return $this->tg->selectObj($select->join('public.materia_vin', array('fk_materia' => 'pk_materia'))->join('apostilas.capitulo', array('fk_materia_vin' => 'pk_materia_vin'))->where(array('fk_livro' => $livro->getId()))->order("materia_nome")); }
/** * Método que retorna todas as disciplinas existentes em um determinado livro * @param Livro $livro O livro alvo da busca * @return ResultSetHydrator Um objeto contendo os dados do retorno da consulta */ public function deLivro(Livro $livro) { $select = new Select(); $this->tableGatway->defineColuna("fk_livro", new ResultSetMap(Column::INTEGER)); return $this->tableGatway->selectObj($select->join("public.materia_vin", array("pk_materia" => "fk_materia"))->join("apostilas.capitulo", array("pk_materia_vin" => "fk_materia_vin"))->where(array("fk_livro" => $livro->getId()))); }