Subversion Repositories Integrator Subversion

Rev

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

Rev 274 Rev 296
Line 12... Line 12...
12
import br.com.ec.core.util.VerificadorUtil;
12
import br.com.ec.core.util.VerificadorUtil;
13
import br.com.ec.domain.dto.FormaPagamentoDTO;
13
import br.com.ec.domain.dto.FormaPagamentoDTO;
14
import br.com.ec.domain.dto.LojaDTO;
14
import br.com.ec.domain.dto.LojaDTO;
15
import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO;
15
import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO;
16
import br.com.ec.domain.model.Venda;
16
import br.com.ec.domain.model.Venda;
17
import br.com.ec.domain.model.VendaFormaPagamento;
-
 
18
import br.com.ec.domain.shared.ConstantesSEC;
17
import br.com.ec.domain.shared.ConstantesSEC;
19
import br.com.ec.repository.SistemaAbstractRepository;
18
import br.com.ec.repository.SistemaAbstractRepository;
20
import br.com.ec.repository.VendaRepository;
19
import br.com.ec.repository.VendaRepository;
21
20
22
@Repository
21
@Repository
Line 26... Line 25...
26
        protected String getColunaOrdenadora() {
25
        protected String getColunaOrdenadora() {
27
                return "dataVenda";
26
                return "dataVenda";
28
        }
27
        }
29
       
28
       
30
        @Override
29
        @Override
31
        public Integer obterQuantidadeDeVendasPorLojaEePeriodo(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO) {
-
 
-
 
30
        public Integer obterQuantidadeDeVendas(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO) {
32
                StringBuilder sql = new StringBuilder();
31
                StringBuilder sql = new StringBuilder();
33
                sql.append("SELECT COUNT(*) FROM Venda v ");
-
 
-
 
32
                sql.append("SELECT COUNT(*) FROM Venda e ");
34
                sql.append("WHERE 1=1 ");
33
                sql.append("WHERE 1=1 ");
35
                setarStringParametrosConsulta(sql, parametrosConsultaVendasDTO);
34
                setarStringParametrosConsulta(sql, parametrosConsultaVendasDTO);
36
                try {
35
                try {
37
                        TypedQuery<Long> query = getEntityManager().createQuery(sql.toString(), Long.class);
36
                        TypedQuery<Long> query = getEntityManager().createQuery(sql.toString(), Long.class);
38
                        setarQueryParametrosConsulta(query, parametrosConsultaVendasDTO);
37
                        setarQueryParametrosConsulta(query, parametrosConsultaVendasDTO);
Line 42... Line 41...
42
                        return null;
41
                        return null;
43
                }
42
                }
44
        }
43
        }
45
       
44
       
46
        @Override
45
        @Override
