/** * Método que retorna uma consulta genérica para uso da classe * * @return Select */ public function select() { //Consultas internas $selAfaT = "select count(pk_afa_conceito_aluno) " . "from afa.afa_conceito_aluno " . "inner join afa.afa_subtipo_anotacao on " . "pk_afa_subtipo_anotacao=fk_afa_subtipo_anotacao " . "inner join public.usuario_aluno " . "on pk_usuario_aluno=fk_usuario_aluno " . "where fk_usuario=pk_usuario and fk_afa_tipo_anotacao="; $selAfaS = "select count(pk_afa_conceito_aluno) " . "from afa.afa_conceito_aluno " . "inner join public.usuario_aluno " . "on pk_usuario_aluno=fk_usuario_aluno " . "where fk_usuario=pk_usuario and fk_afa_subtipo_anotacao="; $select = new Select(); return parent::select()->columns(array("unidade" => "(select fk_unidade from public.turma " . "where pk_turma=public.usuario_aluno.fk_turma limit 1)", "in" => $select->reset()->columns("media_aluno")->from("mestre.medias_alunos")->where("media_aluno<>-1 " . "and mat_alumat=public.usuario_aluno.matricula " . "and mestre.medias_alunos.ano='{$this->anoLetivo}'")->order("referencia", Order::DSC)->limit(1), "if" => $select->reset()->columns("score")->from("afa.afa_conceito_aluno")->join("public.usuario_aluno", array("pk_usuario_aluno" => "fk_usuario_aluno"))->where("fk_usuario=pk_usuario")->order("pk_afa_conceito_aluno", Order::DSC)->limit(1), "afa_p" => "(" . $selAfaT . Tipo::TIPO_POSITIVO . ")", "afa_n" => "(" . $selAfaT . Tipo::TIPO_NEGATIVO . ")", "acao" => "(" . $selAfaT . Tipo::TIPO_ACAO_PEDAGOGICA_FORMATIVA . ")", "aten" => "(" . $selAfaT . Tipo::TIPO_ATENDIMENTO . ")", "falta" => "(" . $selAfaS . Subtipo::SUB_TIPO_FALTA . ")", "atraso" => "(" . $selAfaS . Subtipo::SUB_TIPO_ATRASO . ")")); }
/** * Metodo que retorna uma query básica usada para as buscas. * * @return Select Um objeto contendo uma query genérica */ public function select() { $t = $this->tg->getTabela(); $select = new Select($t); $sqlAluno = new SqlAluno(); $sqlUsuario = new SqlUsuario(); $sqlSubtipo = new SqlSubTipo(); return $select->columns(array("data_evento", "score", "obs"), "afa_conceito_aluno_")->columns(array("pk_afa_conceito_aluno", "fk_usuario_coordenador"))->columns(array("afa_conceito_aluno_alvo" => $sqlAluno->select()->columnsReset()->columns(array("usuario||','||usuario_aluno"))->where("pk_usuario_aluno=fk_usuario_aluno")->limit(1), "afa_conceito_aluno_usuario_inc" => $sqlUsuario->select()->columnsReset()->columns(array("usuario||','||funcao_usuario"))->where("pk_usuario={$this->tabela}.fk_usuario_inc")->limit(1)))->join("afa.afa_subtipo_anotacao", array("pk_afa_subtipo_anotacao" => "fk_afa_subtipo_anotacao"))->join("public.usuario_aluno", array("pk_usuario_aluno" => "fk_usuario_aluno"))->join("public.aula", array("pk_aula" => "fk_aula"), Join::LEFT_JOIN)->import($this->usrAutor())->import($sqlSubtipo->select()); }