Rev 586 | Rev 611 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 586 | Rev 588 | ||
|---|---|---|---|
| Line 4... | Line 4... | ||
| 4 | import java.util.Date; |
4 | import java.util.Date; |
| - | 5 | import java.util.Iterator; |
|
| 5 | import java.util.List; |
6 | import java.util.List; |
| 6 | 7 | ||
| 7 | import org.springframework.stereotype.Service; |
8 | import org.springframework.stereotype.Service; |
| 8 | 9 | ||
| 9 | import br.com.ec.core.exception.NegocioException; |
10 | import br.com.ec.core.exception.NegocioException; |
| Line 20... | Line 21... | ||
| 20 | import br.com.ec.domain.dto.RankingComprasTransferenciasEstiloDTO; |
21 | import br.com.ec.domain.dto.RankingComprasTransferenciasEstiloDTO; |
| 21 | import br.com.ec.domain.dto.RankingComprasTransferenciasEstiloPorLojaDTO; |
22 | import br.com.ec.domain.dto.RankingComprasTransferenciasEstiloPorLojaDTO; |
| 22 | import br.com.ec.domain.dto.RankingModeloDTO; |
23 | import br.com.ec.domain.dto.RankingModeloDTO; |
| 23 | import br.com.ec.domain.dto.RankingProdutoDTO; |
24 | import br.com.ec.domain.dto.RankingProdutoDTO; |
| 24 | import br.com.ec.domain.dto.RankingProdutoDTONovo; |
25 | import br.com.ec.domain.dto.RankingProdutoDTONovo; |
| - | 26 | import br.com.ec.domain.dto.RankingTransferenciasModeloDTO; |
|
| - | 27 | import br.com.ec.domain.dto.RankingTransferenciasModeloPorLojaDTO; |
|
| 25 | import br.com.ec.domain.dto.consulta.ParametrosConsultaModelosMaisVendidosDTO; |
28 | import br.com.ec.domain.dto.consulta.ParametrosConsultaModelosMaisVendidosDTO; |
| 26 | import br.com.ec.domain.dto.consulta.ParametrosConsultaPorPeriodoDTO; |
29 | import br.com.ec.domain.dto.consulta.ParametrosConsultaPorPeriodoDTO; |
| 27 | import br.com.ec.domain.dto.consulta.ParametrosConsultaProdutosVendidosDTO; |
30 | import br.com.ec.domain.dto.consulta.ParametrosConsultaProdutosVendidosDTO; |
| 28 | import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO; |
31 | import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO; |
| 29 | import br.com.ec.domain.model.Venda; |
32 | import br.com.ec.domain.model.Venda; |
| 30 | import br.com.ec.domain.model.tipos.TipoEstiloProduto; |
33 | import br.com.ec.domain.model.tipos.TipoEstiloProduto; |
| - | 34 | import br.com.ec.domain.model.tipos.TipoProduto; |
|
| 31 | import br.com.ec.domain.model.tipos.TipoSituacaoVenda; |
35 | import br.com.ec.domain.model.tipos.TipoSituacaoVenda; |
| 32 | import br.com.ec.domain.service.LojaService; |
36 | import br.com.ec.domain.service.LojaService; |
| 33 | import br.com.ec.domain.service.ModeloService; |
37 | import br.com.ec.domain.service.ModeloService; |
| 34 | import br.com.ec.domain.service.VendaService; |
38 | import br.com.ec.domain.service.VendaService; |
| 35 | import br.com.ec.repository.VendaRepository; |
39 | import br.com.ec.repository.VendaRepository; |
| Line 111... | Line 115... | ||
| 111 | ParametrosConsultaPorPeriodoDTO parametrosConsultaPorPeriodoDTO = new ParametrosConsultaPorPeriodoDTO(); |
115 | ParametrosConsultaPorPeriodoDTO parametrosConsultaPorPeriodoDTO = new ParametrosConsultaPorPeriodoDTO(); |
| 112 | parametrosConsultaPorPeriodoDTO.setDataFinal(DataUtils.getDataAtual()); |
116 | parametrosConsultaPorPeriodoDTO.setDataFinal(DataUtils.getDataAtual()); |
| 113 | parametrosConsultaPorPeriodoDTO.setDataInicial(DataUtils.acrescentarDias(DataUtils.getDataAtual(), quantidadeDiasVendas*-1)); |
117 | parametrosConsultaPorPeriodoDTO.setDataInicial(DataUtils.acrescentarDias(DataUtils.getDataAtual(), quantidadeDiasVendas*-1)); |
| 114 | 118 | ||
| 115 | for (RankingModeloDTO rankingModelo : modelosMaisVendidos) { |
119 | for (RankingModeloDTO rankingModelo : modelosMaisVendidos) { |
| 116 | if (rankingModelo.getModelo().getSequencial().equals(new Long(946))) { |
- | |
| 117 | System.out.println("TESTAR"); |
- | |
| 118 | }
|
- | |
| 119 | RankingComprasTransferenciasDTO rankingComprasTransferenciasDTO = new RankingComprasTransferenciasDTO(); |
120 | RankingComprasTransferenciasDTO rankingComprasTransferenciasDTO = new RankingComprasTransferenciasDTO(); |
| 120 | rankingComprasTransferenciasDTO.setRankingModelo(rankingModelo); |
121 | rankingComprasTransferenciasDTO.setRankingModelo(rankingModelo); |
| 121 | 122 | ||
| 122 | // CONSULTAR POR ESTILO
|
123 | // CONSULTAR POR ESTILO
|
| 123 | List<RankingComprasTransferenciasEstiloDTO> rankEstiloDTO = new ArrayList<RankingComprasTransferenciasEstiloDTO>(); |
124 | List<RankingComprasTransferenciasEstiloDTO> rankEstiloDTO = new ArrayList<RankingComprasTransferenciasEstiloDTO>(); |
| Line 248... | Line 249... | ||
| 248 | List<RankingProdutoDTONovo> produtosVendidosConsultados = vendaRepository.consultarProdutosVendidosDTO(parametrosConsulta); |
249 | List<RankingProdutoDTONovo> produtosVendidosConsultados = vendaRepository.consultarProdutosVendidosDTO(parametrosConsulta); |
| 249 | for (RankingProdutoDTONovo produtoVendido : produtosVendidosConsultados) { |
250 | for (RankingProdutoDTONovo produtoVendido : produtosVendidosConsultados) { |
| 250 | produtoVendido.atualizarTempoEstoque(parametrosConsulta.getDataInicial(), parametrosConsulta.getDataFinal()); |
251 | produtoVendido.atualizarTempoEstoque(parametrosConsulta.getDataInicial(), parametrosConsulta.getDataFinal()); |
| 251 | }
|
252 | }
|
| 252 | return produtosVendidosConsultados; |
253 | return produtosVendidosConsultados; |
| - | 254 | }
|
|
| - | 255 | ||
| - | 256 | @Override |
|
| - | 257 | public List<RankingTransferenciasModeloDTO> consultarModelosParaRedistribuicao() { |
|
| - | 258 | List<RankingTransferenciasModeloDTO> modelosParaRedistribuicao = new ArrayList<RankingTransferenciasModeloDTO>(); |
|
| - | 259 | ||
| - | 260 | // CONSULTAR MODELOS MAIS VENDIDOS (90 DIAS, CAPAS)
|
|
| - | 261 | List<RankingModeloDTO> modelosMaisVendidos = new ArrayList<RankingModeloDTO>(); |
|
| - | 262 | ParametrosConsultaModelosMaisVendidosDTO parametrosConsulta = new ParametrosConsultaModelosMaisVendidosDTO(); |
|
| - | 263 | parametrosConsulta.setDataFinal(DataUtils.getDataAtual()); |
|
| - | 264 | parametrosConsulta.setDataInicial(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -90)); |
|
| - | 265 | modelosMaisVendidos.addAll(this.consultarRankingModelos(parametrosConsulta, true)); |
|
| - | 266 | ||
| - | 267 | // REFAZER: CONSULTAR E ATUALIZAR TOTAIS (POR LOJA)
|
|
| - | 268 | Integer quantidadeTotalVendas = 0; |
|
| - | 269 | Integer quantidadeTotalEstoque = 0; |
|
| - | 270 | for (RankingModeloDTO modeloMaisVendidos : modelosMaisVendidos) { |
|
| - | 271 | if (VerificadorUtil.naoEstaNulo(modeloMaisVendidos.getQuantidadeEstoqueGeral())) { |
|
| - | 272 | quantidadeTotalEstoque += modeloMaisVendidos.getQuantidadeEstoqueGeral(); |
|
| - | 273 | }
|
|
| - | 274 | if (VerificadorUtil.naoEstaNulo(modeloMaisVendidos.getQuantidadeVendas())) { |
|
| - | 275 | quantidadeTotalVendas += modeloMaisVendidos.getQuantidadeVendas(); |
|
| - | 276 | }
|
|
| - | 277 | }
|
|
| - | 278 | for (RankingModeloDTO modeloMaisVendidos : modelosMaisVendidos) { |
|
| - | 279 | modeloMaisVendidos.setQuantidadeTotalEstoqueGeral(quantidadeTotalEstoque); |
|
| - | 280 | modeloMaisVendidos.setQuantidadeTotalVendas(quantidadeTotalVendas); |
|
| - | 281 | }
|
|
| - | 282 | ||
| - | 283 | // CONSULTAR VENDAS/ESTOQUE POR LOJA
|
|
| - | 284 | List<LojaDTO> lojasDTO = lojaService.consultarLojasAtivas(); |
|
| - | 285 | for (RankingModeloDTO modeloMaisVendidos : modelosMaisVendidos) { |
|
| - | 286 | RankingTransferenciasModeloDTO modeloParaRedistribuicao = new RankingTransferenciasModeloDTO(); |
|
| - | 287 | modeloParaRedistribuicao.setModeloDTO(modeloMaisVendidos.getModelo()); |
|
| - | 288 | ||
| - | 289 | List<RankingTransferenciasModeloPorLojaDTO> rankingTransferenciasModeloPorLojaDTO = new ArrayList<RankingTransferenciasModeloPorLojaDTO>(); |
|
| - | 290 | for (LojaDTO lojaDTO : lojasDTO) { |
|
| - | 291 | RankingTransferenciasModeloPorLojaDTO modeloPorLojaParaRedistribuicao = new RankingTransferenciasModeloPorLojaDTO(); |
|
| - | 292 | modeloPorLojaParaRedistribuicao.setLojaDTO(lojaDTO); |
|
| - | 293 | ||
| - | 294 | List<RankingModeloDTO> modeloPorLojaMaisVendidos = new ArrayList<RankingModeloDTO>(); |
|
| - | 295 | ParametrosConsultaModelosMaisVendidosDTO parametrosConsultaPorLoja = new ParametrosConsultaModelosMaisVendidosDTO(); |
|
| - | 296 | parametrosConsultaPorLoja.setDataFinal(DataUtils.getDataAtual()); |
|
| - | 297 | parametrosConsultaPorLoja.setDataInicial(DataUtils.acrescentarDias(DataUtils.getDataAtual(), -90)); |
|
| - | 298 | parametrosConsultaPorLoja.setSequencialModelo(modeloMaisVendidos.getModelo().getSequencial()); |
|
| - | 299 | parametrosConsultaPorLoja.setSequencialLoja(lojaDTO.getSequencial()); |
|
| - | 300 | modeloPorLojaMaisVendidos.addAll(this.consultarRankingModelos(parametrosConsultaPorLoja, false)); |
|
| - | 301 | if (!modeloPorLojaMaisVendidos.isEmpty()) { |
|
| - | 302 | RankingModeloDTO rankingModeloDTO = modeloPorLojaMaisVendidos.get(0); |
|
| - | 303 | ||
| - | 304 | RankingTransferenciasModeloPorLojaDTO transferenciasModeloPorLojaDTO = new RankingTransferenciasModeloPorLojaDTO(); |
|
| - | 305 | transferenciasModeloPorLojaDTO.setLojaDTO(lojaDTO); |
|
| - | 306 | transferenciasModeloPorLojaDTO.setQuantidadeEstoque(rankingModeloDTO.getQuantidadeEstoqueGeral()); |
|
| - | 307 | transferenciasModeloPorLojaDTO.setQuantidadeVendas(rankingModeloDTO.getQuantidadeVendas()); |
|
| - | 308 | transferenciasModeloPorLojaDTO.setQuantidadeTotalEstoque(modeloMaisVendidos.getQuantidadeTotalEstoqueLocal()); |
|
| - | 309 | transferenciasModeloPorLojaDTO.setQuantidadeTotalVendas(modeloMaisVendidos.getQuantidadeTotalVendas()); |
|
| - | 310 | rankingTransferenciasModeloPorLojaDTO.add(transferenciasModeloPorLojaDTO); |
|
| - | 311 | }
|
|
| - | 312 | modeloParaRedistribuicao.getRankingTransferenciasModeloPorLojaDTO().add(modeloPorLojaParaRedistribuicao); |
|
| - | 313 | }
|
|
| - | 314 | modelosParaRedistribuicao.add(modeloParaRedistribuicao); |
|
| - | 315 | }
|
|
| - | 316 | return modelosParaRedistribuicao; |
|
| 253 | }
|
317 | }
|
| 254 | 318 | ||
| 255 | /*
|
319 | /*
|
| 256 | private LancamentoService lancamentoService;
|
320 | private LancamentoService lancamentoService;
|
| 257 | private VendaFormaPagamentoService vendaFormaPagamentoService;
|
321 | private VendaFormaPagamentoService vendaFormaPagamentoService;
|