47
        public Double obterValorTotalBrutoDeVendasPorLojaEePeriodo(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO) {
-
 
-
 
46
        public Double obterValorTotalBrutoDeVendas(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO) {
48
                StringBuilder sql = new StringBuilder();
47
                StringBuilder sql = new StringBuilder();
49
                sql.append("SELECT SUM(l.valorVenda) FROM Venda v ");
-
 
50
                sql.append("LEFT JOIN v.listaLancamentos l ");
-
 
-
 
48
                sql.append("SELECT SUM(l.valorVenda) FROM Venda e ");
-
 
49
                sql.append("LEFT JOIN e.listaLancamentos l ");
51
                sql.append("WHERE l.ativo IS TRUE ");
50
                sql.append("WHERE l.ativo IS TRUE ");
52
                setarStringParametrosConsulta(sql, parametrosConsultaVendasDTO);
51
                setarStringParametrosConsulta(sql, parametrosConsultaVendasDTO);
53
                try {
52
                try {
54
                        TypedQuery<Double> query = getEntityManager().createQuery(sql.toString(), Double.class);
53
                        TypedQuery<Double> query = getEntityManager().createQuery(sql.toString(), Double.class);
55
                        setarQueryParametrosConsulta(query, parametrosConsultaVendasDTO);
54
                        setarQueryParametrosConsulta(query, parametrosConsultaVendasDTO);
Line 66... Line 65...
66
       
65
       
67
        @Override
66
        @Override
68
        public Double obterValorDeCuponsUtilizadosPorLojaEePeriodo(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO) {
67
        public Double obterValorDeCuponsUtilizadosPorLojaEePeriodo(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO) {
69
                StringBuilder sql = new StringBuilder();
68
                StringBuilder sql = new StringBuilder();
70
                sql.append("SELECT SUM(vp.valorPagamento) FROM VendaFormaPagamento vp ");
69
                sql.append("SELECT SUM(vp.valorPagamento) FROM VendaFormaPagamento vp ");
71
                sql.append("LEFT JOIN vp.venda v ");
-
 
-
 
70
                sql.append("LEFT JOIN vp.venda e ");
72
                sql.append("WHERE vp.formaPagamento.codigo = 16 ");
71
                sql.append("WHERE vp.formaPagamento.codigo = 16 ");
73
                setarStringParametrosConsulta(sql, parametrosConsultaVendasDTO);
72
                setarStringParametrosConsulta(sql, parametrosConsultaVendasDTO);
74
//              parametrosConsulta.setIndicadorComissionado(null);
73
//              parametrosConsulta.setIndicadorComissionado(null);
75
//              parametrosConsulta.setTipoProduto(null);
74
//              parametrosConsulta.setTipoProduto(null);
76
                try {
75
                try {
Line 89... Line 88...
89
       
88
       
90
        @Override
89
        @Override
91
        public Double obterValorDeMaquinetasPorPessoa(Long sequencialPessoaMaquineta, Date dataInicio, Date dataFim) {
90
        public Double obterValorDeMaquinetasPorPessoa(Long sequencialPessoaMaquineta, Date dataInicio, Date dataFim) {
92
                StringBuilder sql = new StringBuilder();
91
                StringBuilder sql = new StringBuilder();
93
                sql.append("SELECT SUM(vp.valorPagamento) FROM VendaFormaPagamento vp ");
92
                sql.append("SELECT SUM(vp.valorPagamento) FROM VendaFormaPagamento vp ");
94
                sql.append("LEFT JOIN vp.venda v ");
-
 
-
 
93
                sql.append("LEFT JOIN vp.venda e ");
95
                sql.append("WHERE vp.formaPagamento.codigo IN :formasDePagamento ");
94
                sql.append("WHERE vp.formaPagamento.codigo IN :formasDePagamento ");
96
                sql.append("AND v.maquineta.pessoa.sequencial = :sequencialPessoaMaquineta ");
-
 
97
                sql.append("AND (v.dataVenda BETWEEN :dataInicial AND :dataFinal OR v.dataVenda = :dataInicial OR v.dataVenda = :dataFinal) ");
-
 
-
 
95
                sql.append("AND e.maquineta.pessoa.sequencial = :sequencialPessoaMaquineta ");
-
 
96
                sql.append("AND (e.dataVenda BETWEEN :dataInicial AND :dataFinal OR e.dataVenda = :dataInicial OR e.dataVenda = :dataFinal) ");
98
                try {
97
                try {
99
                        TypedQuery<Double> query = getEntityManager().createQuery(sql.toString(), Double.class);
98
                        TypedQuery<Double> query = getEntityManager().createQuery(sql.toString(), Double.class);
100
                        query.setParameter("formasDePagamento", FormaPagamentoDTO.codigosFormasDePagamentoViaCartao());
99
                        query.setParameter("formasDePagamento", FormaPagamentoDTO.codigosFormasDePagamentoViaCartao());
101
                        query.setParameter("sequencialPessoaMaquineta", sequencialPessoaMaquineta);
100
                        query.setParameter("sequencialPessoaMaquineta", sequencialPessoaMaquineta);
102
                        query.setParameter("dataInicial", DataUtils.getDataComHorarioMinimo(dataInicio));
101
                        query.setParameter("dataInicial", DataUtils.getDataComHorarioMinimo(dataInicio));
Line 113... Line 112...
113
                }
112
                }
114
        }
113
        }
115
       
114
       
116
        private void setarStringParametrosConsulta(StringBuilder sql, ParametrosConsultaVendasDTO parametros) {
115
        private void setarStringParametrosConsulta(StringBuilder sql, ParametrosConsultaVendasDTO parametros) {
117
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getSequencialLoja())) {
116
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getSequencialLoja())) {
118
                        sql.append("AND v.loja.sequencial = :sequencialLoja ");
-
 
-
 
117
                        sql.append("AND e.loja.sequencial = :sequencialLoja ");
119
                }
118
                }
120
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getTipoSituacaoVenda())) {
119
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getTipoSituacaoVenda())) {
121
                        sql.append("AND v.tipoSituacao = :tipoSituacao ");
-
 
-
 
120
                        sql.append("AND e.tipoSituacao = :tipoSituacao ");
122
                }
121
                }
123
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getSequencialVendedor())) {
122
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getSequencialVendedor())) {
124
                        sql.append("AND v.vendedor.sequencial = :sequencialVendedor ");
-
 
-
 
123
                        sql.append("AND e.vendedor.sequencial = :sequencialVendedor ");
125
                }
