Object o = q.uniqueResult();
if(o == null){
lancarErro("Erro ao pesquisar abrangencia: Local invalido para Regiao: " + itemArquivo.getCodRegiao());
}
LocalItemLit localAbrangencia = (LocalItemLit) o;
if("".equals(itemArquivo.getValorPrevisto())){
lancarErro("Valor inv�lido: [" + itemArquivo.getValorPrevisto() + "]");
}
ItemEstruturaIett iett = null;
//String chave = siglaAcao + "_" + siglaProduto + "_" + indObra;
String chave = itemArquivo.getSiglaAcao() + "_" + itemArquivo.getIndObra() + "_" + itemArquivo.getNomeProduto();
if(!itens.contains(chave)){
itensSalvos.add(itemArquivo);
itens.add(chave);
if(!siglaAcaoAux.equals(itemArquivo.getSiglaAcao())){
siglaAcaoAux = itemArquivo.getSiglaAcao();
siglaProdAux = 1;
}
// Gravar item e indicador
//Obtendo item Pai (do n�vel de a��o do ppa 2008-2011
String sqlBuscaPai = "select pai from ItemEstruturaIett pai where siglaIett = :sigla and pai.estruturaEtt.codEtt = :codEttPai";
q = this.session.createQuery(sqlBuscaPai);
q.setString("sigla", itemArquivo.getSiglaAcao());
q.setLong("codEttPai", 20); //20 � A��o do PPA 2008-2011
q.setMaxResults(1);
ItemEstruturaIett iettPai = (ItemEstruturaIett) q.uniqueResult();
if(iettPai == null)
lancarErro("Item Pai � Nulo para sigla " + itemArquivo.getSiglaAcao());
// Setando item referente ao projeto/atividade
iett = new ItemEstruturaIett();
iett.setIndAtivoIett("S");
iett.setIndBloqPlanejamentoIett("N");
iett.setIndCriticaIett("N");
iett.setIndMonitoramentoIett("N");
iett.setUsuarioUsuByCodUsuIncIett(usuarioLogado);
iett.setDataInclusaoIett(Data.getDataAtual());
iett.setDataUltManutencaoIett(Data.getDataAtual());
iett.setDataInicioIett(Data.parseDate("01/01/2008"));
iett.setDataTerminoIett(Data.parseDate("31/12/2011"));
iett.setNivelIett(Integer.valueOf(4));
iett.setItemEstruturaIett(iettPai);
//iett.setSiglaIett(itemArquivo.getSiglaProduto());
iett.setSiglaIett(String.valueOf(siglaProdAux));
iett.setNomeIett(itemArquivo.getNomeProduto());
iett.setEstruturaEtt(estruturaProdutos);
/* Buscando unidade or�ament�rias pela unidade or�ament�ria da a��o */
UnidadeOrcamentariaUO unidade = iettPai.getUnidadeOrcamentariaUO();
if(unidade == null)
lancarErro("Unidade Or�ament�ria do Item Pai � Nulo");
iett.setUnidadeOrcamentariaUO(unidade);
/* Buscando orgao pelo orgao da acao */
OrgaoOrg orgao = iettPai.getOrgaoOrgByCodOrgaoResponsavel1Iett();
if(orgao == null)
lancarErro("Orgao do Item Pai � Nulo");
iett.setOrgaoOrgByCodOrgaoResponsavel1Iett(orgao);
/* Salvando item */
//itemDao.salvar(request, iett);
//Como preciso salvar todos os itens em transacao, foi "copiado" o m�todo salvar e colocado todos os itens em transacao.
session.save(iett);
objetos.add(iett);
msg("Salvando Item --> " + itemArquivo.getSiglaAcao() + " - " + itemArquivo.getSiglaProduto() + " - " + itemArquivo.getNomeProduto());
siglaProdAux++;
//Salvar Indicador de Obra.
Long codIndObra = (Dominios.SIM.equals(itemArquivo.getIndObra()) ? Long.valueOf(51) : Long.valueOf(52));
SisAtributoSatb obra = (SisAtributoSatb) buscar(SisAtributoSatb.class, codIndObra);
ItemEstruturaSisAtributoIettSatb atbLivreObra = new ItemEstruturaSisAtributoIettSatb();
atbLivreObra.setItemEstruturaIett(iett);
atbLivreObra.setSisAtributoSatb(obra);
atbLivreObra.setDataUltManutencao(Data.getDataAtual());
atbLivreObra.setUsuarioUsu(usuarioLogado);
atbLivreObra.atribuirPKPai();
session.save(atbLivreObra);
objetos.add(atbLivreObra);
// Salvando a Abrang�ncia
ItemEstrutLocalIettl abrangencia = new ItemEstrutLocalIettl();
ItemEstrutLocalIettlPK abrgCompId = new ItemEstrutLocalIettlPK();
abrgCompId.setCodIett(iett.getCodIett());
abrgCompId.setCodLit(localAbrangencia.getCodLit());
abrangencia.setComp_id(abrgCompId);
abrangencia.setDataInclusaoIettl(Data.getDataAtual());
abrangencia.setItemEstruturaIett(iett);
abrangencia.setLocalItemLit(localAbrangencia);