Blame |
Last modification |
View Log
| Download
| RSS feed
package br.gov.al.saude.rhd.model;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
import br.gov.al.saude.framework.core.generic.identidade.Identidade;
import br.gov.al.saude.sca.model.usuario.view.UsuarioView;
@
Entity
@Table
(name =
"rhd_cronograma_historico", schema =
"sc_rhd")
public class CronogramaHistorico
implements Serializable, Identidade,
Comparable<CronogramaHistorico
> {
private static final long serialVersionUID = 1L
;
private Long sequencial
;
private Date dataCadastro
;
private Etapa etapa
;
private UsuarioView usuario
;
private Cronograma cronograma
;
private Date dataInicialEtapa
;
private Date dataFinalEtapa
;
@Id
@Column
(name=
"seq_cronograma_historico", nullable=
false)
@GeneratedValue
(generator =
"CRONOGRAMA_HISTORICO_GENERATOR", strategy = GenerationType.
SEQUENCE)
@SequenceGenerator
(name =
"CRONOGRAMA_HISTORICO_GENERATOR", sequenceName =
"SQ_CRONOGHISTOR", initialValue =
1, allocationSize =
1)
public Long getSequencial
() {
return sequencial
;
}
public void setSequencial
(Long sequencial
) {
this.
sequencial = sequencial
;
}
@Column
(name=
"dth_cadastro", nullable=
false, insertable=
false)
public Date getDataCadastro
() {
return dataCadastro
;
}
public void setDataCadastro
(Date dataCadastro
) {
this.
dataCadastro = dataCadastro
;
}
@ManyToOne
@JoinColumn
(name=
"cod_etapa", nullable=
false)
public Etapa getEtapa
() {
return etapa
;
}
public void setEtapa
(Etapa etapa
) {
this.
etapa = etapa
;
}
@ManyToOne
@JoinColumn
(name=
"seq_pessoa", nullable=
false)
public UsuarioView getUsuario
() {
return usuario
;
}
public void setUsuario
(UsuarioView usuario
) {
this.
usuario = usuario
;
}
@ManyToOne
@JoinColumn
(name=
"num_ano", nullable=
false)
public Cronograma getCronograma
() {
return cronograma
;
}
public void setCronograma
(Cronograma cronograma
) {
this.
cronograma = cronograma
;
}
@Temporal
(TemporalType.
DATE)
@Column
(name=
"dat_inicial_etapa", nullable=
false)
public Date getDataInicialEtapa
() {
return dataInicialEtapa
;
}
public void setDataInicialEtapa
(Date dataInicialEtapa
) {
this.
dataInicialEtapa = dataInicialEtapa
;
}
@Temporal
(TemporalType.
DATE)
@Column
(name=
"dat_final_etapa", nullable=
false)
public Date getDataFinalEtapa
() {
return dataFinalEtapa
;
}
public void setDataFinalEtapa
(Date dataFinalEtapa
) {
this.
dataFinalEtapa = dataFinalEtapa
;
}
@
Override
@Transient
public Object getId
() {
return sequencial
;
}
@
Override
public void setId
(Object id
) {
this.
sequencial =
(Long) id
;
}
@
Override
public int hashCode
() {
final int prime =
31;
int result =
1;
result = prime
* result
+
((sequencial ==
null) ? 0 : sequencial.
hashCode());
return result
;
}
@
Override
public boolean equals
(Object obj
) {
if (this == obj
)
return true;
if (obj ==
null)
return false;
if (getClass
() != obj.
getClass())
return false;
CronogramaHistorico other =
(CronogramaHistorico
) obj
;
if (sequencial ==
null) {
if (other.
sequencial !=
null)
return false;
} else if (!sequencial.
equals(other.
sequencial))
return false;
return true;
}
@
Override
public int compareTo
(CronogramaHistorico o
) {
return getEtapa
().
getDescricao().
compareTo(o.
getEtapa().
getDescricao());
}
}