Subversion Repositories Integrator Subversion

Rev

Rev 582 | Rev 584 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 582 Rev 583
Line 2... Line 2...
2
2
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.Arrays;
-
 
5
import java.util.Iterator;
-
 
6
import java.util.List;
4
import java.util.List;
7
5
8
import org.springframework.stereotype.Service;
6
import org.springframework.stereotype.Service;
9
7
10
import br.com.ec.core.generic.AbstractService;
8
import br.com.ec.core.generic.AbstractService;
11
import br.com.ec.core.generic.GenericRepository;
9
import br.com.ec.core.generic.GenericRepository;
12
import br.com.ec.core.util.DataUtils;
10
import br.com.ec.core.util.DataUtils;
13
import br.com.ec.core.util.VerificadorUtil;
11
import br.com.ec.core.util.VerificadorUtil;
14
import br.com.ec.core.validador.Validador;
12
import br.com.ec.core.validador.Validador;
-
 
13
import br.com.ec.domain.dto.AlertasComprasGeralDTO;
15
import br.com.ec.domain.dto.AlertasGeralDTO;
14
import br.com.ec.domain.dto.AlertasGeralDTO;
16
import br.com.ec.domain.dto.RankingModeloDTO;
15
import br.com.ec.domain.dto.RankingModeloDTO;
17
import br.com.ec.domain.dto.RankingProdutoDTO;
16
import br.com.ec.domain.dto.RankingProdutoDTO;
18
import br.com.ec.domain.dto.consulta.ParametrosConsultaModelosMaisVendidosDTO;
17
import br.com.ec.domain.dto.consulta.ParametrosConsultaModelosMaisVendidosDTO;
19
import br.com.ec.domain.dto.consulta.ParametrosConsultaProdutosVendidosDTO;
18
import br.com.ec.domain.dto.consulta.ParametrosConsultaProdutosVendidosDTO;
20
import br.com.ec.domain.model.SubtipoProduto;
19
import br.com.ec.domain.model.SubtipoProduto;
-
 
20
import br.com.ec.domain.model.tipos.TipoOrdenacaoMaisVendidos;
21
import br.com.ec.domain.model.tipos.TipoProduto;
21
import br.com.ec.domain.model.tipos.TipoProduto;
22
import br.com.ec.domain.service.AlertasService;
22
import br.com.ec.domain.service.AlertasService;
23
import br.com.ec.domain.service.LojaService;
23
import br.com.ec.domain.service.LojaService;
24
import br.com.ec.domain.service.ModeloService;
24
import br.com.ec.domain.service.ModeloService;
25
import br.com.ec.domain.service.SubtipoProdutoService;
25
import br.com.ec.domain.service.SubtipoProdutoService;
Line 54... Line 54...
54
                List<RankingProdutoDTO> rankingProdutosDTO = new ArrayList<RankingProdutoDTO>();
54
                List<RankingProdutoDTO> rankingProdutosDTO = new ArrayList<RankingProdutoDTO>();
55
               
55
               
56
                ParametrosConsultaProdutosVendidosDTO parametrosConsulta = new ParametrosConsultaProdutosVendidosDTO();
56
                ParametrosConsultaProdutosVendidosDTO parametrosConsulta = new ParametrosConsultaProdutosVendidosDTO();
57
                parametrosConsulta.setDataFinal(DataUtils.getDataAtual());
57
                parametrosConsulta.setDataFinal(DataUtils.getDataAtual());
58
                parametrosConsulta.setDataInicial(DataUtils.acrescentarDias(DataUtils.getDataAtual(), alertasGeralDTO.getQuantidadeDiasVendas()*-1));
58
                parametrosConsulta.setDataInicial(DataUtils.acrescentarDias(DataUtils.getDataAtual(), alertasGeralDTO.getQuantidadeDiasVendas()*-1));
-
 
59
                parametrosConsulta.setTipoOrdenacao(TipoOrdenacaoMaisVendidos.QUANTIDADE.getValor());
59
               
60
               
60
                for (TipoProduto tipoProdutoSelecionado : alertasGeralDTO.getTiposProdutoSelecionados()) {
61
                for (TipoProduto tipoProdutoSelecionado : alertasGeralDTO.getTiposProdutoSelecionados()) {
61
                        parametrosConsulta.setTipoProduto(tipoProdutoSelecionado.getValor());
62
                        parametrosConsulta.setTipoProduto(tipoProdutoSelecionado.getValor());
62
                        rankingProdutosDTO.addAll(vendaService.consultarProdutosVendidos(parametrosConsulta));
63
                        rankingProdutosDTO.addAll(vendaService.consultarProdutosVendidos(parametrosConsulta));
63
                }
64
                }
Line 69... Line 70...
69
                        } else {
70
                        } else {
70
                                System.out.print("NÃO TEM SUBTIPO");
71
                                System.out.print("NÃO TEM SUBTIPO");
71
                        }
72
                        }
72
                        System.out.println(" - VENDAS: " + rankingProdutoDTO.getQuantidadeVendas() + ", ESTOQUE: " + rankingProdutoDTO.getQuantidadeEstoque());
73
                        System.out.println(" - VENDAS: " + rankingProdutoDTO.getQuantidadeVendas() + ", ESTOQUE: " + rankingProdutoDTO.getQuantidadeEstoque());
