Subversion Repositories Integrator Subversion

Rev

Rev 182 | Details | Compare with Previous | 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
import java.util.List;
6
 
7
import javax.persistence.Column;
8
import javax.persistence.Entity;
9
import javax.persistence.GeneratedValue;
10
import javax.persistence.GenerationType;
11
import javax.persistence.Id;
12
import javax.persistence.JoinColumn;
13
import javax.persistence.ManyToOne;
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
import org.hibernate.validator.constraints.NotEmpty;
21
 
22
import br.edu.cesmac.core.generic.identidade.Identidade;
23
import br.edu.cesmac.core.interfaces.Alterar;
24
import br.edu.cesmac.core.interfaces.Cadastrar;
25
import br.edu.cesmac.core.util.StringUtil;
26
 
27
@Entity
28
@Table(name="sec_pendencia", schema="sc_sec")
29
public class Pendencia implements Serializable, Identidade {
30
 
31
        private static final long serialVersionUID = 1L;
32
 
33
        private Long sequencial;
34
        private Loja loja;
35
        private Perfil perfil;
36
        private Usuario usuario;
37
        private String descricao;
38
        private Date data;
39
        private Date dataFinalizado;
40
        private String resposta;
41
        private Boolean indicadorFinalizado;
42
 
43
        private List<Perfil> perfisConsulta;
44
 
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
        @GeneratedValue(strategy = GenerationType.IDENTITY)
57
        @Column(name="seq_pendencia", nullable=false)
58
        public Long getSequencial() {
59
                return sequencial;
60
        }
61
        public void setSequencial(Long sequencial) {
62
                this.sequencial = sequencial;
63
        }
64
 
65
        @ManyToOne
66
        @ForeignKey(name="fk_pendencia_loja")
67
        @NotNull(message = "Parâmetro obrigatório não preenchido: Loja", groups = {Cadastrar.class, Alterar.class})
68
        @JoinColumn(name = "seq_loja", nullable = false)
69
        public Loja getLoja() {
70
                return loja;
71
        }
72
        public void setLoja(Loja loja) {
73
                this.loja = loja;
74
        }
75
 
76
        @ManyToOne
77
        @ForeignKey(name="fk_pendencia_perfil")
78
        @NotNull(message = "Parâmetro obrigatório não preenchido: Setor", groups = {Cadastrar.class, Alterar.class})
79
        @JoinColumn(name = "cod_perfil", nullable = false)
80
        public Perfil getPerfil() {
81
                return perfil;
82
        }
83
        public void setPerfil(Perfil perfil) {
84
                this.perfil = perfil;
85
        }
86
 
87
        @ManyToOne
88
        @ForeignKey(name="fk_pendencia_usuario")
89
        @NotNull(message = "Parâmetro obrigatório não preenchido: Solicitante", groups = {Cadastrar.class, Alterar.class})
90
        @JoinColumn(name = "seq_usuario", nullable = false)
91
        public Usuario getUsuario() {
92
                return usuario;
93
        }
94
        public void setUsuario(Usuario usuario) {
95
                this.usuario = usuario;
96
        }
97
 
98
        @Column(name="dsc_pendencia")
99
        @Size(max = 250, message = "Limite de caracteres ultrapassado: Descrição")
100
        @NotEmpty(message = "Parâmetro obrigatório não preenchido: Descrição", groups = {Cadastrar.class, Alterar.class})
101
        public String getDescricao() {
102
                return descricao;
103
        }
104
        public void setDescricao(String descricao) {
105
                this.descricao = StringUtil.setarUpperCaseComTrim(descricao);
106
        }
107
 
108
        @Column(name="dat_pendencia", nullable=false)
109
        public Date getData() {
110
                return data;
111
        }
112
        public void setData(Date data) {
113
                this.data = data;
114
        }
115
 
116
        @Column(name="dat_finalizado")
117
        public Date getDataFinalizado() {
118
                return dataFinalizado;
119
        }
120
        public void setDataFinalizado(Date dataFinalizado) {
121
                this.dataFinalizado = dataFinalizado;
122
        }
123
 
124
        @Column(name="dsc_resposta")
125
        public String getResposta() {
126
                return resposta;
127
        }
128
        public void setResposta(String resposta) {
129
                this.resposta = StringUtil.setarUpperCaseComTrim(resposta);
130
        }
131
 
132
        @Transient
133
        public Boolean getIndicadorFinalizado() {
134
                return indicadorFinalizado;
135
        }
136
        public void setIndicadorFinalizado(Boolean indicadorFinalizado) {
137
                this.indicadorFinalizado = indicadorFinalizado;
138
        }
139
 
140
        @Transient
141
        public List<Perfil> getPerfisConsulta() {
142
                return perfisConsulta;
143
        }
144
        public void setPerfisConsulta(List<Perfil> perfisConsulta) {
145
                this.perfisConsulta = perfisConsulta;
146
        }
147
 
148
        @Transient
149
        public Long getSequencialDaLoja() {
150
                return getLoja() != null ? getLoja().getSequencial() : null;
151
        }
152
 
153
        @Override
154
        public int hashCode() {
155
                final int prime = 31;
156
                int result = 1;
157
                result = prime * result + ((sequencial == null) ? 0 : sequencial.hashCode());
158
                return result;
159
        }
160
 
161
        @Override
162
        public boolean equals(Object obj) {
163
                if (this == obj)
164
                        return true;
165
                if (obj == null)
166
                        return false;
167
                if (getClass() != obj.getClass())
168
                        return false;
169
                Pendencia other = (Pendencia) obj;
170
                if (sequencial == null) {
171
                        if (other.sequencial != null)
172
                                return false;
173
                } else if (!sequencial.equals(other.sequencial))
174
                        return false;
175
                return true;
176
        }
177
 
178
}