コード例 #1
0
 /**
  * Método que retorna um objeto contendo o modelo de consulta básica.
  *
  * @return Select Uma consulta básica
  */
 public function select()
 {
     $sqlTurma = new SqlTurma();
     $sqlTopico = new SqlTopico();
     $t = $this->tg->getTabela(true);
     $select = new Select();
     return $select->from($this->tg->getTabela())->columns(array("{$t}_status" => 'status', "{$t}_data_aula" => 'data_aula', '*'))->join('public.turma', array('pk_turma' => "{$this->tg->getTabela()}.fk_turma"))->import($sqlTurma->select())->join('apostilas.conteudo', array('pk_conteudo' => "{$this->tg->getTabela()}.fk_conteudo"))->import($sqlTopico->select());
 }
コード例 #2
0
 /**
  * Método que gera um Select genérico para uso interno da classe
  * 
  * @return Select Retorna um objeto contendo a base para as consultas
  */
 public function select()
 {
     $t = $this->tg->getTabela();
     $sqlUnidade = new SqlUnidade();
     $sqlSerie = new SqlSerie();
     $sqlTurma = new SqlTurma();
     $sqlUsuario = new SqlUsuario();
     $select = new Select($t);
     return $select->columns(array("pk_area_transf_dest" => "cod", "area_transf_dest_tipo" => "(case " . "when {$t}.fk_unidade!=0 then '" . Destinatario::UNIDADE . "' " . "when {$t}.fk_serie!=0 then '" . Destinatario::SERIE . "' " . "when {$t}.fk_turma!=0 then '" . Destinatario::TURMA . "' " . "else '" . Destinatario::USUARIO . "' " . "end)", "area_transf_dest_alvo" => "(case " . "when {$t}.fk_unidade!=0 " . "then ({$sqlUnidade->select()->columnsReset()->columns("unidade||''")->where("pk_unidade={$t}.fk_unidade")->limit(1)}) " . "when {$t}.fk_serie!=0 " . "then ({$sqlSerie->select()->columnsReset()->columns("serie||''")->where("pk_serie={$t}.fk_serie")->limit(1)}) " . "when {$t}.fk_turma!=0 " . "then ({$sqlTurma->select()->columnsReset()->columns("turma||''")->where("pk_turma={$t}.fk_turma")->limit(1)}) " . "else ({$sqlUsuario->select()->columnsReset()->columns("usuario||''")->where("pk_usuario={$t}.fk_usuario " . "and {$t}.fk_tipo_usuario=pk_tipo_usuario")->limit(1)}) " . "end)"));
 }
コード例 #3
0
ファイル: SqlAula.php プロジェクト: andersongimino/area51
 /**
  * Método que gera uma consulta básica para uso interno da classe
  * 
  * @return Select
  */
 public function select()
 {
     $select = new Select($this->tg->getTabela());
     $sqlTurma = new SqlTurma();
     return $select->columns("pk_aula")->columns(array("aula", "obs", "data_aula"), "aula_")->import($this->usrInsert(""))->join("public.grade", array("pk_grade" => "{$this->tg->getTabela()}.fk_grade"))->join("public.turma", array("pk_turma" => "public.grade.fk_turma"))->import($sqlTurma->select());
 }
コード例 #4
0
ファイル: SqlSerie.php プロジェクト: andersongimino/area51
 /**
  * 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"));
 }