Subversion Repositories Integrator Subversion

Rev

Rev 514 | 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;
467 blopes 11
import br.com.ec.domain.dto.PessoaDTO;
259 espaco 12
import br.com.ec.domain.model.Loja;
467 blopes 13
import br.com.ec.domain.model.Pessoa;
229 espaco 14
import br.com.ec.repository.LojaRepository;
15
import br.com.ec.repository.SistemaAbstractRepository;
16
 
17
@Repository
18
public class LojaRepositoryJpaImpl extends SistemaAbstractRepository<Loja> implements LojaRepository {
19
 
20
        @Override
21
        protected String getColunaOrdenadora() {
22
                return "ordenador, descricao";
23
        }
24
 
25
        @Override
264 espaco 26
        public List<LojaDTO> consultarLojas(Boolean ativo) {
229 espaco 27
                StringBuilder jpql = new StringBuilder();
514 blopes 28
                jpql.append("SELECT new br.com.ec.domain.dto.LojaDTO(");
29
                jpql.append(LojaDTO.CONSULTA_DTO_SIMPLES);
30
                jpql.append(") FROM Loja e ");
264 espaco 31
                jpql.append("WHERE 1=1 ");
32
                if (VerificadorUtil.naoEstaNulo(ativo)) {
514 blopes 33
                        jpql.append("AND e.ativo = :indicadorAtivo ");
264 espaco 34
                }
514 blopes 35
                jpql.append("ORDER BY e.ordenador ");
229 espaco 36
                try {
264 espaco 37
                        TypedQuery<LojaDTO> query = getEntityManager().createQuery(jpql.toString(), LojaDTO.class);
38
                        if (VerificadorUtil.naoEstaNulo(ativo)) {
39
                                query.setParameter("indicadorAtivo", ativo);
40
                        }
41
                        return query.getResultList();
229 espaco 42
                } catch (Exception ex) {
43
                        ex.printStackTrace();
44
                }
45
                return null;
46
        }
47
 
467 blopes 48
        @Override
650 blopes 49
        public LojaDTO consultarLojaPeloId(Long sequencial) {
50
                StringBuilder jpql = new StringBuilder();
51
                jpql.append("SELECT new br.com.ec.domain.dto.LojaDTO(");
52
                jpql.append(LojaDTO.CONSULTA_DTO_SIMPLES);
53
                jpql.append(") FROM Loja e ");
54
                jpql.append("WHERE e.sequencial = :sequencialLoja");
55
                try {
56
                        return getEntityManager().createQuery(jpql.toString(), LojaDTO.class).setParameter("sequencialLoja", sequencial).getSingleResult();
57
                } catch (Exception ex) {
58
                        ex.printStackTrace();
59
                }
60
                return null;
61
        }
62
 
63
        /*
64
        @Override
467 blopes 65
        public LojaDTO consultarLojaPelaPessoa(Long sequencialPessoa) {
66
                StringBuilder jpql = new StringBuilder();
67
                jpql.append("SELECT new br.com.ec.domain.dto.LojaDTO(");
514 blopes 68
                jpql.append(LojaDTO.CONSULTA_DTO_SIMPLES);
467 blopes 69
                jpql.append(") FROM Loja e ");
70
                jpql.append("WHERE e.pessoaJuridica.sequencial = :sequencialPessoa");
71
                try {
72
                        return getEntityManager().createQuery(jpql.toString(), LojaDTO.class).setParameter("sequencialPessoa", sequencialPessoa).getSingleResult();
73
                } catch (Exception ex) {
74
                        ex.printStackTrace();
75
                }
76
                return null;
77
        }
650 blopes 78
        */
229 espaco 79
        /*
80
        @Override
81
        protected void setarStringParametrosConsultar(StringBuilder sql, Loja loja) {
82
                if (VerificadorUtil.naoEstaNuloOuVazio(loja)) {
83
                        if (VerificadorUtil.naoEstaNuloOuVazio(loja.getAtivo())) {
84
                                sql.append("AND e.ativo = :ativo ");
85
                        }
86
                }
87
        }
88
 
89
        @Override
90
        protected void setarQueryParametrosConsultar(Query query, Loja loja) {
91
                if (VerificadorUtil.naoEstaNuloOuVazio(loja)) {
92
                        if (VerificadorUtil.naoEstaNulo(loja.getAtivo())) {
93
                                query.setParameter("ativo", loja.getAtivo());
94
                        }
95
                }
96
        }
97
 
98
        @Override
99
        protected void setarStringParametrosConsulta(StringBuilder sql, ParametrosConsulta<Loja> parametros) {
100
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getEntidade())) {
101
                        if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getEntidade().getAtivo())) {
102
                                sql.append("AND e.ativo = :ativo ");
103
                        }
104
                }
105
        }
106
 
107
        @Override
108
        protected void setarQueryParametrosConsulta(Query query, ParametrosConsulta<Loja> parametros) {
109
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getEntidade())) {
110
                        if (VerificadorUtil.naoEstaNulo(parametros.getEntidade().getAtivo())) {
111
                                query.setParameter("ativo", parametros.getEntidade().getAtivo());
112
                        }
113
                }
114
        }
115
 
116
        @Override
117
        public Loja consultarPorId(Loja loja) {
118
                return getEntityManager().find(Loja.class, loja.getSequencial());
119
        }
120
 
121
        @Override
122
        public List<Loja> consultarLojas(Boolean ativo) {
123
                StringBuilder jpql = new StringBuilder();
124
                try {
125
                        jpql.append("SELECT DISTINCT l 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<Loja> query = getEntityManager().createQuery(jpql.toString(), Loja.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
        @Override
142
        public List<Loja> consultarLojasComDetalhe() {
143
                StringBuilder jpql = new StringBuilder();
144
                try {
145
                        jpql.append("SELECT DISTINCT l FROM Loja l ");
146
                        jpql.append("LEFT JOIN FETCH l.pessoaJuridica pj ");
147
                        jpql.append("LEFT JOIN FETCH pj.enderecos e ");
148
                        jpql.append("LEFT JOIN FETCH pj.dadosBancarios b ");
149
                        jpql.append("ORDER BY l.ordenador, l.descricao");
150
                        return getEntityManager().createQuery(jpql.toString(), Loja.class).getResultList();
151
                } catch (NoResultException e) {
152
                        return null;
153
                }
154
        }
155
 
156
        @Override
157
        public List<LojaDTO> consultarLojasDTO(Boolean ativo) {
158
                StringBuilder jpql = new StringBuilder();
159
                try {
160
                        jpql.append("SELECT new br.com.ec.domain.dto.LojaDTO(l.sequencial, l.descricao) FROM Loja l ");
161
                        jpql.append("WHERE 1=1 ");
162
                        if (VerificadorUtil.naoEstaNulo(ativo)) {
163
                                jpql.append("AND l.ativo = :ativo ");
164
                        }
165
                        jpql.append("ORDER BY l.ordenador, l.descricao ");
166
                        TypedQuery<LojaDTO> query = getEntityManager().createQuery(jpql.toString(), LojaDTO.class);
167
                        if (VerificadorUtil.naoEstaNulo(ativo)) {
168
                                query.setParameter("ativo", ativo);
169
                        }
170
                        return query.getResultList();
171
                } catch (NoResultException e) {
172
                        return null;
173
                }
174
        }
175
        */
176
}