Subversion Repositories Integrator Subversion

Rev

Rev 302 | Rev 321 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
259 espaco 1
package br.com.ec.domain.model;
2
 
3
import java.io.Serializable;
302 espaco 4
import java.util.ArrayList;
259 espaco 5
import java.util.Date;
299 espaco 6
import java.util.List;
259 espaco 7
 
299 espaco 8
import javax.persistence.CascadeType;
259 espaco 9
import javax.persistence.Column;
10
import javax.persistence.Entity;
11
import javax.persistence.GeneratedValue;
12
import javax.persistence.GenerationType;
13
import javax.persistence.Id;
299 espaco 14
import javax.persistence.OneToMany;
259 espaco 15
import javax.persistence.SequenceGenerator;
16
import javax.persistence.Table;
17
import javax.persistence.Transient;
299 espaco 18
import javax.validation.Valid;
259 espaco 19
import javax.validation.constraints.Size;
20
 
21
import org.hibernate.validator.constraints.NotEmpty;
22
 
23
import br.com.ec.core.interfaces.Alterar;
24
import br.com.ec.core.interfaces.Cadastrar;
25
import br.com.ec.core.util.StringUtil;
26
import br.com.ec.core.util.VerificadorUtil;
299 espaco 27
import br.com.ec.domain.dto.PessoaDTO;
302 espaco 28
import br.com.ec.domain.model.tipos.TipoDependentes;
259 espaco 29
import br.com.ec.domain.model.tipos.TipoEscolaridade;
30
import br.com.ec.domain.model.tipos.TipoEstadoCivil;
31
import br.com.ec.domain.model.tipos.TipoPessoa;
32
import br.com.ec.domain.model.tipos.TipoRacaCor;
33
import br.com.ec.domain.model.tipos.TipoSexo;
34
import br.com.ec.web.converters.FormatarUtil;
35
 
