/** * Método que retorna todas as ocorrências do professor informado * * @param Professor $professor O professor alvo dos registros * @param Filtros $filtros Objeto do sistema de filtros * * @return ResultSetHydrator Objeto contendo a resposta da consulta */ public function ocrrencias(Professor $professor, Filtros $filtros) { $subSelect = $this->select()->distinct(array("pk_fap_registro")); $where = "{$this->tabela}.fk_usuario_professor={$professor->getIdEspecifico()} " . " and (pk_fap_tipo!=" . Tipo::TIPO_ATENDIMENTO . ") "; //Filtrando por periodo $this->filtrosPeriodo($where, $filtros); if ($filtros->issetVar(array('unidade', 'ensino', 'serie', 'turma'))) { $subSelect->join("public.aula", array("pk_aula" => "{$this->tabela}.fk_aula"))->join("public.grade", array("pk_grade" => "public.aula.fk_grade")); $this->filtrosUEST($subSelect, $where, $filtros); } //Montando a consulta principal $select = new Select(array("fap" => $subSelect->where($where))); return $this->tg->selectObj($select->order(array("fap_registro_data_evento", "pk_fap_registro"), Order::DSC)); }
/** * Método que lista todas as anotações feitas pelo professor informado. * * @param Professor $professor * @param Filtros $filtros * * @return ResultSetHydrator Um objeto contendo a resposta da consulta */ public function deProfessor(Professor $professor, Filtros $filtros) { $where = "public.aula.fk_usuario_professor={$professor->getIdEspecifico()} "; $select = $this->select()->distinct('pk_afa_conceito_aluno'); $this->filtrosPeriodo($where, $filtros); if ($filtros->issetGet("unidade", "ensino", "serie", "turma")) { $select->join("public.aula", array("pk_aula" => "fk_aula"))->join("public.grade", array("pk_grade" => "fk_grade")); $this->filtrosUEST($select, $where, $filtros); } $this->filtrosTipoSub($where, $filtros); $selOrdenar = new Select(array('afa' => $select->where($where))); return $this->tg->selectObj($selOrdenar->order(array('afa_conceito_aluno_data_evento', 'pk_afa_conceito_aluno'), Order::DSC)); }