示例#1
0
 /**
  * Método que gera um select genérico para os métodos de listagem geral
  * 
  * @param Filtros $filtros Objeto do sistema de filtros
  * 
  * @return Select Um objeto genérico contendo uma consulta base para os métodos de listagem
  */
 protected function listarTodosBase(Filtros $filtros)
 {
     $select = $this->select();
     //Filtrando
     $where = "";
     $filUnidade = array("unidade", "ensino", "serie", "turma");
     //        if ($filtros->issetGet($filUnidade, false)) {
     $select->columns(array("pk_turma"))->join("public.materia", array("fk_materia_mae" => "pk_materia_mae"))->join("public.materia_vin", array("fk_materia" => "pk_materia"))->join("public.serie", array("pk_serie" => "public.materia_vin.fk_serie"))->join("public.turma", array("fk_serie" => "pk_serie"));
     //        }
     if ($filtros->issetGet("unidade")) {
         $this->defWhere($where, "fk_unidade", $filtros->get("unidade"));
     }
     if ($filtros->issetGet("ensino")) {
         $this->defWhere($where, "ensino", $filtros->get("ensino"));
     }
     if ($filtros->issetGet("serie")) {
         $this->defWhere($where, "pk_serie", $filtros->get("serie"));
     }
     if ($filtros->issetGet("turma")) {
         $this->defWhere($where, "pk_turma", $filtros->get("turma"));
     }
     if ($filtros->issetGet("area_da_natureza")) {
         $this->defWhere($where, "pk_area", $filtros->get("area_da_natureza"));
     }
     return $select->where($where);
 }
示例#2
0
 /**
  * Método que retorna todos os capítulos cadastrados de acordo com o filtro informado
  * @param Filtros $filtros Objeto do sistema de filtros
  * @return ResultSetHydrator Objeto contendo a resposta da consulta
  */
 public function listarTodos(Filtros $filtros)
 {
     $where = array("ano" => $this->anoLetivo);
     //Filtrando
     if ($filtros->issetGet("livro")) {
         $where["pk_livro"] = $filtros->get("livro");
     }
     if ($filtros->issetGet("disciplina")) {
         $where["pk_materia"] = $filtros->get("disciplina");
     }
     //Realizando a consulta
     return $this->tg->selectObj($this->select()->distinct("pk_capitulo")->where($where));
 }
 /**
  * Método que lista todos os dados de acompanhamento.
  *
  * @param Filtros $filtros Objeto do sistema de filtros
  * 
  * @return ResultSetHydrator Um objeto contendo a resposta da consulta
  */
 public function listarTodos(Filtros $filtros)
 {
     $where = "1=1 ";
     $t = $this->tg->getTabela();
     //Filtrando
     if ($filtros->getInstance("periodo") instanceof Periodo) {
         $where .= $filtros->issetGet("de") ? "and {$t}.data_aula>={$filtros->get("de")->format(Date::FORMAT_SQL_DATE)} " : "";
         $where .= $filtros->issetGet("ate") ? "and {$t}.data_aula<={$filtros->get("ate")->format(Date::FORMAT_SQL_DATE)} " : "";
     } else {
         $where .= "and extract(year from {$t}.data_aula)={$this->anoLetivo} ";
     }
     if ($filtros->issetGet("turma")) {
         $where .= "and pk_turma={$filtros->get("turma")}";
     }
     return $this->tg->selectObj($this->select()->where($where)->distinct("pk_acompanhamento"));
 }
示例#4
0
 /**
  * Método que lista todos os subtipos FAP
  * 
  * @param Filtros $filtros Objeto do sistema de filtros
  * 
  * @return ResultSetHydrator Retorna um objeto contendo a resposat da consulta
  */
 public function listarTodos(Filtros $filtros)
 {
     $select = $this->select();
     if ($filtros->issetVar("tipo_fap")) {
         $select->where("pk_fap_tipo={$filtros->get("tipo_fap")}");
     }
     return $this->tg->selectObj($select);
 }
