Subversion Repositories Integrator Subversion

Rev

Rev 629 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
625 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_nps_posvenda", schema="sc_sec")
28
public class NpsPosVenda implements Serializable, Identidade {
29
 
30
        private static final long serialVersionUID = 1L;
31
 
32
        private Long sequencial;
33
        private PosVenda posVenda;
34
        private String tipoNps; // A - ATENDIMENTO | P - PRODUTO
35
        private Integer nota;
36
        private String observacao;
37
        private Date dataFinalizacao;
38
 
39
        public NpsPosVenda() {}
40
 
630 blopes 41
        public NpsPosVenda(Long sequencial) {
42
                this.sequencial = sequencial;
43
        }
44
 
625 blopes 45
        @Override
46
        @Transient
47
        public Object getId() {
48
                return this.getSequencial();
49
        }
50
        @Override
51
        public void setId(Object id) {
52
                this.sequencial = (Long) id;
53
        }
54
 
55
        @Id
56
        @SequenceGenerator(name = "sq_npsposvenda")
57
        @GeneratedValue(strategy = GenerationType.IDENTITY)
629 blopes 58
        @Column(name="seq_npsposvenda", nullable=false)
625 blopes 59
        public Long getSequencial() {
60
                return sequencial;
61
        }
62
        public void setSequencial(Long sequencial) {
63
                this.sequencial = sequencial;
64
        }
65
 
66
        @ManyToOne
67
        @ForeignKey(name="fk_npsposvenda_posvenda")
68
        @JoinColumn(name = "seq_posvenda", nullable = true)
69
        public PosVenda getPosVenda() {
70
                return posVenda;
71
        }
72
        public void setPosVenda(PosVenda posVenda) {
73
                this.posVenda = posVenda;
74
        }
75
 
76
        @Column(name="tip_nps")
77
        public String getTipoNps() {
78
                return tipoNps;
79
        }
80
        public void setTipoNps(String tipoNps) {
81
                this.tipoNps = tipoNps;
82
        }
83
 
84
        @NotNull(message = "Parâmetro obrigatório não preenchido: Nota do NPS", groups = {Cadastrar.class, Alterar.class})
85
        @Column(name="nota")
86
        public Integer getNota() {
87
                return nota;
88
        }
89
        public void setNota(Integer nota) {
90
                this.nota = nota;
91
        }
92
 
93
        @NotNull(message = "Parâmetro obrigatório não preenchido: Data de finalização do NPS", groups = {Cadastrar.class, Alterar.class})
94
        @Column(name="dth_finalizacao")
95
        public Date getDataFinalizacao() {
96
                return dataFinalizacao;
97
        }
98
        public void setDataFinalizacao(Date dataFinalizacao) {
99
                this.dataFinalizacao = dataFinalizacao;
100
        }
101
 
102
        @Column(name="dsc_observacao")
103
        @Size(max = 1000, message = "Limite de caracteres ultrapassado: Comentário")
104
        public String getObservacao() {
105
                return observacao;
106
        }
107
        public void setObservacao(String observacao) {
108
                this.observacao = StringUtil.setarUpperCaseComTrim(observacao);
109
        }
110
 
111
}