Beispiel #1
0
 /**
  * Método que lista todos os registros de um determinado professor
  * @param Kernel_Models_Professor $professor Objeto referente ao professor relacionado aos registros. Por padrão retorna apenas os registros do ano atual
  * @param int|array|boolean $tipo Define como filtro o tipo do registro
  * @param int|array|boolean $subTipo Define como filtro o subtipo
  * @param FiltrosSistema $filtrosSistema Sistema de filtros do sistema
  * @return PDOStatement|boolean Retorna um objeto do tipo PDOStatement contendo a resposta da consulta ou FALSE em caso de erro
  */
 public function registrosDeProfessor(Kernel_Models_Professor $professor, $tipo = FALSE, $subTipo = FALSE, FiltrosSistema $filtrosSistema = NULL)
 {
     $coordenador = new Kernel_Models_Coordenador();
     $query = "select distinct on(fap.fap_registro.pk_fap_registro) " . "fap.fap_registro.*, fap.fap_subtipo.*, fap.fap_tipo.*, " . "public.usuario.nome as nome_coordenador, " . "public.usuario_coordenador.tipo, " . "public.usuario.pk_usuario as pk_coordenador, " . "(select public.tipo_usuario.tipo_usuario_nome " . "from public.tipo_usuario " . "inner join public.usuario_tipo_vin on " . "public.usuario_tipo_vin.fk_tipo_usuario=" . "pk_tipo_usuario " . "WHERE public.usuario_tipo_vin.fk_usuario=" . "fap.fap_registro.fk_usuario_inc limit 1) " . "as tipo_usuario, " . "(select public.coordenacao.coordenacao_nome " . "from public.tipo_usuario " . "inner join public.usuario_tipo_vin on " . "public.usuario_tipo_vin.fk_tipo_usuario=pk_tipo_usuario " . "inner join public.coordenacao_vin on " . "public.coordenacao_vin.fk_usuario_tipo_vin=" . "public.usuario_tipo_vin.pk_usuario_tipo_vin " . "inner join public.coordenacao on " . "public.coordenacao.pk_coordenacao=" . "public.coordenacao_vin.fk_coordenacao " . "WHERE public.usuario_tipo_vin.fk_usuario=" . "fap.fap_registro.fk_usuario_inc limit 1) " . "as tipo_coordenacao, " . "(case ";
     //Adicionando a query todos os tipos de coordenação disponíveis
     foreach ($coordenador->getCoordTipos() as $cod => $tipoCoord) {
         $query .= "when tipo={$cod} then '{$tipoCoord}' ";
     }
     $query .= "end) as tipo_coordenador " . "from fap.fap_registro " . "inner join fap.fap_subtipo on " . "fap.fap_subtipo.pk_fap_subtipo=" . "fk_fap_subtipo " . "inner join fap.fap_tipo on " . "fap.fap_tipo.pk_fap_tipo=" . "fk_fap_tipo " . "inner join public.usuario_coordenador on " . "public.usuario_coordenador.fk_usuario=fk_usuario_inc " . "inner join public.usuario_professor on " . "public.usuario_professor.pk_usuario_professor=" . "fk_usuario_professor " . "inner join public.usuario on " . "public.usuario.pk_usuario=fk_usuario_inc ";
     $query .= "where public.usuario_professor.fk_usuario=" . $professor->getId() . " ";
     if ($filtrosSistema instanceof FiltrosSistema) {
         if ($filtrosSistema->validar(array("de")) || $filtrosSistema->validar(array("ate"))) {
             //Filtrando o periodo
             $query .= $filtrosSistema->validar(array("de")) ? "and data_evento>='" . $filtrosSistema->getDe() . "' " : "";
             $query .= $filtrosSistema->validar(array("ate")) ? "and data_evento<='" . $filtrosSistema->getAte() . "' " : "";
         } else {
             $query .= "and extract(year from data_evento)=" . Loader::data("config", "site", "ano_letivo") . " ";
         }
         $query .= $filtrosSistema->validar(array("fapTipo")) ? "and pk_fap_tipo={$filtrosSistema->getFapTipo()} " : "";
     }
     //Filtrando os valores por tipo e subtipo
     if (is_int($tipo)) {
         $query .= "and pk_fap_tipo={$tipo} ";
     } elseif (is_array($tipo)) {
         if (Arrays::checarValores($tipo, FILTER_VALIDATE_INT)) {
             $query .= "and (pk_fap_tipo=" . implode(" or pk_fap_tipo=", $tipo) . ") ";
         }
     }
     if (is_int($subTipo)) {
         $query .= "and fk_fap_subtipo={$subTipo} ";
     } elseif (is_array($subTipo)) {
         if (Arrays::checarValores($subTipo, FILTER_VALIDATE_INT)) {
             $query .= "and (fk_fap_subtipo=" . implode(" or fk_fap_subtipo=", $subTipo) . ") ";
         }
     }
     $query .= "order by(pk_fap_registro) desc";
     return $this->queryStatement($query);
 }
