Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
package br.gov.al.saude.srv.model;
2
 
3
import java.io.Serializable;
4
import java.util.ArrayList;
5
import java.util.List;
6
import javax.persistence.CascadeType;
7
import javax.persistence.Column;
8
import javax.persistence.EmbeddedId;
9
import javax.persistence.Entity;
10
import javax.persistence.JoinColumn;
11
import javax.persistence.ManyToOne;
12
import javax.persistence.OneToMany;
13
import javax.persistence.Table;
14
import javax.persistence.Transient;
15
import org.hibernate.envers.AuditTable;
16
import org.hibernate.envers.Audited;
17
import org.hibernate.envers.RelationTargetAuditMode;
18
import br.gov.al.saude.framework.core.generic.identidade.Identidade;
19
import br.gov.al.saude.framework.core.util.VerificadorUtil;
20
import br.gov.al.saude.srv.model.embedded.ProgramacaoFeriasId;
21
 
22
@Audited
23
@AuditTable(value="srv_hist_programacao_ferias", schema="sc_srv")
24
@Entity
25
@Table(name="srv_programacao_ferias", schema="sc_srv")
26
public class ProgramacaoFerias implements Serializable, Identidade{
27
 
28
        private static final long serialVersionUID = 1L;
29
 
30
        private ProgramacaoFeriasId programacaoFeriasId = new ProgramacaoFeriasId();
31
        private Unidade unidade;
32
        private Long numeroAnoProgramacao;
33
        private List<ProgramacaoFeriasServidorDadoFuncional> programacoesFeriasServidorDadoFuncional = new ArrayList<ProgramacaoFeriasServidorDadoFuncional>();
34
 
35
        @EmbeddedId
36
        public ProgramacaoFeriasId getProgramacaoFeriasId() {
37
                return programacaoFeriasId;
38
        }
39
 
40
        public void setProgramacaoFeriasId(ProgramacaoFeriasId programacaoFeriasId) {
41
                this.programacaoFeriasId = programacaoFeriasId;
42
        }
43
 
44
        @Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
45
        @ManyToOne
46
        @JoinColumn(name="cod_unidade", referencedColumnName="cod_unidade", nullable=false, insertable=false, updatable=false)
47
        public Unidade getUnidade() {
48
                return unidade;
49
        }
50
 
51
        public void setUnidade(Unidade unidade) {
52
                this.unidade = unidade;
53
                if(VerificadorUtil.naoEstaNulo(unidade)){
54
                        programacaoFeriasId.setCodigo(unidade.getCodigo());
55
                }
56
        }
57
 
58
        @Column(name="num_ano_programacao", nullable=false, insertable=false, updatable=false)
59
        public Long getNumeroAnoProgramacao() {
60
                return numeroAnoProgramacao;
61
        }
62
 
63
        public void setNumeroAnoProgramacao(Long numeroAnoProgramacao) {
64
                this.numeroAnoProgramacao = numeroAnoProgramacao;
65
                if(VerificadorUtil.naoEstaNulo(numeroAnoProgramacao)){
66
                        programacaoFeriasId.setNumeroAnoProgramacao(numeroAnoProgramacao);
67
                }
68
        }
69
 
70
        @Transient
71
        public Integer getCodigoUnidade() {
72
                return VerificadorUtil.naoEstaNulo(unidade)? unidade.getCodigo() : null;
73
        }
74
 
75
        @Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
76
        @OneToMany(mappedBy="programacaoFerias", cascade=CascadeType.ALL, orphanRemoval=true)
77
        public List<ProgramacaoFeriasServidorDadoFuncional> getProgramacoesFeriasServidorDadoFuncional() {
78
                return programacoesFeriasServidorDadoFuncional;
79
        }
80
 
81
        public void setProgramacoesFeriasServidorDadoFuncional(List<ProgramacaoFeriasServidorDadoFuncional> programacoesFeriasServidorDadoFuncional) {
82
                this.programacoesFeriasServidorDadoFuncional = programacoesFeriasServidorDadoFuncional;
83
        }
84
 
85
        @Override
86
        public void setId(Object id) {
87
                programacaoFeriasId = (ProgramacaoFeriasId) id;
88
        }
89
 
90
        @Transient
91
        @Override
92
        public Object getId() {
93
                return getProgramacaoFeriasId();
94
        }
95
 
96
        @Override
97
        public int hashCode() {
98
                final int prime = 31;
99
                int result = 1;
100
                result = prime
101
                                * result
102
                                + ((programacaoFeriasId == null) ? 0 : programacaoFeriasId
103
                                                .hashCode());
104
                return result;
105
        }
106
 
107
        @Override
108
        public boolean equals(Object obj) {
109
                if (this == obj)
110
                        return true;
111
                if (obj == null)
112
                        return false;
113
                if (!(obj instanceof ProgramacaoFerias))
114
                        return false;
115
                ProgramacaoFerias other = (ProgramacaoFerias) obj;
116
                if (programacaoFeriasId == null) {
117
                        if (other.programacaoFeriasId != null)
118
                                return false;
119
                } else if (!programacaoFeriasId.equals(other.programacaoFeriasId))
120
                        return false;
121
                return true;
122
        }
123
 
124
 
125
}