36
@Entity
37
@Table(name="sec_pessoa", schema="sc_sec")
38
public class Pessoa implements Serializable {
39
 
40
        private static final long serialVersionUID = 1L;
41
 
42
        private Long sequencial;
43
        private String nome;
44
        private String tipoPessoa;
45
        private String cpfCnpj;
46
        private String email;
47
        private String telefone;
48
        private String contato;
49
        private String observacao;
50
 
51
        //      PESSOA FÍSICA
52
        private String sexo;
53
        private String rg;
54
        private Date rgDataExpedicao;
55
        private String rgOrgaoEmissor;
56
        private Date dataNascimento;
57
        private String nacionalidade;
58
        private String localNascimento;
299 espaco 59
        private String ufNascimento;
259 espaco 60
        private String nomePai;
61
        private String nomeMae;
62
        private String tipoEstadoCivil;
63
        private String tipoRacaCor;
64
        private String tipoEscolaridade;
65
 
299 espaco 66
        private Boolean pessoaDeficienteMotora;
67
        private Boolean pessoaDeficienteVisual;
68
        private Boolean pessoaDeficienteAuditiva;
69
        private Boolean pessoaReabilitado;
70
        private String pessoaDeficienteObservacao;
71
 
302 espaco 72
        private String tipoDependendes;
73
        private String dadosDependentes;
74
        private Boolean dependentesFinsIRRF;
75
        private Boolean dependentesFinsSalarioFamilia;
76
 
259 espaco 77
        //      PESSOA JURÍDICA
78
        private String nomeFantasia;
79
        private String razaoSocial;
80
        private String inscricaoEstadual;
81
        private Boolean inscricaoEstadualIsento;
82
        private String inscricaoMunicipal;
83
        private String tipoRegimeTributario;
84
 
85
        //      CLIENTE
86
        private Boolean indicadorNovidades;
87
 
299 espaco 88
        private Boolean cadastroFinalizado;
259 espaco 89
        private boolean ativo;
90
 
299 espaco 91
        private List<Endereco> enderecos;
303 espaco 92
        private Funcionario funcionario;
299 espaco 93
 
259 espaco 94
        public Pessoa() {
95
//              setTipoPessoa(TipoPessoa.FISICA_F.getValor());
96
//              setInscricaoEstadualIsento(false);
97
                /*
98
                setPapeis(new HashSet<PessoaPapel>());
99
                setEnderecos(new HashSet<Endereco>());
100
                setDadosBancarios(new HashSet<DadosBancarios>());
101
                */
102
        }
103
 
299 espaco 104
        public Pessoa(PessoaDTO pessoaDTO) {
105
                this.sequencial = pessoaDTO.getSequencial();
106
                this.nome = pessoaDTO.getNome();
107
                this.tipoPessoa = pessoaDTO.getTipoPessoa();
108
                this.cpfCnpj = pessoaDTO.getCpfCnpj();
109
                this.email = pessoaDTO.getEmail();
110
                this.telefone = pessoaDTO.getTelefone();
111
                this.contato = pessoaDTO.getContato();
112
                this.observacao = pessoaDTO.getObservacao();
113
 
114
        //      PESSOA FÍSICA
115
                this.sexo = pessoaDTO.getSexo();
116
                this.rg = pessoaDTO.getRg();
117
                this.rgDataExpedicao = pessoaDTO.getRgDataExpedicao();
118
                this.rgOrgaoEmissor = pessoaDTO.getRgOrgaoEmissor();
119
                this.dataNascimento = pessoaDTO.getDataNascimento();
120
                this.nacionalidade = pessoaDTO.getNacionalidade();
121
                this.localNascimento = pessoaDTO.getLocalNascimento();
122
                this.ufNascimento = pessoaDTO.getUfNascimento();
123
                this.nomePai = pessoaDTO.getNomePai();
124
                this.nomeMae = pessoaDTO.getNomeMae();
125
                this.tipoEstadoCivil = pessoaDTO.getTipoEstadoCivil();
126
                this.tipoRacaCor = pessoaDTO.getTipoRacaCor();
127
                this.tipoEscolaridade = pessoaDTO.getTipoEscolaridade();
128
        }
129
 
130
        //      PESSOA JURÍDICA
131
                /*
132
                this.nomeFantasia = pessoaDTO.getN;
133
                this.razaoSocial = pessoaDTO.;
134
                this.inscricaoEstadual = pessoaDTO.;
135
                this.inscricaoEstadualIsento = pessoaDTO.;
136
                this.inscricaoMunicipal = pessoaDTO.;
137
                this.tipoRegimeTributario = pessoaDTO.;
138
                */
139
 
259 espaco 140
        @Id
141
        @SequenceGenerator(name = "sq_pessoa")
142
        @GeneratedValue(strategy=GenerationType.IDENTITY)
143
        @Column(name="seq_pessoa", nullable=false)
144
        public Long getSequencial() {
145
                return sequencial;
146
        }
147
        public void setSequencial(Long sequencial) {
148
                this.sequencial = sequencial;
149
        }
150
 
151
        @Column(name="dsc_nome")
152
        @Size(max = 120, message = "Limite de caracteres ultrapassado: Nome")
153
        @NotEmpty(message="Obrigatório informar o nome", groups={Cadastrar.class, Alterar.class})
154
        public String getNome() {
155
                return nome;
156
        }
157
        public void setNome(String nome) {
158
                this.nome = StringUtil.setarUpperCaseComTrim(nome);
159
        }
160
 
161
        @Column(name="tip_pessoa")
162
        public String getTipoPessoa() {
163
                return tipoPessoa;
164
        }
165
        public void setTipoPessoa(String tipoPessoa) {
166
                this.tipoPessoa = tipoPessoa;
167
        }
168
        @Transient
169
        public String getDescricaoDoTipoDaPessoa() {
170
                return VerificadorUtil.naoEstaNulo(getTipoPessoa())? TipoPessoa.parse(getTipoPessoa()).getDescricao() : null;
171
        }
172
 
173
        @Column(name="dsc_cpf_cnpj")
174
        @Size(max = 20, message = "Limite de caracteres ultrapassado: CPF/CNPJ")
175
        public String getCpfCnpj() {
176
                return cpfCnpj;
177
        }
178
        public void setCpfCnpj(String cpfCnpj) {
179
                this.cpfCnpj = cpfCnpj;
180
        }
181
 
182
        @Column(name="dsc_email")
183
        @Size(max = 120, message = "Limite de caracteres ultrapassado: Email")
184
        public String getEmail() {
185
                return email;
186
        }
187
        public void setEmail(String email) {
302 espaco 188
                this.email = StringUtil.setarLowerCase(email);
259 espaco 189
        }
190
 
191
        @Column(name="dsc_telefone")
192
        @Size(max = 11, message = "Limite de caracteres ultrapassado: Telefone")
193
        public String getTelefone() {
194
                return telefone;
195
        }
196
        public void setTelefone(String telefone) {
197
                this.telefone = telefone;
198
        }
199
 
200
        @Column(name="dsc_contato")
201
        public String getContato() {
202
                return contato;
203
        }
204
        public void setContato(String contato) {
205
                this.contato = contato;
206
        }
207
 
208
        @Column(name="dsc_observacao")
209
        @Size(max = 240, message = "Limite de caracteres ultrapassado: Observação")
210
        public String getObservacao() {
211
                return observacao;
212
        }
213
        public void setObservacao(String observacao) {
214
                this.observacao = StringUtil.setarUpperCaseComTrim(observacao);
215
        }
216
        /*
217
        @Valid
218
        @OneToMany(mappedBy="pessoa", cascade=CascadeType.ALL, orphanRemoval=true)
219
        public Set<PessoaPapel> getPapeis() {
220
                return papeis;
221
        }
222
        public void setPapeis(Set<PessoaPapel> papeis) {
223
                this.papeis = papeis;
224
        }
225
        */
226
        @Column(name="tip_sexo")
227
        public String getSexo() {
228
                return sexo;
229
        }
230
        public void setSexo(String sexo) {
231
                this.sexo = sexo;
232
        }
302 espaco 233
        @Transient
234
        public String getDescricaoDoSexo() {
235
                return VerificadorUtil.naoEstaNulo(getSexo())? TipoSexo.parse(getSexo()).getDescricao() : null;
236
        }
259 espaco 237
 
238
        @Column(name="dsc_rg")
239
        @Size(max = 20, message = "Limite de caracteres ultrapassado: RG")
240
        public String getRg() {
241
                return rg;
242
        }
243
        public void setRg(String rg) {
244
                this.rg = rg;
245
        }
246
 
247
        @Column(name="dsc_rg_orgaoemissor")
248
        @Size(max = 10, message = "Limite de caracteres ultrapassado: Orgão Emissor do RG")
249
        public String getRgOrgaoEmissor() {
250
                return rgOrgaoEmissor;
251
        }
252
        public void setRgOrgaoEmissor(String rgOrgaoEmissor) {
302 espaco 253
                this.rgOrgaoEmissor = StringUtil.setarUpperCaseComTrim(rgOrgaoEmissor);
259 espaco 254
        }
255
 
256
        @Column(name="dsc_rg_dataexpedicao")
257
        public Date getRgDataExpedicao() {
258
                return rgDataExpedicao;
259
        }
260
        public void setRgDataExpedicao(Date rgDataExpedicao) {
261
                this.rgDataExpedicao = rgDataExpedicao;
262
        }
263
        @Transient
264
        public String getRgDataExpedicaoFormatada() {
265
                return VerificadorUtil.naoEstaNulo(getRgDataExpedicao())? FormatarUtil.retornarDataFormatada(getRgDataExpedicao()) : "";
266
        }
267
 
268
        @Column(name="dat_nascimento")
269
        public Date getDataNascimento() {
270
                return dataNascimento;
271
        }
272
        public void setDataNascimento(Date dataNascimento) {
273
                this.dataNascimento = dataNascimento;
274
        }
275
        @Transient
276
        public String getDataNascimentoFormatada() {
277
                return VerificadorUtil.naoEstaNulo(getDataNascimento())? FormatarUtil.retornarDataFormatada(getDataNascimento()) : "";
278
        }
279
 
280
        @Column(name="dsc_nacionalidade")
281
        @Size(max = 20, message = "Limite de caracteres ultrapassado: Nacionalidade")
282
        public String getNacionalidade() {
283
                return nacionalidade;
284
        }
285
        public void setNacionalidade(String nacionalidade) {
286
                this.nacionalidade = StringUtil.setarUpperCaseComTrim(nacionalidade);
287
        }
288
 
289
        @Column(name="dsc_nascimento_local")
290
        @Size(max = 120, message = "Limite de caracteres ultrapassado: Local do Nascimento")
291
        public String getLocalNascimento() {
292
                return localNascimento;
293
        }
294
        public void setLocalNascimento(String localNascimento) {
303 espaco 295
                this.localNascimento = StringUtil.setarUpperCaseComTrim(localNascimento);
259 espaco 296
        }
297
 
298
        @Column(name="dsc_nascimento_uf")
299
        @Size(max = 2, message = "Limite de caracteres ultrapassado: UF do Nascimento")
300
        public String getUfNascimento() {
299 espaco 301
                return ufNascimento;
259 espaco 302
        }
303
        public void setUfNascimento(String ufNascimento) {
303 espaco 304
                this.ufNascimento = StringUtil.setarUpperCaseComTrim(ufNascimento);
259 espaco 305
        }
306
 
307
        @Column(name="dsc_nome_pai")
308
        @Size(max = 120, message = "Limite de caracteres ultrapassado: Nome do Pai")
309
        public String getNomePai() {
310
                return nomePai;
311
        }
312
        public void setNomePai(String nomePai) {
313
                this.nomePai = StringUtil.setarUpperCaseComTrim(nomePai);
314
        }
315
 
316
        @Column(name="dsc_nome_mae")
317
        @Size(max = 120, message = "Limite de caracteres ultrapassado: Nome da Mãe")
318
        public String getNomeMae() {
319
                return nomeMae;
320
        }
321
        public void setNomeMae(String nomeMae) {
322
                this.nomeMae = StringUtil.setarUpperCaseComTrim(nomeMae);
323
        }
324
 
325
        @Column(name="tip_estado_civil")
326
        public String getTipoEstadoCivil() {
327
                return tipoEstadoCivil;
328
        }
329
        public void setTipoEstadoCivil(String tipoEstadoCivil) {
330
                this.tipoEstadoCivil = tipoEstadoCivil;
331
        }
332
        @Transient
333
        public String getDescricaoDoEstadoCivil() {
334
                return VerificadorUtil.naoEstaNulo(getTipoEstadoCivil())? TipoEstadoCivil.parse(getTipoEstadoCivil()).getDescricao() : null;
335
        }
336
 
337
        @Column(name="tip_raca_cor")
338
        public String getTipoRacaCor() {
339
                return tipoRacaCor;
340
        }
341
        public void setTipoRacaCor(String tipoRacaCor) {
342
                this.tipoRacaCor = tipoRacaCor;
343
        }
344
        @Transient
345
        public String getDescricaoDaRacaCor() {
346
                return VerificadorUtil.naoEstaNulo(getTipoRacaCor())? TipoRacaCor.parse(getTipoRacaCor()).getDescricao() : null;
347
        }
348
 
349
        @Column(name="tip_escolaridade")
350
        public String getTipoEscolaridade() {
351
                return tipoEscolaridade;
352
        }
353
        public void setTipoEscolaridade(String tipoEscolaridade) {
354
                this.tipoEscolaridade = tipoEscolaridade;
355
        }
356
        @Transient
357
        public String getDescricaoDaEscolaridade() {
358
                return VerificadorUtil.naoEstaNulo(getTipoEscolaridade())? TipoEscolaridade.parse(getTipoEscolaridade()).getDescricao() : null;
359
        }
360
 
299 espaco 361
        @Column(name="ind_deficiente_motora")
362
        public Boolean getPessoaDeficienteMotora() {
363
                return pessoaDeficienteMotora;
364
        }
365
        public void setPessoaDeficienteMotora(Boolean pessoaDeficienteMotora) {
366
                this.pessoaDeficienteMotora = pessoaDeficienteMotora;
367
        }
368
 
369
        @Column(name="ind_deficiente_visual")
370
        public Boolean getPessoaDeficienteVisual() {
371
                return pessoaDeficienteVisual;
372
        }
373
        public void setPessoaDeficienteVisual(Boolean pessoaDeficienteVisual) {
374
                this.pessoaDeficienteVisual = pessoaDeficienteVisual;
375
        }
376
 
377
        @Column(name="ind_deficiente_auditiva")
378
        public Boolean getPessoaDeficienteAuditiva() {
379
                return pessoaDeficienteAuditiva;
380
        }
381
        public void setPessoaDeficienteAuditiva(Boolean pessoaDeficienteAuditiva) {
382
                this.pessoaDeficienteAuditiva = pessoaDeficienteAuditiva;
383
        }
384
 
385
        @Column(name="ind_reabilitado")
386
        public Boolean getPessoaReabilitado() {
387
                return pessoaReabilitado;
388
        }
389
        public void setPessoaReabilitado(Boolean pessoaReabilitado) {
390
                this.pessoaReabilitado = pessoaReabilitado;
391
        }
392
 
393
        @Column(name="dsc_deficiente_observacao")
394
        @Size(max = 200, message = "Limite de caracteres ultrapassado: OBSERVAÇÕES DA DEFICIÊNCIA")
395
        public String getPessoaDeficienteObservacao() {
396
                return pessoaDeficienteObservacao;
397
        }
398
        public void setPessoaDeficienteObservacao(String pessoaDeficienteObservacao) {
399
                this.pessoaDeficienteObservacao = StringUtil.setarUpperCaseComTrim(pessoaDeficienteObservacao);;
400
        }
302 espaco 401
 
402
        @Column(name="tip_dependentes")
403
        public String getTipoDependendes() {
404
                return tipoDependendes;
405
        }
406
        public void setTipoDependendes(String tipoDependendes) {
407
                this.tipoDependendes = tipoDependendes;
408
        }
409
        @Transient
410
        public String getDescricaoTipoDependentes() {
411
                return VerificadorUtil.naoEstaNulo(getTipoDependendes())? TipoDependentes.parse(getTipoDependendes()).getDescricao() : null;
412
        }
413
 
414
        @Column(name="dsc_dados_dependentes")
415
        @Size(max = 400, message = "Limite de caracteres ultrapassado: DADOS DOS DEPENDENTES")
416
        public String getDadosDependentes() {
417
                return dadosDependentes;
418
        }
419
        public void setDadosDependentes(String dadosDependentes) {
420
                this.dadosDependentes = StringUtil.setarUpperCaseComTrim(dadosDependentes);
421
        }
422
 
423
        @Column(name="ind_dependentes_irrf")
424
        public Boolean getDependentesFinsIRRF() {
425
                return dependentesFinsIRRF;
426
        }
427
        public void setDependentesFinsIRRF(Boolean dependentesFinsIRRF) {
428
                this.dependentesFinsIRRF = dependentesFinsIRRF;
429
        }
430
 
431
        @Column(name="ind_dependentes_salariofamilia")
432
        public Boolean getDependentesFinsSalarioFamilia() {
433
                return dependentesFinsSalarioFamilia;
434
        }
435
        public void setDependentesFinsSalarioFamilia(Boolean dependentesFinsSalarioFamilia) {
436
                this.dependentesFinsSalarioFamilia = dependentesFinsSalarioFamilia;
437
        }
299 espaco 438
 
259 espaco 439
        @Column(name="dsc_nome_fantasia")
440
        @Size(max = 120, message = "Limite de caracteres ultrapassado: Nome Fantasia")
441
        public String getNomeFantasia() {
442
                return nomeFantasia;
443
        }
444
        public void setNomeFantasia(String nomeFantasia) {
445
                this.nomeFantasia = StringUtil.setarUpperCaseComTrim(nomeFantasia);
446
        }
447
 
448
        @Column(name="dsc_razao_social")
449
        @Size(max = 240, message = "Limite de caracteres ultrapassado: Razão Social")
450
        public String getRazaoSocial() {
451
                return razaoSocial;
452
        }
453
        public void setRazaoSocial(String razaoSocial) {
302 espaco 454
                this.razaoSocial = StringUtil.setarUpperCaseComTrim(razaoSocial);
259 espaco 455
        }
456
 
457
        @Column(name="dsc_inscricao_estadual")
458
        @Size(max = 15, message = "Limite de caracteres ultrapassado: Inscrição Estadual")
459
        public String getInscricaoEstadual() {
460
                return inscricaoEstadual;
461
        }
462
        public void setInscricaoEstadual(String inscricaoEstadual) {
463
                this.inscricaoEstadual = inscricaoEstadual;
464
        }
465
 
466
        @Column(name="ind_inscricao_estadual_isento")
467
        public Boolean getInscricaoEstadualIsento() {
468
                return inscricaoEstadualIsento;
469
        }
470
        public void setInscricaoEstadualIsento(Boolean inscricaoEstadualIsento) {
471
                this.inscricaoEstadualIsento = inscricaoEstadualIsento;
472
        }
473
 
474
        @Column(name="dsc_inscricao_municipal")
475
        @Size(max = 15, message = "Limite de caracteres ultrapassado: Inscrição Municipal")
476
        public String getInscricaoMunicipal() {
477
                return inscricaoMunicipal;
478
        }
479
        public void setInscricaoMunicipal(String inscricaoMunicipal) {
480
                this.inscricaoMunicipal = inscricaoMunicipal;
481
        }
482
 
483
        @Column(name="tip_regime_tributario")
484
        public String getTipoRegimeTributario() {
485
                return tipoRegimeTributario;
486
        }
487
        public void setTipoRegimeTributario(String tipoRegimeTributario) {
488
                this.tipoRegimeTributario = tipoRegimeTributario;
489
        }
490
        /*
491
        @ManyToOne
492
        @ForeignKey(name="fk_pessoa_modelo")
493
        @JoinColumn(name = "seq_modelo_cliente", nullable=true)
494
        public Modelo getModeloCliente() {
495
                return modeloCliente;
496
        }
497
        public void setModeloCliente(Modelo modeloCliente) {
498
                this.modeloCliente = modeloCliente;
499
        }
500
        */
501
        @Column(name="ind_novidades")
502
        public Boolean getIndicadorNovidades() {
503
                return indicadorNovidades;
504
        }
505
        public void setIndicadorNovidades(Boolean indicadorNovidades) {
506
                this.indicadorNovidades = indicadorNovidades;
507
        }
508
        /*
509
        @Valid
510
        @OneToMany(mappedBy="pessoa", cascade=CascadeType.ALL, orphanRemoval=true)
511
        public Set<DadosBancarios> getDadosBancarios() {
512
                return dadosBancarios;
513
        }
514
 
515
        public void setDadosBancarios(Set<DadosBancarios> dadosBancarios) {
516
                this.dadosBancarios = dadosBancarios;
517
        }
518
        */
299 espaco 519
 
520
        @Column(name="ind_cadastro_finalizado", nullable=false)
521
        public Boolean getCadastroFinalizado() {
522
                return cadastroFinalizado;
523
        }
524
        public void setCadastroFinalizado(Boolean cadastroFinalizado) {
525
                this.cadastroFinalizado = cadastroFinalizado;
526
        }
527
 
259 espaco 528
        @Column(name="ind_ativo", nullable=false)
529
        public Boolean getAtivo() {
530
                return ativo;
531
        }
532
 
533
        public void setAtivo(Boolean ativo) {
534
                this.ativo = ativo;
535
        }
536
 
299 espaco 537
        @Valid
538
        @OneToMany(mappedBy="pessoa", cascade=CascadeType.ALL, orphanRemoval=true)
539
        public List<Endereco> getEnderecos() {
540
                return enderecos;
541
        }
542
        public void setEnderecos(List<Endereco> enderecos) {
543
                this.enderecos = enderecos;
544
        }
545
 
303 espaco 546
        @Transient
547
        public Funcionario getFuncionario() {
548
                return funcionario;
549
        }
550
        public void setFuncionario(Funcionario funcionario) {
551
                this.funcionario = funcionario;
552
        }
553
 
259 espaco 554
        /*******************************************************/
555
 
556
        @Override
557
        public int hashCode() {
558
                final int prime = 31;
559
                int result = 1;
560
                result = prime * result + ((sequencial == null) ? 0 : sequencial.hashCode());
561
                return result;
562
        }
563
 
564
        @Override
565
        public boolean equals(Object obj) {
566
                if (this == obj)
567
                        return true;
568
                if (obj == null)
569
                        return false;
570
                if (getClass() != obj.getClass())
571
                        return false;
572
                Pessoa other = (Pessoa) obj;
573
                if (sequencial == null) {
574
                        if (other.sequencial != null)
575
                                return false;
576
                } else if (!sequencial.equals(other.sequencial))
577
                        return false;
578
                return true;
579
        }
580
 
581
        @Transient
582
        public Boolean ehTipoPessoaFisica() {
583
                return getTipoPessoa().equals(TipoPessoa.FISICA_F.getValor());
584
        }
585
 
586
        @Transient
587
        public Boolean ehTipoPessoaJuridica() {
588
                return getTipoPessoa().equals(TipoPessoa.JURIDICA_J.getValor());
589
        }
590
 
591
        @Transient
592
        public String getCpfCnpjFormatado() {
593
                return VerificadorUtil.naoEstaNulo(getCpfCnpj())? FormatarUtil.retornarCpfCnpjFormatado(getCpfCnpj()) : "";
594
        }
595
        /*
596
        @Transient
597
        public Endereco getEnderecoPrincipal() {
598
                ArrayList<Endereco> enderecos = new ArrayList<>(getEnderecos());
599
                return VerificadorUtil.isListaNulaOuVazia(enderecos)? null : enderecos.get(0);
600
        }
601
*/
602
        @Transient
603
        public Boolean getEstadoCivilEhSolteiro() {
604
                return VerificadorUtil.naoEstaNulo(getTipoEstadoCivil())? getTipoEstadoCivil().equals(TipoEstadoCivil.SOLTEIRO_S.getValor()) : false;
605
        }
606
        @Transient
607
        public Boolean getEstadoCivilEhCasado() {
608
                return VerificadorUtil.naoEstaNulo(getTipoEstadoCivil())? getTipoEstadoCivil().equals(TipoEstadoCivil.CASADO_C.getValor()) : false;
609
        }
610
        @Transient
611
        public Boolean getEstadoCivilEhDivorciado() {
612
                return VerificadorUtil.naoEstaNulo(getTipoEstadoCivil())? getTipoEstadoCivil().equals(TipoEstadoCivil.DIVORCIADO_D.getValor()) : false;
613
        }
614
        @Transient
615
        public Boolean getEstadoCivilEhViuvo() {
616
                return VerificadorUtil.naoEstaNulo(getTipoEstadoCivil())? getTipoEstadoCivil().equals(TipoEstadoCivil.VIUVO_V.getValor()) : false;
617
        }
618
        @Transient
619
        public Boolean getEstadoCivilEhUniaoEstavel() {
620
                return VerificadorUtil.naoEstaNulo(getTipoEstadoCivil())? getTipoEstadoCivil().equals(TipoEstadoCivil.UNIAO_ESTAVEL_U.getValor()) : false;
621
        }
622
        @Transient
623
        public Boolean getEstadoCivilEhOutros() {
624
                return VerificadorUtil.naoEstaNulo(getTipoEstadoCivil())? getTipoEstadoCivil().equals(TipoEstadoCivil.OUTROS_O.getValor()) : false;
625
        }
626
 
627
        @Transient
628
        public Boolean getSexoEhMasculino() {
629
                return VerificadorUtil.naoEstaNulo(getSexo())? getSexo().equals(TipoSexo.MASCULINO.getValor()) : false;
630
        }
631
        @Transient
632
        public Boolean getSexoEhFeminino() {
633
                return VerificadorUtil.naoEstaNulo(getSexo())? getSexo().equals(TipoSexo.FEMININO.getValor()) : false;
634
        }
635
 
636
        @Transient
637
        public Boolean getRacaCorEhIndigena() {
638
                return VerificadorUtil.naoEstaNulo(getTipoRacaCor())? getTipoRacaCor().equals(TipoRacaCor.INDIGENA.getValor()) : false;
639
        }
640
        @Transient
641
        public Boolean getRacaCorEhBranca() {
642
                return VerificadorUtil.naoEstaNulo(getTipoRacaCor())? getTipoRacaCor().equals(TipoRacaCor.BRANCA.getValor()) : false;
643
        }
644
        @Transient
645
        public Boolean getRacaCorEhNegra() {
646
                return VerificadorUtil.naoEstaNulo(getTipoRacaCor())? getTipoRacaCor().equals(TipoRacaCor.NEGRA.getValor()) : false;
647
        }
648
        @Transient
649
        public Boolean getRacaCorEhAmarela() {
650
                return VerificadorUtil.naoEstaNulo(getTipoRacaCor())? getTipoRacaCor().equals(TipoRacaCor.AMARELA.getValor()) : false;
651
        }
652
        @Transient
653
        public Boolean getRacaCorEhParda() {
654
                return VerificadorUtil.naoEstaNulo(getTipoRacaCor())? getTipoRacaCor().equals(TipoRacaCor.PARDA.getValor()) : false;
655
        }
656
        @Transient
657
        public Boolean getRacaCorEhNaoInformada() {
658
                return VerificadorUtil.naoEstaNulo(getTipoRacaCor())? getTipoRacaCor().equals(TipoRacaCor.NAO_INFORMADA.getValor()) : false;
659
        }
302 espaco 660
 
661
        @Transient
662
        public Endereco primeiroEndereco() {
663
                if (!VerificadorUtil.isListaNulaOuVazia(getEnderecos())) {
664
                        return getEnderecos().get(0);
665
                }
666
                return null;
667
        }
668
 
669
        @Transient
670
        public void atualizarEndereco(Endereco endereco) {
671
                if (VerificadorUtil.isListaNulaOuVazia(getEnderecos())) {
672
                        List<Endereco> enderecos = new ArrayList<Endereco>();
673
                        endereco.setPessoa(this);
674
                        enderecos.add(endereco);
675
                } else {
676
                        int localizacao = getEnderecos().indexOf(endereco);
677
                        if (localizacao > -1) {
678
                                getEnderecos().remove(localizacao);
679
                        }
680
                        getEnderecos().add(endereco);
681
                }
682
        }
259 espaco 683
 
684
}