Subversion Repositories Integrator Subversion

Rev

Rev 625 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
623 blopes 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.persistence.Transient;
16
import javax.validation.constraints.NotNull;
17
import javax.validation.constraints.Size;
18
 
19
import org.hibernate.annotations.ForeignKey;
20
 
21
import br.com.ec.core.generic.identidade.Identidade;
22
import br.com.ec.core.interfaces.Alterar;
23
import br.com.ec.core.interfaces.Cadastrar;
24
import br.com.ec.core.util.StringUtil;
25
 
26
@Entity
27
@Table(name="sec_posvenda", schema="sc_sec")
28
public class PosVenda implements Serializable, Identidade {
29
 
30
        private static final long serialVersionUID = 1L;
31
 
32
        private Long sequencial;
33
        private Venda venda;
34
        private Cliente cliente;
35
        private Date dataCadastro;
625 blopes 36
        private Date dataInicio;
623 blopes 37
        private Date dataFinalizacao;
38
        private String observacao;
636 blopes 39
        private String tipoFinalizacao; // N - NÚMERO INVÁLIDO // S - SEM RETORNO DO CLIENTE /V - NOVA VENDA
623 blopes 40
 
41
        public PosVenda() {}
42
 
625 blopes 43
        public PosVenda(Long sequencial) {
44
                this.sequencial = sequencial;
623 blopes 45
        }
46
 
47
        @Override
48
        @Transient
49
        public Object getId() {
50
                return this.getSequencial();
51
        }
52
        @Override
53
        public void setId(Object id) {
54
                this.sequencial = (Long) id;
55
        }
56
 
57
        @Id
58
        @SequenceGenerator(name = "sq_posvenda")
59
        @GeneratedValue(strategy = GenerationType.IDENTITY)
60
        @Column(name="seq_posvenda", nullable=false)
61
        public Long getSequencial() {
62
                return sequencial;
63
        }
64
        public void setSequencial(Long sequencial) {
65
                this.sequencial = sequencial;
66
        }
67
 
68
        @ManyToOne
69
        @ForeignKey(name="fk_posvenda_venda")
70
        @JoinColumn(name = "seq_venda", nullable = true)
71
        public Venda getVenda() {
72
                return venda;
73
        }
74
        public void setVenda(Venda venda) {
75
                this.venda = venda;
76
        }
77
 
78
        @ManyToOne
79
        @ForeignKey(name="fk_posvenda_cliente")
80
        @JoinColumn(name = "seq_cliente", nullable = true)
81
        public Cliente getCliente() {
82
                return cliente;
83
        }
84
        public void setCliente(Cliente cliente) {
85
                this.cliente = cliente;
86
        }
87
 
88
        @NotNull(message = "Parâmetro obrigatório não preenchido: Data de cadastro da pós-venda", groups = {Cadastrar.class, Alterar.class})
89
        @Column(name="dat_cadastro")
90
        public Date getDataCadastro() {
91
                return dataCadastro;
92
        }
93
        public void setDataCadastro(Date dataCadastro) {
94
                this.dataCadastro = dataCadastro;
95
        }
96
 
625 blopes 97
        @Column(name="dth_inicio")
98
        public Date getDataInicio() {
99
                return dataInicio;
100
        }
101
        public void setDataInicio(Date dataInicio) {
102
                this.dataInicio = dataInicio;
103
        }
104
 
623 blopes 105
        @Column(name="dat_finalizacao")
106
        public Date getDataFinalizacao() {
107
                return dataFinalizacao;
108
        }
109
        public void setDataFinalizacao(Date dataFinalizacao) {
110
                this.dataFinalizacao = dataFinalizacao;
111
        }
112
 
113
        @Column(name="dsc_observacao")
114
        @Size(max = 1000, message = "Limite de caracteres ultrapassado: Observação")
115
        public String getObservacao() {
116
                return observacao;
117
        }
118
        public void setObservacao(String observacao) {
119
                this.observacao = StringUtil.setarUpperCaseComTrim(observacao);
120
        }
121
 
122
        @Column(name="tip_finalizacao")
123
        public String getTipoFinalizacao() {
124
                return tipoFinalizacao;
125
        }
126
        public void setTipoFinalizacao(String tipoFinalizacao) {
127
                this.tipoFinalizacao = tipoFinalizacao;
128
        }
129
 
130
}