Subversion Repositories Integrator Subversion

Rev

Rev 297 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
265 espaco 1
package br.com.ec.repository.jpa;
2
 
3
import java.util.List;
4
 
5
import org.springframework.stereotype.Repository;
6
 
7
import br.com.ec.domain.dto.PessoaDTO;
8
import br.com.ec.domain.model.Pessoa;
9
import br.com.ec.repository.PessoaRepository;
10
import br.com.ec.repository.SistemaAbstractRepository;
11
 
12
@Repository
13
public class PessoaRepositoryJpaImpl extends SistemaAbstractRepository<Pessoa> implements PessoaRepository {
14
 
15
        @Override
16
        protected String getColunaOrdenadora() {
17
                return "nome";
18
        }
19
 
20
        @Override
21
        public List<PessoaDTO> consultarPessoasJuridicas(String cnpj) {
22
                StringBuilder jpql = new StringBuilder();
23
                jpql.append("SELECT new br.com.ec.domain.dto.PessoaDTO(p.sequencial, p.nome, p.tipoPessoa, p.cpfCnpj) ");
24
                jpql.append("FROM Pessoa p ");
25
                jpql.append("WHERE p.cpfCnpj LIKE :cnpj ");
26
                jpql.append("ORDER BY p.cpfCnpj ");
27
                try {
28
                        return getEntityManager().createQuery(jpql.toString(), PessoaDTO.class).setParameter("cnpj", cnpj).getResultList();
29
                } catch(Exception ex) {
30
                        ex.printStackTrace();
31
                        return null;
32
                }
33
        }
34
 
35
        /*
36
        @Override
37
        protected void setarStringParametrosConsulta(StringBuilder sql, ParametrosConsulta<Pessoa> parametros) {
38
                if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaPessoaDTO)parametros).getEntidade())) {
39
                        if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaPessoaDTO)parametros).getEntidade().getNome())) {
40
                                sql.append("AND ");
41
                                sql.append(sqlConsultarSemAcento("e.nome"));
42
                                sql.append(" like upper(:nomePessoa) ");
43
                        }
44
                }
45
                if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaPessoaDTO)parametros).getConsultarColaboradores())) {
46
                        if (((ParametrosConsultaPessoaDTO)parametros).getConsultarColaboradores().equals(ConstantesSEC.Pessoa.CONSULTAR_COLABORADORES_C)) {
47
                                sql.append("AND EXISTS (SELECT f FROM Funcionario f WHERE f.pessoa.sequencial = e.sequencial AND (f.admissao != null OR f.demissao != null)) ");
48
                        } else if (((ParametrosConsultaPessoaDTO)parametros).getConsultarColaboradores().equals(ConstantesSEC.Pessoa.CONSULTAR_COLABORADORES_ADMITIDOS_A)) {
49
                                sql.append("AND EXISTS (SELECT f FROM Funcionario f WHERE f.pessoa.sequencial = e.sequencial AND f.admissao != null AND f.demissao is null) ");
50
                        } else if (((ParametrosConsultaPessoaDTO)parametros).getConsultarColaboradores().equals(ConstantesSEC.Pessoa.CONSULTAR_COLABORADORES_DEMITIDOS_D)) {
51
                                sql.append("AND EXISTS (SELECT f FROM Funcionario f WHERE f.pessoa.sequencial = e.sequencial AND f.admissao != null AND f.demissao != null) ");
52
                        }
53
                }
54
        }
55
 
56
        @Override
57
        protected void setarQueryParametrosConsulta(Query query, ParametrosConsulta<Pessoa> parametros) {
58
                if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaPessoaDTO)parametros).getEntidade())) {
59
                        if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaPessoaDTO)parametros).getEntidade().getNome())) {
60
                                query.setParameter("nomePessoa", "%" + removerAcentuacao(((ParametrosConsultaPessoaDTO)parametros).getEntidade().getNome()) + "%");
61
                        }
62
                }
63
        }
64
 
65
        @Override
66
        public Pessoa detalharPessoa(Pessoa pessoa) {
67
                StringBuilder jpql = new StringBuilder();
68
                jpql.append("SELECT p FROM Pessoa p ");
69
                jpql.append("LEFT JOIN FETCH p.papeis pp ");
70
                jpql.append("LEFT JOIN FETCH p.enderecos e ");
71
                jpql.append("LEFT JOIN FETCH p.dadosBancarios b ");
72
                jpql.append("WHERE p = :pessoa");
73
                return getEntityManager().createQuery(jpql.toString(), Pessoa.class).setParameter("pessoa", pessoa).getSingleResult();
74
        }
75
 
76
        @Override
77
        public List<Pessoa> consultarPessoasJuridicas() {
78
                try {
79
                        StringBuilder jpql = new StringBuilder();
80
                        jpql.append("SELECT p FROM Pessoa p ");
81
                        jpql.append("WHERE p.cpfCnpj != '' AND (p.nomeFantasia != '' OR p.razaoSocial != '' OR p.tipoRegimeTributario != '' OR p.inscricaoEstadual != '' OR p.inscricaoMunicipal != '') ");
82
                        return getEntityManager().createQuery(jpql.toString(), Pessoa.class).getResultList();
83
                } catch (NoResultException e) {
84
                        return null;
85
                }
86
        }
87
         */
88
}