Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
package br.com.ec.domain.model;
2
 
3
import java.io.Serializable;
4
import java.util.ArrayList;
5
import java.util.Date;
6
import java.util.HashSet;
7
import java.util.Set;
8
 
9
import javax.persistence.CascadeType;
10
import javax.persistence.Column;
11
import javax.persistence.Entity;
12
import javax.persistence.GeneratedValue;
13
import javax.persistence.GenerationType;
14
import javax.persistence.Id;
15
import javax.persistence.OneToMany;
16
import javax.persistence.Table;
17
import javax.persistence.Transient;
18
import javax.validation.Valid;
19
 
20
import org.hibernate.validator.constraints.NotEmpty;
21
 
22
import br.com.ec.domain.model.tipos.TipoEscolaridade;
23
import br.com.ec.domain.model.tipos.TipoEstadoCivil;
24
import br.com.ec.domain.model.tipos.TipoRacaCor;
25
import br.com.ec.domain.model.tipos.TipoSexo;
26
import br.edu.cesmac.core.interfaces.Alterar;
27
import br.edu.cesmac.core.interfaces.Cadastrar;
28
import br.edu.cesmac.core.util.StringUtil;
29
import br.edu.cesmac.core.util.VerificadorUtil;
30
import br.edu.cesmac.web.converters.FormatarUtil;
31
 
