Rev 259 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 259 | Rev 268 | ||
|---|---|---|---|
| Line 1... | Line 1... | ||
| 1 | package br.com.ec.repository.jpa; |
1 | package br.com.ec.repository.jpa; |
| - | 2 | ||
| - | 3 | import java.util.ArrayList; |
|
| - | 4 | import java.util.List; |
|
| 2 | 5 | ||
| 3 | import javax.persistence.NoResultException; |
6 | import javax.persistence.NoResultException; |
| - | 7 | import javax.persistence.TypedQuery; |
|
| 4 | 8 | ||
| 5 | import org.springframework.stereotype.Repository; |
9 | import org.springframework.stereotype.Repository; |
| 6 | 10 | ||
| - | 11 | import br.com.ec.core.util.VerificadorUtil; |
|
| 7 | import br.com.ec.domain.dto.VendedorDTO; |
12 | import br.com.ec.domain.dto.VendedorDTO; |
| 8 | import br.com.ec.domain.model.Vendedor; |
13 | import br.com.ec.domain.model.Vendedor; |
| 9 | import br.com.ec.repository.SistemaAbstractRepository; |
14 | import br.com.ec.repository.SistemaAbstractRepository; |
| 10 | import br.com.ec.repository.VendedorRepository; |
15 | import br.com.ec.repository.VendedorRepository; |
| 11 | 16 | ||
| Line 65... | Line 70... | ||
| 65 | }
|
70 | }
|
| 66 | */
|
71 | */
|
| 67 | @Override |
72 | @Override |
| 68 | public VendedorDTO consultarVendedorPorPessoa(Long sequencialPessoa) { |
73 | public VendedorDTO consultarVendedorPorPessoa(Long sequencialPessoa) { |
| 69 | StringBuilder jpql = new StringBuilder(); |
74 | 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) "); |
- | |
| - | 75 | jpql.append("SELECT new br.com.ec.domain.dto.VendedorDTO(v.sequencial, v.pessoa.sequencial, v.nome, v.loja.sequencial, v.loja.descricao) "); |
|
| 71 | jpql.append("FROM Vendedor v "); |
76 | jpql.append("FROM Vendedor v "); |
| 72 | jpql.append("WHERE v.pessoa.sequencial = :sequencialPessoa"); |
77 | jpql.append("WHERE v.pessoa.sequencial = :sequencialPessoa"); |
| 73 | try { |
78 | try { |
| 74 | return getEntityManager().createQuery(jpql.toString(), VendedorDTO.class) |
79 | return getEntityManager().createQuery(jpql.toString(), VendedorDTO.class) |
| 75 | .setParameter("sequencialPessoa", sequencialPessoa) |
80 | .setParameter("sequencialPessoa", sequencialPessoa) |
| 76 | .getSingleResult(); |
81 | .getSingleResult(); |
| 77 | } catch (NoResultException nre) { |
82 | } catch (NoResultException nre) { |
| 78 | throw new RuntimeException(VENDEDOR_INFORMADO_NAO_EXISTE_PARA_ESTA_PESSOA); |
83 | throw new RuntimeException(VENDEDOR_INFORMADO_NAO_EXISTE_PARA_ESTA_PESSOA); |
| - | 84 | }
|
|
| - | 85 | }
|
|
| - | 86 | ||
| - | 87 | @Override |
|
| - | 88 | public List<VendedorDTO> consultarVendedoresColaboradores() { |
|
| - | 89 | return consultarVendedoresColaboradores(null); |
|
| - | 90 | }
|
|
| - | 91 | ||
| - | 92 | private List<VendedorDTO> consultarVendedoresColaboradores(Boolean indicadorAtivo) { |
|
| - | 93 | StringBuilder jpql = new StringBuilder(); |
|
| - | 94 | jpql.append("SELECT new br.com.ec.domain.dto.VendedorDTO(v.sequencial, v.pessoa.sequencial, v.nome, v.loja.sequencial, v.loja.descricao) "); |
|
| - | 95 | jpql.append("FROM Vendedor v "); |
|
| - | 96 | jpql.append("WHERE v.indicadorColaborador = true "); |
|
| - | 97 | if (VerificadorUtil.naoEstaNulo(indicadorAtivo)) { |
|
| - | 98 | jpql.append("AND v.ativo = :indicadorAtivo "); |
|
| - | 99 | }
|
|
| - | 100 | try { |
|
| - | 101 | TypedQuery<VendedorDTO> query = (TypedQuery<VendedorDTO>) getEntityManager().createQuery(jpql.toString(), VendedorDTO.class); |
|
| - | 102 | if (VerificadorUtil.naoEstaNulo(indicadorAtivo)) { |
|
| - | 103 | query.setParameter("indicadorAtivo", indicadorAtivo); |
|
| - | 104 | }
|
|
| - | 105 | return query.getResultList(); |
|
| - | 106 | } catch (NoResultException re) { |
|
| - | 107 | return new ArrayList<VendedorDTO>(); |
|
| 79 | }
|
108 | }
|
| 80 | }
|
109 | }
|
| 81 | 110 | ||
| 82 | }
|
111 | }
|