Subversion Repositories Integrator Subversion

Rev

Rev 569 | 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.core.generic.GenericService;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.dto.AnaliseComprasProdutosDTO;
import br.com.ec.domain.dto.CompraDTO;
import br.com.ec.domain.dto.CompraProdutoDTO;
import br.com.ec.domain.dto.FornecedorDTO;
import br.com.ec.domain.model.tipos.TipoPeriodoConsulta;
import br.com.ec.domain.service.CompraService;
import br.com.ec.domain.service.FornecedorService;
import br.com.ec.domain.service.TransferenciaService;
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;

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

        private static final long serialVersionUID = 1L;
       
        private FornecedorDTO fornecedorSelecionado;
        private List<FornecedorDTO> fornecedoresAtivos;

        private AnaliseComprasProdutosDTO analiseParaCompra;
       
        private CompraService compraService;
       
        private FornecedorService fornecedorService;
       
        @Inject
        public ComprasBean(CompraService compraService, FornecedorService fornecedorService) {
                this.compraService = compraService;
                this.fornecedorService = fornecedorService;
        }

        @Override
        public GenericService<CompraDTO> getService() {
                return null;
        }

        @Override
        public CompraDTO getId() {
                return null;
        }
       
        @Override
        public void preCarregamento() {
                limparEntidade();
        }
       
        @Override
        public void limparEntidade() {
                setEntidade(new CompraDTO());
        }
       
        /**************************************************/
       
        public TipoPeriodoConsulta[] getTiposPeriodoConsulta() {
                return TipoPeriodoConsulta.values();
        }
       
        public FornecedorDTO getFornecedorSelecionado() {
                return fornecedorSelecionado;
        }
        public void setFornecedorSelecionado(FornecedorDTO fornecedorSelecionado) {
                this.fornecedorSelecionado = fornecedorSelecionado;
        }
       
        public List<FornecedorDTO> getFornecedoresAtivos() {
                if (VerificadorUtil.estaNuloOuVazio(fornecedoresAtivos)) {
                        fornecedoresAtivos = fornecedorService.consultarFornecedoresAtivos();
                }
                return fornecedoresAtivos;
        }
        public void setFornecedoresAtivos(List<FornecedorDTO> fornecedoresAtivos) {
                this.fornecedoresAtivos = fornecedoresAtivos;
        }
       
        public void setAnaliseParaCompra(AnaliseComprasProdutosDTO analiseParaCompra) {
                this.analiseParaCompra = analiseParaCompra;
        }
        public AnaliseComprasProdutosDTO getAnaliseParaCompra() {
                return analiseParaCompra;
        }
       
        /**************************************************/
       
        public void gerarCompras() {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
                                setAnaliseParaCompra(compraService.gerarComprasAutomaticamente(getFornecedorSelecionado()));
//                              transferenciaService.gerarTransferenciasAutomaticamente(getEntidade());
//                              LancadorMensagem.lancarSucesso("TRANSFERÊNCIAS DE " + TipoProduto.parse(getEntidade().getTipoProduto()).getDescricao() + " GERADAS COM SUCESSO");
                                LancadorMensagem.lancarSucesso("SUGESTÕES DE COMPRAS REALIZADAS");
                        }
                });
        }
       
        public void efetivarCompras() {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
//                              transferenciaService.efetivarTransferencias(getEntidade());
//                              LancadorMensagem.lancarSucesso("TRANSFERÊNCIAS DE " + TipoProduto.parse(getEntidade().getTipoProduto()).getDescricao() + " EFETIVADAS COM SUCESSO");
                                LancadorMensagem.lancarSucesso("SUGESTÕES DE COMPRAS EFETIVADAS");
                        }
                });
        }
}