Subversion Repositories Integrator Subversion

Rev

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

Rev 583 Rev 584
Line 9... Line 9...
9
import br.com.ec.core.generic.GenericRepository;
9
import br.com.ec.core.generic.GenericRepository;
10
import br.com.ec.core.util.DataUtils;
10
import br.com.ec.core.util.DataUtils;
11
import br.com.ec.core.util.VerificadorUtil;
11
import br.com.ec.core.util.VerificadorUtil;
12
import br.com.ec.core.validador.Validador;
12
import br.com.ec.core.validador.Validador;
13
import br.com.ec.domain.dto.AlertasComprasGeralDTO;
13
import br.com.ec.domain.dto.AlertasComprasGeralDTO;
-
 
14
import br.com.ec.domain.dto.AlertasComprasGeralSubTipoDTO;
14
import br.com.ec.domain.dto.AlertasGeralDTO;
15
import br.com.ec.domain.dto.AlertasGeralDTO;
15
import br.com.ec.domain.dto.RankingModeloDTO;
16
import br.com.ec.domain.dto.RankingModeloDTO;
16
import br.com.ec.domain.dto.RankingProdutoDTO;
17
import br.com.ec.domain.dto.RankingProdutoDTO;
17
import br.com.ec.domain.dto.consulta.ParametrosConsultaModelosMaisVendidosDTO;
18
import br.com.ec.domain.dto.consulta.ParametrosConsultaModelosMaisVendidosDTO;
18
import br.com.ec.domain.dto.consulta.ParametrosConsultaProdutosVendidosDTO;
19
import br.com.ec.domain.dto.consulta.ParametrosConsultaProdutosVendidosDTO;
Line 61... Line 62...
61
                for (TipoProduto tipoProdutoSelecionado : alertasGeralDTO.getTiposProdutoSelecionados()) {
62
                for (TipoProduto tipoProdutoSelecionado : alertasGeralDTO.getTiposProdutoSelecionados()) {
62
                        parametrosConsulta.setTipoProduto(tipoProdutoSelecionado.getValor());
63
                        parametrosConsulta.setTipoProduto(tipoProdutoSelecionado.getValor());
63
                        rankingProdutosDTO.addAll(vendaService.consultarProdutosVendidos(parametrosConsulta));
64
                        rankingProdutosDTO.addAll(vendaService.consultarProdutosVendidos(parametrosConsulta));
64
                }
65
                }
65
               
66
               
-
 
67
                /*
66
                for (RankingProdutoDTO rankingProdutoDTO : rankingProdutosDTO) {
68
                for (RankingProdutoDTO rankingProdutoDTO : rankingProdutosDTO) {
67
                        System.out.print(rankingProdutoDTO.getProduto().getCodigo() + " : " + rankingProdutoDTO.getProduto().getDescricaoCompleta() + " :: ");
69
                        System.out.print(rankingProdutoDTO.getProduto().getCodigo() + " : " + rankingProdutoDTO.getProduto().getDescricaoCompleta() + " :: ");
68
                        if (VerificadorUtil.naoEstaNulo(rankingProdutoDTO.getProduto().getSubtipoProduto())) {
70
                        if (VerificadorUtil.naoEstaNulo(rankingProdutoDTO.getProduto().getSubtipoProduto())) {
69
                                System.out.print(rankingProdutoDTO.getProduto().getSubtipoProduto().getDescricao());
71
                                System.out.print(rankingProdutoDTO.getProduto().getSubtipoProduto().getDescricao());
70
                        } else {
72
                        } else {
71
                                System.out.print("NÃO TEM SUBTIPO");
73
                                System.out.print("NÃO TEM SUBTIPO");
72
                        }
74
                        }
73
                        System.out.println(" - VENDAS: " + rankingProdutoDTO.getQuantidadeVendas() + ", ESTOQUE: " + rankingProdutoDTO.getQuantidadeEstoque());
75
                        System.out.println(" - VENDAS: " + rankingProdutoDTO.getQuantidadeVendas() + ", ESTOQUE: " + rankingProdutoDTO.getQuantidadeEstoque());
74
                }
76
                }
-
 
77
                */
75
               
78
               
76
                // CONSULTAR SUBTIPOS
79
                // CONSULTAR SUBTIPOS
77
               
-
 
78
                // VERIFICAR ITENS POR TIPO, SEM SUBTIPO
80
                // VERIFICAR ITENS POR TIPO, SEM SUBTIPO
-
 
81
                Integer quantidadeAlertasPossiveisSemSubtipo = 0;
-
 
82
                Integer quantidadeAlertasPossiveisComSubtipo = 0;
