/** * 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; }
/** * @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); }