Beispiel #2
0
 /**
  * Método que gera o ranking de uso do afa por parte dos coordenadores
  */
 public function listar_ranking_uso_sap()
 {
     $this->loadPlugin("jquery.tablesorter");
     if (!$this->getData('mobile')) {
         $this->appendJs('https://maxcdn.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js');
     }
     $ano = filter_input(INPUT_GET, 'ano', FILTER_VALIDATE_INT);
     $coordenadores = new Kernel_Models_Coordenador();
     $afaConceitoAluno = new Kernel_Models_Afa();
     $afaConceitoAlunoTipo = new ModelBase('afa.Afa_Tipo_Anotacao');
     $afaConceitoAlunoSubT = new ModelBase("afa.afa_subtipo_anotacao");
     $colunas = array("fk_usuario_coordenador", "score", "pk_afa_subtipo_anotacao", "fk_afa_tipo_anotacao");
     $avaliacoes = $afaConceitoAluno->listarPorAno($ano, TRUE, $colunas);
     $totalAva = $avaliacoes->rowCount();
     $arrayAva = array();
     if ($totalAva) {
         while ($row = $avaliacoes->fetchObject()) {
             Matematica::incrementoIsset($arrayAva[$row->fk_usuario_coordenador], 'qt');
             Matematica::incrementoIsset($arrayAva[$row->fk_usuario_coordenador]['tipo'], $row->fk_afa_tipo_anotacao);
             Matematica::incrementoIsset($arrayAva[$row->fk_usuario_coordenador]['sub'], $row->pk_afa_subtipo_anotacao);
         }
     }
     $this->setData('afaConceitosTipos', $afaConceitoAlunoTipo->select("", array("*"), "", array('afa.afa_tipo_anotacao.afa_tipo_anotacao_nome'), array(), 0, 0, 0)->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_CLASS))->setData('afaConceitosSubTipos', $afaConceitoAlunoSubT->select()->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_CLASS))->setData('coordAtivos', $coordenadores->listarAtivos()->fetchAll(PDO::FETCH_CLASS))->setData('totalAva', $totalAva)->setData('arrayAva', $arrayAva)->printView();
 }
