예제 #1
0
  /**
   * Obtém os registros da pessoa desejada, de determinada categoria de talento e de determinada
   * página
   *
   * @param objPessoa Pessoa desejada
   * @param objCategoriaTalento Categoria de talento desejada
   * @param int Número da página a ser mostrada
   * @param int Quantidade de registros
   * @return List Contendo os POJOs representando os registro obtidos
   * @throws CDException se ocorrer algum erro relacionado ao negócio
   */
  public List obterPorPessoaCategoriaTalentoPorPagina(
      Pessoa objPessoa,
      CategoriaTalento objCategoriaTalento,
      int intNumeroPagina,
      int intMaximoPagina)
      throws CDException {
    if (log.isDebugEnabled()) {
      log.debug("Entrada no metodo");
    }

    // Instancia DAO e obtém os registros da página
    TalentoDAO objTalentoDAO = new TalentoDAO();
    List lstRetorno = new ArrayList();
    try {
      List lstTalentos =
          objTalentoDAO.obterPorPessoaCategoriaTalentoPorPagina(
              objPessoa, objCategoriaTalento, intNumeroPagina, intMaximoPagina);
      Iterator itrTalentos = lstTalentos.iterator();
      while (itrTalentos.hasNext()) {
        Talento objTalento = (Talento) itrTalentos.next();
        TalentoVisualizacao objTalentoVisualizacao = new TalentoVisualizacao();
        Copia.criar(objTalento, objTalentoVisualizacao);
        objTalentoVisualizacao.setDescricao(obterDescricao(objTalento));
        lstRetorno.add(objTalentoVisualizacao);
      }

    } catch (Exception daoe) {
      CDException.dispararExcecao(daoe);
    } finally {
      DAO.desconectar();
    }
    return lstRetorno;
  }
예제 #2
0
  /**
   * Exclui um registro
   *
   * @param objTalento POJO representando o objeto a ser incluído
   * @throws CDException se ocorrer algum erro relacionado ao negócio
   */
  public void excluir(Talento objTalento) throws CDException {
    if (log.isDebugEnabled()) {
      log.debug("Entrada no metodo");
    }

    // Instancia DAO e inclui registro
    AtributoTalentoValoradoDAO objAtributoTalentoValoradoDAO = new AtributoTalentoValoradoDAO();
    TalentoDAO objTalentoDAO = new TalentoDAO();
    try {
      // Inicia transação
      DAO.iniciarTransacao();

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

      // Exclui
      objTalentoDAO.excluir(objTalento);

      // Realiza transação
      DAO.realizarTransacao();
    } catch (Exception daoe) {
      DAO.desfazerTransacao();
      CDException.dispararExcecao(daoe);
    } finally {
      DAO.desconectar();
    }
  }
예제 #3
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;
  }
예제 #4
0
  /**
   * Obtém todos os registros
   *
   * @return List Contendo os POJOs representando os registro obtidos
   * @throws CDException se ocorrer algum erro relacionado ao negócio
   */
  public List obterTodos() throws CDException {
    if (log.isDebugEnabled()) {
      log.debug("Entrada no metodo");
    }

    // Instancia DAO e obtém todos os registros
    TalentoDAO objTalentoDAO = new TalentoDAO();
    List lstRetorno = null;
    try {
      lstRetorno = objTalentoDAO.obterTodos();
    } catch (Exception daoe) {
      CDException.dispararExcecao(daoe);
    } finally {
      DAO.desconectar();
    }
    return lstRetorno;
  }
예제 #5
0
  /**
   * Obtém o total de registros por pessoa
   *
   * @param objPessoa Pessoa desejada
   * @return int Contendo o total
   * @throws CDException se ocorrer algum erro relacionado ao negócio
   */
  public int obterTotalRegistrosPorPessoa(Pessoa objPessoa) throws CDException {
    if (log.isDebugEnabled()) {
      log.debug("Entrada no metodo");
    }

    // Instancia DAO e obtém os registros da página
    TalentoDAO objTalentoDAO = new TalentoDAO();
    int intTotalRegistros = 0;
    try {
      intTotalRegistros = objTalentoDAO.obterTotalRegistrosPorPessoa(objPessoa);
    } catch (Exception daoe) {
      CDException.dispararExcecao(daoe);
    } finally {
      DAO.desconectar();
    }
    return intTotalRegistros;
  }
예제 #6
0
  /**
   * Obtém um registro a partir da chave
   *
   * @param strChave Chave do registro a ser obtido
   * @return Talento POJO representando o registro obtido
   * @throws CDException se ocorrer algum erro relacionado ao negócio
   */
  public Talento obterPelaChave(String strChave) throws CDException {
    if (log.isDebugEnabled()) {
      log.debug("Entrada no metodo");
    }

    // Instancia DAO e obtém o registro pela chave
    TalentoDAO objTalentoDAO = new TalentoDAO();
    Talento objTalento = null;
    try {
      objTalento = (Talento) objTalentoDAO.obterPelaChave(strChave);
      objTalentoDAO.inicializarCategoriaTalento(objTalento);

    } catch (Exception daoe) {
      CDException.dispararExcecao(daoe);
    } finally {
      DAO.desconectar();
    }
    return objTalento;
  }
예제 #7
0
  /**
   * Obtém um registro a partir da chave, incluindo também a descrição
   *
   * @param strChave Chave do registro a ser obtido
   * @return TalentoVisualizacao POJO (extendido) representando o registro obtido
   * @throws CDException se ocorrer algum erro relacionado ao negócio
   */
  public TalentoVisualizacao obterPelaChaveComDescricao(String strChave) throws CDException {
    if (log.isDebugEnabled()) {
      log.debug("Entrada no metodo");
    }

    // Instancia DAO e obtém o registro pela chave
    TalentoDAO objTalentoDAO = new TalentoDAO();
    Talento objTalento = null;
    TalentoVisualizacao objTalentoVisualizacao = null;
    try {
      objTalento = (Talento) objTalentoDAO.obterPelaChave(strChave);
      objTalentoVisualizacao = new TalentoVisualizacao();
      Copia.criar(objTalento, objTalentoVisualizacao);
      objTalentoVisualizacao.setDescricao(obterDescricao(objTalento));
    } catch (Exception daoe) {
      CDException.dispararExcecao(daoe);
    } finally {
      DAO.desconectar();
    }
    return objTalentoVisualizacao;
  }
예제 #8
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();
    }
  }