Blame |
Last modification |
View Log
| Download
| RSS feed
package br.gov.al.saude.srv.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 javax.validation.constraints.NotNull;
import br.gov.al.saude.framework.core.generic.identidade.Identidade;
import br.gov.al.saude.framework.core.interfaces.Alterar;
import br.gov.al.saude.framework.core.interfaces.Cadastrar;
import br.gov.al.saude.srv.model.enums.TipoQualificacao;
@
Entity
@Table
(name =
"srv_servidor_qualificacao", schema =
"sc_srv")
public class ServidorQualificacao
implements Serializable, Identidade,
Comparable<ServidorQualificacao
> {
private static final long serialVersionUID = 1L
;
private Long sequencial
;
private String descricao
;
private String tipoQualificacao
;
private String instituicao
;
private Date dataInicial
;
private Date dataFinal
;
private Integer cargaHoraria
;
private String observacao
;
private Servidor servidor
;
@Id
@Column
(name=
"seq_servidor_qualificacao", nullable=
false)
@GeneratedValue
(generator =
"SERVIDOR_QUALIFICACAO_GENERATOR", strategy = GenerationType.
SEQUENCE)
@SequenceGenerator
(name =
"SERVIDOR_QUALIFICACAO_GENERATOR", sequenceName =
"sc_srv.sq_servidoqualif", initialValue =
1, allocationSize =
1)
public Long getSequencial
() {
return sequencial
;
}
public void setSequencial
(Long sequencial
) {
this.
sequencial = sequencial
;
}
@Column
(name=
"dsc_qualificacao", length=
200, nullable=
false)
@NotNull
(message=
"Obrigatório informar a descrição.", groups=
{Cadastrar.
class, Alterar.
class})
public String getDescricao
() {
return descricao
;
}
public void setDescricao
(String descricao
) {
this.
descricao = descricao
;
}
@Column
(name=
"tip_qualificacao", length=
1, nullable=
false)
@NotNull
(message=
"Obrigatório informar o tipo da qualificação.", groups=
{Cadastrar.
class, Alterar.
class})
public String getTipoQualificacao
() {
return tipoQualificacao
;
}
public void setTipoQualificacao
(String tipoQualificacao
) {
this.
tipoQualificacao = tipoQualificacao
;
}
public void setTipoQualificacao
(TipoQualificacao tipoQualificacao
) {
this.
tipoQualificacao = tipoQualificacao.
getValue();
}
@Transient
public String getDescricaoTipoQualificacao
() {
return TipoQualificacao.
parse(getTipoQualificacao
()).
getDescricao();
}
@Column
(name=
"dsc_instituicao", length=
200, nullable=
false)
@NotNull
(message=
"Obrigatório informar a instituição.", groups=
{Cadastrar.
class, Alterar.
class})
public String getInstituicao
() {
return instituicao
;
}
public void setInstituicao
(String instituicao
) {
this.
instituicao = instituicao
;
}
@Temporal
(TemporalType.
DATE)
@Column
(name=
"dat_inicial", nullable=
false)
@NotNull
(message=
"Obrigatório informar a data inicial.", groups=
{Cadastrar.
class, Alterar.
class})
public Date getDataInicial
() {
return dataInicial
;
}
public void setDataInicial
(Date dataInicial
) {
this.
dataInicial = dataInicial
;
}
@Temporal
(TemporalType.
DATE)
@Column
(name=
"dat_final", nullable=
false)
@NotNull
(message=
"Obrigatório informar a data final.", groups=
{Cadastrar.
class, Alterar.
class})
public Date getDataFinal
() {
return dataFinal
;
}
public void setDataFinal
(Date dataFinal
) {
this.
dataFinal = dataFinal
;
}
@Column
(name=
"qtd_carga_horaria", nullable=
false)
@NotNull
(message=
"Obrigatório informar a carga horária.", groups=
{Cadastrar.
class, Alterar.
class})
public Integer getCargaHoraria
() {
return cargaHoraria
;
}
public void setCargaHoraria
(Integer cargaHoraria
) {
this.
cargaHoraria = cargaHoraria
;
}
@Column
(name=
"dsc_observacao")
public String getObservacao
() {
return observacao
;
}
public void setObservacao
(String observacao
) {
this.
observacao = observacao
;
}
@ManyToOne
@JoinColumn
(name=
"seq_pessoa_servidor", referencedColumnName=
"seq_pessoa_servidor", nullable=
false)
public Servidor getServidor
() {
return servidor
;
}
public void setServidor
(Servidor servidor
) {
this.
servidor = servidor
;
}
@Transient
@
Override
public Object getId
() {
return this.
sequencial;
}
@
Override
public void setId
(Object id
) {
this.
sequencial =
(Long) id
;
}
@
Override
public int compareTo
(ServidorQualificacao servidorQualificacao
) {
return this.
dataInicial.
compareTo(servidorQualificacao.
getDataInicial());
}
@
Override
public int hashCode
() {
final int prime =
31;
int result =
1;
result = prime
* result
+
((cargaHoraria ==
null) ? 0 : cargaHoraria.
hashCode());
result = prime
* result
+
((dataFinal ==
null) ? 0 : dataFinal.
hashCode());
result = prime
* result
+
((dataInicial ==
null) ? 0 : dataInicial.
hashCode());
result = prime
* result
+
((descricao ==
null) ? 0 : descricao.
hashCode());
result = prime
* result
+
((instituicao ==
null) ? 0 : instituicao.
hashCode());
result = prime
* result
+
((sequencial ==
null) ? 0 : sequencial.
hashCode());
result = prime
* result
+
((tipoQualificacao ==
null) ? 0 : tipoQualificacao.
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;
ServidorQualificacao other =
(ServidorQualificacao
) obj
;
if (cargaHoraria ==
null) {
if (other.
cargaHoraria !=
null)
return false;
} else if (!cargaHoraria.
equals(other.
cargaHoraria))
return false;
if (dataFinal ==
null) {
if (other.
dataFinal !=
null)
return false;
} else if (!dataFinal.
equals(other.
dataFinal))
return false;
if (dataInicial ==
null) {
if (other.
dataInicial !=
null)
return false;
} else if (!dataInicial.
equals(other.
dataInicial))
return false;
if (descricao ==
null) {
if (other.
descricao !=
null)
return false;
} else if (!descricao.
equals(other.
descricao))
return false;
if (instituicao ==
null) {
if (other.
instituicao !=
null)
return false;
} else if (!instituicao.
equals(other.
instituicao))
return false;
if (sequencial ==
null) {
if (other.
sequencial !=
null)
return false;
} else if (!sequencial.
equals(other.
sequencial))
return false;
if (tipoQualificacao ==
null) {
if (other.
tipoQualificacao !=
null)
return false;
} else if (!tipoQualificacao.
equals(other.
tipoQualificacao))
return false;
return true;
}
}