Example #1
0
 /**
  * Método que lista os conceitos do professor
  * @param int $pkUsuarioProfessor
  * @param int $unidade
  * @param int $ensino
  * @param int $serie
  * @param int $turma
  * @param int $area
  * @param int $frente
  * @param int $disciplina
  * @param DateInterval $periodoDe
  * @param DateTime $periodoAte
  * @param int $ano
  */
 public function listarConceitos($pkUsuarioProfessor, $unidade = FALSE, $ensino = FALSE, $serie = FALSE, $turma = FALSE, $area = FALSE, $frente = FALSE, $disciplina = FALSE, $periodoDe = FALSE, $periodoAte = FALSE, $ano = FALSE, $tipoFap = FALSE, array $order = array('fap.fap_registro.pk_fap_registro'), $oderAsc = FALSE)
 {
     if (!$this->fapRegistros instanceof fap_fap_registro) {
         throw new Exception('Invalid object: o objeto informado é inválido');
     }
     $where = 'fap.fap_registro.fk_usuario_professor=' . $pkUsuarioProfessor;
     $where .= ' and "public".usuario_tipo_vin.fk_tipo_usuario!=11';
     $where .= is_int($unidade) ? ' and "public".turma.fk_unidade=' . $unidade : '';
     $where .= is_int($ensino) ? ' and "public".serie.ensino=' . $ensino : '';
     $where .= is_int($serie) ? ' and "public".serie.pk_serie=' . $serie : '';
     $where .= is_int($turma) ? ' and "public".turma.pk_turma=' . $turma : '';
     $where .= is_int($area) ? ' and "public".materia_mae.are=' . $area : '';
     $where .= is_int($disciplina) ? ' and "public".materia.pk_materia=' . $disciplina : '';
     $where .= Data::validar($periodoDe, "d/m/Y") ? ' and fap.fap_registro.data_evento>\'' . Data::brasilParaSql($periodoDe) . '\'' : '';
     $where .= Data::validar($periodoAte, "d/m/Y") ? ' and fap.fap_registro.data_evento<\'' . Data::brasilParaSql($periodoAte) . '\'' : '';
     $where .= !Data::validar($periodoDe, "d/m/Y") && !Data::validar($periodoAte, "d/m/Y") ? ' and extract(year from fap.fap_registro.data_evento)=' . (Data::validar($ano, "Y") ? $ano : Loader::data("config", "site", "ano_letivo")) : '';
     $where .= is_int($tipoFap) ? ' and fap.fap_tipo.pk_fap_tipo=' . $tipoFap : '';
     $inner = 'inner join fap.fap_subtipo on fap.fap_subtipo.pk_fap_subtipo=fap.fap_registro.fk_fap_subtipo ';
     $inner .= 'inner join fap.fap_tipo on fap.fap_tipo.pk_fap_tipo=fap.fap_subtipo.fk_fap_tipo ';
     $inner .= 'inner join "public".usuario on "public".usuario.pk_usuario=fap.fap_registro.fk_usuario_inc ';
     $inner .= 'inner join "public".usuario_tipo_vin on "public".usuario_tipo_vin.fk_usuario="public".usuario.pk_usuario ';
     $inner .= 'inner join "public".tipo_usuario on "public".tipo_usuario.pk_tipo_usuario="public".usuario_tipo_vin.fk_tipo_usuario ';
     /////////////////////////
     $inner .= 'left join "public".coordenacao_vin on "public".coordenacao_vin.fk_usuario_tipo_vin="public".usuario_tipo_vin.pk_usuario_tipo_vin ';
     $inner .= 'left join "public".coordenacao on "public".coordenacao.pk_coordenacao="public".coordenacao_vin.fk_coordenacao ';
     /////////////////////Tabelas usadas para filtragem de conteúdo
     $inner .= 'left join "public".aula on "public".aula.pk_aula=fap.fap_registro.fk_aula ';
     $inner .= 'left join "public".grade on "public".grade.pk_grade="public".aula.fk_grade ';
     $inner .= 'left join "public".turma on "public".turma.pk_turma="public".grade.fk_turma ';
     $inner .= 'left join "public".serie on "public".serie.pk_serie="public".turma.fk_serie ';
     $inner .= 'left join "public".materia_vin on "public".materia_vin.pk_materia_vin="public".grade.fk_materia_vin ';
     $inner .= 'left join "public".materia on "public".materia.pk_materia="public".materia_vin.fk_materia ';
     if (is_int($frente)) {
         #?Apenas se for filtrar por materia mãe
         $where .= ' and "public".materia.fk_materia_mae=' . $frente;
         $inner .= 'left join "public".materia_mae on "public".materia_mae.pk_materia_mae=' . '"public".materia.fk_materia_mae';
     }
     $tmp = $this->fapRegistros->select($where, array(), $inner, $order, array(), 0, 0, $oderAsc);
     return $tmp;
 }