124
                }
126
                /*
125
                /*
127
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getIndicacao())) {
126
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getIndicacao())) {
128
                        sql.append("AND e.indicacao.sequencial = :sequencialIndicacao ");
127
                        sql.append("AND e.indicacao.sequencial = :sequencialIndicacao ");
129
                }
128
                }
Line 154... Line 153...
154
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getBandeiraCartao())) {
153
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getBandeiraCartao())) {
155
                        sql.append("AND (SELECT COUNT(b) FROM VendaFormaPagamento b WHERE b.venda = e AND b.bandeiraCartao.codigo = :codigoBandeiraCartao) > 0 ");
154
                        sql.append("AND (SELECT COUNT(b) FROM VendaFormaPagamento b WHERE b.venda = e AND b.bandeiraCartao.codigo = :codigoBandeiraCartao) > 0 ");
156
                }
155
                }
157
                */
156
                */
158
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getSequencialVenda())) {
157
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getSequencialVenda())) {
159
                        sql.append("AND v.sequencial = :sequencialVenda ");
-
 
-
 
158
                        sql.append("AND e.sequencial = :sequencialVenda ");
160
                } else if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getParametrosPeriodoDTO().getDataSelecionada())
159
                } else if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getParametrosPeriodoDTO().getDataSelecionada())
161
                                || VerificadorUtil.naoEstaNuloOuVazio(parametros.getParametrosPeriodoDTO().getDataInicial())
160
                                || VerificadorUtil.naoEstaNuloOuVazio(parametros.getParametrosPeriodoDTO().getDataInicial())
162
                                || VerificadorUtil.naoEstaNuloOuVazio(parametros.getParametrosPeriodoDTO().getDataFinal())) {
161
                                || VerificadorUtil.naoEstaNuloOuVazio(parametros.getParametrosPeriodoDTO().getDataFinal())) {
163
                        sql.append("AND v.dataVenda >= :dataInicial ");
-
 
164
                        sql.append("AND v.dataVenda <= :dataFinal ");
-
 
-
 
162
                        sql.append("AND e.dataVenda >= :dataInicial ");
-
 
163
                        sql.append("AND e.dataVenda <= :dataFinal ");
165
                }
164
                }
166
                /*
165
                /*
167
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getCodigoCupom())) {
166
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getCodigoCupom())) {
168
                        sql.append("AND (SELECT COUNT(cl) FROM Lancamento cl WHERE cl.venda = e AND cl.cupom.codigo = :codigoCupom) > 0) ");
167
                        sql.append("AND (SELECT COUNT(cl) FROM Lancamento cl WHERE cl.venda = e AND cl.cupom.codigo = :codigoCupom) > 0) ");
169
                }
168
                }
Line 477... Line 476...
477
                        return null;
476
                        return null;
478
                }
477
                }
479
        }
478
        }
480
        */
