Rev 514 |
Blame |
Compare with Previous |
Last modification |
View Log
| Download
| RSS feed
package br.com.ec.repository.jpa;
import java.util.List;
import javax.persistence.TypedQuery;
import org.springframework.stereotype.Repository;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.dto.LojaDTO;
import br.com.ec.domain.dto.PessoaDTO;
import br.com.ec.domain.model.Loja;
import br.com.ec.domain.model.Pessoa;
import br.com.ec.repository.LojaRepository;
import br.com.ec.repository.SistemaAbstractRepository;
@Repository
public class LojaRepositoryJpaImpl
extends SistemaAbstractRepository
<Loja
> implements LojaRepository
{
@
Override
protected String getColunaOrdenadora
() {
return "ordenador, descricao";
}
@
Override
public List<LojaDTO
> consultarLojas
(Boolean ativo
) {
StringBuilder jpql =
new StringBuilder();
jpql.
append("SELECT new br.com.ec.domain.dto.LojaDTO(");
jpql.
append(LojaDTO.
CONSULTA_DTO_SIMPLES);
jpql.
append(") FROM Loja e ");
jpql.
append("WHERE 1=1 ");
if (VerificadorUtil.
naoEstaNulo(ativo
)) {
jpql.
append("AND e.ativo = :indicadorAtivo ");
}
jpql.
append("ORDER BY e.ordenador ");
try {
TypedQuery
<LojaDTO
> query = getEntityManager
().
createQuery(jpql.
toString(), LojaDTO.
class);
if (VerificadorUtil.
naoEstaNulo(ativo
)) {
query.
setParameter("indicadorAtivo", ativo
);
}
return query.
getResultList();
} catch (Exception ex
) {
ex.
printStackTrace();
}
return null;
}
@
Override
public LojaDTO consultarLojaPeloId
(Long sequencial
) {
StringBuilder jpql =
new StringBuilder();
jpql.
append("SELECT new br.com.ec.domain.dto.LojaDTO(");
jpql.
append(LojaDTO.
CONSULTA_DTO_SIMPLES);
jpql.
append(") FROM Loja e ");
jpql.
append("WHERE e.sequencial = :sequencialLoja");
try {
return getEntityManager
().
createQuery(jpql.
toString(), LojaDTO.
class).
setParameter("sequencialLoja", sequencial
).
getSingleResult();
} catch (Exception ex
) {
ex.
printStackTrace();
}
return null;
}
/*
@Override
public LojaDTO consultarLojaPelaPessoa(Long sequencialPessoa) {
StringBuilder jpql = new StringBuilder();
jpql.append("SELECT new br.com.ec.domain.dto.LojaDTO(");
jpql.append(LojaDTO.CONSULTA_DTO_SIMPLES);
jpql.append(") FROM Loja e ");
jpql.append("WHERE e.pessoaJuridica.sequencial = :sequencialPessoa");
try {
return getEntityManager().createQuery(jpql.toString(), LojaDTO.class).setParameter("sequencialPessoa", sequencialPessoa).getSingleResult();
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
*/
/*
@Override
protected void setarStringParametrosConsultar(StringBuilder sql, Loja loja) {
if (VerificadorUtil.naoEstaNuloOuVazio(loja)) {
if (VerificadorUtil.naoEstaNuloOuVazio(loja.getAtivo())) {
sql.append("AND e.ativo = :ativo ");
}
}
}
@Override
protected void setarQueryParametrosConsultar(Query query, Loja loja) {
if (VerificadorUtil.naoEstaNuloOuVazio(loja)) {
if (VerificadorUtil.naoEstaNulo(loja.getAtivo())) {
query.setParameter("ativo", loja.getAtivo());
}
}
}
@Override
protected void setarStringParametrosConsulta(StringBuilder sql, ParametrosConsulta<Loja> parametros) {
if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getEntidade())) {
if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getEntidade().getAtivo())) {
sql.append("AND e.ativo = :ativo ");
}
}
}
@Override
protected void setarQueryParametrosConsulta(Query query, ParametrosConsulta<Loja> parametros) {
if (VerificadorUtil.naoEstaNuloOuVazio(parametros.getEntidade())) {
if (VerificadorUtil.naoEstaNulo(parametros.getEntidade().getAtivo())) {
query.setParameter("ativo", parametros.getEntidade().getAtivo());
}
}
}
@Override
public Loja consultarPorId(Loja loja) {
return getEntityManager().find(Loja.class, loja.getSequencial());
}
@Override
public List<Loja> consultarLojas(Boolean ativo) {
StringBuilder jpql = new StringBuilder();
try {
jpql.append("SELECT DISTINCT l FROM Loja l ");
jpql.append("WHERE 1=1 ");
if (VerificadorUtil.naoEstaNulo(ativo)) {
jpql.append("AND l.ativo = :ativo ");
}
jpql.append("ORDER BY l.ordenador, l.descricao");
TypedQuery<Loja> query = getEntityManager().createQuery(jpql.toString(), Loja.class);
if (VerificadorUtil.naoEstaNulo(ativo)) {
query.setParameter("ativo", ativo);
}
return query.getResultList();
} catch (NoResultException e) {
return null;
}
}
@Override
public List<Loja> consultarLojasComDetalhe() {
StringBuilder jpql = new StringBuilder();
try {
jpql.append("SELECT DISTINCT l FROM Loja l ");
jpql.append("LEFT JOIN FETCH l.pessoaJuridica pj ");
jpql.append("LEFT JOIN FETCH pj.enderecos e ");
jpql.append("LEFT JOIN FETCH pj.dadosBancarios b ");
jpql.append("ORDER BY l.ordenador, l.descricao");
return getEntityManager().createQuery(jpql.toString(), Loja.class).getResultList();
} catch (NoResultException e) {
return null;
}
}
@Override
public List<LojaDTO> consultarLojasDTO(Boolean ativo) {
StringBuilder jpql = new StringBuilder();
try {
jpql.append("SELECT new br.com.ec.domain.dto.LojaDTO(l.sequencial, l.descricao) FROM Loja l ");
jpql.append("WHERE 1=1 ");
if (VerificadorUtil.naoEstaNulo(ativo)) {
jpql.append("AND l.ativo = :ativo ");
}
jpql.append("ORDER BY l.ordenador, l.descricao ");
TypedQuery<LojaDTO> query = getEntityManager().createQuery(jpql.toString(), LojaDTO.class);
if (VerificadorUtil.naoEstaNulo(ativo)) {
query.setParameter("ativo", ativo);
}
return query.getResultList();
} catch (NoResultException e) {
return null;
}
}
*/
}