Beispiel #3
0
 /**
  * Método que gera a página de abertura de chamados
  */
 public function abrir_chamado()
 {
     //Inicializando os objetos básicos
     $chamadoObj = new eqpedagogica_models_Ouvidoria();
     $coordenador = new Kernel_Models_Coordenador();
     //Validando o responsável
     $usrValidar = new Kernel_Models_ValidarUsuarios();
     $responsavel = $usrValidar->responsavel();
     //Buscando os coordenadores relacionados ao responsável informado
     $coordenadores = $coordenador->listarTodos(NULL, $responsavel)->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_CLASS);
     //Listando as categorias permitidas
     $categorias = $chamadoObj->categorias();
     //Inserindo o novo chamado ou editando um chamado existente. A execução do método é interrompida aqui
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         header('Content-Type: application/json; charset=UTF-8');
         //Recebendo os dados
         $coordenadorId = filter_input(INPUT_POST, "coordenador", FILTER_VALIDATE_INT);
         $titulo = filter_input(INPUT_POST, "titulo", FILTER_SANITIZE_MAGIC_QUOTES);
         $mensagem = filter_input(INPUT_POST, "mensagem", FILTER_SANITIZE_MAGIC_QUOTES);
         $categoria = filter_input(INPUT_POST, "categoria", FILTER_VALIDATE_INT);
         //Validando os dados
         if (!$coordenadorId) {
             //O código do coordenador é inválido
             die(json_encode(array("status" => false, "mensagem" => "O coordenador informado é inválido")));
         }
         if ($categorias) {
             if (!array_key_exists($categoria, $categorias->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_CLASS))) {
                 $categoria = 0;
             }
         }
         $coordenador = $coordenador->get($coordenadorId);
         if (!$coordenador) {
             //O coordenador é inválido
             die(json_encode(array("status" => false, "mensagem" => "O coordenador informado é inválido")));
         }
         if (!in_array($coordenador->pk_usuario, array_keys($coordenadores))) {
             //Verificando se o coordenador esta relacionado ao responsável
             die(json_encode(array("status" => false, "mensagem" => "Ops! Parce que o coordenador informado não esta relacionado a " . "nenhum de seus dependentes. Informe um da lista por favor")));
         }
         if (!$titulo) {
             //O título informado é inválido
             die(json_encode(array("status" => false, "mensagem" => "O título informado é inválido")));
         }
         if (!$mensagem) {
             //A mensagem informada é inválida
             die(json_encode(array("status" => false, "mensagem" => "A mensagem informada é inválida")));
         }
         if (!strlen($mensagem)) {
             //A mensagem informada é inválida
             die(json_encode(array("status" => false, "mensagem" => "A mensagem informada é inválida")));
         }
         //Passando os dados para o objeto
         $chamadoObj->setTitulo($titulo)->setDestinatario($coordenador)->setCategoria($categoria);
         //Salvando os dados
         if ($chamadoObj->abrirChamado($mensagem)) {
             if (filter_var($coordenador->email, FILTER_VALIDATE_EMAIL)) {
                 //Verifica se o e-mail do coordenador é válido, caso seja, envia um e-mail avisando da novidade
                 $contasEmail = new Kernel_Models_NewsletterContas();
                 $assunto = "Novo chamado aberto na ouvidoria";
                 $mensagem = "Foi aberto ou editado um novo chamado na ouvidoria. " . "Acesse a sua área restrita e veja mais detalhes";
                 $contasEmail->enviar($coordenador->nome, $coordenador->email, $assunto, $mensagem);
             }
             die(json_encode(array("status" => true, "mensagem" => "Chamado salvo com sucesso", "destino" => "")));
         } else {
             die(json_encode(array("status" => false, "mensagem" => "Ocorreu um erro ao tentar salvar o chamado. Tente novamente mais tarde")));
         }
     }
     //Exibindo a página
     //Passando os dados para o view
     $this->loadPlugin("filtros")->setUsuarioFiltros($responsavel)->setData("coordenadores", $coordenadores)->setData("categorias", $categorias)->printView();
 }
Beispiel #4
0
<?php

/*
 * Here comes the text of your license
 * Each line should be prefixed with  *
 */
