Subversion Repositories Integrator Subversion

Rev

Rev 182 | Details | Compare with Previous | 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
 
5
import javax.persistence.Column;
6
import javax.persistence.Entity;
7
import javax.persistence.GeneratedValue;
8
import javax.persistence.GenerationType;
9
import javax.persistence.Id;
10
import javax.persistence.JoinColumn;
11
import javax.persistence.ManyToOne;
12
import javax.persistence.Table;
13
import javax.validation.constraints.NotNull;
14
import javax.validation.constraints.Size;
15
 
16
import org.hibernate.annotations.ForeignKey;
17
import org.hibernate.validator.constraints.NotEmpty;
18
 
19
import br.edu.cesmac.core.interfaces.Alterar;
20
import br.edu.cesmac.core.interfaces.Cadastrar;
21
import br.edu.cesmac.core.util.StringUtil;
22
 
23
@Entity
24
@Table(name="sec_maquineta", schema="sc_sec")
25
public class Maquineta implements Serializable {
26
 
27
        private static final long serialVersionUID = 1L;
28
 
29
        private Long sequencial;
30
        private String descricao;
31
        private String senha;
32
        private Double valorAluguel;
33
        private String observacao;
34
        private EmpresaAdquirente empresaAdquirente;
35
        private Pessoa pessoa;
36
        private Boolean ativo;
37
 
38
        @Id
39
        @GeneratedValue(strategy = GenerationType.IDENTITY)
40
        @Column(name="seq_maquineta", nullable=false)
41
        public Long getSequencial() {
42
                return sequencial;
43
        }
44
        public void setSequencial(Long sequencial) {
45
                this.sequencial = sequencial;
46
        }
47
 
48
        @Column(name="dsc_maquineta")
49
        @Size(max = 120, message = "Limite de caracteres ultrapassado: Descrição")
50
        @NotEmpty(message="Obrigatório informar a descrição", groups={Cadastrar.class, Alterar.class})
51
        public String getDescricao() {
52
                return descricao;
53
        }
54
        public void setDescricao(String descricao) {
55
                this.descricao = StringUtil.setarUpperCaseComTrim(descricao);
56
        }
57
 
58
        @Column(name="dsc_senha")
59
        @Size(max = 20, message = "Limite de caracteres ultrapassado: Senha")
60
        public String getSenha() {
61
                return senha;
62
        }
63
        public void setSenha(String senha) {
64
                this.senha = senha;
65
        }
66
 
67
        @Column(name="val_aluguel")
68
        public Double getValorAluguel() {
69
                return valorAluguel;
70
        }
71
        public void setValorAluguel(Double valorAluguel) {
72
                this.valorAluguel = valorAluguel;
73
        }
74
 
75
        @Column(name="dsc_observacao")
76
        @Size(max = 400, message = "Limite de caracteres ultrapassado: Observação")
77
        public String getObservacao() {
78
                return observacao;
79
        }
80
        public void setObservacao(String observacao) {
81
                this.observacao = StringUtil.setarUpperCaseComTrim(observacao);
82
        }
83
 
84
        @ManyToOne
85
        @ForeignKey(name="fk_maquineta_empresaadquirente")
86
        @JoinColumn(name = "seq_empresa_adquirente", nullable=true)
87
        @NotNull(message="Obrigatório informar a empresa adquirente", groups={Cadastrar.class, Alterar.class})
88
        public EmpresaAdquirente getEmpresaAdquirente() {
89
                return empresaAdquirente;
90
        }
91
        public void setEmpresaAdquirente(EmpresaAdquirente empresaAdquirente) {
92
                this.empresaAdquirente = empresaAdquirente;
93
        }
94
 
95
        @ManyToOne
96
        @ForeignKey(name="fk_maquineta_pessoa")
97
        @JoinColumn(name = "seq_pessoa", nullable=true)
98
        @NotNull(message="Obrigatório informar a pessoa", groups={Cadastrar.class, Alterar.class})
99
        public Pessoa getPessoa() {
100
                return pessoa;
101
        }
102
        public void setPessoa(Pessoa pessoa) {
103
                this.pessoa = pessoa;
104
        }
105
 
106
        @Column(name="ind_ativo", nullable=false)
107
        public Boolean getAtivo() {
108
                return ativo;
109
        }
110
        public void setAtivo(Boolean ativo) {
111
                this.ativo = ativo;
112
        }
113
 
114
        public String descricaoCompleta() {
115
                return getEmpresaAdquirente().getDescricao() + ": " + getDescricao();
116
        }
117
 
118
        @Override
119
        public int hashCode() {
120
                final int prime = 31;
121
                int result = 1;
122
                result = prime * result
123
                                + ((sequencial == null) ? 0 : sequencial.hashCode());
124
                return result;
125
        }
126
 
127
        @Override
128
        public boolean equals(Object obj) {
129
                if (this == obj)
130
                        return true;
131
                if (obj == null)
132
                        return false;
133
                if (getClass() != obj.getClass())
134
                        return false;
135
                Maquineta other = (Maquineta) obj;
136
                if (sequencial == null) {
137
                        if (other.sequencial != null)
138
                                return false;
139
                } else if (!sequencial.equals(other.sequencial))
140
                        return false;
141
                return true;
142
        }
143
 
144
}