/** * Método que lê a resposta do usuário informado de acorod com o seu tipo * @param Kernel_Models_Usuario $usuario * @param int $contrato O código do tipo do contrato * @return int Retorna 0 para "não aceita", 1 para "aceita" e 2 para "não respondeu" */ public function getResposta(Kernel_Models_Usuario $usuario, $contrato) { if (!is_int($contrato)) { throw new Exception("Invalid value: o contrato informado é inválido"); } $where = "usuario=" . $usuario->getId() . " and tipousuario=" . $usuario->getTipo() . " and contrato={$contrato}"; $obj = $this->getObject($where); if (!$obj) { $ret = 2; } else { $ret = $obj->resposta; } return $ret; }
/** * Método que lista todos os registros inclusos pelo usuário informado * @param Kernel_Models_Usuario $usuario Objeto referente ao usuário que fez as inclusões * @param int|array|boolean $tipo Filtra por tipo de registro * @param int|array|boolean $subTipo Filtra por subtipo de registro * @param FiltrosSistema $filtrosSistema * @return PDOStatement|boolean Retorna um objeto contendo a resposta da requisição ou FALSE em caso de erro */ public function registrosDeUsuario(Kernel_Models_Usuario $usuario, $tipo = FALSE, $subTipo = FALSE, FiltrosSistema $filtrosSistema = NULL) { $where = $inner = ""; //Filtrando os valores por tipo e subtipo if (is_int($tipo)) { $where .= "and pk_fap_tipo={$tipo} "; } elseif (is_array($tipo)) { if (Arrays::checarValores($tipo, FILTER_VALIDATE_INT)) { $where .= "and (pk_fap_tipo=" . implode(" or pk_fap_tipo=", $tipo) . ") "; } } if (is_int($subTipo)) { $where .= "and fk_fap_subtipo={$subTipo} "; } elseif (is_array($subTipo)) { if (Arrays::checarValores($subTipo, FILTER_VALIDATE_INT)) { $where .= "and (fk_fap_subtipo=" . implode(" or fk_fap_subtipo=", $subTipo) . ") "; } } //fazendo a consulta $query = "select distinct on(pk_fap_registro) *, " . "nome as professor_nome, pk_usuario as professor_pk " . "from fap.fap_registro " . "inner join fap.fap_subtipo on pk_fap_subtipo=fk_fap_subtipo " . "inner join fap.fap_tipo on pk_fap_tipo=fk_fap_tipo " . "inner join public.usuario_professor on pk_usuario_professor=fk_usuario_professor " . "inner join public.usuario on pk_usuario=fk_usuario " . "{$inner} " . "where fk_usuario_inc=" . $usuario->getId() . " {$where} " . "order by pk_fap_registro desc"; return $this->queryStatement($query); }
/** * Método que lista todas as mensagens cadastradas por um ususário especifico * OBS: Os filtros ainda não forma aplicados * @param Kernel_Models_Usuario $usuario Objeto referente ao usuário que realizou o cadastro * @param FiltrosSistema $filtrosSistema Objeto do sistema de filtros * @return PDOStatement Retorna um objeto contendo o resulta da consulta */ public function listarTodasDe(Kernel_Models_Usuario $usuario, FiltrosSistema $filtrosSistema = null) { return $this->select("user_insert=" . $usuario->getId()); }
/** * @param Kernel_Models_Usuario $usuario O usuário de destino do chamado * @param int $status Define se deve filtrar por status * @param FiltrosSistema $filtrosSistema * * @return PDOStatement|bool Retorna um objeto contendo a resposta da consulta ou FALSE em caso de erro */ public function listarTodasPara(Kernel_Models_Usuario $usuario, $status = false, FiltrosSistema $filtrosSistema = null) { $inner = 'inner join public.usuario on pk_usuario=user_insert '; $inner .= 'inner join public.usuario_tipo_vin on ' . 'fk_tipo_usuario=tipo_usuario_insert and fk_usuario=user_insert '; $where = 'destinatario=' . $usuario->getId() . ' ' . 'and destinatario_tipo=' . $usuario->getTipo() . ' '; $where .= is_int($status) ? "and public.helpdesk.status={$status} " : ''; if ($filtrosSistema instanceof FiltrosSistema) { $where .= $filtrosSistema->validar(array('de')) ? 'and dt_insert>=' . $filtrosSistema->getDe() . ' ' : ''; $where .= $filtrosSistema->validar(array('ate')) ? 'and dt_insert<=' . $filtrosSistema->getAte() . ' ' : ''; } $colunas = array('public.helpdesk.*', 'public.usuario.nome as responsavel_nome'); return $this->select($where, $colunas, $inner); }
/** * Método que lista todos os registros feitos por um usuário especifico * @param Kernel_Models_Usuario $usuario O usuário que fez as anotações * @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 getAfaDeUsuario(Kernel_Models_Usuario $usuario, $tipo = FALSE, $subTipo = FALSE, FiltrosSistema $filtrosSistema = NULL) { $query = "select " . " *,public.usuario.nome as aluno_nome, " . "public.usuario_aluno.fk_usuario as pk_aluno from afa.afa_conceito_aluno " . "inner join afa.afa_subtipo_anotacao on pk_afa_subtipo_anotacao=fk_afa_subtipo_anotacao " . "inner join afa.afa_tipo_anotacao on pk_afa_tipo_anotacao=fk_afa_tipo_anotacao " . "inner join public.usuario_aluno on pk_usuario_aluno=fk_usuario_aluno " . "inner join public.turma on pk_turma=fk_turma " . "inner join public.usuario on pk_usuario=fk_usuario " . "where fk_usuario_inc=" . $usuario->getId() . " "; //Aplicando os filtros if ($filtrosSistema instanceof FiltrosSistema) { $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)=2015 "; } //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) . ") "; } } //Retorno da consulta $query .= "order by data_evento desc"; return $this->queryStatement($query); }