Subversion Repositories Integrator Subversion

Rev

Rev 106 | 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
 
5
import javax.persistence.Column;
6
import javax.persistence.EmbeddedId;
7
import javax.persistence.Entity;
8
import javax.persistence.JoinColumn;
9
import javax.persistence.JoinColumns;
10
import javax.persistence.ManyToOne;
11
import javax.persistence.Table;
12
import javax.persistence.Transient;
13
import javax.validation.constraints.Size;
14
 
15
import org.hibernate.annotations.ForeignKey;
16
 
195 espaco 17
import br.com.ec.core.generic.identidade.Identidade;
18
import br.com.ec.core.util.StringUtil;
19
import br.com.ec.core.util.VerificadorUtil;
106 espaco 20
 
21
@Entity
22
@Table(name="sec_avalfunc_itemaval", schema="sc_sec")
23
public class AvaliacaoFuncionarioItemAvaliacao implements Serializable, Identidade {
24
 
25
        private static final long serialVersionUID = 1L;
26
 
27
        private AvaliacaoFuncionarioItemAvaliacaoId avalicaoFuncionarioItemAvaliacaoId;
28
        private AvaliacaoFuncionario avaliacaoFuncionario;
29
        private ItemAvaliacao itemAvaliacao;
30
        private Integer quantidadePontos;
31
        private String observacao;
32
 
33
        public AvaliacaoFuncionarioItemAvaliacao() {
34
                this.avalicaoFuncionarioItemAvaliacaoId = new AvaliacaoFuncionarioItemAvaliacaoId();
35
        }
36
 
37
        public AvaliacaoFuncionarioItemAvaliacao(AvaliacaoFuncionarioItemAvaliacaoId avalicaoFuncionarioItemAvaliacaoId) {
38
                this.avalicaoFuncionarioItemAvaliacaoId = avalicaoFuncionarioItemAvaliacaoId;
39
        }
40
 
41
        public AvaliacaoFuncionarioItemAvaliacao(AvaliacaoFuncionario avaliacaoFuncionario, ItemAvaliacao itemAvaliacao) {
42
                avalicaoFuncionarioItemAvaliacaoId = new AvaliacaoFuncionarioItemAvaliacaoId();
43
                setAvaliacaoFuncionario(avaliacaoFuncionario);
44
                setItemAvaliacao(itemAvaliacao);
45
        }
46
 
47
        @Override
48
        @Transient
49
        public Object getId() {
50
                return getAvalicaoFuncionarioItemAvaliacaoId();
51
        }
52
        @Override
53
        public void setId(Object id) {
54
                this.avalicaoFuncionarioItemAvaliacaoId = (AvaliacaoFuncionarioItemAvaliacaoId) id;
55
        }
56
 
57
        @EmbeddedId
58
        public AvaliacaoFuncionarioItemAvaliacaoId getAvalicaoFuncionarioItemAvaliacaoId() {
59
                return avalicaoFuncionarioItemAvaliacaoId;
60
        }
61
        public void setAvalicaoFuncionarioItemAvaliacaoId(AvaliacaoFuncionarioItemAvaliacaoId avalicaoFuncionarioItemAvaliacaoId) {
62
                this.avalicaoFuncionarioItemAvaliacaoId = avalicaoFuncionarioItemAvaliacaoId;
63
        }
64
 
65
        @ManyToOne
66
        @ForeignKey(name="fk_avalfitemaval_avalfunc")
67
        @JoinColumns({
68
                @JoinColumn(name="seq_funcionario", referencedColumnName="seq_funcionario", insertable=false, updatable=false, nullable = false),
69
                @JoinColumn(name="seq_avaliacao", referencedColumnName="seq_avaliacao", insertable=false, updatable=false, nullable = false)
70
        })
71
        public AvaliacaoFuncionario getAvaliacaoFuncionario() {
72
                return avaliacaoFuncionario;
73
        }
74
        public void setAvaliacaoFuncionario(AvaliacaoFuncionario avaliacaoFuncionario) {
75
                if (VerificadorUtil.naoEstaNulo(avaliacaoFuncionario)) {
76
                        avalicaoFuncionarioItemAvaliacaoId.setSequencialAvaliacao(avaliacaoFuncionario.getSequencialDaAvaliacao());
77
                        avalicaoFuncionarioItemAvaliacaoId.setSequencialFuncionario(avaliacaoFuncionario.getSequencialDoFuncionario());
78
                }
79
                this.avaliacaoFuncionario = avaliacaoFuncionario;
80
        }
81
 
82
        @ManyToOne
83
        @ForeignKey(name="fk_avalfitemaval_itemaval")
84
        @JoinColumn(name = "seq_item_avaliacao", referencedColumnName="seq_item_avaliacao", insertable=false, updatable=false, nullable = false)
85
        public ItemAvaliacao getItemAvaliacao() {
86
                return itemAvaliacao;
87
        }
88
        public void setItemAvaliacao(ItemAvaliacao itemAvaliacao) {
89
                if (VerificadorUtil.naoEstaNulo(itemAvaliacao)) {
90
                        avalicaoFuncionarioItemAvaliacaoId.setSequencialItemAvaliacao(itemAvaliacao.getSequencial());
91
                }
92
                this.itemAvaliacao = itemAvaliacao;
93
        }
94
 
95
        @Column(name="qtd_pontos")
96
        public Integer getQuantidadePontos() {
97
                return quantidadePontos;
98
        }
99
        public void setQuantidadePontos(Integer quantidadePontos) {
100
                this.quantidadePontos = quantidadePontos;
101
        }
102
 
103
        @Column(name="dsc_observacao")
104
        @Size(max = 400, message = "Limite de caracteres ultrapassado: Observação")
105
        public String getObservacao() {
106
                return observacao;
107
        }
108
        public void setObservacao(String observacao) {
109
                this.observacao = StringUtil.setarUpperCaseComTrim(observacao);
110
        }
111
 
112
        @Override
113
        public int hashCode() {
114
                final int prime = 31;
115
                int result = 1;
116
                result = prime * result
117
                                + ((avalicaoFuncionarioItemAvaliacaoId == null) ? 0 : avalicaoFuncionarioItemAvaliacaoId.hashCode());
118
                return result;
119
        }
120
 
121
        @Override
122
        public boolean equals(Object obj) {
123
                if (this == obj)
124
                        return true;
125
                if (obj == null)
126
                        return false;
127
                if (getClass() != obj.getClass())
128
                        return false;
129
                AvaliacaoFuncionarioItemAvaliacao other = (AvaliacaoFuncionarioItemAvaliacao) obj;
130
                if (avalicaoFuncionarioItemAvaliacaoId == null) {
131
                        if (other.avalicaoFuncionarioItemAvaliacaoId != null)
132
                                return false;
133
                } else if (!avalicaoFuncionarioItemAvaliacaoId.equals(other.avalicaoFuncionarioItemAvaliacaoId))
134
                        return false;
135
                return true;
136
        }
137
 
138
}