$coordTmp = new Kernel_Models_Coordenador();
$coordTmpFuncoes = $coordTmp->getFuncoes($filtros, $usuarioParaFiltros);
if (count($coordTmpFuncoes) > 1) {
    ?>
<select name="funcao" class="filtro">
    <option value=""><?php 
    echo $filtros->validar(array("equipe")) ? 'Todas as Funções' : 'Selecionar Função';
    ?>
</option>
    <?php 
    foreach ($coordTmpFuncoes as $value) {
        ?>
        <option value="<?php 
        echo $value->pk_funcao_usuario;
        ?>
"<?php 
        echo $value->pk_funcao_usuario == $filtros->getFuncao() ? ' selected' : '';
        ?>
><?php 
        echo $value->nome_funcao_usuario;
        ?>
</option>
    <?php 
    }
    ?>
Beispiel #5
0
 /**
  * Método de envio de mensagens(envio geral)
  */
 public function contatenos()
 {
     $data = $this->getParametroVisao();
     $msg = '';
     //
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         ini_set('default_charset', 'utf8');
         //Executando o cadastro da mensagem
         $titulo = filter_input(INPUT_POST, 'assunto', FILTER_SANITIZE_MAGIC_QUOTES);
         $mensagem = filter_input(INPUT_POST, 'mensagem', FILTER_SANITIZE_MAGIC_QUOTES);
         $destinatario = filter_input(INPUT_POST, 'destinatario', FILTER_SANITIZE_MAGIC_QUOTES);
         if (!$destinatario) {
             echo Javascript::alert("O destinatário informado é invalido. Selecione um na lista");
             echo Javascript::history_back();
             exit;
         }
         if (!$titulo) {
             echo Javascript::alert("O assunto informado é inválido");
             echo Javascript::history_back();
             exit;
         }
         if (!$mensagem) {
             echo Javascript::alert("A mensagem informada é inválida");
             echo Javascript::history_back();
             exit;
         }
         $novaMensagem = "<p>Mensagem para {$destinatario}</p>";
         $novaMensagem .= "<div>Assunto:{$titulo}</div>";
         $novaMensagem .= "<div>Mensagem</div><div>{$mensagem}</div>";
         if (!Mail::envioSimples($novaMensagem, "Mensagem enviada pela áres restrita", "*****@*****.**", "Colégio GGE")) {
             echo Javascript::alert("Ocorreu um erro ao tentar enviar a mensagem. Tente novamente mais tarde");
             echo Javascript::history_back();
             exit;
         }
         echo Javascript::alert("Mensagem enviada com sucesso");
         echo Javascript::window_location(base_url() . 'transf/mensagem/contatenos/');
         exit;
     }
     //Exibindo a página
     if ($data['mobile']) {
         $data['usuario'] = unserialize($_SESSION['usuario']);
         $data['page'] = 'default';
         $data['tema'] = $this->load->setTheme('responsive');
     } else {
         $data['page'] = 'home';
         $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     }
     $data['msg'] = $msg;
     $data['abaAtiva'] = 10;
     $data['alias'] = $data['abaPage'] = __FUNCTION__;
     $data["js"] = array("/js/plugins/filtros/filtros.min.js");
     //
     $data["arrayFiltros"] = array("unidade", "serie", "turma");
     $filtrosSistema = new FiltrosSistema();
     $data["filtros"] = $filtrosSistema;
     //        $tipo_usuario = $this->load->model('public_tipo_usuario');
     $tipo_usuario = new ModelBase("public.tipo_usuario");
     $data['pk_tipo_usuario'] = filter_input(INPUT_GET, 'tipousuario', FILTER_VALIDATE_INT);
     $data['tipo_usuario'] = $tipo_usuario->select("pk_tipo_usuario=3 or pk_tipo_usuario=15 and pk_tipo_usuario!=11");
     //
     switch ($data['pk_tipo_usuario']) {
         case Kernel_Models_TiposUsuario::TIPO_COORDENADOR:
             $usuarios = new Kernel_Models_Coordenador();
             $data['destinatarios'] = $usuarios->listarTodos($filtrosSistema);
             $data["arrayFiltros"] = array("unidade");
             break;
         case Kernel_Models_TiposUsuario::TIPO_PROFESSOR:
             $usuarios = new Kernel_Models_Professor();
             $data['destinatarios'] = $usuarios->listarTodos($filtrosSistema);
             $data["arrayFiltros"] = array("unidade", "serie", "turma");
             break;
         default:
             $data['destinatarios'] = FALSE;
             break;
     }
     $filtrosSistema->init($data["arrayFiltros"]);
     $this->load->view($this->load->getUrlTema(), $data);
 }
