package br.gov.al.saude.srv.model.dto;
import java.io.Serializable;
import br.gov.al.saude.framework.core.util.VerificadorUtil;
import br.gov.al.saude.srv.model.enums.TipoFuncao;
public class FuncaoDTO
implements Serializable {
private static final String NAO_SE_APLICA =
"N/A";
private static final long serialVersionUID = 1L
;
private Integer codigo
;
private String descricao
;
private String nivel
;
private TipoFuncao tipo
;
private Long quantidadeVagas
;
private Long quantidadeVagasOcupadas
;
public Integer getCodigo
() {
return codigo
;
}
public void setCodigo
(Integer codigo
) {
this.
codigo = codigo
;
}
public String getDescricao
() {
return descricao
;
}
public void setDescricao
(String descricao
) {
this.
descricao = descricao
;
}
public String getNivel
() {
return nivel
;
}
public void setNivel
(String nivel
) {
this.
nivel = nivel
;
}
public TipoFuncao getTipo
() {
return tipo
;
}
public void setTipo
(TipoFuncao tipo
) {
this.
tipo = tipo
;
}
public String getDescricaoTipo
() {
return VerificadorUtil.
naoEstaNulo(tipo
) ? tipo.
getDescricao() :
null;
}
public Long getQuantidadeVagas
() {
return quantidadeVagas
;
}
public String getDescricaoQuantidadeVagas
() {
return VerificadorUtil.
naoEstaNulo(quantidadeVagas
) ? quantidadeVagas.
toString() : NAO_SE_APLICA
;
}
public void setQuantidadeVagas
(Long quantidadeVagas
) {
this.
quantidadeVagas = quantidadeVagas
;
}
public Long getQuantidadeVagasOcupadas
() {
return quantidadeVagasOcupadas
;
}
public void setQuantidadeVagasOcupadas
(Long quantidadeVagasOcupadas
) {
this.
quantidadeVagasOcupadas = quantidadeVagasOcupadas
;
}
public Long getSaldoVagas
() {
return VerificadorUtil.
naoEstaNulo(quantidadeVagas
) ? quantidadeVagas-quantidadeVagasOcupadas : -quantidadeVagasOcupadas
;
}
public String getDescricaoSaldoVagas
() {
return VerificadorUtil.
naoEstaNulo(quantidadeVagas
) ? (new Long(quantidadeVagas-quantidadeVagasOcupadas
)).
toString() : NAO_SE_APLICA
;
}
@
Override
public int hashCode
() {
final int prime =
31;
int result =
1;
result = prime
* result +
((codigo ==
null) ? 0 : codigo.
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;
FuncaoDTO other =
(FuncaoDTO
) obj
;
if (codigo ==
null) {
if (other.
codigo !=
null)
return false;
} else if (!codigo.
equals(other.
codigo))
return false;
return true;
}
}