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