Subversion Repositories Integrator Subversion

Rev

Rev 583 | 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.ArrayList;
import java.util.Arrays;
import java.util.List;

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.domain.dto.AlertasComprasGeralDTO;
import br.com.ec.domain.dto.AlertasComprasProdutoDTO;
import br.com.ec.domain.dto.AlertasGeralDTO;
import br.com.ec.domain.dto.ProdutoDTO;
import br.com.ec.domain.model.tipos.TipoProduto;
import br.com.ec.domain.service.AlertasService;
import br.com.ec.domain.service.VendaService;
import br.com.ec.web.generic.AbstractBean;

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

        private static final long serialVersionUID = 1L;
       
        private AlertasService alertasService;
        private VendaService vendaService;
       
        private Integer tempoDeEstoqueParaAlerta = 30;

        @Inject
        public AlertasComprasBean(AlertasService alertasService, VendaService vendaService) {
                this.alertasService = alertasService;
                this.vendaService = vendaService;
        }

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

        @Override
        public AlertasGeralDTO getId() {
                return null;
        }
       
        @Override
        public void limparEntidade() {
                setEntidade(new AlertasGeralDTO());
                getEntidade().setQuantidadeDiasVendas(90);
                getEntidade().setTempoDeEstoqueParaAlerta(30);
                getEntidade().setAdicionarModelosFavoritosSemVendas(true);
                getEntidade().setTiposProdutoSelecionados(new ArrayList<TipoProduto>());
        }
       
        @PostConstruct
        private void iniciarConsolidacoes() {
                limparEntidade();
        }
       
        public Integer getTempoDeEstoqueParaAlerta() {
                return tempoDeEstoqueParaAlerta;
        }
        public void setTempoDeEstoqueParaAlerta(Integer tempoDeEstoqueParaAlerta) {
                this.tempoDeEstoqueParaAlerta = tempoDeEstoqueParaAlerta;
        }
       
        public void verificarAlertas() {
                limparEntidade();
                getEntidade().setTempoDeEstoqueParaAlerta(getTempoDeEstoqueParaAlerta());
               
                // LISTA DE TODOS OS TIPOS, EXCETO CAPAS
                List<TipoProduto> tiposProduto = new ArrayList<TipoProduto>();
                tiposProduto.addAll(Arrays.asList(TipoProduto.values()));
                for (TipoProduto tipoProduto : tiposProduto) {
                        if (!tipoProduto.getValor().equals(TipoProduto.CAPA.getValor())) {
                                getEntidade().getTiposProdutoSelecionados().add(tipoProduto);
                        }
                }
                setEntidade(alertasService.consultarAlertasComprasGeral(getEntidade()));
        }
       
}