示例#5
0
 /**
  * Método que retorna todos os subtipos AFA de acordo com os 
  * filtros informados.
  *
  * @param Filtros $filtros Objeto do sistema de filtros
  *
  * @return ResultSetHydrator Objeto contendo o resultado da consulta
  */
 public function listarTodos(Filtros $filtros)
 {
     $select = $this->select();
     if ($filtros->issetGet('tipo_afa')) {
         $select->where(array('pk_afa_tipo_anotacao' => $filtros->get('tipo_afa')));
     }
     $this->defColInteger(array('pk_afa_tipo_anotacao'));
     return $this->tg->selectObj($select);
 }
示例#6
0
 /**
  * Metodo que retorna todos os tipos de registros cadastrados
  * @param Filtros $filtros Objeto do sistema de filtros
  * @return ResultSetHydrator Um objeto contendo a resposta da consulta
  */
 public function listarTodos(Filtros $filtros)
 {
     $select = $this->select();
     if ($filtros->issetGet("tipo_afa")) {
         $select->where(array("pk_afa_tipo_anotacao" => $filtros->get("tipo_afa")));
     } else {
         $where = "(pk_afa_tipo_anotacao=" . Tipo::TIPO_POSITIVO . " ";
         $where .= "or pk_afa_tipo_anotacao=" . Tipo::TIPO_NEGATIVO . ") ";
         $select = $this->select()->where($where);
     }
     return $this->tg->selectObj($select->order("afa_tipo_anotacao_nome", Order::DSC));
 }
示例#7
0
 /**
  * Método que lista todas as turmas associadas ao coordenador informado
  * 
  * @param Coordenador $coordenador O coordenador usado como filtros
  * @param Filtros $filtros Objeto do sistema de filtros
  * 
  * @return ResultSetHydrator Um objeto contendo as turmas encontradas
  */
 public function deCoordenador(Coordenador $coordenador, 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->join("public.turma_vin", array("fk_turma" => "pk_turma"))->join("public.coordenacao", array("pk_coordenacao" => "public.turma_vin.fk_coordenacao"))->join("public.coordenacao_vin", array("fk_coordenacao" => "pk_coordenacao"))->join("public.usuario_tipo_vin", array("pk_usuario_tipo_vin" => "public.coordenacao_vin.fk_usuario_tipo_vin"))->where("fk_usuario={$coordenador->getId()}")->order("turma_nome"));
 }
示例#8
0
 /**
  * Método que gera uma busca basica generica para as diversas listagens
  * 
  * @param Filtros $filtros Objeto do sistema de filtros
  * 
  * @return Select
  */
 protected function listarTodosBase(Filtros $filtros)
 {
     $where = "";
     $select = $this->select()->join("public.turma_vin", array("fk_coordenacao" => "pk_coordenacao"))->join('public.turma', array('pk_turma' => "public.turma_vin.fk_turma"))->join('public.serie', array('pk_serie' => 'public.turma.fk_serie'))->join('public.ensinos', array('pk_ensino' => 'public.serie.ensino'));
     //Definindo os filtros especificos
     if ($filtros->issetVar('unidade')) {
         $this->defWhere($where, 'pk_unidade', $filtros->read('unidade'));
     }
     if ($filtros->issetVar('ensino')) {
         $this->defWhere($where, 'pk_ensino', $filtros->read('ensino'));
     }
     if ($filtros->issetVar('serie')) {
         $this->defWhere($where, 'pk_serie', $filtros->read('serie'));
     }
     if ($filtros->issetVar('turma')) {
         $this->defWhere($where, 'pk_turma', $filtros->read('turma'));
     }
     if ($filtros->issetGet("funcao_coordenador")) {
         $this->defWhere($where, "public.usuario_coordenador.tipo", $filtros->get("funcao_coordenador"));
     }
     return $select->where($where);
 }
