Subversion Repositories Integrator Subversion

Rev

Rev 568 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
567 blopes 1
package br.com.ec.controller;
2
 
3
import java.io.Serializable;
4
import java.util.ArrayList;
5
import java.util.List;
6
 
7
import javax.annotation.PostConstruct;
8
import javax.inject.Inject;
9
import javax.inject.Named;
10
 
11
import org.springframework.context.annotation.Scope;
12
 
13
import br.com.ec.core.generic.GenericService;
14
import br.com.ec.core.util.DataUtils;
15
import br.com.ec.domain.dto.AlertasLogisticaDTO;
16
import br.com.ec.domain.dto.RankingComprasTransferenciasDTO;
17
import br.com.ec.domain.dto.RankingModeloDTO;
18
import br.com.ec.domain.dto.consulta.ParametrosConsultaModelosMaisVendidosDTO;
19
import br.com.ec.domain.service.VendaService;
20
import br.com.ec.web.generic.AbstractBean;
21
 
22
@Named
23
@Scope("view")
24
public class AlertasLogisticaBean extends AbstractBean<AlertasLogisticaDTO> implements Serializable {
25
 
26
        private static final long serialVersionUID = 1L;
27
 
28
        private Boolean adicionarModelosFavoritosSemVendas;
29
        private Integer quantidadeDiasVendas = 0;
30
        private Integer quantidadeDiasParaAlerta = 0;
31
        private VendaService vendaService;
32
 
33
        @Inject
34
        public AlertasLogisticaBean(VendaService vendaService) {
35
                this.vendaService = vendaService;
36
        }
37
 
38
        @Override
39
        public GenericService<AlertasLogisticaDTO> getService() {
40
                return null;
41
        }
42
 
43
        @Override
44
        public AlertasLogisticaDTO getId() {
45
                return null;
46
        }
47
 
48
        @Override
49
        public void limparEntidade() {
50
                setEntidade(new AlertasLogisticaDTO());
51
                setQuantidadeDiasVendas(30);
52
                setQuantidadeDiasParaAlerta(10);
53
                setAdicionarModelosFavoritosSemVendas(false);
54
        }
55
 
56
        @PostConstruct
57
        private void iniciarConsolidacoes() {
58
                limparEntidade();
59
        }
60
 
61
        public Boolean getAdicionarModelosFavoritosSemVendas() {
62
                return adicionarModelosFavoritosSemVendas;
63
        }
64
        public void setAdicionarModelosFavoritosSemVendas(Boolean adicionarModelosFavoritosSemVendas) {
65
                this.adicionarModelosFavoritosSemVendas = adicionarModelosFavoritosSemVendas;
66
        }
67
 
68
        public Integer getQuantidadeDiasVendas() {
69
                return quantidadeDiasVendas;
70
        }
71
        public void setQuantidadeDiasVendas(Integer quantidadeDiasVendas) {
72
                this.quantidadeDiasVendas = quantidadeDiasVendas;
73
        }
74
 
75
        public Integer getQuantidadeDiasParaAlerta() {
76
                return quantidadeDiasParaAlerta;
77
        }
78
        public void setQuantidadeDiasParaAlerta(Integer quantidadeDiasParaAlerta) {
79
                this.quantidadeDiasParaAlerta = quantidadeDiasParaAlerta;
80
        }
81
 
82
        public void verificarAlertas() {
83
                limparEntidade();
84
 
85
                // CONSULTAR MODELOS MAIS VENDIDOS
86
                List<RankingModeloDTO> modelosMaisVendidos = new ArrayList<RankingModeloDTO>();
87
                ParametrosConsultaModelosMaisVendidosDTO parametrosConsulta = new ParametrosConsultaModelosMaisVendidosDTO();
88
                parametrosConsulta.setDataFinal(DataUtils.getDataAtual());
89
                parametrosConsulta.setDataInicial(DataUtils.acrescentarDias(DataUtils.getDataAtual(), quantidadeDiasVendas*-1));
90
                modelosMaisVendidos.addAll(vendaService.consultarRankingModelos(parametrosConsulta, adicionarModelosFavoritosSemVendas));
91
 
92
                List<RankingComprasTransferenciasDTO> rankingComprasTransferencias = new ArrayList<RankingComprasTransferenciasDTO>();
93
                rankingComprasTransferencias.addAll(vendaService.consultarRankingComprasTransferencias(getQuantidadeDiasVendas(), getQuantidadeDiasParaAlerta(), modelosMaisVendidos, true));
94
                getEntidade().setQuantidadeAlertasModelosPossiveis(modelosMaisVendidos.size());
95
                getEntidade().setRankingsComprasTransferenciasDTO(rankingComprasTransferencias);
96
        }
97
 
98
}