Subversion Repositories Integrator Subversion

Rev

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

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