/** * 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)")); }
/** * Gera um select básico usado em consultas internas * @return Select Objeto genérico usado nas consultas */ public function select() { $select = new Select($this->tg->getTabela()); $sqlUnidade = new SqlUnidade(); return $select->columns(array("ensinos_nome" => "nome_ensino", "pk_ensino"))->join("public.serie", array("ensino" => "pk_ensino"))->join("public.turma", array("fk_serie" => "pk_serie"))->join("public.unidade", array("pk_unidade" => "fk_unidade"))->import($sqlUnidade->select()); }
/** * Método que retorna uma consulta básica para uso dos métodos * @return Select */ public function select() { $sqlUnidade = new SqlUnidade(); $select = new Select($this->tg->getTabela()); return $select->columns(array("ano" => "ano"), "coordenacao_")->columns(array("coordenacao_nome", "pk_coordenacao"))->join("public.unidade", array("pk_unidade" => "{$this->tg->getTabela()}.fk_unidade"))->import($sqlUnidade->select()); }