Rev 229 | Rev 253 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 229 | Rev 230 | ||
|---|---|---|---|
| Line 4... | Line 4... | ||
| 4 | 4 | ||
| - | 5 | import javax.persistence.Query; |
|
| 5 | import javax.persistence.TypedQuery; |
6 | import javax.persistence.TypedQuery; |
| 6 | 7 | ||
| 7 | import org.springframework.stereotype.Repository; |
8 | import org.springframework.stereotype.Repository; |
| 8 | 9 | ||
| 9 | import br.com.ec.core.util.DataUtils; |
10 | import br.com.ec.core.util.DataUtils; |
| - | 11 | import br.com.ec.core.util.VerificadorUtil; |
|
| - | 12 | import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO; |
|
| 10 | import br.com.ec.domain.modal.Venda; |
13 | import br.com.ec.domain.modal.Venda; |
| 11 | import br.com.ec.repository.SistemaAbstractRepository; |
14 | import br.com.ec.repository.SistemaAbstractRepository; |
| 12 | import br.com.ec.repository.VendaRepository; |
15 | import br.com.ec.repository.VendaRepository; |
| 13 | 16 | ||
| 14 | @Repository |
17 | @Repository |
| Line 18... | Line 21... | ||
| 18 | protected String getColunaOrdenadora() { |
21 | protected String getColunaOrdenadora() { |
| 19 | return "dataVenda"; |
22 | return "dataVenda"; |
| 20 | }
|
23 | }
|
| 21 | 24 | ||
| 22 | @Override |
25 | @Override |
| 23 | public Integer obterQuantidadeDeVendasPorLojaEePeriodo(Long sequencialLoja, Date dataInicial, Date dataFinal) { |
- | |
| - | 26 | public Integer obterQuantidadeDeVendasPorLojaEePeriodo(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO) { |
|
| 24 | StringBuilder sql = new StringBuilder(); |
27 | StringBuilder sql = new StringBuilder(); |
| 25 | sql.append("SELECT COUNT(*) FROM Venda e "); |
28 | sql.append("SELECT COUNT(*) FROM Venda e "); |
| 26 | sql.append("WHERE e.loja.sequencial = :sequencialLoja "); |
- | |
| 27 | sql.append("AND e.dataVenda >= :dataInicial AND e.dataVenda <= :dataFinal "); |
- | |
| - | 29 | sql.append("WHERE 1=1 "); |
|
| - | 30 | setarStringParametrosConsulta(sql, parametrosConsultaVendasDTO); |
|
| 28 | try { |
31 | try { |
| 29 | return getEntityManager().createQuery(sql.toString(), Long.class) |
- | |
| 30 | .setParameter("sequencialLoja", sequencialLoja) |
- | |
| 31 | .setParameter("dataInicial", DataUtils.getDataComHorarioMinimo(dataInicial)) |
- | |
| 32 | .setParameter("dataFinal", DataUtils.getDataComHorarioMaximo(dataFinal)) |
- | |
| 33 | .getSingleResult().intValue(); |
- | |
| - | 32 | TypedQuery<Long> query = getEntityManager().createQuery(sql.toString(), Long.class); |
|
| - | 33 | setarQueryParametrosConsulta(query, parametrosConsultaVendasDTO); |
|
| - | 34 | return query.getSingleResult().intValue(); |
|
| 34 | } catch(Exception ex) { |
35 | } catch(Exception ex) { |
| 35 | ex.printStackTrace(); |
36 | ex.printStackTrace(); |
| 36 | return null; |
37 | return null; |
| 37 | }
|
38 | }
|
| - | 39 | }
|
|
| - | 40 | ||
| - | 41 | @Override |
|
| - | 42 | public Double obterValorTotalBrutoDeVendasPorLojaEePeriodo(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO) { |
|
| - | 43 | StringBuilder sql = new StringBuilder(); |
|
| - | 44 | sql.append("SELECT SUM(l.valorVenda) FROM Venda e "); |
|
| - | 45 | sql.append("LEFT JOIN e.listaLancamentos l "); |
|
| - | 46 | sql.append("WHERE l.ativo IS TRUE "); |
|
| - | 47 | setarStringParametrosConsulta(sql, parametrosConsultaVendasDTO); |
|
| - | 48 | try { |
|
| - | 49 | TypedQuery<Double> query = getEntityManager().createQuery(sql.toString(), Double.class); |
|
| - | 50 | setarQueryParametrosConsulta(query, parametrosConsultaVendasDTO); |
|
| - | 51 | Double total = query.getSingleResult(); |
|
| - | 52 | if (VerificadorUtil.estaNulo(total)) { |
|
| - | 53 | return new Double(0.0); |
|
| - | 54 | }
|
|
| - | 55 | return total; |
|
| - | 56 | } catch(Exception ex) { |
|
| - | 57 | ex.printStackTrace(); |
|
| - | 58 | return null; |
|
| - | 59 | }
|
|
| - | 60 | }
|
|
| - | 61 | ||
| - | 62 | @Override |
|
| - | 63 | public Double obterValorDeCuponsUtilizadosPorLojaEePeriodo(ParametrosConsultaVendasDTO parametrosConsultaVendasDTO) { |
|
| - | 64 | StringBuilder sql = new StringBuilder(); |
|
| - | 65 | sql.append("SELECT SUM(p.valorPagamento) FROM VendaFormaPagamento p "); |
|
| - | 66 | sql.append("LEFT JOIN p.venda e "); |
|
| - | 67 | sql.append("WHERE p.formaPagamento.codigo = 16 "); |
|
| - | 68 | setarStringParametrosConsulta(sql, parametrosConsultaVendasDTO); |
|
| - | 69 | // parametrosConsulta.setIndicadorComissionado(null);
|
|
| - | 70 | // parametrosConsulta.setTipoProduto(null);
|
|
| - | 71 | try { |
|
| - | 72 | TypedQuery<Double> query = getEntityManager().createQuery(sql.toString(), Double.class); |
|
| - | 73 | setarQueryParametrosConsulta(query, parametrosConsultaVendasDTO); |
|
| - | 74 | Double total = query.getSingleResult(); |
|
| - | 75 | if (VerificadorUtil.estaNulo(total)) { |
|
| - | 76 | return new Double(0.0); |
|
| - | 77 | }
|
|
| - | 78 | return total; |
|
| - | 79 | } catch(Exception ex) { |
|
| - | 80 | ex.printStackTrace(); |
|
| - | 81 | return null; |
|
| - | 82 | }
|
|
| - | 83 | }
|
|
| - | 84 | ||
| - | 85 | private void setarStringParametrosConsulta(StringBuilder sql, ParametrosConsultaVendasDTO parametros) { |
|
| - | 86 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getSequencialLoja())) { |
|
| - | 87 | sql.append("AND e.loja.sequencial = :sequencialLoja "); |
|
| - | 88 | }
|
|
| - | 89 | /*
|
|
| - | 90 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getSituacaoVenda())) {
|
|
| - | 91 | sql.append("AND e.tipoSituacao = :tipoSituacao ");
|
|
| - | 92 | }
|
|
| - | 93 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getVendedor())) {
|
|
| - | 94 | sql.append("AND e.vendedor.sequencial = :sequencialVendedor ");
|
|
| - | 95 | }
|
|
| - | 96 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getIndicacao())) {
|
|
| - | 97 | sql.append("AND e.indicacao.sequencial = :sequencialIndicacao ");
|
|
| - | 98 | }
|
|
| - | 99 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getIndicadorComissionado())) {
|
|
| - | 100 | sql.append("AND l.produto.indicadorComissionado = :indicadorComissionado ");
|
|
| - | 101 | }
|
|
| - | 102 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getTipoProduto())) {
|
|
| - | 103 | sql.append("AND l.produto.tipo = :tipoProduto ");
|
|
| - | 104 | }
|
|
| - | 105 | //TODO: VERIFICAR LANÇAMENTOS COM MAIS PAGAMENTOS QUE LANÇAMENTOS
|
|
| - | 106 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getSituacaoFinanceiraVenda())) {
|
|
| - | 107 | if (parametros.getSituacaoFinanceiraVenda().equals(br.com.ec.domain.model.tipos.TipoSituacaoFinanceira.NENHUMA.getValor())) {
|
|
| - | 108 | sql.append("AND (SELECT COUNT(c) FROM Conta c WHERE c.venda = e) = 0 ");
|
|
| - | 109 | // sql.append("AND ((SELECT COUNT(vf) FROM VendaFormaPagamento vf WHERE vf.venda = e) > (SELECT COUNT(cr) FROM ContaAReceber cr WHERE cr.venda = e)) ");
|
|
| - | 110 | }
|
|
| - | 111 | if (parametros.getSituacaoFinanceiraVenda().equals(br.com.ec.domain.model.tipos.TipoSituacaoFinanceira.QUITADO.getValor())) {
|
|
| - | 112 | sql.append("AND (SELECT COUNT(p) FROM Parcela p WHERE p.conta.venda = e AND p.dataPagamento is null AND p.indicadorAtivo = true) = 0 ");
|
|
| - | 113 | sql.append("AND (SELECT COUNT(c) FROM Conta c WHERE c.venda = e AND c.indicadorAtivo = true) > 0 ");
|
|
| - | 114 | }
|
|
| - | 115 | if (parametros.getSituacaoFinanceiraVenda().equals(br.com.ec.domain.model.tipos.TipoSituacaoFinanceira.PENDENCIAS.getValor())) {
|
|
| - | 116 | sql.append("AND ((SELECT COUNT(p) FROM Parcela p WHERE p.conta.venda = e AND p.dataPagamento is null AND p.indicadorAtivo = true) > 0 ");
|
|
| - | 117 | sql.append("OR (SELECT COUNT(c) FROM Conta c WHERE c.venda = e AND c.indicadorAtivo = true) = 0) ");
|
|
| - | 118 | }
|
|
| - | 119 | }
|
|
| - | 120 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getFormaPagamento())) {
|
|
| - | 121 | sql.append("AND (SELECT COUNT(p) FROM VendaFormaPagamento p WHERE p.venda = e AND p.formaPagamento.codigo = :codigoFormaPagamento) > 0 ");
|
|
| - | 122 | }
|
|
| - | 123 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getBandeiraCartao())) {
|
|
| - | 124 | sql.append("AND (SELECT COUNT(b) FROM VendaFormaPagamento b WHERE b.venda = e AND b.bandeiraCartao.codigo = :codigoBandeiraCartao) > 0 ");
|
|
| - | 125 | }
|
|
| - | 126 | */
|
|
| - | 127 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getSequencialVenda())) { |
|
| - | 128 | sql.append("AND e.sequencial = :sequencialVenda "); |
|
| - | 129 | } else if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getDataVendas()) |
|
| - | 130 | || VerificadorUtil.naoEstaNuloOuVazio(parametros.getDataInicial()) |
|
| - | 131 | || VerificadorUtil.naoEstaNuloOuVazio(parametros.getDataFinal())) { |
|
| - | 132 | sql.append("AND e.dataVenda >= :dataInicial "); |
|
| - | 133 | sql.append("AND e.dataVenda <= :dataFinal "); |
|
| - | 134 | }
|
|
| - | 135 | /*
|
|
| - | 136 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getCodigoCupom())) {
|
|
| - | 137 | sql.append("AND (SELECT COUNT(cl) FROM Lancamento cl WHERE cl.venda = e AND cl.cupom.codigo = :codigoCupom) > 0) ");
|
|
| - | 138 | }
|
|
| - | 139 | */
|
|
| - | 140 | }
|
|
| - | 141 | ||
| - | 142 | private void setarQueryParametrosConsulta(Query query, ParametrosConsultaVendasDTO parametros) { |
|
| - | 143 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getSequencialLoja())) { |
|
| - | 144 | query.setParameter("sequencialLoja", parametros.getSequencialLoja()); |
|
| - | 145 | }
|
|
| - | 146 | /*
|
|
| - | 147 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getSituacaoVenda())) {
|
|
| - | 148 | query.setParameter("tipoSituacao", parametros.getSituacaoVenda());
|
|
| - | 149 | }
|
|
| - | 150 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getVendedor())) {
|
|
| - | 151 | query.setParameter("sequencialVendedor", parametros.getVendedor().getSequencial());
|
|
| - | 152 | }
|
|
| - | 153 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getIndicacao())) {
|
|
| - | 154 | query.setParameter("sequencialIndicacao", parametros.getIndicacao().getSequencial());
|
|
| - | 155 | }
|
|
| - | 156 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getIndicadorComissionado())) {
|
|
| - | 157 | query.setParameter("indicadorComissionado", parametros.getIndicadorComissionado());
|
|
| - | 158 | }
|
|
| - | 159 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getTipoProduto())) {
|
|
| - | 160 | query.setParameter("tipoProduto", parametros.getTipoProduto());
|
|
| - | 161 | }
|
|
| - | 162 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getFormaPagamento())) {
|
|
| - | 163 | query.setParameter("codigoFormaPagamento", parametros.getFormaPagamento().getCodigo());
|
|
| - | 164 | }
|
|
| - | 165 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getBandeiraCartao())) {
|
|
| - | 166 | query.setParameter("codigoBandeiraCartao", parametros.getBandeiraCartao().getCodigo());
|
|
| - | 167 | }
|
|
| - | 168 | */
|
|
| - | 169 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getSequencialVenda())) { |
|
| - | 170 | query.setParameter("sequencialVenda", parametros.getSequencialVenda()); |
|
| - | 171 | } else if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getDataInicial()) |
|
| - | 172 | && VerificadorUtil.naoEstaNuloOuVazio(parametros.getDataFinal())) { |
|
| - | 173 | Date dataInicial = DataUtils.getDataComHorarioMinimo(parametros.getDataInicial()); |
|
| - | 174 | Date dataFinal = DataUtils.getDataComHorarioMaximo(parametros.getDataFinal()); |
|
| - | 175 | query.setParameter("dataInicial", dataInicial); |
|
| - | 176 | query.setParameter("dataFinal", dataFinal); |
|
| - | 177 | } else if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getDataVendas())) { |
|
| - | 178 | Date dataInicial = DataUtils.getDataComHorarioMinimo(parametros.getDataVendas()); |
|
| - | 179 | Date dataFinal = DataUtils.getDataComHorarioMaximo(parametros.getDataVendas()); |
|
| - | 180 | query.setParameter("dataInicial", dataInicial); |
|
| - | 181 | query.setParameter("dataFinal", dataFinal); |
|
| - | 182 | }
|
|
| - | 183 | /*
|
|
| - | 184 | if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getCodigoCupom())) {
|
|
| - | 185 | query.setParameter("codigoCupom", parametros.getCodigoCupom());
|
|
| - | 186 | }
|
|
| - | 187 | */
|
|
| 38 | }
|
188 | }
|
| 39 | 189 | ||
| 40 | /*
|
190 | /*
|
| 41 | private void setarParametrosStringConsultarVendaPorLojaEePeriodo(StringBuilder sql, Venda venda, Date dataInicial, Date dataFinal) {
|
191 | private void setarParametrosStringConsultarVendaPorLojaEePeriodo(StringBuilder sql, Venda venda, Date dataInicial, Date dataFinal) {
|
| 42 | setarStringParametrosConsultar(sql, venda);
|
192 | setarStringParametrosConsultar(sql, venda);
|
| Line 109... | Line 259... | ||
| 109 |
|
259 |
|
| 110 | return query.setFirstResult(primeiroRegistro).setMaxResults(tamanhoPagina).getResultList();
|
260 | return query.setFirstResult(primeiroRegistro).setMaxResults(tamanhoPagina).getResultList();
|
| 111 | } catch(Exception ex) {
|
261 | } catch(Exception ex) {
|
| 112 | ex.printStackTrace();
|
262 | ex.printStackTrace();
|
| 113 | return null;
|
263 | return null;
|
| 114 | }
|
- | |
| 115 | }
|
- | |
| 116 |
|
- | |
| 117 | @Override
|
- | |
| 118 | protected void setarStringParametrosConsulta(StringBuilder sql, ParametrosConsulta<Venda> parametros) {
|
- | |
| 119 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getLoja())) {
|
- | |
| 120 | sql.append("AND e.loja.sequencial = :sequencialLoja ");
|
- | |
| 121 | }
|
- | |
| 122 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getSituacaoVenda())) {
|
- | |
| 123 | sql.append("AND e.tipoSituacao = :tipoSituacao ");
|
- | |
| 124 | }
|
- | |
| 125 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getVendedor())) {
|
- | |
| 126 | sql.append("AND e.vendedor.sequencial = :sequencialVendedor ");
|
- | |
| 127 | }
|
- | |
| 128 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getIndicacao())) {
|
- | |
| 129 | sql.append("AND e.indicacao.sequencial = :sequencialIndicacao ");
|
- | |
| 130 | }
|
- | |
| 131 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getIndicadorComissionado())) {
|
- | |
| 132 | sql.append("AND l.produto.indicadorComissionado = :indicadorComissionado ");
|
- | |
| 133 | }
|
- | |
| 134 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getTipoProduto())) {
|
- | |
| 135 | sql.append("AND l.produto.tipo = :tipoProduto ");
|
- | |
| 136 | }
|
- | |
| 137 | //TODO: VERIFICAR LANÇAMENTOS COM MAIS PAGAMENTOS QUE LANÇAMENTOS
|
- | |
| 138 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getSituacaoFinanceiraVenda())) {
|
- | |
| 139 | if (((ParametrosConsultaVendasDTO)parametros).getSituacaoFinanceiraVenda().equals(br.com.ec.domain.model.tipos.TipoSituacaoFinanceira.NENHUMA.getValor())) {
|
- | |
| 140 | sql.append("AND (SELECT COUNT(c) FROM Conta c WHERE c.venda = e) = 0 ");
|
- | |
| 141 | // sql.append("AND ((SELECT COUNT(vf) FROM VendaFormaPagamento vf WHERE vf.venda = e) > (SELECT COUNT(cr) FROM ContaAReceber cr WHERE cr.venda = e)) ");
|
- | |
| 142 | }
|
- | |
| 143 | if (((ParametrosConsultaVendasDTO)parametros).getSituacaoFinanceiraVenda().equals(br.com.ec.domain.model.tipos.TipoSituacaoFinanceira.QUITADO.getValor())) {
|
- | |
| 144 | sql.append("AND (SELECT COUNT(p) FROM Parcela p WHERE p.conta.venda = e AND p.dataPagamento is null AND p.indicadorAtivo = true) = 0 ");
|
- | |
| 145 | sql.append("AND (SELECT COUNT(c) FROM Conta c WHERE c.venda = e AND c.indicadorAtivo = true) > 0 ");
|
- | |
| 146 | }
|
- | |
| 147 | if (((ParametrosConsultaVendasDTO)parametros).getSituacaoFinanceiraVenda().equals(br.com.ec.domain.model.tipos.TipoSituacaoFinanceira.PENDENCIAS.getValor())) {
|
- | |
| 148 | sql.append("AND ((SELECT COUNT(p) FROM Parcela p WHERE p.conta.venda = e AND p.dataPagamento is null AND p.indicadorAtivo = true) > 0 ");
|
- | |
| 149 | sql.append("OR (SELECT COUNT(c) FROM Conta c WHERE c.venda = e AND c.indicadorAtivo = true) = 0) ");
|
- | |
| 150 | }
|
- | |
| 151 | }
|
- | |
| 152 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getFormaPagamento())) {
|
- | |
| 153 | sql.append("AND (SELECT COUNT(p) FROM VendaFormaPagamento p WHERE p.venda = e AND p.formaPagamento.codigo = :codigoFormaPagamento) > 0 ");
|
- | |
| 154 | }
|
- | |
| 155 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getBandeiraCartao())) {
|
- | |
| 156 | sql.append("AND (SELECT COUNT(b) FROM VendaFormaPagamento b WHERE b.venda = e AND b.bandeiraCartao.codigo = :codigoBandeiraCartao) > 0 ");
|
- | |
| 157 | }
|
- | |
| 158 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getSequencialVenda())) {
|
- | |
| 159 | sql.append("AND e.sequencial = :sequencialVenda ");
|
- | |
| 160 | } else if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO) parametros).getDataVendas())
|
- | |
| 161 | || VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO) parametros).getDataInicial())
|
- | |
| 162 | || VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO) parametros).getDataFinal())) {
|
- | |
| 163 | sql.append("AND e.dataVenda >= :dataInicial ");
|
- | |
| 164 | sql.append("AND e.dataVenda <= :dataFinal ");
|
- | |
| 165 | }
|
- | |
| 166 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getCodigoCupom())) {
|
- | |
| 167 | sql.append("AND (SELECT COUNT(cl) FROM Lancamento cl WHERE cl.venda = e AND cl.cupom.codigo = :codigoCupom) > 0) ");
|
- | |
| 168 | }
|
- | |
| 169 | }
|
- | |
| 170 |
|
- | |
| 171 | @Override
|
- | |
| 172 | protected void setarQueryParametrosConsulta(Query query, ParametrosConsulta<Venda> parametros) {
|
- | |
| 173 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getLoja())) {
|
- | |
| 174 | query.setParameter("sequencialLoja", ((ParametrosConsultaVendasDTO)parametros).getLoja().getSequencial());
|
- | |
| 175 | }
|
- | |
| 176 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getSituacaoVenda())) {
|
- | |
| 177 | query.setParameter("tipoSituacao", ((ParametrosConsultaVendasDTO)parametros).getSituacaoVenda());
|
- | |
| 178 | }
|
- | |
| 179 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getVendedor())) {
|
- | |
| 180 | query.setParameter("sequencialVendedor", ((ParametrosConsultaVendasDTO)parametros).getVendedor().getSequencial());
|
- | |
| 181 | }
|
- | |
| 182 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getIndicacao())) {
|
- | |
| 183 | query.setParameter("sequencialIndicacao", ((ParametrosConsultaVendasDTO)parametros).getIndicacao().getSequencial());
|
- | |
| 184 | }
|
- | |
| 185 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getIndicadorComissionado())) {
|
- | |
| 186 | query.setParameter("indicadorComissionado", ((ParametrosConsultaVendasDTO)parametros).getIndicadorComissionado());
|
- | |
| 187 | }
|
- | |
| 188 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getTipoProduto())) {
|
- | |
| 189 | query.setParameter("tipoProduto", ((ParametrosConsultaVendasDTO)parametros).getTipoProduto());
|
- | |
| 190 | }
|
- | |
| 191 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getFormaPagamento())) {
|
- | |
| 192 | query.setParameter("codigoFormaPagamento", ((ParametrosConsultaVendasDTO)parametros).getFormaPagamento().getCodigo());
|
- | |
| 193 | }
|
- | |
| 194 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getBandeiraCartao())) {
|
- | |
| 195 | query.setParameter("codigoBandeiraCartao", ((ParametrosConsultaVendasDTO)parametros).getBandeiraCartao().getCodigo());
|
- | |
| 196 | }
|
- | |
| 197 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getSequencialVenda())) {
|
- | |
| 198 | query.setParameter("sequencialVenda", ((ParametrosConsultaVendasDTO)parametros).getSequencialVenda());
|
- | |
| 199 | } else if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO) parametros).getDataInicial())
|
- | |
| 200 | && VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO) parametros).getDataFinal())) {
|
- | |
| 201 | Date dataInicial = DataUtils.getDataComHorarioMinimo(((ParametrosConsultaVendasDTO) parametros).getDataInicial());
|
- | |
| 202 | Date dataFinal = DataUtils.getDataComHorarioMaximo(((ParametrosConsultaVendasDTO) parametros).getDataFinal());
|
- | |
| 203 | query.setParameter("dataInicial", dataInicial);
|
- | |
| 204 | query.setParameter("dataFinal", dataFinal);
|
- | |
| 205 | } else if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO) parametros).getDataVendas())) {
|
- | |
| 206 | Date dataInicial = DataUtils.getDataComHorarioMinimo(((ParametrosConsultaVendasDTO) parametros).getDataVendas());
|
- | |
| 207 | Date dataFinal = DataUtils.getDataComHorarioMaximo(((ParametrosConsultaVendasDTO) parametros).getDataVendas());
|
- | |
| 208 | query.setParameter("dataInicial", dataInicial);
|
- | |
| 209 | query.setParameter("dataFinal", dataFinal);
|
- | |
| 210 | }
|
- | |
| 211 | if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaVendasDTO)parametros).getCodigoCupom())) {
|
- | |
| 212 | query.setParameter("codigoCupom", ((ParametrosConsultaVendasDTO)parametros).getCodigoCupom());
|
- | |
| 213 | }
|
264 | }
|
| 214 | }
|
265 | }
|
| 215 |
|
266 |
|
| 216 | @Override
|
267 | @Override
|
| 217 | public List<Venda> consultarVendaPorParametros(ParametrosConsultaVendasDTO parametrosConsultaVendas) {
|
268 | public List<Venda> consultarVendaPorParametros(ParametrosConsultaVendasDTO parametrosConsultaVendas) {
|
| Line 279... | Line 330... | ||
| 279 | ex.printStackTrace();
|
330 | ex.printStackTrace();
|
| 280 | return null;
|
331 | return null;
|
| 281 | }
|
332 | }
|
| 282 | }
|
333 | }
|
| 283 |
|
334 |
|
| 284 | @Override
|
- | |
| 285 | public Double obterValorTotalBrutoDeVendasPorLojaEePeriodo(Loja loja, Date dataInicial, Date dataFinal) {
|
- | |
| 286 | StringBuilder sql = new StringBuilder();
|
- | |
| 287 | sql.append("SELECT SUM(l.valorVenda) FROM Venda e ");
|
- | |
| 288 | sql.append("LEFT JOIN e.listaLancamentos l ");
|
- | |
| 289 | sql.append("WHERE l.ativo IS TRUE ");
|
- | |
| 290 | try {
|
- | |
| 291 | setarParametrosStringConsultarVendaPorLojaEePeriodo(sql, new Venda(loja, null), dataInicial, dataFinal);
|
- | |
| 292 | TypedQuery<Double> query = getEntityManager().createQuery(sql.toString(), Double.class);
|
- | |
| 293 | setarParametrosQueryConsultarVendaPorLojaEePeriodo(query, new Venda(loja, null), dataInicial, dataFinal);
|
- | |
| 294 | Double total = query.getSingleResult();
|
- | |
| 295 | if (VerificadorUtil.estaNulo(total)) {
|
- | |
| 296 | return new Double(0.0);
|
- | |
| 297 | }
|
- | |
| 298 | return total;
|
- | |
| 299 | } catch(Exception ex) {
|
- | |
| 300 | ex.printStackTrace();
|
- | |
| 301 | return null;
|
- | |
| 302 | }
|
- | |
| 303 | }
|
- | |
| 304 |
|
335 |
|
| 305 | private void setarParametrosQueryConsultarVendaPorLojaEePeriodo(Query query, Venda venda, Date dataInicial, Date dataFinal) {
|
336 | private void setarParametrosQueryConsultarVendaPorLojaEePeriodo(Query query, Venda venda, Date dataInicial, Date dataFinal) {
|
| 306 | setarQueryParametrosConsultar(query, venda);
|
337 | setarQueryParametrosConsultar(query, venda);
|
| 307 | if (VerificadorUtil.naoEstaNuloOuVazio(dataInicial) && VerificadorUtil.naoEstaNuloOuVazio(dataFinal)) {
|
338 | if (VerificadorUtil.naoEstaNuloOuVazio(dataInicial) && VerificadorUtil.naoEstaNuloOuVazio(dataFinal)) {
|
| 308 | query.setParameter("dataInicial", DataUtils.getDataComHorarioMinimo(dataInicial));
|
339 | query.setParameter("dataInicial", DataUtils.getDataComHorarioMinimo(dataInicial));
|