73
                }
74
                }
-
 
75
               
-
 
76
                // CONSULTAR SUBTIPOS
74
               
77
               
75
                // VERIFICAR ITENS POR TIPO, SEM SUBTIPO
78
                // VERIFICAR ITENS POR TIPO, SEM SUBTIPO
76
               
-
 
-
 
79
                for (TipoProduto tipoProdutoSelecionado : alertasGeralDTO.getTiposProdutoSelecionados()) {
-
 
80
                        AlertasComprasGeralDTO alertasComprasGeralDTO = new AlertasComprasGeralDTO();
-
 
81
                        alertasComprasGeralDTO.setTipoProduto(tipoProdutoSelecionado);
-
 
82
                       
-
 
83
                        List<SubtipoProduto> subtiposProduto = subtipoProdutoService.consultarPorTipo(tipoProdutoSelecionado.getValor());
-
 
84
                        List<RankingProdutoDTO> rankingProdutosDTOComSubtipo = new ArrayList<RankingProdutoDTO>();
-
 
85
                        for (RankingProdutoDTO rankingProdutoDTO : rankingProdutosDTO) {
-
 
86
                                if (rankingProdutoDTO.getProduto().getTipo().equals(tipoProdutoSelecionado.getValor())) {
-
 
87
                                        if (VerificadorUtil.estaNulo(rankingProdutoDTO.getProduto().getSubtipoProduto())) {
-
 
88
                                                // ALERTA PARA CADA PRODUTO COM MENOS DE 15 DIAS
-
 
89
                                                if (rankingProdutoDTO.getTempoEstoque() <= alertasGeralDTO.getTempoDeEstoqueParaAlerta()) {
-
 
90
                                                        alertasComprasGeralDTO.getAlertasProdutosSemSubtipo().add(rankingProdutoDTO);
-
 
91
                                                }
-
 
92
                                        } else {
-
 
93
                                                rankingProdutosDTOComSubtipo.add(rankingProdutoDTO);
-
 
94
                                        }
-
 
95
                                }
-
 
96
                        }
-
 
97
                       
-
 
98
                        for (SubtipoProduto subtipoProduto : subtiposProduto) {
-
 
99
                                for (RankingProdutoDTO rankingProdutoDTOComSubtipo : rankingProdutosDTOComSubtipo) {
-
 
100
                                        if (subtipoProduto.equals(rankingProdutoDTOComSubtipo.getProduto().getSubtipoProduto())) {
-
 
101
                                               
-
 
102
                                        }
-
 
103
                                }
-
 
104
                        }
-
 
105
                       
-
 
106
                        alertasGeralDTO.getAlertasComprasGeralDTO().add(alertasComprasGeralDTO);
-
 
107
                }
77
               
108
               
78
                // CONSULTAR ITENS SEM SUBTIPO: TOTAL DE VENDAS (90 DIAS), TOTAL DE ESTOQUE, TEMPO DE ESTOQUE E QNT PARA COMPRAR (90 DIAS)
109
                // CONSULTAR ITENS SEM SUBTIPO: TOTAL DE VENDAS (90 DIAS), TOTAL DE ESTOQUE, TEMPO DE ESTOQUE E QNT PARA COMPRAR (90 DIAS)
79
                /*
110
                /*
80
                List<SubtipoProduto> subtiposProduto = new ArrayList<SubtipoProduto>();
111
                List<SubtipoProduto> subtiposProduto = new ArrayList<SubtipoProduto>();
81
                for (TipoProduto tipoProduto : tiposProduto) {
112
                for (TipoProduto tipoProduto : tiposProduto) {
82
                        if (!tipoProduto.getValor().equals(TipoProduto.CAPA.getValor())) {
113
                        if (!tipoProduto.getValor().equals(TipoProduto.CAPA.getValor())) {
83
                                subtiposProduto.addAll(subtipoProdutoService.consultarPorTipo(tipoProduto.getValor()));
114
                                subtiposProduto.addAll(subtipoProdutoService.consultarPorTipo(tipoProduto.getValor()));
84
                        }
115
                        }
85
                }
116
                }
86
                */
117
                */
87
                // ALERTA PARA CADA PRODUTO COM MENOS DE 15 DIAS
-
 
-
 
118
               
88
               
119
               
89
                // LISTA DE TODOS OS SUBTIPOS DO TIPO
120
                // LISTA DE TODOS OS SUBTIPOS DO TIPO
90
                // CONSULTAR ITENS DO SUBTIPO: TOTAL DE VENDAS (90 DIAS), TOTAL DE ESTOQUE, TEMPO DE ESTOQUE E QNT PARA COMPRAR (90 DIAS)
121
                // CONSULTAR ITENS DO SUBTIPO: TOTAL DE VENDAS (90 DIAS), TOTAL DE ESTOQUE, TEMPO DE ESTOQUE E QNT PARA COMPRAR (90 DIAS)
91
                // ALERTA PARA CADA SUBTIPO COM MENOS DE 15 DIAS DE ESTOQUE
122
                // ALERTA PARA CADA SUBTIPO COM MENOS DE 15 DIAS DE ESTOQUE
92
               
123