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