Esempio n. 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;
  }
Esempio n. 2
0
  /**
   * Obtém a descrição de determinado talento
   *
   * @param objTalento Talento a ser descrito
   * @return String Contendo a descrição
   * @throws CDException se ocorrer algum erro relacionado ao negócio
   */
  public String obterDescricao(Talento objTalento) throws CDException {
    if (log.isDebugEnabled()) {
      log.debug("Entrada no metodo");
    }

    // Instancia DAO e obtém o registro pela chave
    AtributoTalentoValoradoDAO objAtributoTalentoValoradoDAO = new AtributoTalentoValoradoDAO();
    String strDescricao = "";
    try {
      if ("S".equals(objTalento.getCategoriaTalento().getIndicativoUnicidade())) {
        strDescricao = objTalento.getCategoriaTalento().getNome();
      } else {
        List lstRetorno = objAtributoTalentoValoradoDAO.obterPeloTalento(objTalento);
        Iterator itrRetorno = lstRetorno.iterator();
        while (itrRetorno.hasNext()) {
          AtributoTalentoValorado objAtributoTalentoValorado =
              (AtributoTalentoValorado) itrRetorno.next();
          if ("S"
              .equals(
                  objAtributoTalentoValorado
                      .getCategoriaAtributoTalento()
                      .getFormacaoDescricao())) {
            strDescricao += objAtributoTalentoValorado.getValoracao() + "/";
          }
        }
        if ("".equals(strDescricao)) {
          strDescricao = objTalento.getCategoriaTalento().getNome();
        } else {
          strDescricao = strDescricao.substring(0, strDescricao.length() - 1);
        }
      }

    } catch (Exception daoe) {
      CDException.dispararExcecao(daoe);
    } finally {
      DAO.desconectar();
    }
    return strDescricao;
  }
Esempio n. 3
0
  /**
   * Altera um registro
   *
   * @param objTalento POJO representando o objeto a ser incluído
   * @throws CDException se ocorrer algum erro relacionado ao negócio
   */
  public void alterar(Talento objTalento, List lstAtributosTalentoValorados) throws CDException {
    if (log.isDebugEnabled()) {
      log.debug("Entrada no metodo");
    }

    // Instancia DAO e altera registro
    TalentoDAO objTalentoDAO = new TalentoDAO();
    AtributoTalentoValoradoDAO objAtributoTalentoValoradoDAO = new AtributoTalentoValoradoDAO();
    try {
      // 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()));

      // Exclui valorações anteriores
      objAtributoTalentoValoradoDAO.excluirPorTalento(objTalento);

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

      // Altera
      objTalentoDAO.alterar(objTalento);

      // Realiza transação
      DAO.realizarTransacao();
    } catch (Exception daoe) {
      DAO.desfazerTransacao();
      CDException.dispararExcecao(daoe);
    } finally {
      DAO.desconectar();
    }
  }