package br.gov.al.saude.srv.web.managebean.cargo;
import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ManagedBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import br.gov.al.saude.framework.core.generic.GenericFacade;
import br.gov.al.saude.framework.core.util.VerificadorUtil;
import br.gov.al.saude.framework.web.generic.AbstractBean;
import br.gov.al.saude.framework.web.generic.GenericConsultaDemanda;
import br.gov.al.saude.srv.core.application.cargo.CargoFacade;
import br.gov.al.saude.srv.core.application.grauinstrucao.GrauInstrucaoFacade;
import br.gov.al.saude.srv.model.Cargo;
import br.gov.al.saude.srv.model.GrauInstrucao;
import br.gov.al.saude.srv.model.dto.ParametroConsultaCargoDTO;
@
Component
@ManagedBean
@Scope
("view")
public class CargoBean
extends AbstractBean
<Cargo
> implements Serializable {
private static final long serialVersionUID = 1L
;
private CargoFacade cargoFacade
;
private GrauInstrucaoFacade grauInstrucaoFacade
;
private List<GrauInstrucao
> grausDeInstrucao
;
private ParametroConsultaCargoDTO parametroConsultaCargo
;
private ConsultaCargoPorDemanda lazy
;
@Autowired
public CargoBean
(CargoFacade cargoFacade, GrauInstrucaoFacade grauInstrucaoFacade, ConsultaCargoPorDemanda lazy
) {
this.
cargoFacade = cargoFacade
;
this.
grauInstrucaoFacade = grauInstrucaoFacade
;
this.
lazy = lazy
;
}
@
Override
public GenericFacade
<Cargo
> getFacade
() {
return cargoFacade
;
}
@
Override
public Object getId
() {
return getEntidade
().
getId();
}
@
Override
public GenericConsultaDemanda
<Cargo
> getLazy
() {
return lazy
;
}
@
Override
public String getTelaCrud
() {
return "/paginas/manter_cargo.xhtml";
}
@
Override
public void limparEntidade
() {
setEntidade
(new Cargo
());
setParametro
(new ParametroConsultaCargoDTO
());
}
@
Override
public Cargo getEntidade
() {
if (VerificadorUtil.
estaNulo(entidade
)) {
entidade =
new Cargo
();
}
return entidade
;
}
public ParametroConsultaCargoDTO getParametro
() {
if (VerificadorUtil.
estaNulo(parametroConsultaCargo
)) {
parametroConsultaCargo =
new ParametroConsultaCargoDTO
();
}
return parametroConsultaCargo
;
}
public void setParametro
(ParametroConsultaCargoDTO parametroConsultaCargo
) {
this.
parametroConsultaCargo = parametroConsultaCargo
;
}
@
Override
public void prepararConsultaPorDemanda
() {
lazy.
setParametroConsultaCargo(getParametro
());
}
public List<GrauInstrucao
> getGrausDeInstrucao
() {
if (VerificadorUtil.
estaNuloOuVazio(grausDeInstrucao
)) {
return grauInstrucaoFacade.
consultarTodos(new GrauInstrucao
());
}
return grausDeInstrucao
;
}
public void setGrausDeInstrucao
(List<GrauInstrucao
> grausDeInstrucao
) {
this.
grausDeInstrucao = grausDeInstrucao
;
}
}