Beispiel #6
0
 /**
  * Método que lista todos os registros de um aluno especifico do ano letivo atual
  * @param Kernel_Models_Aluno $aluno Um objeto do tipo aluno que determina o aluno de filtro da consulta
  * @param int|array|boolean O código do tipo do registro ou array de códigos. Informe FALSE para ignorar
  * @param int|array|boolean O código do subtipo do registro ou array de códigos. Informe FALSE para ignorar
  * @param FiltrosSistema $filtrosSistema Variavel para a filtragem dos registros. Informe FALSE para ignorar
  * @return PDOStatement|boolean Um objeto contendo todos os registros ou FALSE em caso de erro
  */
 public function getAfaDeAluno(Kernel_Models_Aluno $aluno, $tipo = FALSE, $subTipo = FALSE, FiltrosSistema $filtrosSistema = NULL)
 {
     $coordenador = new Kernel_Models_Coordenador();
     $query = "select afa.afa_conceito_aluno.*, " . "afa.afa_subtipo_anotacao.*, afa.afa_tipo_anotacao.*, " . "public.coordenacao.*, public.aula.fk_usuario_professor, " . "public.usuario_coordenador.tipo, " . "(case when pk_usuario_professor is not null then " . "(select public.usuario.nome from public.usuario " . "inner join public.usuario_professor on " . "public.usuario_professor.fk_usuario=" . "public.usuario.pk_usuario " . "where public.usuario_professor.pk_usuario_professor=" . "public.aula.fk_usuario_professor limit 1) " . "end) as nome_professor, " . "(case when fk_usuario_coordenador is not null then " . "(select public.usuario.nome from public.usuario " . "inner join public.usuario_coordenador on " . "public.usuario_coordenador.fk_usuario=" . "public.usuario.pk_usuario " . "where public.usuario_coordenador.pk_usuario_coordenador=" . "afa.afa_conceito_aluno.fk_usuario_coordenador limit 1) " . "end) as nome_coordenador, " . "(case ";
     //Adicionando a query todos os tipos de coordenação disponíveis
     foreach ($coordenador->getCoordTipos() as $cod => $tipoCoord) {
         $query .= "when tipo={$cod} then '{$tipoCoord}' ";
     }
     $query .= "end) as tipo_coordenador, " . "(select public.usuario.nome " . "from public.usuario WHERE " . "public.usuario.pk_usuario=" . "afa.afa_conceito_aluno.fk_usuario_inc limit 1) " . "as usuario_nome_insert, " . "(select public.tipo_usuario.tipo_usuario_nome " . "from public.tipo_usuario " . "inner join public.usuario_tipo_vin on " . "public.usuario_tipo_vin.fk_tipo_usuario=pk_tipo_usuario " . "WHERE " . "public.usuario_tipo_vin.fk_usuario=" . "afa.afa_conceito_aluno.fk_usuario_inc limit 1) " . "as usuario_grupo_insert " . "from afa.afa_conceito_aluno " . "inner join afa.afa_subtipo_anotacao on " . "afa.afa_subtipo_anotacao.pk_afa_subtipo_anotacao=" . "fk_afa_subtipo_anotacao " . "inner join afa.afa_tipo_anotacao on " . "afa.afa_tipo_anotacao.pk_afa_tipo_anotacao=" . "fk_afa_tipo_anotacao " . "left join public.coordenacao on " . "public.coordenacao.pk_coordenacao=" . "afa.afa_conceito_aluno.fk_coordenacao " . "inner join public.usuario_aluno on " . "public.usuario_aluno.pk_usuario_aluno=" . "afa.afa_conceito_aluno.fk_usuario_aluno " . "left join public.aula on public.aula.pk_aula=fk_aula " . "left join public.usuario_professor on " . "public.usuario_professor.pk_usuario_professor=" . "public.aula.fk_usuario_professor " . "left join public.usuario on " . "public.usuario.pk_usuario=" . "public.usuario_professor.fk_usuario " . "left join public.usuario_coordenador on " . "afa.afa_conceito_aluno.fk_usuario_coordenador=" . "public.usuario_coordenador.pk_usuario_coordenador " . "where " . "public.usuario_aluno.fk_usuario=" . $aluno->getId() . " ";
     //Filtrando por tipo e subtipo
     if (is_int($tipo)) {
         $query .= "and pk_afa_tipo_anotacao={$tipo} ";
     } elseif (is_array($tipo)) {
         if (Arrays::checarValores($tipo, FILTER_VALIDATE_INT)) {
             $query .= "and (pk_afa_tipo_anotacao=" . implode(" or pk_afa_tipo_anotacao=", $tipo) . ") ";
         }
     }
     if (is_int($subTipo)) {
         $query .= "and pk_afa_subtipo_anotacao={$subTipo} ";
     } elseif (is_array($subTipo)) {
         if (Arrays::checarValores($subTipo, FILTER_VALIDATE_INT)) {
             $query .= "and (pk_afa_subtipo_anotacao=" . implode(" or pk_afa_subtipo_anotacao=", $subTipo) . ") ";
         }
     }
     //Filtros do sistema de filtros
     if ($filtrosSistema instanceof FiltrosSistema) {
         //Filtragem por datas
         $query .= $filtrosSistema->validar(array("de")) ? "and afa.afa_conceito_aluno.data_evento>='" . $filtrosSistema->getDe() . "' " : "";
         $query .= $filtrosSistema->validar(array("ate")) ? "and afa.afa_conceito_aluno.data_evento<='" . $filtrosSistema->getAte() . "' " : "";
         if (!$filtrosSistema->validar(array("de")) || !$filtrosSistema->validar(array("ate"))) {
             $query .= "and extract(year from data_evento)=" . Loader::data("config", "site", "ano_letivo") . " ";
         }
     } else {
         $query .= "and extract(year from data_evento)=" . Loader::data("config", "site", "ano_letivo") . " ";
     }
     //Ordenando
     $query .= "order by(data_evento) desc";
     return $this->queryStatement($query);
 }
 /**
  * Método que retorna o coordenador de acorod com o código informado ou usuário logado
  * @param int $pkUsuario O código do coordenador
  * @param strin $objetoHerdado Case seja usada uma especialização do coordenador
  * @return Kernel_Models_Coordenador Um objeto do tipo coordenador com os dados do mesmo
  * @throws Exception
  */
 public function getCoordenador($pkUsuario = 0, $objetoHerdado = FALSE)
 {
     //Caso o usuário logado seja um coordenador
     $tipo = $this->usuarioLogado->get_tipoUsuarioAtivo()->get_idTipoUsuario();
     if ($tipo == Kernel_Models_TiposUsuario::TIPO_COORDENADOR) {
         $pkUsuario = $this->usuarioLogado->get_idUsuario();
     }
     //Validando o usuário informado
     if (!(int) $pkUsuario) {
         throw new Exception("O coordenador informado é inválido");
     }
     //Criando instancia da classe
     if (is_string($objetoHerdado)) {
         //Este trecho é executado quando um objeto especifico é informado
         //Verificando se a classe informada existe
         if (!class_exists($objetoHerdado)) {
             throw new Exception("Ocorreu um erro interno. Entre em contato com o administrador do sistema");
         }
         if (!in_array("Kernel_Models_Coordenador", array_keys(class_parents($objetoHerdado)))) {
             throw new Exception("Ocorreu um erro interno. Entre em contato com o administrador do sistema");
         }
         //Verificando se a classe informada é herdeira de Kernel_Models_Aluno
         $coordenadorObj = new $objetoHerdado();
     } else {
         $coordenadorObj = new Kernel_Models_Coordenador();
     }
     $coordenador = $coordenadorObj->get((int) $pkUsuario);
     //Validando o objeto
     if (!$coordenador) {
         throw new Exception("O coordenador informado é inválido");
     }
     return $coordenador;
 }
