예제 #1
0
  /**
   * Inclui um registro
   *
   * @param objTalento POJO representando o objeto a ser incluído
   * @param lstAtributosTalentoValoros List contendo as valorações do talento a serem incluídas
   * @throws CDException se ocorrer algum erro relacionado ao negócio
   * @return retorna a chave do objeto que foi incluido
   */
  public String incluir(Talento objTalento, List lstAtributosTalentoValorados) throws CDException {
    if (log.isDebugEnabled()) {
      log.debug("Entrada no metodo");
    }

    // Instancia DAO e inclui registro
    TalentoDAO objTalentoDAO = new TalentoDAO();
    CategoriaTalentoDAO objCategoriaTalentoDAO = new CategoriaTalentoDAO();
    String strChave = null;
    try {
      // Não é permitido que a pessoa tenha mais de uma categoria cadastrada se ela for perfil
      CategoriaTalento objCategoriaTalento =
          (CategoriaTalento)
              objCategoriaTalentoDAO.obterPelaChave(
                  String.valueOf(objTalento.getCategoriaTalento().getIdentificador()));
      if ("S".equals(objCategoriaTalento.getIndicativoUnicidade())) {
        if (objTalentoDAO.verificarExistenciaPorPessoaCategoriaTalento(
            objTalento.getPessoa(), objTalento.getCategoriaTalento())) {
          throw new NegocioException(
              "Não é possível inserir mais de um talento se a categoria " + "em questão é perfil");
        }
      }

      // Verifica as valorações obrigatórios
      verificarValoracoesObrigatorias(
          objTalento.getCategoriaTalento(), lstAtributosTalentoValorados);

      // Inicia transação
      DAO.iniciarTransacao();

      // Preenche dados de talento
      objTalento.setDataLancamento(DataNova.formatarCalendar(DataNova.obterDataAtual()));

      // Inclui talento
      strChave = objTalentoDAO.incluir(objTalento);
      objTalento.setIdentificador(Integer.valueOf(strChave));

      // Inclui valorações
      incluirValoracoes(objTalento, lstAtributosTalentoValorados);

      // Realiza transação
      DAO.realizarTransacao();

    } catch (Exception daoe) {
      CDException.dispararExcecao(daoe);
    } finally {
      DAO.desconectar();
    }
    // Retorna chave
    return strChave;
  }
예제 #2
0
  /**
   * Obtém uma categoria de talento a partir da chave
   *
   * @param strChave Chave do registro a ser obtido
   * @return CategoriaTalento POJO representando o registro obtido
   * @throws CDException se ocorrer algum erro relacionado ao negócio
   */
  public CategoriaTalento obterCategoriaTalentoPelaChave(String strChave) throws CDException {
    if (log.isDebugEnabled()) {
      log.debug("Entrada no metodo");
    }

    // Instancia DAO e obtém o registro pela chave
    CategoriaTalentoDAO objCategoriaTalentoDAO = new CategoriaTalentoDAO();
    CategoriaTalento objCategoriaTalento = null;
    try {
      objCategoriaTalento = (CategoriaTalento) objCategoriaTalentoDAO.obterPelaChave(strChave);
    } catch (Exception daoe) {
      CDException.dispararExcecao(daoe);
    } finally {
      DAO.desconectar();
    }
    return objCategoriaTalento;
  }
예제 #3
0
  /**
   * Obtém as categorias de talento disponíveis para o usuário desejado
   *
   * @param objPessoa Pessoa a buscar os talentos
   * @return List Contendo os POJOs representando os registro obtidos
   * @throws CDException se ocorrer algum erro relacionado ao negócio
   */
  public List obterCategoriasTalento(Pessoa objPessoa) throws CDException {
    if (log.isDebugEnabled()) {
      log.debug("Entrada no metodo");
    }

    // Instancia DAO e obtém os registros
    CategoriaTalentoDAO objCategoriaTalentoDAO = new CategoriaTalentoDAO();
    List lstRetorno = null;
    try {
      lstRetorno = objCategoriaTalentoDAO.obterTodosPorGrupo(objPessoa.getGrupo());
    } catch (Exception daoe) {
      CDException.dispararExcecao(daoe);
    } finally {
      DAO.desconectar();
    }
    return lstRetorno;
  }