479
        */
481
        @Override
480
        @Override
482
        public Double obterValorTotalBrutoDeVendasPorLojaEePeriodoEeFormasDePagamento(ParametrosConsultaVendasDTO parametrosConsultaVendas, List<FormaPagamentoDTO> formasDePagamento) {
-
 
-
 
481
        public Double obterValorTotalBrutoDeVendasPorParametrosEeFormasDePagamento(ParametrosConsultaVendasDTO parametrosConsultaVendas, List<FormaPagamentoDTO> formasDePagamento) {
483
                StringBuilder sql = new StringBuilder();
482
                StringBuilder sql = new StringBuilder();
484
                sql.append("SELECT SUM(vp.valorPagamento) FROM VendaFormaPagamento vp ");
483
                sql.append("SELECT SUM(vp.valorPagamento) FROM VendaFormaPagamento vp ");
485
                sql.append("LEFT JOIN vp.venda v ");
-
 
-
 
484
                sql.append("LEFT JOIN vp.venda e ");
486
                sql.append("LEFT JOIN vp.formaPagamento f ");
485
                sql.append("LEFT JOIN vp.formaPagamento f ");
487
                sql.append("WHERE vp.formaPagamento.codigo != ");
486
                sql.append("WHERE vp.formaPagamento.codigo != ");
488
                sql.append(ConstantesSEC.FormasDePagamento.FORMAPAGAMENTO_CUPOM);
487
                sql.append(ConstantesSEC.FormasDePagamento.FORMAPAGAMENTO_CUPOM);
489
                sql.append(" ");
488
                sql.append(" ");
490
                try {
489
                try {
491
                        sql = setarParametrosFormasDePagamento(sql, formasDePagamento);
490
                        sql = setarParametrosFormasDePagamento(sql, formasDePagamento);
492
                        sql = setarParametrosLojasSelecionadas(sql, parametrosConsultaVendas.getLojasSelecionadasDTO());
491
                        sql = setarParametrosLojasSelecionadas(sql, parametrosConsultaVendas.getLojasSelecionadasDTO());
493
                        if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsultaVendas.getVendedorSelecionado())) {
492
                        if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsultaVendas.getVendedorSelecionado())) {
494
                                sql.append("AND v.vendedor.sequencial = :sequencialVendedor ");
-
 
-
 
493
                                sql.append("AND e.vendedor.sequencial = :sequencialVendedor ");
495
                        }
494
                        }
496
                        setarStringParametrosConsulta(sql, parametrosConsultaVendas);
495
                        setarStringParametrosConsulta(sql, parametrosConsultaVendas);
497
                        TypedQuery<Double> query = getEntityManager().createQuery(sql.toString(), Double.class);
496
                        TypedQuery<Double> query = getEntityManager().createQuery(sql.toString(), Double.class);
498
                        setarQueryParametrosConsulta(query, parametrosConsultaVendas);
497
                        setarQueryParametrosConsulta(query, parametrosConsultaVendas);
499
                        if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsultaVendas.getVendedorSelecionado())) {
498
                        if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsultaVendas.getVendedorSelecionado())) {
Line 532... Line 531...
532
                        sql.append(") ");
531
                        sql.append(") ");
533
                }
532
                }
534
                return new StringBuilder(sql.toString().replace(",)", ")"));
533
                return new StringBuilder(sql.toString().replace(",)", ")"));
535
        }
534
        }
536
       
535
       
