/** * Método que retorna as mensagens do aluno informado * * @param Aluno $aluno * @param Filtros $filtros Objeto do sistema de filtros * * @return ResultSetHydrator Um objeto contendo a resposta da consulta */ public function deAluno(Aluno $aluno, Filtros $filtros) { $where = "public.usuario_aluno.fk_usuario={$aluno->getId()}"; $select = $this->select()->distinct(array("pk_area_transferencia"))->join("public.usuario_aluno", array("fk_turma" => "transf.area_transferencia_dest.fk_turma")); $this->filtrosPeriodo($where, $filtros, "data_inc"); $sel = new Select(array("mensagens" => $select->where($where))); return $this->tg->selectObj($sel->order(array("{$this->tg->getTabela(true)}_data_inc"))); }
/** * Método qutodos os professores cadastrados * @param Filtros $filtros Objeto do sistema de filtros * @return ResultSetHydrator Um objeto contendo a resposta da consulta */ public function listarTodos(Filtros $filtros) { $where = ""; $select = $this->select()->join("public.grade", array("fk_usuario_professor" => "pk_usuario_professor"))->join("public.materia_vin", array("pk_materia_vin" => "public.grade.fk_materia_vin")); $this->filtrosUEST($select, $where, $filtros); $this->filtrosAGD($select, $where, $filtros); $selOrdem = new Select(array("professores" => $select->distinct("pk_usuario")->where($where))); return $this->tg->selectObj($selOrdem->order("usuario_nome", Order::ASC)); }
/** * Método que retorna todos os registros do coordenador informado * * @param Coordenador $coordenador O coordenador autor do registro * @param Filtros $filtros Objeto do sistema de filtros * * @return ResultSetHydrator Um objeto contendo todos os registros retornados */ public function deCoordenador(Coordenador $coordenador, Filtros $filtros) { $where = "fk_usuario_inc={$coordenador->getId()} "; $this->filtrosPeriodo($where, $filtros); $this->filtrosTipoSub($where, $filtros); if ($filtros->issetGet("professor")) { $where .= "and public.usuario_professor.fk_usuario={$filtros->get("professor")} "; } $select = new Select(array("fap" => $this->select()->where($where)->distinct("pk_fap_registro"))); return $this->tg->selectObj($select->order("fap_registro_data_evento", Order::DSC)); }
/** * Método que retorna todas as turmas cadastradas * @param Filtros $filtros Objeto do sistema de filtros * @return ResultSetHydrator Um objeto contendo todas as turmas retornadas pela consulta */ public function listarTodas(Filtros $filtros) { $where = "public.turma.ano={$this->anoLetivo} " . "and public.turma.status=" . Status::ATIVO; //Filtrando if ($filtros->issetGet("unidade")) { $where .= " and pk_unidade={$filtros->get("unidade")}"; } if ($filtros->issetGet("ensino")) { $where .= " and pk_ensino={$filtros->get("ensino")}"; } if ($filtros->issetGet("serie")) { $where .= " and pk_serie={$filtros->get("serie")}"; } //Retornando a consulta $select = new Select(array("turmas" => $this->select()->distinct("pk_turma")->where($where))); return $this->tg->selectObj($select->order("turma_nome")); }
/** * Método que lista todas as funções relacionadas aos coordenadores * * @param Filtros $filtros Objeto do sistema de filtros * * @return ResultSetHydrator Um objeto contendo a resposta da consulta */ public function deCoordenadores(Filtros $filtros) { $select = new Select(array("funcoes" => $this->select()->join("public.usuario", array("fk_funcao_usuario" => "pk_funcao_usuario"))->join("public.usuario_coordenador", array("fk_usuario" => "pk_usuario"))->distinct("pk_funcao_usuario"))); return $this->tg->selectObj($select->order("funcao_usuario_nome")); }
/** * Método que retorna apenas os coordenadores com funções distintas * * @param Filtros $filtros Objeto do sistema de filtros * * @return ResultSetHydrator Um objeto contendo a resposta da consulta */ public function listarFuncoes(Filtros $filtros) { $coordenador = new Coordenador(); $select = new Select(array("tipos" => $this->listarTodosBase($filtros->dontUseVar("funcao_coordenador"))->distinct("public.usuario_coordenador.tipo"))); return $this->tg->selectObj($select->order("{$coordenador->getColunaBase()}tipo")); }
/** * Método que retorna todas as ações relacionadas ao aluno informado * @param Aluno $aluno O aluno base da consulta * @return ResultSetHydrator Um objeto contendo a resposta da consulta */ public function deAluno(Aluno $aluno) { $select = new Select(array("afa" => $this->select()->where("public.usuario_aluno.fk_usuario={$aluno->getId()} " . "and extract(year from data_anotacao)={$this->anoLetivo}")->distinct("pk_afa_conceito_aluno")->join("public.usuario_aluno", array("pk_usuario_aluno" => "{$this->tg->getTabela()}.fk_usuario_aluno")))); return $this->tg->selectObj($select->order("pk_afa_conceito_aluno", Order::DSC)); }
/** * 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)); }
/** * Metodo que lista todos os registros do aluno informado feitos pelo coordenador informado. * * @param Aluno $aluno O aluno usado como filtro * @param Filtros $filtros Objeto do sistema de filtros * * @return ResultSetHydrator Um objeto contendo a resposta da consulta * * @throws RegistrosException */ public function deAlunoCoordenador(Coordenador $coordenador, Aluno $aluno, Filtros $filtros) { if (!$aluno->getId()) { throw new RegistrosException('O aluno informado não é válido'); } $where = "public.usuario_aluno.fk_usuario={$aluno->getId()} " . "and {$this->tabela}.fk_usuario_coordenador={$coordenador->getIdEspecifico()} "; //Aplicando os filtros //-Pertiodo if ($filtros->issetVar('de')) { $where .= "and data_evento>='{$filtros->read('de')->format(Date::FORMAT_SQL_DATE)}' "; } if ($filtros->issetVar('ate')) { $where .= "and data_evento<='{$filtros->read('ate')->format(Date::FORMAT_SQL_DATE)}' "; } //-Tipo e subtipo if (!$filtros->issetVar(array('tipo_afa', 'subtipo_afa'))) { //Este trecho bloqueia a exibição de qualquer outro tipo de anotação $where .= 'and (pk_afa_tipo_anotacao=' . Tipo::TIPO_POSITIVO . ' '; $where .= 'or pk_afa_tipo_anotacao=' . Tipo::TIPO_NEGATIVO . ') '; } else { $this->filtrosTipoSub($where, $filtros); } // $select = new Select(array('afa' => $this->select()->distinct('pk_afa_conceito_aluno')->join("public.usuario_aluno", array("pk_usuario_aluno" => "{$this->tg->getTabela()}.fk_usuario_aluno"))->where($where))); return $this->tg->selectObj($select->order('afa.pk_afa_conceito_aluno', 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)); }