3
I have a save methodRegister and in this method I save the company and its address, it saves the company first, but when saving its address occurs a Nullpointerexception
Entity Address Person
@Entity
@Table(name = "enderecopessoa")
public class EnderecoPessoa implements Serializable {
private static final long serialVersionUID = 1L;
private EnderecoId id;
private Endereco endereco;
private String devolucao;
private String devolucaoDescritivo;
private String correspondencia;
private String correspondeciaDescritivo;
private String emailAtualizacaoCadastral;
private Date dataAtualizacaoCadastral;
private Boolean atualizacaoCadastralSic=false;
public EnderecoPessoa() {
id = new EnderecoId();
endereco = new Endereco();
}
public EnderecoPessoa(String codigoPessoa, String idTipoEndereco) {
id = new EnderecoId(codigoPessoa, idTipoEndereco);
endereco = new Endereco();
}
public EnderecoPessoa(String codigoPessoa, TipoEndereco tipoEndereco) {
id = new EnderecoId(codigoPessoa, tipoEndereco);
endereco = new Endereco();
}
@EmbeddedId
public EnderecoId getId() {
return id;
}
public void setId(EnderecoId id) {
this.id = id;
}
@Embedded
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
@Column(length = 1)
public String getDevolucao() {
return devolucao;
}
public void setDevolucao(String devolucao) {
this.devolucao = devolucao;
}
@Transient
public String getDevolucaoDescritivo() {
if (devolucao == null) {
return "NÃO DEFINIDO!";
}
if (devolucao.equals("N")) {
return "Não";
} else {
if (devolucao.equals("S")) {
return "Sim";
} else {
devolucaoDescritivo = "NÃO DEFINIDO!";
return devolucaoDescritivo;
}
}
}
@Column(length = 1)
public String getCorrespondencia() {
return correspondencia;
}
public void setCorrespondencia(String correspondencia) {
this.correspondencia = correspondencia;
}
@Transient
public String getCorrespondeciaDescritivo() {
if (correspondencia.equals("S")) {
return "Sim";
} else {
if (correspondencia.equals("N")) {
return "Não";
} else {
correspondeciaDescritivo = "NÃO DEFINIDO!";
return correspondeciaDescritivo;
}
}
}
@Column(name = "emailAtualizacaoCadastral", length = 60)
public String getEmailAtualizacaoCadastral() {
return emailAtualizacaoCadastral;
}
public void setEmailAtualizacaoCadastral(String emailAtualizacaoCadastral) {
this.emailAtualizacaoCadastral = emailAtualizacaoCadastral;
}
@Temporal(javax.persistence.TemporalType.DATE)
public Date getDataAtualizacaoCadastral() {
return dataAtualizacaoCadastral;
}
public void setDataAtualizacaoCadastral(Date dataAtualizacaoCadastral) {
this.dataAtualizacaoCadastral = dataAtualizacaoCadastral;
}
public Boolean getAtualizacaoCadastralSic() {
return atualizacaoCadastralSic;
}
public void setAtualizacaoCadastralSic(Boolean atualizacaoCadastralSic) {
this.atualizacaoCadastralSic = atualizacaoCadastralSic;
}
@Override
public int hashCode() {
int hash = 7;
hash = 71 * hash + (this.id != null ? this.id.hashCode() : 0);
return hash;
}
@Override
public String toString() {
return "EnderecoPessoa{" + "id=pessoa{" + id.getPessoa().getCodigo() + "},tipo{" + id.getTipoEndereco().getIdtipoendereco() + "};"
+ "endereco=" + endereco.getEnderecoDescritivo() + ";"
+ "devolucao=" + devolucao + ";"
+ "correspondencia=" + correspondencia + '}';
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final EnderecoPessoa other = (EnderecoPessoa) obj;
if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
return false;
}
if (this.endereco != other.endereco && (this.endereco == null || !this.endereco.equals(other.endereco))) {
return false;
}
if ((this.devolucao == null) ? (other.devolucao != null) : !this.devolucao.equals(other.devolucao)) {
return false;
}
if ((this.correspondencia == null) ? (other.correspondencia != null) : !this.correspondencia.equals(other.correspondencia)) {
return false;
}
return true;
}
}
Entity Empresa
@Entity
@Table(name = "empresa")
@PrimaryKeyJoinColumn(name = "codigo")
public class Empresa extends Pessoa implements Serializable {
private Long faixa;
private SituacaoRegistro situacaoRegistro;
private Date dataRegistro;
private String nomeFantasia;
private String antigaRazaoSocial;
private BigDecimal valorCapitalMatriz;
private BigDecimal valorCapital;
private String moedaCapital = "R$";
private Date dataCapital;
private Date dataCapitalMatriz;
private String documentoCapital;
private String categoria = "M";
private String tipo;
private String objeto;
private String numeroProcesso;
private Long numeroRegistro;
private Date dataVisto;
private String registroAntigo;
private Boolean entidadeClasse = false;
private List<ResponsabilidadeTecnica> responsaveisAtivos;
private List<ResponsabilidadeTecnica> responsaveisAtivosSemDebito;
private String categoriaDetalhada;
private String tipoDetalhado;
private String entidadeClasseDetalhada;
private String cnpjMatriz;
private String classe;
private List<ResponsabilidadeTecnica> responsaveis;
private List<Socio> socios;
private List<Art> arts;
private Endereco endereco;
private List<ArtWeb> artsWeb;
private Long ultimoAnoPago;
private boolean isenta;
private boolean subJudice;
private String isentaDetalhado;
private String subJudiceDetalhado;
private List<AtividadeEmpresa> atividades;
private String atividadesString;
private String objetoComEspaco;
private boolean convenioGoverno;
private String tipoPessoaJuridica;
private String subtipoPessoaJuridica;
private Boolean isencaoTaxa;
private String documentoIsencaoTaxa;
private Profissional profissionalResponsavelPeloRegistro;
public Empresa() {
this.isenta = false;
this.subJudice = false;
}
public Empresa(String codigo) {
super.setCodigo(codigo);
this.isenta = false;
this.subJudice = false;
}
// GETTERS E SETTERS
public Long getFaixa() {
return this.faixa;
}
public void setFaixa(Long faixa) {
this.faixa = faixa;
}
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "idsituacaoregistro")
public SituacaoRegistro getSituacaoRegistro() {
return situacaoRegistro;
}
public void setSituacaoRegistro(SituacaoRegistro situacaoRegistro) {
this.situacaoRegistro = situacaoRegistro;
}
@Temporal(TemporalType.DATE)
@Column(name = "dataregistro", length = 13)
public Date getDataRegistro() {
return dataRegistro;
}
public void setDataRegistro(Date dataRegistro) {
this.dataRegistro = dataRegistro;
}
@Column(name = "nomefantasia", length = 100)
public String getNomeFantasia() {
return nomeFantasia;
}
public void setNomeFantasia(String nomeFantasia) {
this.nomeFantasia = nomeFantasia;
}
@Column(name = "antigarazaosocial", length = 60)
public String getAntigaRazaoSocial() {
return antigaRazaoSocial;
}
public void setAntigaRazaoSocial(String antigaRazaoSocial) {
this.antigaRazaoSocial = antigaRazaoSocial;
}
@Column(name = "valorcapitalmatriz", precision = 15, scale = 3)
public BigDecimal getValorCapitalMatriz() {
return valorCapitalMatriz;
}
public void setValorCapitalMatriz(BigDecimal valorCapitalMatriz) {
this.valorCapitalMatriz = valorCapitalMatriz;
}
@Column(name = "valorcapital", precision = 15, scale = 3)
public BigDecimal getValorCapital() {
return valorCapital;
}
public void setValorCapital(BigDecimal valorCapital) {
this.valorCapital = valorCapital;
}
@Column(name = "moedacapital", length = 4)
public String getMoedaCapital() {
return moedaCapital;
}
public void setMoedaCapital(String moedaCapital) {
this.moedaCapital = moedaCapital;
}
@Temporal(TemporalType.DATE)
@Column(name = "datacapital", length = 13)
public Date getDataCapital() {
return dataCapital;
}
public void setDataCapital(Date dataCapital) {
this.dataCapital = dataCapital;
}
@Temporal(javax.persistence.TemporalType.DATE)
public Date getDataCapitalMatriz() {
return dataCapitalMatriz;
}
public void setDataCapitalMatriz(Date dataCapitalMatriz) {
this.dataCapitalMatriz = dataCapitalMatriz;
}
@Column(name = "documentocapital", length = 20)
public String getDocumentoCapital() {
return documentoCapital;
}
public void setDocumentoCapital(String documentoCapital) {
this.documentoCapital = documentoCapital;
}
@Column(name = "numeroprocesso", length = 13)
public String getNumeroProcesso() {
return numeroProcesso;
}
public void setNumeroProcesso(String numeroProcesso) {
this.numeroProcesso = numeroProcesso;
}
public Long getNumeroRegistro() {
return numeroRegistro;
}
public void setNumeroRegistro(Long numeroRegistro) {
this.numeroRegistro = numeroRegistro;
}
@Temporal(TemporalType.DATE)
@Column(name = "datavisto", length = 13)
public Date getDataVisto() {
return dataVisto;
}
public void setDataVisto(Date dataVisto) {
this.dataVisto = dataVisto;
}
@Column(name = "registroantigo", length = 10)
public String getRegistroAntigo() {
return registroAntigo;
}
public void setRegistroAntigo(String registroAntigo) {
this.registroAntigo = registroAntigo;
}
@Column(name = "entidadeclasse")
public Boolean getEntidadeClasse() {
return entidadeClasse;
}
public void setEntidadeClasse(Boolean entidadeClasse) {
this.entidadeClasse = entidadeClasse;
}
public String getCnpjMatriz() {
return cnpjMatriz;
}
public void setCnpjMatriz(String cnpjMatriz) {
this.cnpjMatriz = cnpjMatriz;
}
@Column(length = 10)
public String getClasse() {
return classe;
}
public void setClasse(String classe) {
this.classe = classe;
}
@Column(name = "categoria", length = 1)
public String getCategoria() {
return this.categoria;
}
public void setCategoria(String categoria) {
this.categoria = categoria;
}
@Column(name = "tipo", length = 1)
public String getTipo() {
return this.tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
@Lob
@Type(type = "org.hibernate.type.StringClobType")
public String getObjeto() {
return this.objeto;
}
public void setObjeto(String objeto) {
this.objeto = objeto;
}
@Transient
public String getCategoriaDetalhada() {
categoriaDetalhada = "Não Identificado";
if (categoria.equals("M")) {
categoriaDetalhada = "Matriz";
} else if (categoria.equals("F")) {
categoriaDetalhada = "Filial";
} else if (categoria.equals("O")) {
categoriaDetalhada = "Outros";
}
return categoriaDetalhada;
}
public void setCategoriaDetalhada(String categoriaDetalhada) {
this.categoriaDetalhada = categoriaDetalhada;
}
@Transient
public String getTipoDetalhado() {
tipoDetalhado = "Não Identificado";
if (tipo != null) {
if (tipo.equals("1")) {
tipoDetalhado = "Pública";
} else if (tipo.equals("2")) {
tipoDetalhado = "Privada";
} else if (tipo.equals("3")) {
tipoDetalhado = "Mista";
} else if (tipo.equals("4")) {
tipoDetalhado = "Outras";
}
}
return tipoDetalhado;
}
public void setTipoDetalhado(String tipoDetalhado) {
this.tipoDetalhado = tipoDetalhado;
}
@Transient
public String getEntidadeClasseDetalhada() {
entidadeClasseDetalhada = "";
if ((entidadeClasse != null) && (entidadeClasse)) {
entidadeClasseDetalhada = "Sim";
} else {
entidadeClasseDetalhada = "Não";
}
return entidadeClasseDetalhada;
}
public void setEntidadeClasseDetalhada(String entidadeClasseDetalhada) {
this.entidadeClasseDetalhada = entidadeClasseDetalhada;
}
@OneToMany(mappedBy = "pk.empresa", fetch = FetchType.LAZY)
public List<ResponsabilidadeTecnica> getResponsaveis() {
if (responsaveis == null) {
responsaveis = new ArrayList<ResponsabilidadeTecnica>();
}
return responsaveis;
}
public void setResponsaveis(List<ResponsabilidadeTecnica> responsaveis) {
this.responsaveis = responsaveis;
}
@OneToMany(mappedBy = "pk.empresa")
public List<Socio> getSocios() {
if (socios == null) {
socios = new ArrayList<Socio>();
}
return socios;
}
public void setSocios(List<Socio> socios) {
this.socios = socios;
}
@OneToMany(mappedBy = "empresaContratada")
public List<Art> getArts() {
if (arts == null) {
arts = new ArrayList<Art>();
}
return arts;
}
public void setArts(List<Art> arts) {
this.arts = arts;
}
@Transient
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
public Long getUltimoAnoPago() {
return ultimoAnoPago;
}
public void setUltimoAnoPago(Long ultimoAnoPago) {
this.ultimoAnoPago = ultimoAnoPago;
}
@Transient
public String getObjetoComEspaco() {
objetoComEspaco = objeto.concat("\n\n");
return objetoComEspaco;
}
public void setObjetoComEspaco(String objetoComEspaco) {
this.objetoComEspaco = objetoComEspaco;
}
@OneToMany(mappedBy = "empresaContratada")
public List<ArtWeb> getArtsWeb() {
if (artsWeb == null) {
artsWeb = new ArrayList<ArtWeb>();
}
return artsWeb;
}
public void setArtsWeb(List<ArtWeb> artsWeb) {
this.artsWeb = artsWeb;
}
@Transient
public List<ArtWeb> getArtsWebAtivas() {
List<ArtWeb> artsWebAtivas = new ArrayList<ArtWeb>();
boolean temArt = false;
for (ArtWeb aw : getArtsWeb()) {
for (Art a : getArts()) {
if (a.getNumeroArt().equals(aw.getNumeroArt())) {
temArt = true;
}
}
Calendar c = Calendar.getInstance();
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH, -15);
if (!temArt
&& aw.getDataElaboracao() != null
&& aw.getDataElaboracao().after(c.getTime())) {
artsWebAtivas.add(aw);
}
temArt = false;
}
return artsWebAtivas;
}
@Transient
public List<Art> getArtsRegistradas() {
List<Art> artsRegistradas = new ArrayList<Art>();
for (Art a : getArts()) {
if (a.getDataEntrada() != null) {
artsRegistradas.add(a);
}
}
return artsRegistradas;
}
@Transient
public List<ArtWeb> getArtsNaoRegistradas() {
List<ArtWeb> artsNaoRegistradas = new ArrayList<ArtWeb>();
for (ArtWeb aw : getArtsWeb()) {
for (Art a : getArts()) {
if (a.getNumeroArt().equals(aw.getNumeroArt())
&& a.getDataEntrada() == null) {
artsNaoRegistradas.add(aw);
}
}
}
return artsNaoRegistradas;
}
@Transient
public List<Art> getArtsManuaisNaoRegistradas() {
List<Art> artsManuaisNaoRegistradas = new ArrayList<Art>();
Boolean temArt = false;
for (Art a : getArts()) {
for (ArtWeb aw : getArtsWeb()) {
if (a.getNumeroArt().equals(aw.getNumeroArt())) {
temArt = true;
}
}
if (!temArt && a.getDataEntrada() == null) {
artsManuaisNaoRegistradas.add(a);
}
}
return artsManuaisNaoRegistradas;
}
@Override
public String toString() {
String resps = "";
if (!getResponsaveis().isEmpty()) {
for (ResponsabilidadeTecnica rt : getResponsaveis()) {
resps += " " + rt.getPk().getInicioResponsabilidadeFormatado() + " - " + rt.getPk().getProfissional().getNome();
}
}
return "Empresa{" + "codigo=" + super.getCodigo() + ";"
+ "cpfCnpj=" + super.getCpfCnpj() + ";"
+ "nome=" + super.getNome() + ";"
+ "email=" + super.getEmail() + ";"
+ "site=" + super.getSite() + ";"
+ "faixa=" + (faixa != null ? faixa.toString() : "VAZIO") + ";"
+ "situacaoRegistro=" + (situacaoRegistro != null ? situacaoRegistro.getDescricao() : "VAZIO") + ";"
+ "dataRegistro=" + dataRegistro + ";"
+ "nomeFantasia=" + nomeFantasia + ";"
+ "antigaRazaoSocial=" + antigaRazaoSocial + ";"
+ "valorCapitalMatriz=" + valorCapitalMatriz + ";"
+ "valorCapital=" + valorCapital + ";"
+ "moedaCapital=" + moedaCapital + ";"
+ "dataCapital=" + dataCapital + ";"
+ "dataCapitalMatriz=" + dataCapitalMatriz + ";"
+ "documentoCapital=" + documentoCapital + ";"
+ "categoria=" + categoria + ";"
+ "tipo=" + tipo + ";"
+ "objeto=" + objeto + ";"
+ "numeroProcesso=" + numeroProcesso + ";"
+ "numeroRegistro=" + numeroRegistro + ";"
+ "dataVisto=" + dataVisto + ";"
+ "registroAntigo=" + registroAntigo + ";"
+ "entidadeClasse=" + entidadeClasse + ";"
+ "categoriaDetalhada=" + categoriaDetalhada + ";"
+ "tipoDetalhado=" + tipoDetalhado + ";"
+ "entidadeClasseDetalhada=" + entidadeClasseDetalhada + ";"
+ "cnpjMatriz=" + cnpjMatriz + ";"
+ "classe=" + classe + ";"
+ "responsaveis=" + resps + ";"
+ "responsavelPeloRegistro=" + profissionalResponsavelPeloRegistro + ";"
+ '}';
}
@Transient
public List<ResponsabilidadeTecnica> getResponsaveisAtivos() {
List<ResponsabilidadeTecnica> resps = new ArrayList<ResponsabilidadeTecnica>();
for (ResponsabilidadeTecnica rt : getResponsaveis()) {
if (rt.getPk().getProfissional().getSituacaoRegistro() != null && rt.getPk().getProfissional().getSituacaoRegistro().getIdSituacaoRegistro().equals("2")) {
if ((rt.getFimContrato() == null || rt.getFimContrato().after(new Date()))
&& (rt.getFimResponsabilidade() == null || rt.getFimResponsabilidade().after(new Date()))) {
resps.add(rt);
}
}
}
responsaveisAtivos = resps;
return responsaveisAtivos;
}
public void setResponsaveisAtivos(List<ResponsabilidadeTecnica> responsaveisAtivos) {
this.responsaveisAtivos = responsaveisAtivos;
}
@Transient
public List<ResponsabilidadeTecnica> getResponsaveisAtivosSemDebito() {
responsaveisAtivosSemDebito = new ArrayList<ResponsabilidadeTecnica>();
for (ResponsabilidadeTecnica rt : getResponsaveisAtivos()) {
if (PessoaUtil.pessoaEmDiaComAnuidade(rt.getPk().getProfissional())) {
responsaveisAtivosSemDebito.add(rt);
}
}
return responsaveisAtivosSemDebito;
}
public void setResponsaveisAtivosSemDebito(List<ResponsabilidadeTecnica> responsaveisAtivosSemDebito) {
this.responsaveisAtivosSemDebito = responsaveisAtivosSemDebito;
}
@Transient
public String getItensHint() {
String retorno = "";
for (Art a : getArts()) {
retorno += "Nº ART: " + a.getNumeroArt() + "\nData Entrada: " + a.getDataEntrada() + "\nData Pagamento: " + a.getDataPagamento() + "\nNº Recibo: " + a.getNumeroRecibo()
//+ "\nValor Obra/Serviço: " + String.format("%5.2f", a.getValorObraServico())
+ "\nValor Pago: " + String.format("%5.2f", a.getValorPago())
+ "\nEndereço: " + a.getEnderecoObraServico().getEnderecoDescritivo() + "\nContratante: " + a.getContrato().getIdentificacaoContratante().getNome();
}
return retorno;
}
@Transient
public List<Art> getArtsNaoBaixadas() {
List<Art> artsNaoBaixadas = new ArrayList<Art>();
for (Art a : getArts()) {
if (a.getDataBaixa() == null) {
artsNaoBaixadas.add(a);
}
}
return artsNaoBaixadas;
}
@OneToMany(mappedBy = "pk.empresa")
public List<AtividadeEmpresa> getAtividades() {
if (atividades == null) {
atividades = new ArrayList<AtividadeEmpresa>();
}
return atividades;
}
public void setAtividades(List<AtividadeEmpresa> atividades) {
this.atividades = atividades;
}
@Transient
public String getAtividadesString() {
atividadesString = "";
for (AtividadeEmpresa ae : atividades) {
if (!atividadesString.isEmpty()) {
atividadesString += ", ";
}
atividadesString += ae.getPk().getTipoAtividadeEmpresa().getDescricao();
}
return atividadesString;
}
public void setAtividadesString(String atividadesString) {
this.atividadesString = atividadesString;
}
public boolean isIsenta() {
return isenta;
}
public void setIsenta(boolean isenta) {
this.isenta = isenta;
}
public boolean isSubJudice() {
return subJudice;
}
public void setSubJudice(boolean subJudice) {
this.subJudice = subJudice;
}
@ManyToOne
public Profissional getProfissionalResponsavelPeloRegistro() {
return profissionalResponsavelPeloRegistro;
}
public void setProfissionalResponsavelPeloRegistro(Profissional profissionalResponsavelPeloRegistro) {
this.profissionalResponsavelPeloRegistro = profissionalResponsavelPeloRegistro;
}
@Transient
public String getIsentaDetalhado() {
if (isenta) {
isentaDetalhado = "Sim";
} else {
isentaDetalhado = "Não";
}
return isentaDetalhado;
}
public void setIsentaDetalhado(String isentaDetalhado) {
this.isentaDetalhado = isentaDetalhado;
}
@Transient
public String getSubJudiceDetalhado() {
if (subJudice) {
subJudiceDetalhado = "Sim";
} else {
subJudiceDetalhado = "Não";
}
return subJudiceDetalhado;
}
public void setSubJudiceDetalhado(String subJudiceDetalhado) {
this.subJudiceDetalhado = subJudiceDetalhado;
}
@Transient
public Socio getSocioPrincipal() {
Socio socioPrincipal = null;
BigDecimal cotaAtual = BigDecimal.ZERO;
for (Socio socio : socios) {
if (socioPrincipal == null) {
socioPrincipal = socio;
} else {
if (socio.getCota() != null && socio.getCota().compareTo(cotaAtual) == 1 && socio.getDataSaida() == null) {
cotaAtual = socio.getCota();
socioPrincipal = socio;
}
}
}
return socioPrincipal;
}
public boolean isConvenioGoverno() {
return convenioGoverno;
}
public void setConvenioGoverno(boolean convenioGoverno) {
this.convenioGoverno = convenioGoverno;
}
@Transient
public boolean isFilial() {
if (getCodigo().endsWith("TPPI")) {
return false;
}
if (getCategoria() != null && !getCategoria().equals("M")) {
return true;
}
return false;
}
@Transient
public boolean isMatriz() {
if (!isFilial()) {
return true;
}
return false;
}
@Transient
public boolean isMeiaAnuidade() {
//Art. 14. A anuidade da pessoa jurídica que possuir filial, agência, sucursal, escritório
//de representação em circunscrição diferente daquela onde se localiza sua matriz corresponderá à
//metade do valor previsto para a matriz, desde que não possua capital social destacado.
if (isFilial()) {
if (getValorCapital() == null || getValorCapital().compareTo(BigDecimal.ZERO) <= 0) {
return true;
}
}
// boolean temEnderecoPI = false;
// for (EnderecoPessoa e : getEnderecosPessoas()) {
// if (e.getEndereco() != null && e.getEndereco().getUf() != null && e.getEndereco().getUf().equals("PI")) {
// temEnderecoPI = true;
// }
// }
// if (!temEnderecoPI && !getEnderecosPessoas().isEmpty()) {
// return true;
// }
return false;
}
public String getTipoPessoaJuridica() {
return tipoPessoaJuridica;
}
public void setTipoPessoaJuridica(String tipoPessoaJuridica) {
this.tipoPessoaJuridica = tipoPessoaJuridica;
}
public String getSubtipoPessoaJuridica() {
return subtipoPessoaJuridica;
}
public void setSubtipoPessoaJuridica(String subtipoPessoaJuridica) {
this.subtipoPessoaJuridica = subtipoPessoaJuridica;
}
public Boolean getIsencaoTaxa() {
return isencaoTaxaArt;
}
public void setIsencaoTaxa(Boolean isencaoTaxa) {
this.isencaoTaxa = isencaoTaxa;
}
public String getDocumentoIsencaoTaxaArt() {
return documentoIsencaoTaxa;
}
public void setDocumentoIsencaoTaxa(String documentoIsencaoTaxa) {
this.documentoIsencaoTaxa = documentoIsencaoTaxa;
}
Save method Log
public void salvarRegistro() {
Object uc = empresaDao.query("SELECT codigo FROM pessoa WHERE codigo LIKE '%PA' ORDER BY codigo DESC LIMIT 1");
String ultimoNumeroS = uc.toString().substring(0, 10);
Long ultimoNumero = Long.parseLong(ultimoNumeroS);
Long proximoNumero = ultimoNumero + 1;
ultimoNumeroS = StringUtils.leftPad(proximoNumero.toString(), 10, "0");
String proximoCodigo = ultimoNumeroS + "PA";
empresa.setCodigo(proximoCodigo);
empresa.setEmail(empresa.getEmail().toLowerCase());
empresa.setProfissionalResponsavelPeloRegistro((Profissional) profissionalLogado);
empresaDao.salvar(empresa);
enderecoEmpresa.getId().setPessoa(empresa);
enderecoPessoaDao.salvar(enderecoEmpresa);
for(ArquivoRegistroOnlineEmpresa aroe : arquivosRegistroOnlineEmpresa) {
aroe.setEmpresa(empresa);
arquivoRegistroOnlineEmpresaDao.atualizar(aroe);
}
}
Address instance Company
@PostConstruct
public void inicializar() {
// OCULTADO
enderecoEmpresa = new EnderecoPessoa();
empresa = new Empresa();
obterTiposPessoaJuridica();
obterCategorias();
}
Daogenericimp
Stacktrace
Personal address
Good morning, Juliana! Edit your question to include the full stacktrace of the bug, so it’s easier to help
– Ivan Silva
@Ivansilva, I edited the question with Stacktrace
– Juliana Marques
Let’s see what we find
– Ivan Silva
Debug until you find the point that is breaking.
– DiegoAugusto
Where is the implementation of Addressaadaoimpl?
– Ivan Silva
@Ivansilva, I edited the question with the implementation
– Juliana Marques
I’m looking at the stack trace. What’s on line 199 of Daogenericoimp.java? It also helps if it becomes clearer which line 492 of Registroonlineempresacontroller.java is (because there is more than one call to save() there)
– marcus
@In line 199 there is this: getEntityManager(). persist(Object); and on the 492 line of Registroonlineempresacontroller has this: addressPersonDao.save(addressesPress);
– Juliana Marques
If none of the obvious variables of these two lines (addressEmpresa, Object, addressPersonDao, entityManager, etc.) is null, try looking at Enderecoid. I saw that it was built with the default constructor and you called the setPessoa, so it may be missing the setTipoEndereco.
– marcus
You only get the error when you invoke
DaoGenericoImp.salvar()
? I confess I couldn’t fully understand the code, but if possible, check it out– Ivan Silva
in which class is the public void method save() ?
– Caio Augusto Papai
@But that’s what it was. We were missing the setTipoEndereco()
– Juliana Marques
@Julianamarques, thanks for coming back here and warning! I will turn the comment into a reply.
– marcus
Thank you very much
– Juliana Marques