Subversion Repositories Integrator Subversion

Rev

Rev 325 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
325 espaco 1
package br.com.ec.repository.jpa;
2
 
3
import java.util.List;
4
 
5
import javax.persistence.TypedQuery;
6
 
7
import org.springframework.stereotype.Repository;
8
 
9
import br.com.ec.core.util.DataUtils;
10
import br.com.ec.core.util.VerificadorUtil;
11
import br.com.ec.domain.dto.EstampaDTO;
12
import br.com.ec.domain.dto.TemaEstampaDTO;
13
import br.com.ec.domain.model.Estampa;
530 blopes 14
import br.com.ec.domain.model.TemaEstampa;
325 espaco 15
import br.com.ec.repository.EstampaRepository;
16
import br.com.ec.repository.SistemaAbstractRepository;
17
 
18
@Repository
19
public class EstampaRepositoryJpaImpl extends SistemaAbstractRepository<Estampa> implements EstampaRepository {
20
 
21
        @Override
22
        protected String getColunaOrdenadora() {
23
                return "descricao";
24
        }
25
 
26
        /*
27
        @Override
28
        protected void setarStringParametrosConsulta(StringBuilder sql, ParametrosConsulta<Pessoa> parametros) {
29
                if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaPessoasDTO)parametros).getEntidade())) {
30
                        if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaPessoasDTO)parametros).getEntidade().getNome())) {
31
                                sql.append("AND ");
32
                                sql.append(sqlConsultarSemAcento("e.nome"));
33
                                sql.append(" like upper(:nomePessoa) ");
34
                        }
35
                }
36
        }
37
 
38
        @Override
39
        protected void setarQueryParametrosConsulta(Query query, ParametrosConsulta<Pessoa> parametros) {
40
                if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaPessoasDTO)parametros).getEntidade())) {
41
                        if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaPessoasDTO)parametros).getEntidade().getNome())) {
42
                                query.setParameter("nomePessoa", "%" + removerAcentuacao(((ParametrosConsultaPessoasDTO)parametros).getEntidade().getNome()) + "%");
43
                        }
44
                }
45
        }
46
        */
47
        /************************************************************************************/
48
 
49
        @Override
50
        public List<EstampaDTO> consultarEstampas(TemaEstampaDTO tema) {
51
                StringBuilder jpql = new StringBuilder();
52
                jpql.append("SELECT new br.com.ec.domain.dto.EstampaDTO(");
53
                jpql.append(EstampaDTO.CONSULTA_DTO_COMPLETA);
54
                jpql.append(") FROM Estampa e ");
55
                jpql.append("WHERE 1=1 ");
56
                if (VerificadorUtil.naoEstaNulo(tema)) {
57
                        jpql.append("AND e.temaEstampa.sequencial LIKE :sequencialTema ");
58
                }
59
                jpql.append("ORDER BY e.temaEstampa.descricao, e.descricao ");
60
                try {
61
                        TypedQuery<EstampaDTO> query = getEntityManager().createQuery(jpql.toString(), EstampaDTO.class);
62
                        if (VerificadorUtil.naoEstaNulo(tema)) {
63
                                query.setParameter("sequencialTema", tema.getSequencial());
64
                        }
65
                        return query.getResultList();
66
                } catch(Exception ex) {
67
                        ex.printStackTrace();
68
                        return null;
69
                }
70
        }
71
 
530 blopes 72
        @Override
73
        public String consultarUltimoCodigo(TemaEstampa temaEstampa) {
74
                StringBuilder jpql = new StringBuilder();
75
                jpql.append("SELECT MAX(e.codigo) ");
76
                jpql.append("FROM Estampa e ");
77
                jpql.append("WHERE e.temaEstampa.sequencial = :sequencialTema ");
78
//              jpql.append("ORDER BY e.sequencial DESC limit 1 ");
79
                try {
80
                        return getEntityManager().createQuery(jpql.toString(), String.class)
81
                                                .setParameter("sequencialTema", temaEstampa.getSequencial()).getSingleResult();
82
                } catch(Exception ex) {
83
                        ex.printStackTrace();
84
                        return null;
85
                }
86
        }
87
 
325 espaco 88
        /*
89
        @Override
90
        public List<PessoaDTO> consultarPessoasJuridicas(String cnpj) {
91
                StringBuilder jpql = new StringBuilder();
92
                jpql.append("SELECT new br.com.ec.domain.dto.PessoaDTO(");
93
                jpql.append(PessoaDTO.CONSULTA_DTO);
94
                jpql.append(") FROM Pessoa e ");
95
                jpql.append("WHERE e.cpfCnpj LIKE :cnpj ");
96
                jpql.append("ORDER BY e.cpfCnpj ");
97
                try {
98
                        return getEntityManager().createQuery(jpql.toString(), PessoaDTO.class).setParameter("cnpj", cnpj).getResultList();
99
                } catch(Exception ex) {
100
                        ex.printStackTrace();
101
                        return null;
102
                }
103
        }
104
 
105
        @Override
106
        public Pessoa consultarPessoaPorCpfOuCpnj(String cpfCnpj) {
107
                StringBuilder jpql = new StringBuilder();
108
                jpql.append("SELECT e FROM Pessoa e ");
109
                jpql.append("LEFT JOIN FETCH e.enderecos en ");
110
                jpql.append("WHERE e.cpfCnpj LIKE :cpfCnpj ");
111
                try {
112
                        return getEntityManager().createQuery(jpql.toString(), Pessoa.class).setParameter("cpfCnpj", cpfCnpj).getSingleResult();
113
                } catch(Exception ex) {
114
                        ex.printStackTrace();
115
                        return null;
116
                }
117
        }
118
 
119
        @Override
120
        public Pessoa detalharPessoa(Long sequencialPessoa) {
121
                StringBuilder jpql = new StringBuilder();
122
                jpql.append("SELECT e FROM Pessoa e ");
123
                jpql.append("LEFT JOIN FETCH e.enderecos en ");
124
//              jpql.append("LEFT JOIN FETCH p.papeis pp ");
125
//              jpql.append("LEFT JOIN FETCH p.dadosBancarios b ");
126
                jpql.append("WHERE e.sequencial = :sequencialPessoa");
127
                return getEntityManager().createQuery(jpql.toString(), Pessoa.class).setParameter("sequencialPessoa", sequencialPessoa).getSingleResult();
128
        }
129
        */
130
        /************************************************************************************/
131
 
132
        /*
133
        /*
134
        @Override
135
        public PessoaDTO consultarPessoaDTOPorCpfOuCpnj(String cpfCnpj) {
136
                StringBuilder jpql = new StringBuilder();
137
                jpql.append("SELECT new br.com.ec.domain.dto.PessoaDTO(");
138
                jpql.append(PessoaDTO.CONSULTA_DTO_COMPLETA);
139
                jpql.append(") FROM Pessoa e ");
140
                jpql.append("WHERE e.cpfCnpj LIKE :cpfCnpj ");
141
                try {
142
                        return getEntityManager().createQuery(jpql.toString(), PessoaDTO.class).setParameter("cpfCnpj", cpfCnpj).getSingleResult();
143
                } catch(Exception ex) {
144
                        ex.printStackTrace();
145
                        return null;
146
                }
147
        }
148
 
149
        @Override
150
        public List<Pessoa> consultarPessoasJuridicas() {
151
                try {
152
                        StringBuilder jpql = new StringBuilder();
153
                        jpql.append("SELECT p FROM Pessoa p ");
154
                        jpql.append("WHERE p.cpfCnpj != '' AND (p.nomeFantasia != '' OR p.razaoSocial != '' OR p.tipoRegimeTributario != '' OR p.inscricaoEstadual != '' OR p.inscricaoMunicipal != '') ");
155
                        return getEntityManager().createQuery(jpql.toString(), Pessoa.class).getResultList();
156
                } catch (NoResultException e) {
157
                        return null;
158
                }
159
        }
160
         */
161
}