Subversion Repositories Integrator Subversion

Rev

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