537
        /*
-
 
538
        @Override
536
        @Override
539
        public Double obterValorTotalLiquidoDeVendasPorLojaEePeriodo(ParametrosConsultaVendasDTO parametrosConsulta) {
-
 
-
 
537
        public Double obterValorTotalLiquidoDeVendas(ParametrosConsultaVendasDTO parametrosConsulta) {
540
                StringBuilder sql = new StringBuilder();
538
                StringBuilder sql = new StringBuilder();
541
                sql.append("SELECT SUM(e.valor) FROM Parcela e ");
539
                sql.append("SELECT SUM(e.valor) FROM Parcela e ");
542
                sql.append("INNER JOIN e.conta c ");
540
                sql.append("INNER JOIN e.conta c ");
543
                sql.append("WHERE e.indicadorAtivo IS TRUE ");
541
                sql.append("WHERE e.indicadorAtivo IS TRUE ");
544
                try {
542
                try {
545
                        setarParametrosStringConsultarValorTotalLiquidoVendaPorLojaEePeriodo(sql, parametrosConsulta);
-
 
-
 
543
                        setarParametrosStringConsultarValorTotalLiquidoVenda(sql, parametrosConsulta);
546
                        TypedQuery<Double> query = getEntityManager().createQuery(sql.toString(), Double.class);
544
                        TypedQuery<Double> query = getEntityManager().createQuery(sql.toString(), Double.class);
547
                        setarParametrosQueryConsultarValorTotalLiquidoVendaPorLojaEePeriodo(query, parametrosConsulta);
-
 
-
 
545
                        setarParametrosQueryConsultarValorTotalLiquidoVenda(query, parametrosConsulta);
548
                       
546
                       
549
                        Double total = query.getSingleResult();
547
                        Double total = query.getSingleResult();
550
                        if (VerificadorUtil.estaNulo(total)) {
548
                        if (VerificadorUtil.estaNulo(total)) {
551
                                return new Double(0.0);
549
                                return new Double(0.0);
552
                        }
550
                        }
Line 554... Line 552...
554
                } catch(Exception ex) {
552
                } catch(Exception ex) {
555
                        ex.printStackTrace();
553
                        ex.printStackTrace();
556
                        return null;
554
                        return null;
557
                }
555
                }
558
        }
556
        }
559

-
 
560
        private void setarParametrosStringConsultarValorTotalLiquidoVendaPorLojaEePeriodo(StringBuilder sql, ParametrosConsultaVendasDTO parametrosConsulta) {
-
 
561
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getLoja())) {
-
 
-
 
557
       
-
 
558
        private void setarParametrosStringConsultarValorTotalLiquidoVenda(StringBuilder sql, ParametrosConsultaVendasDTO parametrosConsulta) {
-
 
559
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getSequencialLoja())) {
562
                        sql.append("AND e.conta.venda.loja.sequencial = :sequencialLoja ");
560
                        sql.append("AND e.conta.venda.loja.sequencial = :sequencialLoja ");
563
                }
561
                }
564
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getVendedor())) {
-
 
-
 
562
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getSequencialVendedor())) {
565
                        sql.append("AND e.conta.venda.vendedor.sequencial = :sequencialVendedor ");
563
                        sql.append("AND e.conta.venda.vendedor.sequencial = :sequencialVendedor ");
566
                }
564
                }
-
 
565
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getDataInicialDoPeriodo()) && VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getDataFinalDoPeriodo())) {
-
 
566
                        sql.append("AND e.conta.venda.dataVenda >= :dataInicial AND e.conta.venda.dataVenda <= :dataFinal ");
-
 
567
                }
-
 
568
                /*
567
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getIndicacao())) {
569
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getIndicacao())) {
568
                        sql.append("AND e.conta.venda.indicacao.sequencial = :sequencialIndicacao ");
570
                        sql.append("AND e.conta.venda.indicacao.sequencial = :sequencialIndicacao ");
569
                }
571
                }
570
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getDataInicial()) && VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getDataFinal())) {
-
 
571
                        sql.append("AND e.conta.venda.dataVenda >= :dataInicial AND e.conta.venda.dataVenda <= :dataFinal ");
-
 
572
                }
-
 
-
 
572
                 */
573
        }
573
        }
574
       
574
       
