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