Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
259 espaco 1
package br.com.ec.repository.jpa;
2
 
3
import javax.persistence.NoResultException;
4
 
5
import org.springframework.stereotype.Repository;
6
 
7
import br.com.ec.domain.dto.VendedorDTO;
8
import br.com.ec.domain.model.Vendedor;
9
import br.com.ec.repository.SistemaAbstractRepository;
10
import br.com.ec.repository.VendedorRepository;
11
 
12
@Repository
13
public class VendedorRepositoryJpaImpl extends SistemaAbstractRepository<Vendedor> implements VendedorRepository {
14
 
15
        private static final String VENDEDOR_INFORMADO_NAO_EXISTE_PARA_ESTA_PESSOA = "Vendedor informado não existe para esta pessoa";
16
 
17
        @Override
18
        protected String getColunaOrdenadora() {
19
                return "nome";
20
        }
21
 
22
        /*
23
        @Override
24
        protected void setarStringParametrosConsultar(StringBuilder sql, Vendedor vendedor) {
25
                if (VerificadorUtil.naoEstaNuloOuVazio(vendedor)) {
26
                        if (VerificadorUtil.naoEstaNuloOuVazio(vendedor.getNome())) {
27
                                sql.append("AND ");
28
                                sql.append(sqlConsultarSemAcento("e.nome"));
29
                                sql.append(" like upper(:nomeVendedor) ");
30
                        }
31
                        if (VerificadorUtil.naoEstaNuloOuVazio(vendedor.getAtivo())) {
32
                                sql.append("AND e.ativo = :ativo ");
33
                        }
34
                        if (VerificadorUtil.naoEstaNuloOuVazio(vendedor.getIndicadorColaborador())) {
35
                                sql.append("AND e.indicadorColaborador = :indicadorColaborador ");
36
                        }
37
                        if (VerificadorUtil.naoEstaNuloOuVazio(vendedor.getPessoa())) {
38
                                sql.append("AND e.pessoa = :pessoa ");
39
                        }
40
                        if (VerificadorUtil.naoEstaNuloOuVazio(vendedor.getLoja())) {
41
                                sql.append("AND e.loja = :loja ");
42
                        }
43
                }
44
        }
45
 
46
        @Override
47
        protected void setarQueryParametrosConsultar(Query query, Vendedor vendedor) {
48
                if (VerificadorUtil.naoEstaNuloOuVazio(vendedor)) {
49
                        if (VerificadorUtil.naoEstaNuloOuVazio(vendedor.getNome())) {
50
                                query.setParameter("nomeVendedor", "%" + removerAcentuacao(vendedor.getNome()) + "%");
51
                        }
52
                        if (VerificadorUtil.naoEstaNuloOuVazio(vendedor.getAtivo())) {
53
                                query.setParameter("ativo", vendedor.getAtivo());
54
                        }
55
                        if (VerificadorUtil.naoEstaNuloOuVazio(vendedor.getIndicadorColaborador())) {
56
                                query.setParameter("indicadorColaborador", vendedor.getIndicadorColaborador());
57
                        }
58
                        if (VerificadorUtil.naoEstaNuloOuVazio(vendedor.getPessoa())) {
59
                                query.setParameter("pessoa", vendedor.getPessoa());
60
                        }
61
                        if (VerificadorUtil.naoEstaNuloOuVazio(vendedor.getLoja())) {
62
                                query.setParameter("loja", vendedor.getLoja());
63
                        }
64
                }
65
        }
66
        */
67
        @Override
68
        public VendedorDTO consultarVendedorPorPessoa(Long sequencialPessoa) {
69
                StringBuilder jpql = new StringBuilder();
70
                jpql.append("SELECT new br.com.ec.domain.dto.VendedorDTO(v.sequencial, v.nome, v.loja.sequencial, v.loja.descricao) ");
71
                jpql.append("FROM Vendedor v ");
72
                jpql.append("WHERE v.pessoa.sequencial = :sequencialPessoa");
73
                try {
74
                        return getEntityManager().createQuery(jpql.toString(), VendedorDTO.class)
75
                                        .setParameter("sequencialPessoa", sequencialPessoa)
76
                                        .getSingleResult();
77
                } catch (NoResultException nre) {
78
                        throw new RuntimeException(VENDEDOR_INFORMADO_NAO_EXISTE_PARA_ESTA_PESSOA);
79
                }
80
        }
81
 
82
}