32
@Entity
33
@Table(name="sec_pessoa", schema="sc_sec")
34
public class Pessoa implements Serializable {
35
 
36
        private static final long serialVersionUID = 1L;
37
 
38
        private Long sequencial;
39
        private String nome;
40
        private String sexo;
41
        private String cpfCnpj;
42
        private String rg;
43
        private Date rgDataExpedicao;
44
        private String rgOrgaoEmissor;
45
        private String email;
46
        private String telefone;
47
        private String nacionalidade;
48
        private String nomePai;
49
        private String nomeMae;
50
        private String tipoEstadoCivil;
51
        private String tipoRacaCor;
52
        private String tipoEscolaridade;
53
        private String observacao;
54
        private Date dataNascimento;
55
        private String localNascimento;
56
        private String UfNascimento;
57
        private Set<Endereco> enderecos = new HashSet<Endereco>();
58
        private Set<DadosBancarios> dadosBancarios = new HashSet<DadosBancarios>();
59
 
60
        private String nomeFantasia;
61
        private String razaoSocial;
62
        private String tipoRegimeTributario;
63
        private String inscricaoEstadual;
64
        private String inscricaoMunicipal;
65
 
66
        private boolean ativo;
67
 
68
        @Id
69
        @GeneratedValue(strategy=GenerationType.IDENTITY)
70
        @Column(name="seq_pessoa", nullable=false)
71
        public Long getSequencial() {
72
                return sequencial;
73
        }
74
 
75
        public void setSequencial(Long sequencial) {
76
                this.sequencial = sequencial;
77
        }
78
 
79
        @NotEmpty(message="Obrigatório informar o nome", groups={Cadastrar.class, Alterar.class})
80
        @Column(name="dsc_nome")
81
        public String getNome() {
82
                return nome;
83
        }
84
        public void setNome(String nome) {
85
                this.nome = StringUtil.setarUpperCase(nome);
86
        }
87
 
88
        @Column(name="dsc_nome_fantasia")
89
        public String getNomeFantasia() {
90
                return nomeFantasia;
91
        }
92
        public void setNomeFantasia(String nomeFantasia) {
93
                this.nomeFantasia = StringUtil.setarUpperCase(nomeFantasia);
94
        }
95
 
96
        @Column(name="dsc_razao_social")
97
        public String getRazaoSocial() {
98
                return razaoSocial;
99
        }
100
        public void setRazaoSocial(String razaoSocial) {
101
                this.razaoSocial = razaoSocial;
102
        }
103
 
104
        @Column(name="tip_sexo")
105
        public String getSexo() {
106
                return sexo;
107
        }
108
        public void setSexo(String sexo) {
109
                this.sexo = sexo;
110
        }
111
 
112
        @Column(name="dsc_cpf_cnpj")
113
        public String getCpfCnpj() {
114
                return cpfCnpj;
115
        }
116
        public void setCpfCnpj(String cpfCnpj) {
117
                this.cpfCnpj = cpfCnpj;
118
        }
119
 
120
        @Column(name="dsc_rg")
121
        public String getRg() {
122
                return rg;
123
        }
124
        public void setRg(String rg) {
125
                this.rg = rg;
126
        }
127
 
128
        @Column(name="dsc_rg_dataexpedicao")
129
        public Date getRgDataExpedicao() {
130
                return rgDataExpedicao;
131
        }
132
        public void setRgDataExpedicao(Date rgDataExpedicao) {
133
                this.rgDataExpedicao = rgDataExpedicao;
134
        }
135
        @Transient
136
        public String getRgDataExpedicaoFormatada() {
137
                return VerificadorUtil.naoEstaNulo(getRgDataExpedicao())? FormatarUtil.retornarDataFormatada(getRgDataExpedicao()) : "";
138
        }
139
 
140
        @Column(name="dsc_rg_orgaoemissor")
141
        public String getRgOrgaoEmissor() {
142
                return rgOrgaoEmissor;
143
        }
144
        public void setRgOrgaoEmissor(String rgOrgaoEmissor) {
145
                this.rgOrgaoEmissor = rgOrgaoEmissor;
146
        }
147
 
148
        @Column(name="dsc_inscricao_estadual")
149
        public String getInscricaoEstadual() {
150
                return inscricaoEstadual;
151
        }
152
        public void setInscricaoEstadual(String inscricaoEstadual) {
153
                this.inscricaoEstadual = inscricaoEstadual;
154
        }
155
 
156
        @Column(name="dsc_inscricao_municipal")
157
        public String getInscricaoMunicipal() {
158
                return inscricaoMunicipal;
159
        }
160
        public void setInscricaoMunicipal(String inscricaoMunicipal) {
161
                this.inscricaoMunicipal = inscricaoMunicipal;
162
        }
163
 
164
        @Column(name="tip_regime_tributario")
165
        public String getTipoRegimeTributario() {
166
                return tipoRegimeTributario;
167
        }
168
        public void setTipoRegimeTributario(String tipoRegimeTributario) {
169
                this.tipoRegimeTributario = tipoRegimeTributario;
170
        }
171
 
172
        @Column(name="dsc_email")
173
        public String getEmail() {
174
                return email;
175
        }
176
        public void setEmail(String email) {
177
                this.email = email;
178
        }
179
 
180
        @Column(name="dsc_telefone")
181
        public String getTelefone() {
182
                return telefone;
183
        }
184
        public void setTelefone(String telefone) {
185
                this.telefone = telefone;
186
        }
187
 
188
        @Column(name="dsc_nacionalidade")
189
        public String getNacionalidade() {
190
                return nacionalidade;
191
        }
192
        public void setNacionalidade(String nacionalidade) {
193
                this.nacionalidade = StringUtil.setarUpperCase(nacionalidade);
194
        }
195
 
196
        @Column(name="dsc_nome_pai")
197
        public String getNomePai() {
198
                return nomePai;
199
        }
200
        public void setNomePai(String nomePai) {
201
                this.nomePai = StringUtil.setarUpperCase(nomePai);
202
        }
203
 
204
        @Column(name="dsc_nome_mae")
205
        public String getNomeMae() {
206
                return nomeMae;
207
        }
208
        public void setNomeMae(String nomeMae) {
209
                this.nomeMae = StringUtil.setarUpperCase(nomeMae);
210
        }
211
 
212
        @Column(name="tip_estado_civil")
213
        public String getTipoEstadoCivil() {
214
                return tipoEstadoCivil;
215
        }
216
        public void setTipoEstadoCivil(String tipoEstadoCivil) {
217
                this.tipoEstadoCivil = tipoEstadoCivil;
218
        }
219
        @Transient
220
        public String getDescricaoDoEstadoCivil() {
221
                return VerificadorUtil.naoEstaNulo(getTipoEstadoCivil())? TipoEstadoCivil.parse(getTipoEstadoCivil()).getDescricao() : null;
222
        }
223
 
224
        @Column(name="tip_raca_cor")
225
        public String getTipoRacaCor() {
226
                return tipoRacaCor;
227
        }
228
        public void setTipoRacaCor(String tipoRacaCor) {
229
                this.tipoRacaCor = tipoRacaCor;
230
        }
231
        @Transient
232
        public String getDescricaoDaRacaCor() {
233
                return VerificadorUtil.naoEstaNulo(getTipoRacaCor())? TipoRacaCor.parse(getTipoRacaCor()).getDescricao() : null;
234
        }
235
 
236
        @Column(name="tip_escolaridade")
237
        public String getTipoEscolaridade() {
238
                return tipoEscolaridade;
239
        }
240
        public void setTipoEscolaridade(String tipoEscolaridade) {
241
                this.tipoEscolaridade = tipoEscolaridade;
242
        }
243
        @Transient
244
        public String getDescricaoDaEscolaridade() {
245
                return VerificadorUtil.naoEstaNulo(getTipoEscolaridade())? TipoEscolaridade.parse(getTipoEscolaridade()).getDescricao() : null;
246
        }
247
 
248
        @Column(name="dsc_observacao")
249
        public String getObservacao() {
250
                return observacao;
251
        }
252
        public void setObservacao(String observacao) {
253
                this.observacao = StringUtil.setarUpperCase(observacao);
254
        }
255
 
256
        @Column(name="dat_nascimento")
257
        public Date getDataNascimento() {
258
                return dataNascimento;
259
        }
260
        public void setDataNascimento(Date dataNascimento) {
261
                this.dataNascimento = dataNascimento;
262
        }
263
        @Transient
264
        public String getDataNascimentoFormatada() {
265
                return VerificadorUtil.naoEstaNulo(getDataNascimento())? FormatarUtil.retornarDataFormatada(getDataNascimento()) : "";
266
        }
267
 
268
        @Column(name="dsc_nascimento_local")
269
        public String getLocalNascimento() {
270
                return localNascimento;
271
        }
272
        public void setLocalNascimento(String localNascimento) {
273
                this.localNascimento = localNascimento;
274
        }
275
 
276
        @Column(name="dsc_nascimento_uf")
277
        public String getUfNascimento() {
278
                return UfNascimento;
279
        }
280
        public void setUfNascimento(String ufNascimento) {
281
                UfNascimento = ufNascimento;
282
        }
283
 
284
        @Valid
285
        @OneToMany(mappedBy="pessoa", cascade=CascadeType.ALL, orphanRemoval=true)
286
        public Set<Endereco> getEnderecos() {
287
                return enderecos;
288
        }
289
        public void setEnderecos(Set<Endereco> enderecos) {
290
                this.enderecos = enderecos;
291
        }
292
 
293
        @Valid
294
        @OneToMany(mappedBy="pessoa", cascade=CascadeType.ALL, orphanRemoval=true)
295
        public Set<DadosBancarios> getDadosBancarios() {
296
                return dadosBancarios;
297
        }
298
 
299
        public void setDadosBancarios(Set<DadosBancarios> dadosBancarios) {
300
                this.dadosBancarios = dadosBancarios;
301
        }
302
 
303
        @Column(name="ind_ativo", nullable=false)
304
        public Boolean getAtivo() {
305
                return ativo;
306
        }
307
 
308
        public void setAtivo(Boolean ativo) {
309
                this.ativo = ativo;
310
        }
311
 
312
        @Override
313
        public int hashCode() {
314
                final int prime = 31;
315
                int result = 1;
316
                result = prime * result + ((sequencial == null) ? 0 : sequencial.hashCode());
317
                return result;
318
        }
319
 
320
        @Override
321
        public boolean equals(Object obj) {
322
                if (this == obj)
323
                        return true;
324
                if (obj == null)
325
                        return false;
326
                if (getClass() != obj.getClass())
327
                        return false;
328
                Pessoa other = (Pessoa) obj;
329
                if (sequencial == null) {
330
                        if (other.sequencial != null)
331
                                return false;
332
                } else if (!sequencial.equals(other.sequencial))
333
                        return false;
334
                return true;
335
        }
336
 
337
        @Transient
338
        public String getCpfCnpjFormatado() {
339
                return VerificadorUtil.naoEstaNulo(getCpfCnpj())? FormatarUtil.retornarCpfCnpjFormatado(getCpfCnpj()) : "";
340
        }
341
 
342
        @Transient
343
        public Endereco getEnderecoPrincipal() {
344
                ArrayList<Endereco> enderecos = new ArrayList<>(getEnderecos());
345
                return VerificadorUtil.isListaNulaOuVazia(enderecos)? null : enderecos.get(0);
346
        }
347
 
348
        @Transient
349
        public Boolean getEstadoCivilEhSolteiro() {
350
                return VerificadorUtil.naoEstaNulo(getTipoEstadoCivil())? getTipoEstadoCivil().equals(TipoEstadoCivil.SOLTEIRO_S.getValor()) : false;
351
        }
352
        @Transient
353
        public Boolean getEstadoCivilEhCasado() {
354
                return VerificadorUtil.naoEstaNulo(getTipoEstadoCivil())? getTipoEstadoCivil().equals(TipoEstadoCivil.CASADO_C.getValor()) : false;
355
        }
356
        @Transient
357
        public Boolean getEstadoCivilEhDivorciado() {
358
                return VerificadorUtil.naoEstaNulo(getTipoEstadoCivil())? getTipoEstadoCivil().equals(TipoEstadoCivil.DIVORCIADO_D.getValor()) : false;
359
        }
360
        @Transient
361
        public Boolean getEstadoCivilEhViuvo() {
362
                return VerificadorUtil.naoEstaNulo(getTipoEstadoCivil())? getTipoEstadoCivil().equals(TipoEstadoCivil.VIUVO_V.getValor()) : false;
363
        }
364
        @Transient
365
        public Boolean getEstadoCivilEhUniaoEstavel() {
366
                return VerificadorUtil.naoEstaNulo(getTipoEstadoCivil())? getTipoEstadoCivil().equals(TipoEstadoCivil.UNIAO_ESTAVEL_U.getValor()) : false;
367
        }
368
        @Transient
369
        public Boolean getEstadoCivilEhOutros() {
370
                return VerificadorUtil.naoEstaNulo(getTipoEstadoCivil())? getTipoEstadoCivil().equals(TipoEstadoCivil.OUTROS_O.getValor()) : false;
371
        }
372
 
373
        @Transient
374
        public Boolean getSexoEhMasculino() {
375
                return VerificadorUtil.naoEstaNulo(getSexo())? getSexo().equals(TipoSexo.MASCULINO.getValor()) : false;
376
        }
377
        @Transient
378
        public Boolean getSexoEhFeminino() {
379
                return VerificadorUtil.naoEstaNulo(getSexo())? getSexo().equals(TipoSexo.FEMININO.getValor()) : false;
380
        }
381
 
382
        @Transient
383
        public Boolean getRacaCorEhIndigena() {
384
                return VerificadorUtil.naoEstaNulo(getTipoRacaCor())? getTipoRacaCor().equals(TipoRacaCor.INDIGENA.getValor()) : false;
385
        }
386
        @Transient
387
        public Boolean getRacaCorEhBranca() {
388
                return VerificadorUtil.naoEstaNulo(getTipoRacaCor())? getTipoRacaCor().equals(TipoRacaCor.BRANCA.getValor()) : false;
389
        }
390
        @Transient
391
        public Boolean getRacaCorEhNegra() {
392
                return VerificadorUtil.naoEstaNulo(getTipoRacaCor())? getTipoRacaCor().equals(TipoRacaCor.NEGRA.getValor()) : false;
393
        }
394
        @Transient
395
        public Boolean getRacaCorEhAmarela() {
396
                return VerificadorUtil.naoEstaNulo(getTipoRacaCor())? getTipoRacaCor().equals(TipoRacaCor.AMARELA.getValor()) : false;
397
        }
398
        @Transient
399
        public Boolean getRacaCorEhParda() {
400
                return VerificadorUtil.naoEstaNulo(getTipoRacaCor())? getTipoRacaCor().equals(TipoRacaCor.PARDA.getValor()) : false;
401
        }
402
        @Transient
403
        public Boolean getRacaCorEhNaoInformada() {
404
                return VerificadorUtil.naoEstaNulo(getTipoRacaCor())? getTipoRacaCor().equals(TipoRacaCor.NAO_INFORMADA.getValor()) : false;
405
        }
406
 
407
}