Subversion Repositories Integrator Subversion

Rev

Details | 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.Query;
6
import javax.persistence.TypedQuery;
7
 
8
import org.springframework.stereotype.Repository;
9
 
10
import br.com.ec.domain.dto.EnderecoDTO;
11
import br.com.ec.domain.model.Endereco;
12
import br.com.ec.repository.EnderecoRepository;
13
import br.com.ec.repository.SistemaAbstractRepository;
14
 
15
@Repository
16
public class EnderecoRepositoryJpaImpl extends SistemaAbstractRepository<Endereco> implements EnderecoRepository {
17
 
18
        @Override
19
        protected String getColunaOrdenadora() {
20
                return "sequencial";
21
        }
22
 
23
        private void setarStringParametrosConsultar(StringBuilder sql, EnderecoDTO entidade) {
24
                /*
25
                if (VerificadorUtil.naoEstaNuloOuVazio(entidade)) {
26
                        if (VerificadorUtil.naoEstaNuloOuVazio(entidade.getNome())) {
27
                                sql.append("AND ");
28
                                sql.append(sqlConsultarSemAcento("e.pessoa.nome"));
29
                                sql.append(" LIKE UPPER(:nome) ");
30
                        }
31
                        if (VerificadorUtil.naoEstaNulo(entidade.getFuncionarioAdmitido())) {
32
                                sql.append("AND ");
33
                                if (entidade.getFuncionarioAdmitido()) {
34
                                        sql.append("e.demissao IS NULL OR e.demissao IS EMPTY ");
35
                                } else {
36
                                        sql.append("e.demissao IS NOT NULL ");
37
                                }
38
                        }
39
                }
40
                */
41
        }
42
 
43
        private void setarQueryParametrosConsultar(Query query, EnderecoDTO entidade) {
44
                /*
45
                if (VerificadorUtil.naoEstaNuloOuVazio(entidade)) {
46
                        if (VerificadorUtil.naoEstaNuloOuVazio(entidade.getNome())) {
47
                                query.setParameter("nome", "%" + removerAcentuacao(entidade.getNome()) + "%");
48
                        }
49
                }
50
                */
51
        }
52
 
53
        @Override
54
        public List<EnderecoDTO> consultarEnderecosDaPessoa(Long sequencialPessoa) {
55
                StringBuilder jpql = new StringBuilder();
56
                jpql.append("SELECT new br.com.ec.domain.dto.EnderecoDTO(");
57
                jpql.append(EnderecoDTO.CONSULTA_DTO_COMPLETA);
58
                jpql.append(") FROM Endereco e ");
59
                jpql.append("WHERE e.pessoa.sequencial = :sequencialPessoa ");
60
                jpql.append("ORDER BY e.sequencial ");
61
                try {
62
                        TypedQuery<EnderecoDTO> query = getEntityManager().createQuery(jpql.toString(), EnderecoDTO.class);
63
                        query.setParameter("sequencialPessoa", sequencialPessoa);
64
                        return query.getResultList();
65
                } catch(Exception ex) {
66
                        ex.printStackTrace();
67
                        return null;
68
                }
69
        }
70
 
71
        @Override
72
        public void excluirEndereco(Integer sequencialEndereco) {
73
                StringBuilder sql = new StringBuilder();
74
                sql.append("DELETE FROM Endereco e ");
75
                sql.append("WHERE e.sequencial = :sequencialEndereco");
76
                try {
77
                        getEntityManager().createQuery(sql.toString())
78
                                .setParameter("sequencialEndereco", sequencialEndereco)
79
                                .executeUpdate();
80
                        getEntityManager().flush();
81
                } catch(Exception ex) {
82
                        ex.printStackTrace();
83
                }
84
        }
85
 
86
}