Subversion Repositories Integrator Subversion

Rev

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