Rev 472 | Rev 543 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 472 | Rev 524 | ||
|---|---|---|---|
| Line 4... | Line 4... | ||
| 4 | 4 | ||
| 5 | import javax.persistence.TypedQuery; |
5 | import javax.persistence.TypedQuery; |
| 6 | 6 | ||
| 7 | import org.springframework.stereotype.Repository; |
7 | import org.springframework.stereotype.Repository; |
| 8 | 8 | ||
| - | 9 | import br.com.ec.core.util.VerificadorUtil; |
|
| 9 | import br.com.ec.domain.dto.CompraProdutoDTO; |
10 | import br.com.ec.domain.dto.CompraProdutoDTO; |
| 10 | import br.com.ec.domain.dto.ProdutoDTO; |
11 | import br.com.ec.domain.dto.ProdutoDTO; |
| 11 | import br.com.ec.domain.model.Produto; |
12 | import br.com.ec.domain.model.Produto; |
| 12 | import br.com.ec.domain.util.CodigoBarraEAN; |
13 | import br.com.ec.domain.util.CodigoBarraEAN; |
| 13 | import br.com.ec.repository.ProdutoRepository; |
14 | import br.com.ec.repository.ProdutoRepository; |
| Line 22... | Line 23... | ||
| 22 | }
|
23 | }
|
| 23 | 24 | ||
| 24 | @Override |
25 | @Override |
| 25 | protected boolean adicionarDistinct() { |
26 | protected boolean adicionarDistinct() { |
| 26 | return false; |
27 | return false; |
| - | 28 | }
|
|
| - | 29 | ||
| - | 30 | @Override |
|
| - | 31 | public Produto consultarProdutoPorCodigo(String codigoProduto) { |
|
| - | 32 | StringBuilder sql = new StringBuilder(); |
|
| - | 33 | sql.append("SELECT e FROM Produto e "); |
|
| - | 34 | sql.append("WHERE e.codigo = :codigo"); |
|
| - | 35 | try { |
|
| - | 36 | return getEntityManager().createQuery(sql.toString(), Produto.class).setParameter("codigo", codigoProduto).getSingleResult(); |
|
| - | 37 | } catch(Exception ex) { |
|
| - | 38 | ex.printStackTrace(); |
|
| - | 39 | return null; |
|
| - | 40 | }
|
|
| - | 41 | }
|
|
| - | 42 | ||
| - | 43 | @Override |
|
| - | 44 | public ProdutoDTO consultarProdutoDTOPorCodigoOuEAN(String codigoOuEAN) { |
|
| - | 45 | StringBuilder jpql = new StringBuilder(); |
|
| - | 46 | jpql.append("SELECT new br.com.ec.domain.dto.ProdutoDTO("); |
|
| - | 47 | jpql.append(ProdutoDTO.CONSULTA_DTO_SIMPLES_COM_MODELO); |
|
| - | 48 | jpql.append(") FROM Produto e "); |
|
| - | 49 | jpql.append("WHERE 1=1 AND "); |
|
| - | 50 | if (CodigoBarraEAN.validarCodigoBarras(codigoOuEAN)) { |
|
| - | 51 | jpql.append("e.codigoEAN = :codigoOuEAN"); |
|
| - | 52 | } else { |
|
| - | 53 | codigoOuEAN = ProdutoDTO.retornarCodigoProdutoPadrao(codigoOuEAN); |
|
| - | 54 | jpql.append("e.codigo = :codigoOuEAN"); |
|
| - | 55 | }
|
|
| - | 56 | try { |
|
| - | 57 | TypedQuery<ProdutoDTO> query = (TypedQuery<ProdutoDTO>) getEntityManager().createQuery(jpql.toString(), ProdutoDTO.class) |
|
| - | 58 | .setParameter("codigoOuEAN", codigoOuEAN); |
|
| - | 59 | return query.getSingleResult(); |
|
| - | 60 | } catch(Exception ex) { |
|
| - | 61 | ex.printStackTrace(); |
|
| - | 62 | return null; |
|
| - | 63 | }
|
|
| - | 64 | }
|
|
| - | 65 | ||
| - | 66 | @Override |
|
| - | 67 | public List<CompraProdutoDTO> consultarComprasDoProduto(Long sequencialProduto) { |
|
| - | 68 | StringBuilder jpql = new StringBuilder(); |
|
| - | 69 | jpql.append("SELECT new br.com.ec.domain.dto.CompraProdutoDTO("); |
|
| - | 70 | jpql.append(CompraProdutoDTO.CONSULTA_DTO_COMPLETA); |
|
| - | 71 | jpql.append(") FROM CompraProduto e "); |
|
| - | 72 | jpql.append("WHERE 1=1 AND "); |
|
| - | 73 | jpql.append("e.produto.sequencial = :sequencialProduto "); |
|
| - | 74 | try { |
|
| - | 75 | jpql.append("ORDER BY e.compra.dataCompra DESC"); |
|
| - | 76 | return getEntityManager().createQuery(jpql.toString(), CompraProdutoDTO.class) |
|
| - | 77 | .setParameter("sequencialProduto", sequencialProduto) |
|
| - | 78 | .getResultList(); |
|
| - | 79 | } catch(Exception ex) { |
|
| - | 80 | ex.printStackTrace(); |
|
| - | 81 | return null; |
|
| - | 82 | }
|
|
| 27 | }
|
83 | }
|
| 28 | 84 | ||
| 29 | /*
|
85 | /*
|
| 30 | @Override
|
86 | @Override
|
| 31 | public List<Produto> consultarProdutoPorParametros(ParametrosConsultaProdutoDTO parametrosConsultaProduto) {
|
87 | public List<Produto> consultarProdutoPorParametros(ParametrosConsultaProdutoDTO parametrosConsultaProduto) {
|
| Line 574... | Line 630... | ||
| 574 | sql.append(" AND p.loja.sequencial = ");
|
630 | sql.append(" AND p.loja.sequencial = ");
|
| 575 | sql.append(((ParametrosConsultaProdutoDTO)parametrosConsulta).getLojaSelecionada());
|
631 | sql.append(((ParametrosConsultaProdutoDTO)parametrosConsulta).getLojaSelecionada());
|
| 576 | }
|
632 | }
|
| 577 | sql.append(") ");
|
633 | sql.append(") ");
|
| 578 | }
|
634 | }
|
| 579 | */
|
- | |
| 580 | @Override |
- | |
| 581 | public Produto consultarProdutoPorCodigo(String codigoProduto) { |
- | |
| 582 | StringBuilder sql = new StringBuilder(); |
- | |
| 583 | sql.append("SELECT e FROM Produto e "); |
- | |
| 584 | sql.append("WHERE e.codigo = :codigo"); |
- | |
| 585 | try { |
- | |
| 586 | return getEntityManager().createQuery(sql.toString(), Produto.class).setParameter("codigo", codigoProduto).getSingleResult(); |
- | |
| 587 | } catch(Exception ex) { |
- | |
| 588 | ex.printStackTrace(); |
- | |
| 589 | return null; |
- | |
| 590 | }
|
- | |
| 591 | }
|
- | |
| 592 | - | ||
| 593 | @Override |
- | |
| 594 | public ProdutoDTO consultarProdutoDTOPorCodigoOuEAN(String codigoOuEAN) { |
- | |
| 595 | StringBuilder jpql = new StringBuilder(); |
- | |
| 596 | jpql.append("SELECT new br.com.ec.domain.dto.ProdutoDTO("); |
- | |
| 597 | jpql.append(ProdutoDTO.CONSULTA_DTO_SIMPLES_COM_MODELO); |
- | |
| 598 | jpql.append(") FROM Produto e "); |
- | |
| 599 | jpql.append("WHERE 1=1 AND "); |
- | |
| 600 | if (CodigoBarraEAN.validarCodigoBarras(codigoOuEAN)) { |
- | |
| 601 | jpql.append("e.codigoEAN = :codigoOuEAN"); |
- | |
| 602 | } else { |
- | |
| 603 | codigoOuEAN = ProdutoDTO.retornarCodigoProdutoPadrao(codigoOuEAN); |
- | |
| 604 | jpql.append("e.codigo = :codigoOuEAN"); |
- | |
| 605 | }
|
- | |
| 606 | try { |
- | |
| 607 | TypedQuery<ProdutoDTO> query = (TypedQuery<ProdutoDTO>) getEntityManager().createQuery(jpql.toString(), ProdutoDTO.class) |
- | |
| 608 | .setParameter("codigoOuEAN", codigoOuEAN); |
- | |
| 609 | return query.getSingleResult(); |
- | |
| 610 | } catch(Exception ex) { |
- | |
| 611 | ex.printStackTrace(); |
- | |
| 612 | return null; |
- | |
| 613 | }
|
- | |
| 614 | }
|
- | |
| 615 | - | ||
| 616 | @Override |
- | |
| 617 | public List<CompraProdutoDTO> consultarComprasDoProduto(Long sequencialProduto) { |
- | |
| 618 | StringBuilder jpql = new StringBuilder(); |
- | |
| 619 | jpql.append("SELECT new br.com.ec.domain.dto.CompraProdutoDTO("); |
- | |
| 620 | jpql.append(CompraProdutoDTO.CONSULTA_DTO_COMPLETA); |
- | |
| 621 | jpql.append(") FROM CompraProduto e "); |
- | |
| 622 | jpql.append("WHERE 1=1 AND "); |
- | |
| 623 | jpql.append("e.produto.sequencial = :sequencialProduto "); |
- | |
| 624 | try { |
- | |
| 625 | jpql.append("ORDER BY e.compra.dataCompra DESC"); |
- | |
| 626 | return getEntityManager().createQuery(jpql.toString(), CompraProdutoDTO.class) |
- | |
| 627 | .setParameter("sequencialProduto", sequencialProduto) |
- | |
| 628 | .getResultList(); |
- | |
| 629 | } catch(Exception ex) { |
- | |
| 630 | ex.printStackTrace(); |
- | |
| 631 | return null; |
- | |
| 632 | }
|
- | |
| 633 | }
|
- | |
| 634 | - | ||
| 635 | /*
|
- | |
| - | 635 | ||
| 636 | @Override
|
636 | @Override
|
| 637 | public Produto consultarProdutoPorCodigoEAN(String codigoEAN) {
|
637 | public Produto consultarProdutoPorCodigoEAN(String codigoEAN) {
|
| 638 | StringBuilder sql = new StringBuilder();
|
638 | StringBuilder sql = new StringBuilder();
|
| 639 | sql.append("SELECT e FROM Produto e ");
|
639 | sql.append("SELECT e FROM Produto e ");
|
| 640 | sql.append("WHERE e.codigoEAN = :codigoEAN");
|
640 | sql.append("WHERE e.codigoEAN = :codigoEAN");
|
| Line 702... | Line 702... | ||
| 702 | ex.printStackTrace();
|
702 | ex.printStackTrace();
|
| 703 | return 0;
|
703 | return 0;
|
| 704 | }
|
704 | }
|
| 705 | }
|
705 | }
|
| 706 |
|
706 |
|
| 707 | @Override
|
- | |
| 708 | public Double valorTotalEstoque(Loja loja, Modelo modelo) {
|
- | |
| 709 | StringBuilder sql = new StringBuilder();
|
- | |
| 710 | sql.append("SELECT SUM(e.quantidadeEstoque * e.produto.valorCompra) FROM ProdutoLoja e ");
|
- | |
| 711 | sql.append("WHERE e.produto.codigo != '000000'");
|
- | |
| 712 | if (VerificadorUtil.naoEstaNulo(loja)) {
|
- | |
| 713 | sql.append(" AND e.loja.sequencial = :sequencialLoja");
|
- | |
| 714 | }
|
- | |
| 715 | if (VerificadorUtil.naoEstaNulo(modelo)) {
|
- | |
| 716 | sql.append(" AND e.produto.modelo.sequencial = :sequencialModelo");
|
- | |
| 717 | }
|
- | |
| 718 | try {
|
- | |
| 719 | Double valorTotal = new Double(0.0);
|
- | |
| 720 | TypedQuery<Double> query = getEntityManager().createQuery(sql.toString(), Double.class);
|
- | |
| 721 | if (VerificadorUtil.naoEstaNulo(loja)) {
|
- | |
| 722 | query.setParameter("sequencialLoja", loja.getSequencial());
|
- | |
| 723 | }
|
- | |
| 724 | if (VerificadorUtil.naoEstaNulo(modelo)) {
|
- | |
| 725 | query.setParameter("sequencialModelo", modelo.getSequencial());
|
- | |
| 726 | }
|
- | |
| 727 | valorTotal = query.getSingleResult();
|
- | |
| 728 | if (VerificadorUtil.naoEstaNulo(valorTotal)) {
|
- | |
| 729 | return valorTotal;
|
- | |
| 730 | }
|
- | |
| 731 | return 0.0;
|
- | |
| 732 | } catch(Exception ex) {
|
- | |
| 733 | ex.printStackTrace();
|
- | |
| 734 | return 0.0;
|
- | |
| 735 | }
|
- | |
| 736 | }
|
- | |
| - | 707 |
|
|
| 737 |
|
708 |
|
| 738 | @Override
|
709 | @Override
|
| 739 | public Integer quantidadeEstoque(ParametrosConsultaProdutoDTO parametrosConsulta) {
|
710 | public Integer quantidadeEstoque(ParametrosConsultaProdutoDTO parametrosConsulta) {
|
| 740 | StringBuilder sql = new StringBuilder("SELECT SUM(pl.quantidadeEstoque) FROM ProdutoLoja pl WHERE pl.produto.codigo != '000000'");
|
711 | StringBuilder sql = new StringBuilder("SELECT SUM(pl.quantidadeEstoque) FROM ProdutoLoja pl WHERE pl.produto.codigo != '000000'");
|
| 741 | try {
|
712 | try {
|