79
                for (TipoProduto tipoProdutoSelecionado : alertasGeralDTO.getTiposProdutoSelecionados()) {
83
                for (TipoProduto tipoProdutoSelecionado : alertasGeralDTO.getTiposProdutoSelecionados()) {
80
                        AlertasComprasGeralDTO alertasComprasGeralDTO = new AlertasComprasGeralDTO();
84
                        AlertasComprasGeralDTO alertasComprasGeralDTO = new AlertasComprasGeralDTO();
81
                        alertasComprasGeralDTO.setTipoProduto(tipoProdutoSelecionado);
85
                        alertasComprasGeralDTO.setTipoProduto(tipoProdutoSelecionado);
82
                       
86
                       
83
                        List<SubtipoProduto> subtiposProduto = subtipoProdutoService.consultarPorTipo(tipoProdutoSelecionado.getValor());
87
                        List<SubtipoProduto> subtiposProduto = subtipoProdutoService.consultarPorTipo(tipoProdutoSelecionado.getValor());
84
                        List<RankingProdutoDTO> rankingProdutosDTOComSubtipo = new ArrayList<RankingProdutoDTO>();
88
                        List<RankingProdutoDTO> rankingProdutosDTOComSubtipo = new ArrayList<RankingProdutoDTO>();
85
                        for (RankingProdutoDTO rankingProdutoDTO : rankingProdutosDTO) {
89
                        for (RankingProdutoDTO rankingProdutoDTO : rankingProdutosDTO) {
86
                                if (rankingProdutoDTO.getProduto().getTipo().equals(tipoProdutoSelecionado.getValor())) {
90
                                if (rankingProdutoDTO.getProduto().getTipo().equals(tipoProdutoSelecionado.getValor())) {
87
                                        if (VerificadorUtil.estaNulo(rankingProdutoDTO.getProduto().getSubtipoProduto())) {
91
                                        if (VerificadorUtil.estaNulo(rankingProdutoDTO.getProduto().getSubtipoProduto())) {
88
                                                // ALERTA PARA CADA PRODUTO COM MENOS DE 15 DIAS
-
 
-
 
92
                                                quantidadeAlertasPossiveisSemSubtipo++;
-
 
93
                                                // ALERTA PARA CADA PRODUTO COM MENOS DE DIAS PRE-DEFINIDO
89
                                                if (rankingProdutoDTO.getTempoEstoque() <= alertasGeralDTO.getTempoDeEstoqueParaAlerta()) {
94
                                                if (rankingProdutoDTO.getTempoEstoque() <= alertasGeralDTO.getTempoDeEstoqueParaAlerta()) {
90
                                                        alertasComprasGeralDTO.getAlertasProdutosSemSubtipo().add(rankingProdutoDTO);
95
                                                        alertasComprasGeralDTO.getAlertasProdutosSemSubtipo().add(rankingProdutoDTO);
91
                                                }
96
                                                }
92
                                        } else {
97
                                        } else {
93
                                                rankingProdutosDTOComSubtipo.add(rankingProdutoDTO);
98
                                                rankingProdutosDTOComSubtipo.add(rankingProdutoDTO);
94
                                        }
99
                                        }
95
                                }
100
                                }
96
                        }
101
                        }
97
                       
102
                       
98
                        for (SubtipoProduto subtipoProduto : subtiposProduto) {
103
                        for (SubtipoProduto subtipoProduto : subtiposProduto) {
-
 
104
                                quantidadeAlertasPossiveisComSubtipo++;
-
 
105
                                AlertasComprasGeralSubTipoDTO alertasComprasGeralSubTipoDTO = new AlertasComprasGeralSubTipoDTO();
-
 
106
                                alertasComprasGeralSubTipoDTO.setSubtipoProduto(subtipoProduto);
99
                                for (RankingProdutoDTO rankingProdutoDTOComSubtipo : rankingProdutosDTOComSubtipo) {
107
                                for (RankingProdutoDTO rankingProdutoDTOComSubtipo : rankingProdutosDTOComSubtipo) {
100
                                        if (subtipoProduto.equals(rankingProdutoDTOComSubtipo.getProduto().getSubtipoProduto())) {
108
                                        if (subtipoProduto.equals(rankingProdutoDTOComSubtipo.getProduto().getSubtipoProduto())) {
101
                                               
-
 
-
 
109
                                                alertasComprasGeralSubTipoDTO.getRankingProdutosDTO().add(rankingProdutoDTOComSubtipo);
102
                                        }
110
                                        }
-
 
111
                                }
-
 
112
                                if (!alertasComprasGeralSubTipoDTO.getRankingProdutosDTO().isEmpty() &&
-
 
113
                                        alertasComprasGeralSubTipoDTO.getQuantidadeTotalTempoEstoque() <= alertasGeralDTO.getTempoDeEstoqueParaAlerta()) {
-
 
114
                                        alertasComprasGeralDTO.getAlertasComprasGeralSubTipoDTO().add(alertasComprasGeralSubTipoDTO);
103
                                }
115
                                }
104
                        }
116
                        }
105
                       
-
 
-
 
117
                        alertasComprasGeralDTO.setQuantidadeAlertasPossiveis(quantidadeAlertasPossiveisSemSubtipo);
-
 
118
                        alertasComprasGeralDTO.setQuantidadeAlertasPossiveisComSubtipo(quantidadeAlertasPossiveisComSubtipo);
106
                        alertasGeralDTO.getAlertasComprasGeralDTO().add(alertasComprasGeralDTO);
119
                        alertasGeralDTO.getAlertasComprasGeralDTO().add(alertasComprasGeralDTO);
107
                }
120
                }
108
               
121
               
109
                // CONSULTAR ITENS SEM SUBTIPO: TOTAL DE VENDAS (90 DIAS), TOTAL DE ESTOQUE, TEMPO DE ESTOQUE E QNT PARA COMPRAR (90 DIAS)
122
                // CONSULTAR ITENS SEM SUBTIPO: TOTAL DE VENDAS (90 DIAS), TOTAL DE ESTOQUE, TEMPO DE ESTOQUE E QNT PARA COMPRAR (90 DIAS)
110
                /*
123
                /*