Subversion Repositories Integrator Subversion

Rev

Rev 161 | Go to most recent revision | Details | Last modification | View Log | RSS feed

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