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
import java.util.Date;
5
 
6
import javax.persistence.Column;
7
import javax.persistence.Entity;
8
import javax.persistence.GeneratedValue;
9
import javax.persistence.GenerationType;
10
import javax.persistence.Id;
11
import javax.persistence.JoinColumn;
12
import javax.persistence.ManyToOne;
13
import javax.persistence.Table;
14
import javax.validation.constraints.NotNull;
15
import javax.validation.constraints.Size;
16
 
17
import org.hibernate.annotations.ForeignKey;
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_compra", schema="sc_sec")
25
public class Compra implements Serializable {
26
 
27
        private static final long serialVersionUID = 1L;
28
 
29
        private Long sequencial;
30
        private Loja loja;
31
        private Fornecedor fornecedor;
32
        private Conta conta;
33
        private Date dataCompra;
34
        private String observacao;
35
        private Double valorTotal;
36
        private NotaFiscal notaFiscal;
37
        private Boolean indicadorVerificada;
38
        private Boolean indicadorAtivo;
39
 
40
//      private Set<CompraProduto> listaProdutosDaCompra;
41
 
42
        public Compra() {
43
//              listaProdutosDaCompra = new HashSet<CompraProduto>();
44
        }
45
 
46
        @Id
47
        @GeneratedValue(strategy = GenerationType.IDENTITY)
48
        @Column(name="seq_compra", nullable=false)
49
        public Long getSequencial() {
50
                return sequencial;
51
        }
52
        public void setSequencial(Long sequencial) {
53
                this.sequencial = sequencial;
54
        }
55
 
56
        @ManyToOne
57
        @ForeignKey(name = "fk_compra_loja")
58
        @JoinColumn(name="seq_loja", referencedColumnName="seq_loja")
59
        public Loja getLoja() {
60
                return loja;
61
        }
62
        public void setLoja(Loja loja) {
63
                this.loja = loja;
64
        }
65
 
66
        @ManyToOne
67
        @ForeignKey(name = "fk_compra_fornecedor")
68
        @JoinColumn(name="seq_fornecedor", referencedColumnName="seq_fornecedor", nullable=true)
69
        public Fornecedor getFornecedor() {
70
                return fornecedor;
71
        }
72
        public void setFornecedor(Fornecedor fornecedor) {
73
                this.fornecedor = fornecedor;
74
        }
75
 
76
        @ManyToOne
77
        @ForeignKey(name = "fk_compra_conta")
78
        @JoinColumn(name="seq_conta", referencedColumnName="seq_conta", nullable=true)
79
        public Conta getConta() {
80
                return conta;
81
        }
82
        public void setConta(Conta conta) {
83
                this.conta = conta;
84
        }
85
 
86
        @NotNull(message = "Parâmetro obrigatório não preenchido: Data da Compra", groups = {Cadastrar.class, Alterar.class})
87
        @Column(name="dat_compra", nullable=false)
88
        public Date getDataCompra() {
89
                return dataCompra;
90
        }
91
        public void setDataCompra(Date dataCompra) {
92
                this.dataCompra = dataCompra;
93
        }
94
 
95
        @Column(name="dsc_observacao")
96
        @Size(max = 250, message = "Limite de caracteres ultrapassado: Observação")
97
        public String getObservacao() {
98
                return observacao;
99
        }
100
        public void setObservacao(String observacao) {
101
                this.observacao = StringUtil.setarUpperCaseComTrim(observacao);
102
        }
103
 
104
        @Column(name="val_total")
105
        public Double getValorTotal() {
106
                return valorTotal;
107
        }
108
        public void setValorTotal(Double valorTotal) {
109
                this.valorTotal = valorTotal;
110
        }
111
 
112
        @ManyToOne
113
        @ForeignKey(name = "fk_compra_notafiscal")
114
        @JoinColumn(name="seq_nota_fiscal", referencedColumnName="seq_nota_fiscal")
115
        public NotaFiscal getNotaFiscal() {
116
                return notaFiscal;
117
        }
118
        public void setNotaFiscal(NotaFiscal notaFiscal) {
119
                this.notaFiscal = notaFiscal;
120
        }
121
 
122
        @Column(name="ind_ativo")
123
        public Boolean getIndicadorAtivo() {
124
                return indicadorAtivo;
125
        }
126
        public void setIndicadorAtivo(Boolean indicadorAtivo) {
127
                this.indicadorAtivo = indicadorAtivo;
128
        }
129
 
130
        @Column(name="ind_verificada")
131
        public Boolean getIndicadorVerificada() {
132
                return indicadorVerificada;
133
        }
134
        public void setIndicadorVerificada(Boolean indicadorVerificada) {
135
                this.indicadorVerificada = indicadorVerificada;
136
        }
137
 
138
        /*
139
        @OneToMany(mappedBy="compra", cascade=CascadeType.ALL, fetch=FetchType.LAZY, orphanRemoval=true)
140
        public Set<CompraProduto> getListaProdutosDaCompra() {
141
                return listaProdutosDaCompra;
142
        }
143
        public void setListaProdutosDaCompra(Set<CompraProduto> listaProdutosDaCompra) {
144
                this.listaProdutosDaCompra = listaProdutosDaCompra;
145
        }
146
        */
147
 
148
        @Override
149
        public int hashCode() {
150
                final int prime = 31;
151
                int result = 1;
152
                result = prime * result
153
                                + ((sequencial == null) ? 0 : sequencial.hashCode());
154
                return result;
155
        }
156
 
157
        @Override
158
        public boolean equals(Object obj) {
159
                if (this == obj)
160
                        return true;
161
                if (obj == null)
162
                        return false;
163
                if (getClass() != obj.getClass())
164
                        return false;
165
                Compra other = (Compra) obj;
166
                if (sequencial == null) {
167
                        if (other.sequencial != null)
168
                                return false;
169
                } else if (!sequencial.equals(other.sequencial))
170
                        return false;
171
                return true;
172
        }
173
 
174
}