Subversion Repositories Integrator Subversion

Rev

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

Rev 452 Rev 561
Line 1... Line 1...
1
package br.com.ec.domain.service.impl;
1
package br.com.ec.domain.service.impl;
2
2
-
 
3
import java.util.ArrayList;
3
import java.util.Date;
4
import java.util.Date;
4
import java.util.List;
5
import java.util.List;
5
6
6
import org.springframework.stereotype.Service;
7
import org.springframework.stereotype.Service;
7
8
Line 11... Line 12...
11
import br.com.ec.core.util.DataUtils;
12
import br.com.ec.core.util.DataUtils;
12
import br.com.ec.core.util.VerificadorUtil;
13
import br.com.ec.core.util.VerificadorUtil;
13
import br.com.ec.core.validador.Validador;
14
import br.com.ec.core.validador.Validador;
14
import br.com.ec.domain.dto.AuditoriaVendaDTO;
15
import br.com.ec.domain.dto.AuditoriaVendaDTO;
15
import br.com.ec.domain.dto.FormaPagamentoDTO;
16
import br.com.ec.domain.dto.FormaPagamentoDTO;
-
 
17
import br.com.ec.domain.dto.LojaDTO;
-
 
18
import br.com.ec.domain.dto.RankingComprasTransferenciasDTO;
-
 
19
import br.com.ec.domain.dto.RankingComprasTransferenciasEstiloDTO;
-
 
20
import br.com.ec.domain.dto.RankingComprasTransferenciasEstiloPorLojaDTO;
-
 
21
import br.com.ec.domain.dto.RankingModeloDTO;
-
 
22
import br.com.ec.domain.dto.consulta.ParametrosConsultaModelosMaisVendidosDTO;
-
 
23
import br.com.ec.domain.dto.consulta.ParametrosConsultaPorPeriodoDTO;
16
import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO;
24
import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO;
17
import br.com.ec.domain.model.Venda;
25
import br.com.ec.domain.model.Venda;
18
import br.com.ec.domain.model.tipos.TipoSituacaoVenda;
26
import br.com.ec.domain.model.tipos.TipoSituacaoVenda;
-
 
