Subversion Repositories Integrator Subversion

Rev

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

package br.com.ec.controller;

import java.io.Serializable;
import java.util.List;

import javax.inject.Inject;
import javax.inject.Named;

import org.springframework.context.annotation.Scope;

import br.com.ec.controller.consultademanda.AvaliacaoConsultaPorDemanda;
import br.com.ec.core.consulta.ParametrosConsulta;
import br.com.ec.core.generic.GenericService;
import br.com.ec.domain.model.Avaliacao;
import br.com.ec.domain.model.AvaliacaoProduto;
import br.com.ec.domain.service.AvaliacaoService;
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 FolhaPagamentoBean extends AbstractBean<Avaliacao> implements Serializable {

        private static final long serialVersionUID = 1L;
       
        private AvaliacaoService avaliacaoService;

        private AvaliacaoConsultaPorDemanda lazy;
        private ParametrosConsulta<Avaliacao> parametrosConsultaAvaliacao;
       
        private List<AvaliacaoProduto> produtosPromocaoInterna;
        private String codigoProdutoParaVincular;
       
        @Inject
        public FolhaPagamentoBean(AvaliacaoConsultaPorDemanda lazy, AvaliacaoService avaliacaoService) {
                this.lazy = lazy;
                this.avaliacaoService = avaliacaoService;
        }
       
        @Override
        public void preCarregamento() {
                parametrosConsultaAvaliacao = new ParametrosConsulta<Avaliacao>();
                parametrosConsultaAvaliacao.setEntidade(new Avaliacao());
                prepararConsultaDemanda();
                limparEntidade();
        }

        @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 AvaliacaoConsultaPorDemanda getLazy() {
                return lazy;
        }
        public void setLazy(AvaliacaoConsultaPorDemanda lazy) {
                this.lazy = lazy;
        }
        public void prepararConsultaDemanda() {
                lazy.setarParametrosConsulta(getParametrosConsultaAvaliacao());
        }
       
        public ParametrosConsulta<Avaliacao> getParametrosConsultaAvaliacao() {
                return parametrosConsultaAvaliacao;
        }
        public void setParametrosConsultaAvaliacao(ParametrosConsulta<Avaliacao> parametrosConsultaAvaliacao) {
                this.parametrosConsultaAvaliacao = parametrosConsultaAvaliacao;
        }
       
        public List<AvaliacaoProduto> getProdutosPromocaoInterna() {
                return produtosPromocaoInterna;
        }
        public void setProdutosPromocaoInterna(List<AvaliacaoProduto> produtosPromocaoInterna) {
                this.produtosPromocaoInterna = produtosPromocaoInterna;
        }
       
        public String getCodigoProdutoParaVincular() {
                return codigoProdutoParaVincular;
        }
        public void setCodigoProdutoParaVincular(String codigoProdutoParaVincular) {
                this.codigoProdutoParaVincular = codigoProdutoParaVincular;
        }
       
        /**************************************************/
       
        public void consultarProdutosPromocaoInterna() {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
                                setProdutosPromocaoInterna(avaliacaoService.consultarProdutosPromocaoInterna(getEntidade().getSequencial()));
                                /*
                                List<AvaliacaoProduto> produtosPromocaoInterna = new ArrayList<AvaliacaoProduto>();
                                AvaliacaoProduto avaliacaoProduto = new AvaliacaoProduto();
                                Produto produto = new Produto();
                                produto.setDescricao("TESTE");
                                avaliacaoProduto.setProduto(produto);
                                produtosPromocaoInterna.add(avaliacaoProduto);
                                setProdutosPromocaoInterna(produtosPromocaoInterna);
                                */

                        }
                });
        }
       
        public void vincularProdutoPromocaoInterna() {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
                                avaliacaoService.cadastrarProdutoPromocaoInterna(getEntidade(), getCodigoProdutoParaVincular());
                                setProdutosPromocaoInterna(avaliacaoService.consultarProdutosPromocaoInterna(getEntidade().getSequencial()));
                                LancadorMensagem.lancarSucesso("PRODUTO " + getCodigoProdutoParaVincular() + " VINCULADO COM SUCESSO");
                                setCodigoProdutoParaVincular(null);
                        }
                });
        }
       
        public void desvincularProdutoPromocaoInterna(final AvaliacaoProduto avaliacaoProduto) {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
                                avaliacaoService.excluirProdutoPromocaoInterna(avaliacaoProduto);
                                setProdutosPromocaoInterna(avaliacaoService.consultarProdutosPromocaoInterna(getEntidade().getSequencial()));
                                LancadorMensagem.lancarSucesso("PRODUTO DESVINCULADO COM SUCESSO");
                        }
                });
        }
       
        /*
        public void desvincularVenda() {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
//                              pessoaPapelService.adicionarPapel(getEntidade().getPessoa(), new Papel(getPessoaPapelDTO().getCodigoPapel()));
//                              getEntidadeDTO().setPapeisDTO(pessoaPapelService.consultarPapeisDaPessoa(getPessoaPapelDTO().getSequencialPessoa()));
                                LancadorMensagem.lancarSucesso("VENDA DESVINCULADA COM SUCESSO");
                        }
                });
        }
       
        public void vincularVenda() {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
//                              pessoaPapelService.adicionarPapel(getEntidade().getPessoa(), new Papel(getPessoaPapelDTO().getCodigoPapel()));
//                              getEntidadeDTO().setPapeisDTO(pessoaPapelService.consultarPapeisDaPessoa(getPessoaPapelDTO().getSequencialPessoa()));
                                LancadorMensagem.lancarSucesso("VENDA VINCULADA COM SUCESSO");
                        }
                });
        }
        */

}