Subversion Repositories Integrator Subversion

Rev

Rev 703 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

package br.com.ec.controller;

import java.io.IOException;
import java.io.Serializable;

import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.inject.Named;

import org.springframework.context.annotation.Scope;

import br.com.ec.controller.consultademanda.VigenciaConsultaPorDemanda;
import br.com.ec.core.consulta.ParametrosConsulta;
import br.com.ec.core.generic.GenericService;
import br.com.ec.domain.model.Vigencia;
import br.com.ec.domain.service.VigenciaService;
import br.com.ec.web.exception.VerificadorLancamentoException;
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
import br.com.ec.web.generic.AbstractBean;
import br.com.ec.web.message.LancadorMensagem;
import br.com.ec.web.util.TipoOperacao;

@Named
@Scope("view")
public class GestaoMensalBean extends AbstractBean<Vigencia> implements Serializable {

        private static final long serialVersionUID = 1L;
       
        private VigenciaService vigenciaService;
        private VigenciaConsultaPorDemanda lazy;
        private ParametrosConsulta<Vigencia> parametrosConsultaVigencia;
       
        @Inject
        public GestaoMensalBean(VigenciaConsultaPorDemanda lazy, VigenciaService vigenciaService) {
                this.lazy = lazy;
                this.vigenciaService = vigenciaService;
        }
       
        @Override
        public void preCarregamento() {
                parametrosConsultaVigencia = new ParametrosConsulta<Vigencia>();
                parametrosConsultaVigencia.setEntidade(new Vigencia());
                prepararConsultaDemanda();
                limparEntidade();
        }

        @Override
        public void limparEntidade() {
                setEntidade(new Vigencia());
        }

        @Override
        public GenericService<Vigencia> getService() {
                return vigenciaService;
        }
       
        @Override
        public Vigencia getEntidade() {
                return entidade;
        }
       
        @Override
        public void preConsultar() {
                setTipoOperacao(TipoOperacao.CONSULTAR);
        }
       
        @Override
        public void preAlterar(Vigencia vigencia) {
                super.preAlterar(vigenciaService.consultarPorId(vigencia));
        }

        @Override
        public Vigencia getId() {
                return getEntidade();
        }
       
        public VigenciaConsultaPorDemanda getLazy() {
                return lazy;
        }
        public void setLazy(VigenciaConsultaPorDemanda lazy) {
                this.lazy = lazy;
        }
        public void prepararConsultaDemanda() {
                lazy.setarParametrosConsulta(getParametrosConsultaVigencia());
        }
       
        public ParametrosConsulta<Vigencia> getParametrosConsultaVigencia() {
                return parametrosConsultaVigencia;
        }
        public void setParametrosConsultaVigencia(ParametrosConsulta<Vigencia> parametrosConsultaVigencia) {
                this.parametrosConsultaVigencia = parametrosConsultaVigencia;
        }
       
        /***************************************************************/
       
        public void redirecionarGestaoMensal() {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
                                try {
                                        LancadorMensagem.redirecionarTela("/sistema/gestao_mensal/gestao_mensal.xhtml");
                                } catch (IOException e) {
                                        e.printStackTrace();
                                }
                        }
                });
        }
       
        private String redirecionar(String tela) {
                return FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath() + "/sistema/" + tela;
        }
       
        public String redirecionarParaArquivos(Vigencia vigencia) {
                return redirecionar("gestao_mensal/arquivos.xhtml?vigencia=" + vigencia.getSequencial());
        }
       
        public String redirecionarParaFolhaPagamento(Vigencia vigencia) {
                return redirecionar("gestao_mensal/folhapagamento.xhtml?vigencia=" + vigencia.getSequencial());
        }
       
        public String redirecionarParaPromocaoInterna(Vigencia vigencia) {
                return redirecionar("gestao_mensal/promocaointerna.xhtml?vigencia=" + vigencia.getSequencial());
        }
       
        public String redirecionarParaMetasAvaliacoes(Vigencia vigencia) {
                return redirecionar("gestao_mensal/metas_avaliacoes.xhtml?vigencia=" + vigencia.getSequencial());
        }
       
        public String redirecionarParaConciliacaoBancaria(Vigencia vigencia) {
                return redirecionar("gestao_mensal/conciliacao_bancaria.xhtml?vigencia=" + vigencia.getSequencial());
        }
       
}