@Post @Path("/organizacao/salva") public void salva( Organizacao organizacao, OrganizacaoInfo organizacaoInfo, Localidade localidade, OrganizacaoLocalidade organizacaoLocalidade, TipoEndereco tipoEndereco) { String mensagem = ""; try { if (this.organizacaoDao.buscaOrganizacaoByEmpNome( empresa.getEmpresa_id(), organizacao.getNome()) == null) { organizacao.setCreated(dataAtual); organizacao.setUpdated(dataAtual); organizacao.setCreatedBy(usuario); organizacao.setUpdatedBy(usuario); organizacao.setChave(organizacao.getNome()); organizacao.setDescricao(organizacao.getNome()); organizacao.setEmpresa(empresa); organizacao.setIsActive(organizacao.getIsActive() == null ? false : true); this.organizacaoDao.beginTransaction(); this.organizacaoDao.adiciona(organizacao); this.organizacaoDao.commit(); OrganizacaoInfo oi = new OrganizacaoInfo(); oi.setEmpresa(organizacao.getEmpresa()); oi.setOrganizacao_id(organizacao.getOrganizacao_id()); oi.setTipoOrganizacao( organizacaoInfo.getTipoOrganizacao().getTipoOrganizacao_id() == null ? null : organizacaoInfo.getTipoOrganizacao()); // oi.setCalendario(organizacaoInfo.getCalendario().getCalendario_id() == null ? null : // organizacaoInfo.getCalendario()); oi.setOrganizacaoPai( organizacaoInfo.getOrganizacaoPai().getOrganizacao_id() == null ? null : organizacaoInfo.getOrganizacaoPai()); oi.setSupervisorOrganizacao( organizacaoInfo.getSupervisorOrganizacao().getFuncionario_id() == null ? null : organizacaoInfo.getSupervisorOrganizacao()); oi.setChave(organizacao.getNome()); oi.setNome(organizacao.getNome()); oi.setDescricao(organizacao.getNome()); oi.setNomeFantasia(organizacaoInfo.getNomeFantasia()); oi.setDddFone1(organizacaoInfo.getDddFone1()); oi.setTelefone1(organizacaoInfo.getTelefone1()); oi.setDddFone2(organizacaoInfo.getDddFone2()); oi.setTelefone2(organizacaoInfo.getTelefone2()); oi.setDddFax(organizacaoInfo.getDddFax()); oi.setFax(organizacaoInfo.getFax()); oi.setEmail(organizacaoInfo.getEmail()); oi.setIe(organizacaoInfo.getIe()); oi.setCnpj(organizacaoInfo.getCnpj()); oi.setContato(organizacaoInfo.getContato()); oi.setCreated(dataAtual); oi.setUpdated(dataAtual); oi.setCreatedBy(usuario); oi.setUpdatedBy(usuario); oi.setIsActive(organizacao.getIsActive()); if (this.organizacaoInfoDao.buscaOrganizacaoById(organizacao.getOrganizacao_id()) == null) { this.organizacaoInfoDao.beginTransaction(); this.organizacaoInfoDao.adiciona(oi); this.organizacaoInfoDao.commit(); } Localidade l = this.localidadeDao.buscaLocalidade(localidade.getCep()); if (l.getLocalidade_id() == null) { Empresa empresa = new Empresa(); Organizacao organizacao2 = new Organizacao(); empresa.setEmpresa_id(1l); organizacao2.setOrganizacao_id(1l); localidade.setEmpresa(empresa); localidade.setOrganizacao(organizacao2); localidade.setCreated(dataAtual); localidade.setCreatedBy(usuario); localidade.setIsActive(true); try { this.localidadeDao.beginTransaction(); this.localidadeDao.adiciona(localidade); this.localidadeDao.commit(); } catch (Exception e) { this.localidadeDao.rollback(); if (e.getCause().toString().indexOf("PK_LOCALIDADE") != -1) { mensagem = "Erro: Localidade " + localidade.getCep() + " já existente."; } else { mensagem = "Erro: Erro ao adicionar Localidade:"; } } } else { localidade.setLocalidade_id(l.getLocalidade_id()); } OrganizacaoLocalidade ol = new OrganizacaoLocalidade(); ol.setEmpresa(empresa); ol.setOrganizacao(organizacao); ol.setLocalidade(localidade); ol.setTipoEndereco(tipoEndereco); ol.setNumero(organizacaoLocalidade.getNumero()); ol.setComplemento(organizacaoLocalidade.getComplemento()); ol.setPontoReferencia(organizacaoLocalidade.getPontoReferencia()); ol.setCreated(dataAtual); ol.setUpdated(dataAtual); ol.setCreatedBy(usuario); ol.setUpdatedBy(usuario); ol.setIsActive(true); try { this.organizacaoLocalidadeDao.beginTransaction(); this.organizacaoLocalidadeDao.adiciona(ol); this.organizacaoLocalidadeDao.commit(); } catch (Exception e) { this.organizacaoLocalidadeDao.rollback(); if (e.getCause().toString().indexOf("PK__PARCEIROLOCALIDADE") != -1) { mensagem = "Erro: Parceiro Localidade já existente."; } else { mensagem = "Erro: Erro ao adicionar Parceiro Localidade :"; } } mensagem = "Organização adicionado com sucesso."; } else { mensagem = "Erro: Organização já cadastrado."; } } catch (Exception e) { mensagem = "Erro: Falha ao adicionar a Organização."; } finally { this.organizacaoDao.clear(); this.organizacaoDao.close(); } result.include("notice", mensagem); result.redirectTo(this).cadastro(); }