575
        private void setarParametrosQueryConsultarValorTotalLiquidoVendaPorLojaEePeriodo(Query query, ParametrosConsultaVendasDTO parametrosConsulta) {
-
 
576
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getLoja())) {
-
 
577
                        query.setParameter("sequencialLoja", parametrosConsulta.getLoja().getSequencial());
-
 
-
 
575
        private void setarParametrosQueryConsultarValorTotalLiquidoVenda(Query query, ParametrosConsultaVendasDTO parametrosConsulta) {
-
 
576
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getSequencialLoja())) {
-
 
577
                        query.setParameter("sequencialLoja", parametrosConsulta.getSequencialLoja());
578
                }
578
                }
579
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getVendedor())) {
-
 
580
                        query.setParameter("sequencialVendedor", parametrosConsulta.getVendedor().getSequencial());
-
 
-
 
579
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getSequencialVendedor())) {
-
 
580
                        query.setParameter("sequencialVendedor", parametrosConsulta.getSequencialVendedor());
581
                }
581
                }
-
 
582
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getDataInicialDoPeriodo()) && VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getDataFinalDoPeriodo())) {
-
 
583
                        query.setParameter("dataInicial", DataUtils.getDataComHorarioMinimo(parametrosConsulta.getDataInicialDoPeriodo()));
-
 
584
                        query.setParameter("dataFinal", DataUtils.getDataComHorarioMaximo(parametrosConsulta.getDataFinalDoPeriodo()));
-
 
585
                }
-
 
586
                /*
582
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getIndicacao())) {
587
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getIndicacao())) {
583
                        query.setParameter("sequencialIndicacao", parametrosConsulta.getIndicacao().getSequencial());
588
                        query.setParameter("sequencialIndicacao", parametrosConsulta.getIndicacao().getSequencial());
584
                }
589
                }
585
                if (VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getDataInicial()) && VerificadorUtil.naoEstaNuloOuVazio(parametrosConsulta.getDataFinal())) {
-
 
586
                        query.setParameter("dataInicial", DataUtils.getDataComHorarioMinimo(parametrosConsulta.getDataInicial()));
-
 
587
                        query.setParameter("dataFinal", DataUtils.getDataComHorarioMaximo(parametrosConsulta.getDataFinal()));
-
 
588
                }
-
 
-
 
590
                */
589
        }
591
        }
590
       
592
       
591
        @Override
593
        @Override
592
        public Integer obterQuantidadeProdutosVendidosPorLojaEePeriodo(ParametrosConsultaVendasDTO parametrosConsulta) {
-
 
-
 
594
        public Double obterValorProdutosUtilizadosEmVendas(ParametrosConsultaVendasDTO parametrosConsulta) {
593
                StringBuilder sql = new StringBuilder();
595
                StringBuilder sql = new StringBuilder();
594
                sql.append("SELECT COUNT(l) FROM Venda e ");
-
 
-
 
596
                sql.append("SELECT SUM(l.valorCompra) FROM Venda e ");
595
                sql.append("LEFT JOIN e.listaLancamentos l ");
597
                sql.append("LEFT JOIN e.listaLancamentos l ");
596
                sql.append("WHERE l.ativo IS TRUE ");
598
                sql.append("WHERE l.ativo IS TRUE ");
597
                try {
599
                try {
598
                        setarStringParametrosConsulta(sql, parametrosConsulta);
600
                        setarStringParametrosConsulta(sql, parametrosConsulta);
599
                        TypedQuery<Long> query = getEntityManager().createQuery(sql.toString(), Long.class);
-
 
-
 
601
                        TypedQuery<Double> query = getEntityManager().createQuery(sql.toString(), Double.class);
600
                        setarQueryParametrosConsulta(query, parametrosConsulta);
602
                        setarQueryParametrosConsulta(query, parametrosConsulta);
601
                        return query.getSingleResult().intValue();
-
 
-
 
603
                        Double total = query.getSingleResult();
-
 
604
                        if (VerificadorUtil.estaNulo(total)) {
-
 
605
                                return new Double(0.0);
-
 
606
                        }
-
 
607
                        return total;
602
                } catch(Exception ex) {
608
                } catch(Exception ex) {
603
                        ex.printStackTrace();
609
                        ex.printStackTrace();
604
                        return null;
610
                        return null;
605
                }
611
                }
606
        }
612
        }
