Subversion Repositories Integrator Subversion

Rev

Rev 264 | Rev 514 | 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;
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();
28
                jpql.append("SELECT new br.com.ec.domain.dto.LojaDTO(l.sequencial, l.descricao) FROM Loja l ");
264 espaco 29
                jpql.append("WHERE 1=1 ");
30
                if (VerificadorUtil.naoEstaNulo(ativo)) {
31
                        jpql.append("AND l.ativo = :indicadorAtivo ");
32
                }
229 espaco 33
                jpql.append("ORDER BY l.ordenador ");
34
                try {
264 espaco 35
                        TypedQuery<LojaDTO> query = getEntityManager().createQuery(jpql.toString(), LojaDTO.class);
36
                        if (VerificadorUtil.naoEstaNulo(ativo)) {
37
                                query.setParameter("indicadorAtivo", ativo);
38
                        }
39
                        return query.getResultList();
229 espaco 40
                } catch (Exception ex) {
41
                        ex.printStackTrace();
42
                }
43
                return null;
44
        }
45
 
467 blopes 46
        @Override
47
        public LojaDTO consultarLojaPelaPessoa(Long sequencialPessoa) {
48
                StringBuilder jpql = new StringBuilder();
49
                jpql.append("SELECT new br.com.ec.domain.dto.LojaDTO(");
50
                jpql.append(PessoaDTO.CONSULTA_DTO_COMPLETA);
51
                jpql.append(") FROM Loja e ");
52
                jpql.append("WHERE e.pessoaJuridica.sequencial = :sequencialPessoa");
53
                try {
54
                        return getEntityManager().createQuery(jpql.toString(), LojaDTO.class).setParameter("sequencialPessoa", sequencialPessoa).getSingleResult();
55
                } catch (Exception ex) {
56
                        ex.printStackTrace();
57
                }
58
                return null;
59
        }
60
 
229 espaco 61
        /*
62
        @Override
63
        protected void setarStringParametrosConsultar(StringBuilder sql, Loja loja) {
64
                if (VerificadorUtil.naoEstaNuloOuVazio(loja)) {
65
                        if (VerificadorUtil.naoEstaNuloOuVazio(loja.getAtivo())) {
66
                                sql.append("AND e.ativo = :ativo ");
67
                        }
68
                }
69
        }
70
 
71
        @Override
72
        protected void setarQueryParametrosConsultar(Query query, Loja loja) {
73
                if (VerificadorUtil.naoEstaNuloOuVazio(loja)) {
74
                        if (VerificadorUtil.naoEstaNulo(loja.getAtivo())) {
75
                                query.setParameter("ativo", loja.getAtivo());
76
                        }
77
                }
78
        }
79
 
80
        @Override
81
        protected void setarStringParametrosConsulta(StringBuilder sql, ParametrosConsulta<Loja> parametros) {
82
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getEntidade())) {
83
                        if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getEntidade().getAtivo())) {
84
                                sql.append("AND e.ativo = :ativo ");
85
                        }
86
                }
87
        }
88
 
89
        @Override
90
        protected void setarQueryParametrosConsulta(Query query, ParametrosConsulta<Loja> parametros) {
91
                if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getEntidade())) {
92
                        if (VerificadorUtil.naoEstaNulo(parametros.getEntidade().getAtivo())) {
93
                                query.setParameter("ativo", parametros.getEntidade().getAtivo());
94
                        }
95
                }
96
        }
97
 
98
        @Override
99
        public Loja consultarPorId(Loja loja) {
100
                return getEntityManager().find(Loja.class, loja.getSequencial());
101
        }
102
 
103
        @Override
104
        public List<Loja> consultarLojas(Boolean ativo) {
105
                StringBuilder jpql = new StringBuilder();
106
                try {
107
                        jpql.append("SELECT DISTINCT l FROM Loja l ");
108
                        jpql.append("WHERE 1=1 ");
109
                        if (VerificadorUtil.naoEstaNulo(ativo)) {
110
                                jpql.append("AND l.ativo = :ativo ");
111
                        }
112
                        jpql.append("ORDER BY l.ordenador, l.descricao");
113
                        TypedQuery<Loja> query = getEntityManager().createQuery(jpql.toString(), Loja.class);
114
                        if (VerificadorUtil.naoEstaNulo(ativo)) {
115
                                query.setParameter("ativo", ativo);
116
                        }
117
                        return query.getResultList();
118
                } catch (NoResultException e) {
119
                        return null;
120
                }
121
        }
122
 
123
        @Override
124
        public List<Loja> consultarLojasComDetalhe() {
125
                StringBuilder jpql = new StringBuilder();
126
                try {
127
                        jpql.append("SELECT DISTINCT l FROM Loja l ");
128
                        jpql.append("LEFT JOIN FETCH l.pessoaJuridica pj ");
129
                        jpql.append("LEFT JOIN FETCH pj.enderecos e ");
130
                        jpql.append("LEFT JOIN FETCH pj.dadosBancarios b ");
131
                        jpql.append("ORDER BY l.ordenador, l.descricao");
132
                        return getEntityManager().createQuery(jpql.toString(), Loja.class).getResultList();
133
                } catch (NoResultException e) {
134
                        return null;
135
                }
136
        }
137
 
138
        @Override
139
        public List<LojaDTO> consultarLojasDTO(Boolean ativo) {
140
                StringBuilder jpql = new StringBuilder();
141
                try {
142
                        jpql.append("SELECT new br.com.ec.domain.dto.LojaDTO(l.sequencial, l.descricao) FROM Loja l ");
143
                        jpql.append("WHERE 1=1 ");
144
                        if (VerificadorUtil.naoEstaNulo(ativo)) {
145
                                jpql.append("AND l.ativo = :ativo ");
146
                        }
147
                        jpql.append("ORDER BY l.ordenador, l.descricao ");
148
                        TypedQuery<LojaDTO> query = getEntityManager().createQuery(jpql.toString(), LojaDTO.class);
149
                        if (VerificadorUtil.naoEstaNulo(ativo)) {
150
                                query.setParameter("ativo", ativo);
151
                        }
152
                        return query.getResultList();
153
                } catch (NoResultException e) {
154
                        return null;
155
                }
156
        }
157
        */
158
}