示例#9
0
 /**
  * Método que retorna os ensinos associados ao professor informado
  * 
  * @param Professor $professor O professor usado como filtro
  * @param Filtros $filtros Objeto do sistema de filtros
  * 
  * @return ResultSetHydrator
  */
 public function deProfessor(Professor $professor, Filtros $filtros)
 {
     $where = "public.turma.ano={$this->anoLetivo} " . "and public.usuario_professor.fk_usuario={$professor->getId()}";
     $selectTemp = $this->select()->join("public.grade", array("fk_turma" => "pk_turma"))->join("public.usuario_professor", array("pk_usuario_professor" => "public.grade.fk_usuario_professor"));
     if ($filtros->issetVar("unidade")) {
         $where .= "and pk_unidade={$filtros->get("unidade")} ";
     }
     $select = new Select(array("ensinos" => $selectTemp->where($where)->order("nome_ensino")));
     return $this->tg->selectObj($select->distinct("pk_ensino"));
 }
示例#10
0
 /**
  * Método que lista todas as questões de acordo com os filtros informados.
  *
  * @param Filtros $filtros Objeto do sistema de filtros
  *
  * @return ResultSetHydrator Um objeto contendo os dados retornados da consulta
  */
 public function listarTodos(Filtros $filtros)
 {
     $where = array();
     //Filtrando
     if ($filtros->issetGet('tipo_questao')) {
         $where['questao_tipo'] = $filtros->get('tipo_questao');
     }
     if ($filtros->issetGet('disciplina')) {
         $where['fk_materia'] = $filtros->get('disciplina');
     }
     //Listando
     return $this->tg->selectObj($this->select()->distinct('pk_questao')->order('pk_questao', Order::DSC)->where($where));
 }
示例#11
0
 /**
  * Lista todas as disciplinas associadas a um determinado professor.
  *
  * @param Professor $professor
  * @param Filtros   $filtros
  */
 public function deProfessor(Professor $professor, Filtros $filtros)
 {
     $select = $this->select()->distinct(array('pk_materia'))->join('public.grade', array('fk_materia_vin' => 'pk_materia_vin'))->join('public.usuario_professor', array('pk_usuario_professor' => 'fk_usuario_professor'));
     //Definições de filtragem
     $where = array('fk_usuario' => $professor->getId());
     $filUnidade = array('unidade', 'ensino', 'serie', 'turma');
     $filLivro = array('livro');
     //Configurando os filtros do pacote Unidade
     if ($filtros->issetGet($filUnidade, false)) {
         $select->join('public.turma', array('fk_serie' => 'public.materia_vin.fk_serie'))->join('public.unidade', array('pk_unidade' => 'public.turma.fk_unidade'))->join('public.serie', array('pk_serie' => 'public.turma.fk_serie'))->join('public.ensinos', array('public.serie.ensino' => 'pk_ensino'));
     }
     //Configurando os filtros do pacote Livro
     if ($filtros->issetGet($filLivro, false)) {
         $select->join('apostilas.capitulo', array('fk_materia_vin' => 'pk_materia_vin'));
     }
     //Filtrando
     if ($filtros->issetGet('unidade')) {
         $where['pk_unidade'] = $filtros->get('unidade');
     }
     if ($filtros->issetGet('ensino')) {
         $where['pk_ensino'] = $filtros->get('ensino');
     }
     if ($filtros->issetGet('serie')) {
         $where['pk_serie'] = $filtros->get('serie');
     }
     if ($filtros->issetGet('turma')) {
         $where['pk_turma'] = $filtros->get('turma');
     }
     if ($filtros->issetGet('grupo')) {
         $where['pk_materia_mae'] = $filtros->get('grupo');
     }
     if ($filtros->issetGet('area_da_natureza')) {
         $where['pk_area'] = $filtros->get('area_da_natureza');
     }
     if ($filtros->issetGet('livro')) {
         $where['fk_livro'] = $filtros->get('livro');
     }
     //Mapeando as colunas da filtragem
     $this->defColInteger(array_keys($where));
     //Realizando a consulta
     return $this->tg->selectObj($select->where($where));
 }
