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.scs.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.ManyToOne;
10
import javax.persistence.MapsId;
11
import javax.persistence.Table;
12
import javax.persistence.Transient;
13
 
14
import org.hibernate.annotations.ForeignKey;
15
 
16
import br.gov.al.saude.framework.core.util.VerificadorUtil;
17
import br.gov.al.saude.scg.model.view.OrgaoView;
18
import br.gov.al.saude.scs.model.dto.DespesasTurmaDTO;
19
 
20
@Entity
21
@Table(name = "scs_turma_processo", schema = "sc_scs")
22
public class TurmaProcesso implements Serializable {
23
 
24
        private static final long serialVersionUID = 1L;
25
 
26
        private TurmaProcessoId turmaProcessoId = new TurmaProcessoId();
27
 
28
        private Turma turma;
29
        private OrgaoView orgao;
30
        private Long numeroProcesso;
31
        private Integer ano;
32
        private DespesasTurmaDTO despesasTurma;
33
 
34
        @EmbeddedId
35
        public TurmaProcessoId getTurmaProcessoId() {
36
                return turmaProcessoId;
37
        }
38
        public void setTurmaProcessoId(TurmaProcessoId turmaProcessoId) {
39
                this.turmaProcessoId = turmaProcessoId;
40
        }
41
 
42
        @MapsId("sequencialTurma")
43
        @ManyToOne
44
        @ForeignKey(name = "fk_turmaprocesso_turma")
45
        @JoinColumn(name = "seq_turma", referencedColumnName = "seq_turma", nullable = false, updatable = false, insertable = false)
46
        public Turma getTurma() {
47
                return turma;
48
        }
49
        public void setTurma(Turma turma) {
50
                if(VerificadorUtil.naoEstaNulo(turma)){
51
                        getTurmaProcessoId().setSequencialTurma(turma.getSequencial());
52
                }
53
                this.turma = turma;
54
        }
55
 
56
        @ManyToOne
57
        @ForeignKey(name = "fk_turmaprocesso_orgao")
58
        @JoinColumn(name = "cod_orgao", referencedColumnName = "cod_orgao", insertable = false, updatable = false, nullable = false)
59
        public OrgaoView getOrgao() {
60
                return orgao;
61
        }
62
        public void setOrgao(OrgaoView orgao) {
63
                if(VerificadorUtil.naoEstaNulo(orgao) && VerificadorUtil.naoEstaNulo(orgao.getCodigo())){
64
                        turmaProcessoId.setCodigoOrgao(orgao.getCodigo());
65
                }
66
                this.orgao = orgao;
67
        }
68
 
69
        @Column(name="num_processo", insertable = false, updatable = false, nullable = false)
70
        public Long getNumeroProcesso() {
71
                return numeroProcesso;
72
        }
73
        public void setNumeroProcesso(Long numeroProcesso) {
74
                if(VerificadorUtil.naoEstaNulo(numeroProcesso)){
75
                        turmaProcessoId.setNumeroProcesso(numeroProcesso);
76
                }
77
                this.numeroProcesso = numeroProcesso;
78
        }
79
 
80
        @Column(name="num_ano", insertable = false, updatable = false, nullable = false)
81
        public Integer getAno() {
82
                return ano;
83
        }
84
        public void setAno(Integer ano) {
85
                if(VerificadorUtil.naoEstaNulo(ano)){
86
                        turmaProcessoId.setNumeroAno(ano);
87
                }
88
                this.ano = ano;
89
        }
90
 
91
 
92
 
93
//      @Transient
94
//      public ProcessoIntegraDTO getProcessoIntegra() {
95
//              return processoIntegra;
96
//      }
97
//      public void setProcessoIntegra(ProcessoIntegraDTO processoIntegra) {
98
//              this.processoIntegra = processoIntegra;
99
//      }
100
//      
101
//      @Transient
102
//      public List<ProcessoOrcamentoView> getElementosDespesa() {
103
//              return elementosDespesa;
104
//      }
105
//      public void setElementosDespesa(List<ProcessoOrcamentoView> elementosDespesa) {
106
//              this.elementosDespesa = elementosDespesa;
107
//      }
108
 
109
        @Transient
110
        public DespesasTurmaDTO getDespesasTurma() {
111
                return despesasTurma;
112
        }
113
        public void setDespesasTurma(DespesasTurmaDTO despesasTurma) {
114
                this.despesasTurma = despesasTurma;
115
        }
116
        @Override
117
        public int hashCode() {
118
                final int prime = 31;
119
                int result = 1;
120
                result = prime * result
121
                                + ((turmaProcessoId == null) ? 0 : turmaProcessoId.hashCode());
122
                return result;
123
        }
124
 
125
        @Override
126
        public boolean equals(Object obj) {
127
                if (this == obj)
128
                        return true;
129
                if (obj == null)
130
                        return false;
131
                if (getClass() != obj.getClass())
132
                        return false;
133
                TurmaProcesso other = (TurmaProcesso) obj;
134
                if (turmaProcessoId == null) {
135
                        if (other.turmaProcessoId != null)
136
                                return false;
137
                } else if (!turmaProcessoId.equals(other.turmaProcessoId))
138
                        return false;
139
                return true;
140
        }
141
 
142
}