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.rhd.model;
2
 
3
import java.io.Serializable;
4
import java.util.Date;
5
 
6
import javax.persistence.Column;
7
import javax.persistence.Entity;
8
import javax.persistence.GeneratedValue;
9
import javax.persistence.GenerationType;
10
import javax.persistence.Id;
11
import javax.persistence.JoinColumn;
12
import javax.persistence.ManyToOne;
13
import javax.persistence.SequenceGenerator;
14
import javax.persistence.Table;
15
import javax.persistence.Temporal;
16
import javax.persistence.TemporalType;
17
import javax.persistence.Transient;
18
 
19
import br.gov.al.saude.framework.core.generic.identidade.Identidade;
20
import br.gov.al.saude.sca.model.usuario.view.UsuarioView;
21
 
22
@Entity
23
@Table(name = "rhd_cronograma_historico", schema = "sc_rhd")
24
public class CronogramaHistorico implements Serializable, Identidade, Comparable<CronogramaHistorico> {
25
 
26
        private static final long serialVersionUID = 1L;
27
 
28
        private Long sequencial;
29
        private Date dataCadastro;
30
        private Etapa etapa;
31
        private UsuarioView usuario;
32
        private Cronograma cronograma;
33
        private Date dataInicialEtapa;
34
        private Date dataFinalEtapa;
35
 
36
        @Id
37
        @Column(name="seq_cronograma_historico", nullable=false)
38
        @GeneratedValue(generator = "CRONOGRAMA_HISTORICO_GENERATOR", strategy = GenerationType.SEQUENCE)
39
        @SequenceGenerator(name = "CRONOGRAMA_HISTORICO_GENERATOR", sequenceName = "SQ_CRONOGHISTOR", initialValue = 1, allocationSize = 1)
40
        public Long getSequencial() {
41
                return sequencial;
42
        }
43
 
44
        public void setSequencial(Long sequencial) {
45
                this.sequencial = sequencial;
46
        }
47
 
48
        @Column(name="dth_cadastro", nullable=false, insertable=false)
49
        public Date getDataCadastro() {
50
                return dataCadastro;
51
        }
52
 
53
        public void setDataCadastro(Date dataCadastro) {
54
                this.dataCadastro = dataCadastro;
55
        }
56
 
57
        @ManyToOne
58
        @JoinColumn(name="cod_etapa", nullable=false)
59
        public Etapa getEtapa() {
60
                return etapa;
61
        }
62
 
63
        public void setEtapa(Etapa etapa) {
64
                this.etapa = etapa;
65
        }
66
 
67
        @ManyToOne
68
        @JoinColumn(name="seq_pessoa", nullable=false)
69
        public UsuarioView getUsuario() {
70
                return usuario;
71
        }
72
 
73
        public void setUsuario(UsuarioView usuario) {
74
                this.usuario = usuario;
75
        }
76
 
77
        @ManyToOne
78
        @JoinColumn(name="num_ano", nullable=false)
79
        public Cronograma getCronograma() {
80
                return cronograma;
81
        }
82
 
83
        public void setCronograma(Cronograma cronograma) {
84
                this.cronograma = cronograma;
85
        }
86
 
87
        @Temporal(TemporalType.DATE)
88
        @Column(name="dat_inicial_etapa", nullable=false)
89
        public Date getDataInicialEtapa() {
90
                return dataInicialEtapa;
91
        }
92
 
93
        public void setDataInicialEtapa(Date dataInicialEtapa) {
94
                this.dataInicialEtapa = dataInicialEtapa;
95
        }
96
 
97
        @Temporal(TemporalType.DATE)
98
        @Column(name="dat_final_etapa", nullable=false)
99
        public Date getDataFinalEtapa() {
100
                return dataFinalEtapa;
101
        }
102
 
103
        public void setDataFinalEtapa(Date dataFinalEtapa) {
104
                this.dataFinalEtapa = dataFinalEtapa;
105
        }
106
 
107
        @Override
108
        @Transient
109
        public Object getId() {
110
                return sequencial;
111
        }
112
 
113
        @Override
114
        public void setId(Object id) {
115
                this.sequencial = (Long) id;
116
        }
117
 
118
        @Override
119
        public int hashCode() {
120
                final int prime = 31;
121
                int result = 1;
122
                result = prime * result
123
                                + ((sequencial == null) ? 0 : sequencial.hashCode());
124
                return result;
125
        }
126
 
127
        @Override
128
        public boolean equals(Object obj) {
129
                if (this == obj)
130
                        return true;
131
                if (obj == null)
132
                        return false;
133
                if (getClass() != obj.getClass())
134
                        return false;
135
                CronogramaHistorico other = (CronogramaHistorico) obj;
136
                if (sequencial == null) {
137
                        if (other.sequencial != null)
138
                                return false;
139
                } else if (!sequencial.equals(other.sequencial))
140
                        return false;
141
                return true;
142
        }
143
 
144
        @Override
145
        public int compareTo(CronogramaHistorico o) {
146
                return getEtapa().getDescricao().compareTo(o.getEtapa().getDescricao());
147
        }
148
 
149
}