Subversion Repositories Integrator Subversion

Rev

Rev 648 | Rev 656 | 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.annotation.PostConstruct;
import javax.inject.Inject;
import javax.inject.Named;

import org.springframework.context.annotation.Scope;

import br.com.ec.core.generic.GenericService;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.dto.AvaliacaoDTO;
import br.com.ec.domain.dto.VigenciaDTO;
import br.com.ec.domain.model.Avaliacao;
import br.com.ec.domain.service.AvaliacaoService;
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 MetasAvaliacoesBean extends AbstractBean<Avaliacao> implements Serializable {

        private static final long serialVersionUID = 1L;
       
        private VigenciaDTO vigenciaSelecionada;
        private AvaliacaoDTO avaliacaoSelecionada;
       
        private VigenciaService vigenciaService;
        private AvaliacaoService avaliacaoService;
       
        @Inject
        public MetasAvaliacoesBean(VigenciaService vigenciaService, AvaliacaoService avaliacaoService) {
                this.vigenciaService = vigenciaService;
                this.avaliacaoService = avaliacaoService;
        }
       
        @Override
        public void preCarregamento() {
                limparEntidade();
        }
       
        @PostConstruct
        private void posCarregamento() {
                if (VerificadorUtil.estaNulo(vigenciaSelecionada)) {
                        if (VerificadorUtil.naoEstaNulo(getParametro("vigencia"))) {
                                setVigenciaSelecionada(vigenciaService.consultarVigencia(new Long(getParametro("vigencia").toString())));
                        }
                }
               
                AvaliacaoDTO avaliacaoDTO = avaliacaoService.consultarAvaliacao(getVigenciaSelecionada().getSequencial());
                if (VerificadorUtil.naoEstaNulo(avaliacaoDTO)) {
                        VigenciaDTO vigenciaDetalhada = vigenciaService.consultarVigencia(avaliacaoDTO.getVigenciaDTO().getSequencial());
                        setVigenciaSelecionada(vigenciaDetalhada);
                        // DETALHAR AVALIAÇÃO COMPLETA
                        AvaliacaoDTO avaliacaoDetalhada = avaliacaoService.consultarAvaliacaoCompleta(avaliacaoDTO.getSequencial());
                        setAvaliacaoSelecionada(avaliacaoDetalhada);
                }
        }
       
        @Override
        public void limparEntidade() {
                setEntidade(new Avaliacao());
        }

        @Override
        public GenericService<Avaliacao> getService() {
                return avaliacaoService;
        }
       
        @Override
        public Avaliacao getEntidade() {
                return entidade;
        }
       
        @Override
        public void preConsultar() {
                setTipoOperacao(TipoOperacao.CONSULTAR);
        }

        @Override
        public Avaliacao getId() {
                return getEntidade();
        }
       
        public VigenciaDTO getVigenciaSelecionada() {
                return vigenciaSelecionada;
        }
        public void setVigenciaSelecionada(VigenciaDTO vigenciaSelecionada) {
                this.vigenciaSelecionada = vigenciaSelecionada;
        }
       
        public AvaliacaoDTO getAvaliacaoSelecionada() {
                return avaliacaoSelecionada;
        }
        public void setAvaliacaoSelecionada(AvaliacaoDTO avaliacaoSelecionada) {
                this.avaliacaoSelecionada = avaliacaoSelecionada;
        }
       
        /***************************************************************/
       
        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();
                                }
                        }
                });
        }
       
}