示例#12
0
 /**
  * Método que retorna todos os registros do professor informado
  * 
  * @param Professor $professor O professor alvo dos registros
  * @param Filtros $filtros Objeto do sistema de filtros
  * 
  * @return ResultSetHydrator Um objeto contendo a resposta da consulta
  */
 public function deProfessor(Professor $professor, Filtros $filtros)
 {
     $where = "{$this->tabela}.fk_usuario_professor = {$professor->getIdEspecifico()} ";
     $subSelect = $this->select()->distinct("pk_fap_registro");
     //Filtrando pro tipo e subtipo
     if ($filtros->issetGet("tipo_fap")) {
         $where .= "and pk_fap_tipo = {$filtros->get("tipo_fap")} ";
     }
     if ($filtros->issetGet("subtipo_fap")) {
         $where .= "and pk_fap_subtipo = {$filtros->get("subtipo_fap")} ";
     }
     //Filtrando por periodo
     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);
     }
     $this->filtrosPeriodo($where, $filtros);
     $select = new Select(array("fap" => $subSelect->where($where)));
     return $this->tg->selectObj($select->order(array("fap_registro_data_evento", "pk_fap_registro"), Order::DSC));
 }
示例#13
0
 /**
  * Método que lista os anexos cadastrados
  * @param Filtros $filtros Objeto do sistema de filtros
  * @return ResultSetHydrator Um objeto contendo os anexos encontrados
  */
 public function listarTodos(Filtros $filtros)
 {
     $select = $this->select()->distinct("pk_anexo");
     //Filtrando o conteúdo
     if ($filtros->issetGet(array("livro", "capitulo", "topico"))) {
         $select->join("apostilas.anexos_vin", array("fk_anexo" => "pk_anexo"));
         $where = array();
         if ($filtros->issetGet("livro")) {
             $select->join("apostilas.capitulo", array("pk_capitulo" => "fk_capitulo"));
             $where["fk_livro"] = $filtros->get("livro");
         }
         if ($filtros->issetGet("capitulo")) {
             $where["fk_capitulo"] = $filtros->get("capitulo");
         }
         if ($filtros->issetGet("topico")) {
             $where["fk_conteudo"] = $filtros->get("topico");
         }
         $this->defColInteger(array_keys($where));
         $select->where($where);
     }
     //Retornando
     return $this->tg->selectObj($select);
 }
示例#14
0
 /**
  * Método que lista todas as séries associadas ao coordenador informado
  * 
  * @param Coordenador $coordenador O coordenador usado como filtros
  * @param Filtros $filtros Objeto do sistema de filtros
  * 
  * @return ResultSetHydrator Um objeto contendo as séries encontradas
  */
 public function deCoordenador(Coordenador $coordenador, Filtros $filtros)
 {
     $where = "public.turma.ano={$this->anoLetivo} ";
     $selectTemp = $this->select();
     if ($filtros->issetVar("unidade")) {
         $where .= "and pk_unidade={$filtros->get("unidade")} ";
     }
     if ($filtros->issetVar("ensino")) {
         $where .= "and pk_ensino={$filtros->get("ensino")} ";
     }
     $sqlTurma = new SqlTurma();
     $select = new Select(array("series" => $selectTemp->import($sqlTurma->select(), array("colunas"))->where($where)->order("serie_nome")));
     return $this->tg->selectObj($select->join("public.turma_vin", array("fk_turma" => "pk_turma"))->join("public.coordenacao", array("pk_coordenacao" => "public.turma_vin.fk_coordenacao"))->join("public.coordenacao_vin", array("fk_coordenacao" => "pk_coordenacao"))->join("public.usuario_tipo_vin", array("pk_usuario_tipo_vin" => "public.coordenacao_vin.fk_usuario_tipo_vin"))->where("fk_usuario={$coordenador->getId()}")->distinct("pk_serie"));
 }