Subversion Repositories Integrator Subversion

Rev

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