Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

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());
        }
}