Subversion Repositories Integrator Subversion

Rev

Rev 623 | Go to most recent revision | 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;
39
        private String tipoFinalizacao; // A - ATENDIMENTO ENCERRADO // V - NOVA VENDA
40
 
41
//      private List<PosVendaAtivacaoDTO> listaAtivacoes;
42
 
43
        public PosVenda() {}
44
 
625 blopes 45
        public PosVenda(Long sequencial) {
46
                this.sequencial = sequencial;
623 blopes 47
        }
48
 
49
        @Override
50
        @Transient
51
        public Object getId() {
52
                return this.getSequencial();
53
        }
54
        @Override
55
        public void setId(Object id) {
56
                this.sequencial = (Long) id;
57
        }
58
 
59
        @Id
60
        @SequenceGenerator(name = "sq_posvenda")
61
        @GeneratedValue(strategy = GenerationType.IDENTITY)
62
        @Column(name="seq_posvenda", nullable=false)
63
        public Long getSequencial() {
64
                return sequencial;
65
        }
66
        public void setSequencial(Long sequencial) {
67
                this.sequencial = sequencial;
68
        }
69
 
70
        @ManyToOne
71
        @ForeignKey(name="fk_posvenda_venda")
72
        @JoinColumn(name = "seq_venda", nullable = true)
73
        public Venda getVenda() {
74
                return venda;
75
        }
76
        public void setVenda(Venda venda) {
77
                this.venda = venda;
78
        }
79
 
80
        @ManyToOne
81
        @ForeignKey(name="fk_posvenda_cliente")
82
        @JoinColumn(name = "seq_cliente", nullable = true)
83
        public Cliente getCliente() {
84
                return cliente;
85
        }
86
        public void setCliente(Cliente cliente) {
87
                this.cliente = cliente;
88
        }
89
 
90
        @NotNull(message = "Parâmetro obrigatório não preenchido: Data de cadastro da pós-venda", groups = {Cadastrar.class, Alterar.class})
91
        @Column(name="dat_cadastro")
92
        public Date getDataCadastro() {
93
                return dataCadastro;
94
        }
95
        public void setDataCadastro(Date dataCadastro) {
96
                this.dataCadastro = dataCadastro;
97
        }
98
 
625 blopes 99
        @Column(name="dth_inicio")
100
        public Date getDataInicio() {
101
                return dataInicio;
102
        }
103
        public void setDataInicio(Date dataInicio) {
104
                this.dataInicio = dataInicio;
105
        }
106
 
623 blopes 107
        @Column(name="dat_finalizacao")
108
        public Date getDataFinalizacao() {
109
                return dataFinalizacao;
110
        }
111
        public void setDataFinalizacao(Date dataFinalizacao) {
112
                this.dataFinalizacao = dataFinalizacao;
113
        }
114
 
115
        @Column(name="dsc_observacao")
116
        @Size(max = 1000, message = "Limite de caracteres ultrapassado: Observação")
117
        public String getObservacao() {
118
                return observacao;
119
        }
120
        public void setObservacao(String observacao) {
121
                this.observacao = StringUtil.setarUpperCaseComTrim(observacao);
122
        }
123
 
124
        @Column(name="tip_finalizacao")
125
        public String getTipoFinalizacao() {
126
                return tipoFinalizacao;
127
        }
128
        public void setTipoFinalizacao(String tipoFinalizacao) {
129
                this.tipoFinalizacao = tipoFinalizacao;
130
        }
131
 
132
//      fk_posvendaativa_posvenda
133
 
134
//      @ManyToOne
135
//      @ForeignKey(name="fk_transferencia_loja_saida")
136
//      @JoinColumn(name = "seq_loja_saida", nullable = false)
137
//      @NotNull(message = "Parâmetro obrigatório não preenchido: Loja de saída", groups = {Cadastrar.class, Alterar.class})
138
}