27
import br.com.ec.domain.service.LojaService;
19
import br.com.ec.domain.service.VendaService;
28
import br.com.ec.domain.service.VendaService;
20
import br.com.ec.repository.VendaRepository;
29
import br.com.ec.repository.VendaRepository;
21
30
22
@Service
31
@Service
23
public class VendaServiceImpl extends AbstractService<Venda> implements VendaService {
32
public class VendaServiceImpl extends AbstractService<Venda> implements VendaService {
24
33
-
 
34
        private LojaService lojaService;
25
        private VendaRepository vendaRepository;
35
        private VendaRepository vendaRepository;
26
       
36
       
27
        public VendaServiceImpl(Validador validador, VendaRepository vendaRepository) {
-
 
-
 
37
        public VendaServiceImpl(Validador validador, LojaService lojaService, VendaRepository vendaRepository) {
28
                super(validador);
38
                super(validador);
-
 
39
                this.lojaService = lojaService;
29
                this.vendaRepository = vendaRepository;
40
                this.vendaRepository = vendaRepository;
30
        }
41
        }
31
42
32
        @Override
43
        @Override
33
        protected GenericRepository<Venda> getRepository() {
44
        protected GenericRepository<Venda> getRepository() {
Line 81... Line 92...
81
                Integer diferencaDiasEntreDatas = DataUtils.calcularDiferenceEmDiasEntreDuasDatas(DataUtils.getDataAtual(), dataSelecionada);
92
                Integer diferencaDiasEntreDatas = DataUtils.calcularDiferenceEmDiasEntreDuasDatas(DataUtils.getDataAtual(), dataSelecionada);
82
                if (diferencaDiasEntreDatas > 60) {
93
                if (diferencaDiasEntreDatas > 60) {
83
                        throw new NegocioException("Consulta indisponível");
94
                        throw new NegocioException("Consulta indisponível");
84
                }
95
                }
85
                return vendaRepository.consultarAuditoriaVenda(dataSelecionada, sequencialLojaSelecionada);
96
                return vendaRepository.consultarAuditoriaVenda(dataSelecionada, sequencialLojaSelecionada);
-
 
97
        }
-
 
98
       
-
 
99
        @Override
-
 
100
        public List<RankingComprasTransferenciasDTO> consultarRankingComprasTransferencias(Integer quantidadeDiasReposicao) {
-
 
101
                List<RankingComprasTransferenciasDTO> ranking = new ArrayList<RankingComprasTransferenciasDTO>();
-
 
102
               
-
 
103
                ParametrosConsultaPorPeriodoDTO parametrosConsultaPorPeriodoDTO = new ParametrosConsultaPorPeriodoDTO();
-
 
104
                parametrosConsultaPorPeriodoDTO.setDataFinal(DataUtils.getDataAtual());
-
 
105
                parametrosConsultaPorPeriodoDTO.setDataInicial(DataUtils.acrescentarDias(DataUtils.getDataAtual(), quantidadeDiasReposicao*-1));
-
 
106
               
-
 
107
                // CONSULTAR MODELOS MAIS VENDIDOS
-
 
108
                List<RankingModeloDTO> modelosMaisVendidos = new ArrayList<RankingModeloDTO>();
-
 
109
                ParametrosConsultaModelosMaisVendidosDTO parametrosConsulta = new ParametrosConsultaModelosMaisVendidosDTO();
-
 
110
                parametrosConsulta.setDataFinal(DataUtils.getDataAtual());
-
 
111
                parametrosConsulta.setDataInicial(DataUtils.acrescentarDias(DataUtils.getDataAtual(), quantidadeDiasReposicao*-1));
-
 
112
                modelosMaisVendidos.addAll(consultarRankingModelos(parametrosConsulta));
-
 
113
               
-
 
114
                for (RankingModeloDTO rankingModelo : modelosMaisVendidos) {
-
 
115
                        RankingComprasTransferenciasDTO rankingComprasTransferenciasDTO = new RankingComprasTransferenciasDTO();
-
 
116
                        rankingComprasTransferenciasDTO.setRankingModelo(rankingModelo);
-
 
117
-
 
118
                        // CONSULTAR POR ESTILO
-
 
119
                        List<RankingComprasTransferenciasEstiloDTO> rankingEstiloDTO = new ArrayList<RankingComprasTransferenciasEstiloDTO>();
-
 
120
                        rankingEstiloDTO.addAll(consultarRankingPorEstilo(rankingModelo.getModelo().getSequencial(), parametrosConsultaPorPeriodoDTO));
-
 
121
                       
-
 
122
                        // CONSULTAR ESTILO POR LOJA
-
 
123
                        List<LojaDTO> lojasAtivas = lojaService.consultarLojasAtivas();
-
 
124
                        for (RankingComprasTransferenciasEstiloDTO rankingEstilo : rankingEstiloDTO) {
-
 
125
                                rankingEstilo.setRankingsPorLoja(consultarRankingPorEstiloPorLoja(rankingModelo.getModelo().getSequencial(), rankingEstilo.getEstilo().getValor(), parametrosConsultaPorPeriodoDTO));
-
 
126
                                /*
-
 
127
                                // LOJAS
-
 
128
                                for (LojaDTO lojaAtiva : lojasAtivas) {
-
 
129
                                        RankingComprasTransferenciasEstiloPorLojaDTO rankingEstiloPorLojaDTO = new RankingComprasTransferenciasEstiloPorLojaDTO();
-
 
130
                                        rankingEstiloPorLojaDTO = consultarRankingPorEstiloPorLoja(rankingModelo.getModelo().getSequencial(), rankingEstilo.getEstilo().getValor(), parametrosConsultaPorPeriodoDTO);
-
 
131
                                        rankingEstilo.getRankingsPorLoja().add(rankingEstiloPorLojaDTO);
-
 
132
                                }
-
 
133
                                */
-
 
134
                        }
-
 
135
                       
-
 
136
//                      RankingComprasTransferenciasEstiloPorLojaDTO rankingPorLojaMatriz = new RankingComprasTransferenciasEstiloPorLojaDTO();
-
 
137
//                      rankingPorLojaMatriz.setLojaDTO(new LojaDTO(ConstantesSEC.Loja.SEQUENCIAL_MATRIZ_ESTOQUE_9, "MATRIZ", 0));
-
 
138
//                      rankingPorLojaMatriz.setQuantidadeEstoqueUnissex(9);
-
 
139
//                      rankingPorLojaMatriz.setQuantidadeEstoqueMasculino(1);
-
 
140
//                      rankingPorLojaMatriz.setQuantidadeEstoqueFeminino(8);
-
 
141
//                      estiloSilicone.getRankingsPorLoja().add(rankingPorLojaMatriz);
-
 
142
                       
-
 
143
                        // CONSULTAR ALERTAS
-
 
144
                       
-
 
145
                        ranking.add(rankingComprasTransferenciasDTO);
-
 
146
                }
-
 
147
               
-
 
148
                return ranking;
-
 
149
        }
-
 
150
       
-
 
151
        @Override
-
 
152
        public List<RankingComprasTransferenciasEstiloPorLojaDTO> consultarRankingPorEstiloPorLoja(Long sequencialModelo, String tipoEstilo, ParametrosConsultaPorPeriodoDTO parametrosConsultaPorPeriodoDTO) {
-
 
153
                return vendaRepository.consultarRankingPorEstiloPorLoja(sequencialModelo, tipoEstilo, parametrosConsultaPorPeriodoDTO);
-
 
154
        }
-
 
155
-
 
156
        @Override
-
 
157
        public List<RankingModeloDTO> consultarRankingModelos(ParametrosConsultaModelosMaisVendidosDTO parametrosConsulta) {
-
 
158
                return vendaRepository.consultarModelosMaisVendidos(parametrosConsulta);
-
 
159
        }
-
 
160
       
-
 
161
        @Override
-
 
162
        public List<RankingComprasTransferenciasEstiloDTO> consultarRankingPorEstilo(Long sequencialModelo, ParametrosConsultaPorPeriodoDTO parametrosConsultaPorPeriodoDTO) {
-
 
163
                return vendaRepository.consultarRankingPorEstilo(sequencialModelo, parametrosConsultaPorPeriodoDTO);
86
        }
164
        }
87
       
165
       
88
        /*
166
        /*
89
        private LancamentoService lancamentoService;
167
        private LancamentoService lancamentoService;
90
        private VendaFormaPagamentoService vendaFormaPagamentoService;
168
        private VendaFormaPagamentoService vendaFormaPagamentoService;
Line 1161... Line 1239...
1161
        }
1239
        }
1162
       
1240
       
1163
        @Override
1241
        @Override
1164
        public List<RankingProdutoDTO> consultarRankingProdutos(Date dataInicial, Date dataFinal, Integer quantidadeProdutos, String tipoOrdenacao, Long sequencialLoja, String tipoProduto, Produto produto, Marca marca) {
1242
        public List<RankingProdutoDTO> consultarRankingProdutos(Date dataInicial, Date dataFinal, Integer quantidadeProdutos, String tipoOrdenacao, Long sequencialLoja, String tipoProduto, Produto produto, Marca marca) {
1165
                return vendaRepository.consultarProdutosMaisVendidos(dataInicial, dataFinal, quantidadeProdutos, tipoOrdenacao, sequencialLoja, tipoProduto, produto, marca);
1243
                return vendaRepository.consultarProdutosMaisVendidos(dataInicial, dataFinal, quantidadeProdutos, tipoOrdenacao, sequencialLoja, tipoProduto, produto, marca);
1166
        }
-
 
1167
       
-
 
1168
        @Override
-
 
1169
        public List<RankingModeloDTO> consultarRankingModelos(ParametrosConsultaModelosMaisVendidosDTO parametrosConsulta) {
-
 
1170
                return vendaRepository.consultarModelosMaisVendidos(parametrosConsulta);
-
 
1171
        }
1244
        }
1172
       
1245
       
1173
        @Override
1246
        @Override
1174
        public List<RankingModeloDTO> consultarRankingModelos(Date dataInicial, Date dataFinal, Integer quantidadeModelos, String tipoOrdenacao, String tipoProduto, Long sequencialLoja) {
1247
        public List<RankingModeloDTO> consultarRankingModelos(Date dataInicial, Date dataFinal, Integer quantidadeModelos, String tipoOrdenacao, String tipoProduto, Long sequencialLoja) {
1175
                ParametrosConsultaModelosMaisVendidosDTO parametros = new ParametrosConsultaModelosMaisVendidosDTO(dataInicial, dataFinal, quantidadeModelos, tipoOrdenacao, tipoProduto, sequencialLoja);
1248
                ParametrosConsultaModelosMaisVendidosDTO parametros = new ParametrosConsultaModelosMaisVendidosDTO(dataInicial, dataFinal, quantidadeModelos, tipoOrdenacao, tipoProduto, sequencialLoja);