Rev 325 |
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.DataUtils;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.dto.EstampaDTO;
import br.com.ec.domain.dto.TemaEstampaDTO;
import br.com.ec.domain.model.Estampa;
import br.com.ec.domain.model.TemaEstampa;
import br.com.ec.repository.EstampaRepository;
import br.com.ec.repository.SistemaAbstractRepository;
@Repository
public class EstampaRepositoryJpaImpl
extends SistemaAbstractRepository
<Estampa
> implements EstampaRepository
{
@
Override
protected String getColunaOrdenadora
() {
return "descricao";
}
/*
@Override
protected void setarStringParametrosConsulta(StringBuilder sql, ParametrosConsulta<Pessoa> parametros) {
if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaPessoasDTO)parametros).getEntidade())) {
if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaPessoasDTO)parametros).getEntidade().getNome())) {
sql.append("AND ");
sql.append(sqlConsultarSemAcento("e.nome"));
sql.append(" like upper(:nomePessoa) ");
}
}
}
@Override
protected void setarQueryParametrosConsulta(Query query, ParametrosConsulta<Pessoa> parametros) {
if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaPessoasDTO)parametros).getEntidade())) {
if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaPessoasDTO)parametros).getEntidade().getNome())) {
query.setParameter("nomePessoa", "%" + removerAcentuacao(((ParametrosConsultaPessoasDTO)parametros).getEntidade().getNome()) + "%");
}
}
}
*/
/************************************************************************************/
@
Override
public List<EstampaDTO
> consultarEstampas
(TemaEstampaDTO tema
) {
StringBuilder jpql =
new StringBuilder();
jpql.
append("SELECT new br.com.ec.domain.dto.EstampaDTO(");
jpql.
append(EstampaDTO.
CONSULTA_DTO_COMPLETA);
jpql.
append(") FROM Estampa e ");
jpql.
append("WHERE 1=1 ");
if (VerificadorUtil.
naoEstaNulo(tema
)) {
jpql.
append("AND e.temaEstampa.sequencial LIKE :sequencialTema ");
}
jpql.
append("ORDER BY e.temaEstampa.descricao, e.descricao ");
try {
TypedQuery
<EstampaDTO
> query = getEntityManager
().
createQuery(jpql.
toString(), EstampaDTO.
class);
if (VerificadorUtil.
naoEstaNulo(tema
)) {
query.
setParameter("sequencialTema", tema.
getSequencial());
}
return query.
getResultList();
} catch(Exception ex
) {
ex.
printStackTrace();
return null;
}
}
@
Override
public String consultarUltimoCodigo
(TemaEstampa temaEstampa
) {
StringBuilder jpql =
new StringBuilder();
jpql.
append("SELECT MAX(e.codigo) ");
jpql.
append("FROM Estampa e ");
jpql.
append("WHERE e.temaEstampa.sequencial = :sequencialTema ");
// jpql.append("ORDER BY e.sequencial DESC limit 1 ");
try {
return getEntityManager
().
createQuery(jpql.
toString(),
String.
class)
.
setParameter("sequencialTema", temaEstampa.
getSequencial()).
getSingleResult();
} catch(Exception ex
) {
ex.
printStackTrace();
return null;
}
}
/*
@Override
public List<PessoaDTO> consultarPessoasJuridicas(String cnpj) {
StringBuilder jpql = new StringBuilder();
jpql.append("SELECT new br.com.ec.domain.dto.PessoaDTO(");
jpql.append(PessoaDTO.CONSULTA_DTO);
jpql.append(") FROM Pessoa e ");
jpql.append("WHERE e.cpfCnpj LIKE :cnpj ");
jpql.append("ORDER BY e.cpfCnpj ");
try {
return getEntityManager().createQuery(jpql.toString(), PessoaDTO.class).setParameter("cnpj", cnpj).getResultList();
} catch(Exception ex) {
ex.printStackTrace();
return null;
}
}
@Override
public Pessoa consultarPessoaPorCpfOuCpnj(String cpfCnpj) {
StringBuilder jpql = new StringBuilder();
jpql.append("SELECT e FROM Pessoa e ");
jpql.append("LEFT JOIN FETCH e.enderecos en ");
jpql.append("WHERE e.cpfCnpj LIKE :cpfCnpj ");
try {
return getEntityManager().createQuery(jpql.toString(), Pessoa.class).setParameter("cpfCnpj", cpfCnpj).getSingleResult();
} catch(Exception ex) {
ex.printStackTrace();
return null;
}
}
@Override
public Pessoa detalharPessoa(Long sequencialPessoa) {
StringBuilder jpql = new StringBuilder();
jpql.append("SELECT e FROM Pessoa e ");
jpql.append("LEFT JOIN FETCH e.enderecos en ");
// jpql.append("LEFT JOIN FETCH p.papeis pp ");
// jpql.append("LEFT JOIN FETCH p.dadosBancarios b ");
jpql.append("WHERE e.sequencial = :sequencialPessoa");
return getEntityManager().createQuery(jpql.toString(), Pessoa.class).setParameter("sequencialPessoa", sequencialPessoa).getSingleResult();
}
*/
/************************************************************************************/
/*
/*
@Override
public PessoaDTO consultarPessoaDTOPorCpfOuCpnj(String cpfCnpj) {
StringBuilder jpql = new StringBuilder();
jpql.append("SELECT new br.com.ec.domain.dto.PessoaDTO(");
jpql.append(PessoaDTO.CONSULTA_DTO_COMPLETA);
jpql.append(") FROM Pessoa e ");
jpql.append("WHERE e.cpfCnpj LIKE :cpfCnpj ");
try {
return getEntityManager().createQuery(jpql.toString(), PessoaDTO.class).setParameter("cpfCnpj", cpfCnpj).getSingleResult();
} catch(Exception ex) {
ex.printStackTrace();
return null;
}
}
@Override
public List<Pessoa> consultarPessoasJuridicas() {
try {
StringBuilder jpql = new StringBuilder();
jpql.append("SELECT p FROM Pessoa p ");
jpql.append("WHERE p.cpfCnpj != '' AND (p.nomeFantasia != '' OR p.razaoSocial != '' OR p.tipoRegimeTributario != '' OR p.inscricaoEstadual != '' OR p.inscricaoMunicipal != '') ");
return getEntityManager().createQuery(jpql.toString(), Pessoa.class).getResultList();
} catch (NoResultException e) {
return null;
}
}
*/
}