package br.gov.al.saude.srv.web.managebean.unidade;
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.orgao.OrgaoFacade;
import br.gov.al.saude.srv.core.application.unidade.UnidadeFacade;
import br.gov.al.saude.srv.model.Orgao;
import br.gov.al.saude.srv.model.Unidade;
@
Component
@ManagedBean
@Scope
("view")
public class UnidadeBean
extends AbstractBean
<Unidade
> implements Serializable {
private static final long serialVersionUID = 1L
;
private UnidadeFacade unidadeFacade
;
private OrgaoFacade orgaoFacade
;
private List<Orgao
> orgaos
;
private List<Orgao
> orgaosAtivos
;
private ConsultaUnidadePorDemanda lazy
;
private Unidade unidadeParaConsulta
;
@Autowired
public UnidadeBean
(UnidadeFacade unidadeFacade, OrgaoFacade orgaoFacade, ConsultaUnidadePorDemanda lazy
) {
this.
unidadeFacade = unidadeFacade
;
this.
orgaoFacade = orgaoFacade
;
this.
lazy = lazy
;
}
@
Override
public GenericFacade
<Unidade
> getFacade
() {
return unidadeFacade
;
}
@
Override
public Object getId
() {
return getEntidade
().
getId();
}
@
Override
public GenericConsultaDemanda
<Unidade
> getLazy
() {
return lazy
;
}
@
Override
public String getTelaCrud
() {
return "/paginas/manter_unidade.xhtml";
}
@
Override
public void limparEntidade
() {
setEntidade
(new Unidade
());
setUnidadeParaConsulta
(new Unidade
());
}
@
Override
public Unidade getEntidade
() {
if (VerificadorUtil.
estaNulo(entidade
)) {
entidade =
new Unidade
();
}
return entidade
;
}
public List<Orgao
> getOrgaos
() {
if (VerificadorUtil.
estaNuloOuVazio(orgaos
)) {
return orgaoFacade.
consultarTodos(new Orgao
());
}
return orgaos
;
}
public void setOrgaos
(List<Orgao
> orgaos
) {
this.
orgaos = orgaos
;
}
public List<Orgao
> getOrgaosAtivos
() {
if (VerificadorUtil.
estaNuloOuVazio(orgaosAtivos
)) {
return orgaoFacade.
listarOrgaoAtivo();
}
return orgaosAtivos
;
}
public void setOrgaosAtivos
(List<Orgao
> orgaosAtivos
) {
this.
orgaosAtivos = orgaosAtivos
;
}
public Unidade getUnidadeParaConsulta
() {
if (VerificadorUtil.
estaNulo(unidadeParaConsulta
)) {
unidadeParaConsulta =
new Unidade
();
}
return unidadeParaConsulta
;
}
public void setUnidadeParaConsulta
(Unidade unidadeParaConsulta
) {
this.
unidadeParaConsulta = unidadeParaConsulta
;
}
@
Override
public void prepararConsultaPorDemanda
() {
lazy.
setUnidadeParaConsulta(getUnidadeParaConsulta
());
}
}