Beispiel #8
0
 /**
  * Método que lista os responsáveis ligados ao coordendaor informado
  * @param Kernel_Models_Coordenador $coordenador
  * @return PDOStatement Um objeto contendo a resposta da consulta
  */
 public function responsaveis(Kernel_Models_Coordenador $coordenador)
 {
     $query = "SELECT distinct on(pk_usuario)responsavel, " . "pk_usuario as aluno_pk " . "from public.usuario_coordenador " . "inner join public.usuario_tipo_vin on " . "public.usuario_tipo_vin.fk_usuario=public.usuario_coordenador.fk_usuario " . "inner join public.coordenacao_vin on pk_usuario_tipo_vin=fk_usuario_tipo_vin " . "inner join public.turma_vin on " . "public.turma_vin.fk_coordenacao=public.coordenacao_vin.fk_coordenacao " . "inner join public.usuario_aluno on public.usuario_aluno.fk_turma=public.turma_vin.fk_turma " . "inner join public.usuario on pk_usuario=public.usuario_aluno.fk_usuario " . "WHERE public.usuario_coordenador.fk_usuario=" . $coordenador->getId() . " " . "and ano_mat='" . Loader::data("config", "site", "ano_letivo") . "'";
     return $this->queryStatement($query);
 }
Beispiel #9
0
 /**
  * Método que lista as avaliações feitas pelo coordenador informado
  * @param Kernel_Models_Contratos $coordenador O coordenador a ser usado como filtro
  * @param FiltrosSistema $filtrosSitema
  * @return PDOStatement|boolean Um objeto contendo todas as pesquisas que o coordenador
  * respondeu ou FALSE em caso erro
  */
 public function pesquisaDeCoordenador(Kernel_Models_Coordenador $coordenador, FiltrosSistema $filtrosSitema = NULL)
 {
     $query = "select distinct on(pk_par_pesquisa)* from fap.par_pesquisa " . "inner join fap.par_questao on pk_par_pesquisa=fk_par_pesquisa " . "inner join fap.par_resposta on pk_par_questao=fk_par_questao " . "inner join public.usuario_coordenador on pk_usuario_coordenador=fk_usuario_coordenador " . "WHERE fk_usuario=" . $coordenador->getId();
     return $this->queryStatement($query);
 }