Subversion Repositories Integrator Subversion

Rev

Rev 259 | Rev 467 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
229 espaco 1
package br.com.ec.repository.jpa;
2
 
3
import java.util.List;
4
 
264 espaco 5
import javax.persistence.TypedQuery;
6
 
229 espaco 7
import org.springframework.stereotype.Repository;
8
 
264 espaco 9
import br.com.ec.core.util.VerificadorUtil;
229 espaco 10
import br.com.ec.domain.dto.LojaDTO;
259 espaco 11
import br.com.ec.domain.model.Loja;
229 espaco 12
import br.com.ec.repository.LojaRepository;
13
import br.com.ec.repository.SistemaAbstractRepository;
14
 
15
@Repository
16
public class LojaRepositoryJpaImpl extends SistemaAbstractRepository<Loja> implements LojaRepository {
17
 
18
        @Override
19
        protected String getColunaOrdenadora() {
20
                return "ordenador, descricao";
21
        }
22
 
23
        @Override
264 espaco 24
        public List<LojaDTO> consultarLojas(Boolean ativo) {
229 espaco 25
                StringBuilder jpql = new StringBuilder();
26
                jpql.append("SELECT new br.com.ec.domain.dto.LojaDTO(l.sequencial, l.descricao) FROM Loja l ");
264 espaco 27
                jpql.append("WHERE 1=1 ");
28
                if (VerificadorUtil.naoEstaNulo(ativo)) {
29
                        jpql.append("AND l.ativo = :indicadorAtivo ");
30
                }
229 espaco 31
                jpql.append("ORDER BY l.ordenador ");
32
                try {
264 espaco 33
                        TypedQuery<LojaDTO> query = getEntityManager().createQuery(jpql.toString(), LojaDTO.class);
34
                        if (VerificadorUtil.naoEstaNulo(ativo)) {
35
                                query.setParameter("indicadorAtivo", ativo);
36
                        }
37
                        return query.getResultList();
229 espaco 38
                } catch (Exception ex) {
39
                        ex.printStackTrace();
40
                }
41
                return null;
42
        }
43
 
44
        /*
45
        @Override
46
        protected void setarStringParametrosConsultar(StringBuilder sql, Loja loja) {
47
                if (VerificadorUtil.naoEstaNuloOuVazio(loja)) {
48
                        if (VerificadorUtil.naoEstaNuloOuVazio(loja.getAtivo())) {
49
                                sql.append("AND e.ativo = :ativo ");
50
                        }
51
                }
52
        }
53
 
54
        @Override
55
        protected void setarQueryParametrosConsultar(Query query, Loja loja) {
56
                if (VerificadorUtil.naoEstaNuloOuVazio(loja)) {
57
                        if (VerificadorUtil.naoEstaNulo(loja.getAtivo())) {
58
                                query.setParameter("ativo", loja.getAtivo());
59
                        }
60
                }
61
        }
62
 
63
        @Override
64
        protected void setarStringParametrosConsulta(StringBuilder sql, ParametrosConsulta<Loja> parametros) {
65
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getEntidade())) {
66
                        if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getEntidade().getAtivo())) {
67
                                sql.append("AND e.ativo = :ativo ");
68
                        }
69
                }
70
        }
71
 
72
        @Override
73
        protected void setarQueryParametrosConsulta(Query query, ParametrosConsulta<Loja> parametros) {
74
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getEntidade())) {
75
                        if (VerificadorUtil.naoEstaNulo(parametros.getEntidade().getAtivo())) {
76
                                query.setParameter("ativo", parametros.getEntidade().getAtivo());
77
                        }
78
                }
79
        }
80
 
81
        @Override
82
        public Loja consultarPorId(Loja loja) {
83
                return getEntityManager().find(Loja.class, loja.getSequencial());
84
        }
85
 
86
        @Override
87
        public List<Loja> consultarLojas(Boolean ativo) {
88
                StringBuilder jpql = new StringBuilder();
89
                try {
90
                        jpql.append("SELECT DISTINCT l FROM Loja l ");
91
                        jpql.append("WHERE 1=1 ");
92
                        if (VerificadorUtil.naoEstaNulo(ativo)) {
93
                                jpql.append("AND l.ativo = :ativo ");
94
                        }
95
                        jpql.append("ORDER BY l.ordenador, l.descricao");
96
                        TypedQuery<Loja> query = getEntityManager().createQuery(jpql.toString(), Loja.class);
97
                        if (VerificadorUtil.naoEstaNulo(ativo)) {
98
                                query.setParameter("ativo", ativo);
99
                        }
100
                        return query.getResultList();
101
                } catch (NoResultException e) {
102
                        return null;
103
                }
104
        }
105
 
106
        @Override
107
        public List<Loja> consultarLojasComDetalhe() {
108
                StringBuilder jpql = new StringBuilder();
109
                try {
110
                        jpql.append("SELECT DISTINCT l FROM Loja l ");
111
                        jpql.append("LEFT JOIN FETCH l.pessoaJuridica pj ");
112
                        jpql.append("LEFT JOIN FETCH pj.enderecos e ");
113
                        jpql.append("LEFT JOIN FETCH pj.dadosBancarios b ");
114
                        jpql.append("ORDER BY l.ordenador, l.descricao");
115
                        return getEntityManager().createQuery(jpql.toString(), Loja.class).getResultList();
116
                } catch (NoResultException e) {
117
                        return null;
118
                }
119
        }
120
 
121
        @Override
122
        public List<LojaDTO> consultarLojasDTO(Boolean ativo) {
123
                StringBuilder jpql = new StringBuilder();
124
                try {
125
                        jpql.append("SELECT new br.com.ec.domain.dto.LojaDTO(l.sequencial, l.descricao) FROM Loja l ");
126
                        jpql.append("WHERE 1=1 ");
127
                        if (VerificadorUtil.naoEstaNulo(ativo)) {
128
                                jpql.append("AND l.ativo = :ativo ");
129
                        }
130
                        jpql.append("ORDER BY l.ordenador, l.descricao ");
131
                        TypedQuery<LojaDTO> query = getEntityManager().createQuery(jpql.toString(), LojaDTO.class);
132
                        if (VerificadorUtil.naoEstaNulo(ativo)) {
133
                                query.setParameter("ativo", ativo);
134
                        }
135
                        return query.getResultList();
136
                } catch (NoResultException e) {
137
                        return null;
138
                }
139
        }
140
        */
141
}