Subversion Repositories Integrator Subversion

Rev

Rev 346 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 346 Rev 370
Line 1... Line 1...
1
package br.com.ec.repository.jpa;
1
package br.com.ec.repository.jpa;
2
2
-
 
3
import java.util.Date;
3
import java.util.List;
4
import java.util.List;
4
5
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;
10
import br.com.ec.domain.dto.EntregaDTO;
12
import br.com.ec.domain.dto.EntregaDTO;
11
import br.com.ec.domain.dto.ExtratoEntregasDTO;
13
import br.com.ec.domain.dto.ExtratoEntregasDTO;
12
import br.com.ec.domain.model.Pedido;
14
import br.com.ec.domain.model.Pedido;
13
import br.com.ec.repository.PedidoRepository;
15
import br.com.ec.repository.PedidoRepository;
14
import br.com.ec.repository.SistemaAbstractRepository;
16
import br.com.ec.repository.SistemaAbstractRepository;
Line 35... Line 37...
35
                        return query.getResultList();
37
                        return query.getResultList();
36
                } catch(Exception ex) {
38
                } catch(Exception ex) {
37
                        ex.printStackTrace();
39
                        ex.printStackTrace();
38
                        return null;
40
                        return null;
39
                }
41
                }
-
 
42
        }
-
 
43
       
-
 
44
        @Override
-
 
45
        public Integer obterQuantidadePedidosPorSituacaoEePeriodo(String tipoPedido, String tipoSituacaoPedido, Date dataInicial, Date dataFinal) {
-
 
46
                StringBuilder sql = new StringBuilder();
-
 
47
                sql.append("SELECT COUNT(p) FROM Pedido p ");
-
 
48
                sql.append("WHERE p.tipoSituacao = :tipoSituacao ");
-
 
49
                if (VerificadorUtil.naoEstaNuloOuVazio(tipoPedido)) {
-
 
50
                        sql.append("AND p.tipoPedido = :tipoPedido ");
-
 
51
                }
-
 
52
                if (VerificadorUtil.naoEstaNulo(dataInicial)) {
-
 
53
                        sql.append("AND p.dataUltimaAlteracaoSituacao >= :dataInicial ");
-
 
54
                }
-
 
55
                sql.append("AND p.dataUltimaAlteracaoSituacao <= :dataFinal ");
-
 
56
                TypedQuery<Long> query = getEntityManager().createQuery(sql.toString(), Long.class);
-
 
57
                if (VerificadorUtil.naoEstaNulo(tipoPedido)) {
-
 
58
                        query.setParameter("tipoPedido", tipoPedido);
-
 
59
                }
-
 
60
                if (VerificadorUtil.naoEstaNulo(dataInicial)) {
-
 
61
                        query.setParameter("dataInicial", DataUtils.getDataComHorarioMinimo(dataInicial));
-
 
62
                }
-
 
63
                query.setParameter("dataFinal", DataUtils.getDataComHorarioMaximo(dataFinal));
-
 
64
                query.setParameter("tipoSituacao", tipoSituacaoPedido);
-
 
65
                return query.getSingleResult().intValue();
-
 
66
               
40
        }
67
        }
41
       
68
       
42
        /*
69
        /*
43
        @Override
70
        @Override
44
        protected void setarStringParametrosConsulta(StringBuilder sql, ParametrosConsulta<Pedido> parametros) {
71
        protected void setarStringParametrosConsulta(StringBuilder sql, ParametrosConsulta<Pedido> parametros) {
Line 269... Line 296...
269
                if (VerificadorUtil.naoEstaNulo(tipoPedido)) {
296
                if (VerificadorUtil.naoEstaNulo(tipoPedido)) {
270
                        query.setParameter("tipoPedido", tipoPedido);
297
                        query.setParameter("tipoPedido", tipoPedido);
271
                }
298
                }
272
                query.setParameter("tipoSituacao", tipoSituacaoPedido);
299
                query.setParameter("tipoSituacao", tipoSituacaoPedido);
273
                return query.getSingleResult().intValue();
300
                return query.getSingleResult().intValue();
274
        }
-
 
275
       
-
 
276
        @Override
-
 
277
        public Integer obterQuantidadePedidosPorSituacaoEePeriodo(String tipoPedido, String tipoSituacaoPedido, Date dataInicial, Date dataFinal) {
-
 
278
                StringBuilder sql = new StringBuilder();
-
 
279
                sql.append("SELECT COUNT(p) FROM Pedido p ");
-
 
280
                sql.append("WHERE p.tipoSituacao = :tipoSituacao ");
-
 
281
                if (VerificadorUtil.naoEstaNuloOuVazio(tipoPedido)) {
-
 
282
                        sql.append("AND p.tipoPedido = :tipoPedido ");
-
 
283
                }
-
 
284
                if (VerificadorUtil.naoEstaNulo(dataInicial)) {
-
 
285
                        sql.append("AND p.dataUltimaAlteracaoSituacao >= :dataInicial ");
-
 
286
                }
-
 
287
                sql.append("AND p.dataUltimaAlteracaoSituacao <= :dataFinal ");
-
 
288
                TypedQuery<Long> query = getEntityManager().createQuery(sql.toString(), Long.class);
-
 
289
                if (VerificadorUtil.naoEstaNulo(tipoPedido)) {
-
 
290
                        query.setParameter("tipoPedido", tipoPedido);
-
 
291
                }
-
 
292
                if (VerificadorUtil.naoEstaNulo(dataInicial)) {
-
 
293
                        query.setParameter("dataInicial", DataUtils.getDataComHorarioMinimo(dataInicial));
-
 
294
                }
-
 
295
                query.setParameter("dataFinal", DataUtils.getDataComHorarioMaximo(dataFinal));
-
 
296
                query.setParameter("tipoSituacao", tipoSituacaoPedido);
-
 
297
                return query.getSingleResult().intValue();
-
 
298
               
-
 
299
        }
301
        }
300
       
302
       
301
        @Override
303
        @Override
302
        public void excluirHistoricosDoPedido(Pedido pedido) {
304
        public void excluirHistoricosDoPedido(Pedido pedido) {
303
                StringBuilder sql = new StringBuilder();
305
                StringBuilder sql = new StringBuilder();