Subversion Repositories Integrator Subversion

Rev

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

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