607
       
613
       
-
 
614
        /*
-
 
615

608
        @Override
616
        @Override
609
        public Integer obterQuantidadeProdutosVendidosPorLojaEePeriodoNaoVivo(ParametrosConsultaVendasDTO parametrosConsulta) {
-
 
-
 
617
        public Integer obterQuantidadeProdutosVendidosPorLojaEePeriodo(ParametrosConsultaVendasDTO parametrosConsulta) {
610
                StringBuilder sql = new StringBuilder();
618
                StringBuilder sql = new StringBuilder();
611
                sql.append("SELECT COUNT(l) FROM Venda e ");
619
                sql.append("SELECT COUNT(l) FROM Venda e ");
612
                sql.append("LEFT JOIN e.listaLancamentos l ");
620
                sql.append("LEFT JOIN e.listaLancamentos l ");
613
                sql.append("WHERE l.ativo IS TRUE AND l.produto.tipo not like 'V' ");
-
 
-
 
621
                sql.append("WHERE l.ativo IS TRUE ");
614
                try {
622
                try {
615
                        setarStringParametrosConsulta(sql, parametrosConsulta);
623
                        setarStringParametrosConsulta(sql, parametrosConsulta);
616
                        TypedQuery<Long> query = getEntityManager().createQuery(sql.toString(), Long.class);
624
                        TypedQuery<Long> query = getEntityManager().createQuery(sql.toString(), Long.class);
617
                        setarQueryParametrosConsulta(query, parametrosConsulta);
625
                        setarQueryParametrosConsulta(query, parametrosConsulta);
618
                        return query.getSingleResult().intValue();
626
                        return query.getSingleResult().intValue();
Line 621... Line 629...
621
                        return null;
629
                        return null;
622
                }
630
                }
623
        }
631
        }
624
       
632
       
625
        @Override
633
        @Override
626
        public Double obterValorProdutosUtilizadosEmVendasPorLojaEePeriodo(ParametrosConsultaVendasDTO parametrosConsulta) {
-
 
-
 
634
        public Integer obterQuantidadeProdutosVendidosPorLojaEePeriodoNaoVivo(ParametrosConsultaVendasDTO parametrosConsulta) {
627
                StringBuilder sql = new StringBuilder();
635
                StringBuilder sql = new StringBuilder();
628
                sql.append("SELECT SUM(l.valorCompra) FROM Venda e ");
-
 
-
 
636
                sql.append("SELECT COUNT(l) FROM Venda e ");
629
                sql.append("LEFT JOIN e.listaLancamentos l ");
637
                sql.append("LEFT JOIN e.listaLancamentos l ");
630
                sql.append("WHERE l.ativo IS TRUE ");
-
 
-
 
638
                sql.append("WHERE l.ativo IS TRUE AND l.produto.tipo not like 'V' ");
631
                try {
639
                try {
632
                        setarStringParametrosConsulta(sql, parametrosConsulta);
640
                        setarStringParametrosConsulta(sql, parametrosConsulta);
633
                        TypedQuery<Double> query = getEntityManager().createQuery(sql.toString(), Double.class);
-
 
-
 
641
                        TypedQuery<Long> query = getEntityManager().createQuery(sql.toString(), Long.class);
634
                        setarQueryParametrosConsulta(query, parametrosConsulta);
642
                        setarQueryParametrosConsulta(query, parametrosConsulta);
635
                        Double total = query.getSingleResult();
-
 
636
                        if (VerificadorUtil.estaNulo(total)) {
-
 
637
                                return new Double(0.0);
-
 
638
                        }
-
 
639
                        return total;
-
 
-
 
643
                        return query.getSingleResult().intValue();
640
                } catch(Exception ex) {
644
                } catch(Exception ex) {
641
                        ex.printStackTrace();
645
                        ex.printStackTrace();
642
                        return null;
646
                        return null;
643
                }
647
                }
644
        }
648
        }