Rev 297 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| Download
| RSS feed
package br.com.ec.repository.jpa;
import java.util.List;
import org.springframework.stereotype.Repository;
import br.com.ec.domain.dto.PessoaDTO;
import br.com.ec.domain.model.Pessoa;
import br.com.ec.repository.PessoaRepository;
import br.com.ec.repository.SistemaAbstractRepository;
@Repository
public class PessoaRepositoryJpaImpl
extends SistemaAbstractRepository
<Pessoa
> implements PessoaRepository
{
@
Override
protected String getColunaOrdenadora
() {
return "nome";
}
@
Override
public List<PessoaDTO
> consultarPessoasJuridicas
(String cnpj
) {
StringBuilder jpql =
new StringBuilder();
jpql.
append("SELECT new br.com.ec.domain.dto.PessoaDTO(p.sequencial, p.nome, p.tipoPessoa, p.cpfCnpj) ");
jpql.
append("FROM Pessoa p ");
jpql.
append("WHERE p.cpfCnpj LIKE :cnpj ");
jpql.
append("ORDER BY p.cpfCnpj ");
try {
return getEntityManager
().
createQuery(jpql.
toString(), PessoaDTO.
class).
setParameter("cnpj", cnpj
).
getResultList();
} catch(Exception ex
) {
ex.
printStackTrace();
return null;
}
}
/*
@Override
protected void setarStringParametrosConsulta(StringBuilder sql, ParametrosConsulta<Pessoa> parametros) {
if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaPessoaDTO)parametros).getEntidade())) {
if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaPessoaDTO)parametros).getEntidade().getNome())) {
sql.append("AND ");
sql.append(sqlConsultarSemAcento("e.nome"));
sql.append(" like upper(:nomePessoa) ");
}
}
if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaPessoaDTO)parametros).getConsultarColaboradores())) {
if (((ParametrosConsultaPessoaDTO)parametros).getConsultarColaboradores().equals(ConstantesSEC.Pessoa.CONSULTAR_COLABORADORES_C)) {
sql.append("AND EXISTS (SELECT f FROM Funcionario f WHERE f.pessoa.sequencial = e.sequencial AND (f.admissao != null OR f.demissao != null)) ");
} else if (((ParametrosConsultaPessoaDTO)parametros).getConsultarColaboradores().equals(ConstantesSEC.Pessoa.CONSULTAR_COLABORADORES_ADMITIDOS_A)) {
sql.append("AND EXISTS (SELECT f FROM Funcionario f WHERE f.pessoa.sequencial = e.sequencial AND f.admissao != null AND f.demissao is null) ");
} else if (((ParametrosConsultaPessoaDTO)parametros).getConsultarColaboradores().equals(ConstantesSEC.Pessoa.CONSULTAR_COLABORADORES_DEMITIDOS_D)) {
sql.append("AND EXISTS (SELECT f FROM Funcionario f WHERE f.pessoa.sequencial = e.sequencial AND f.admissao != null AND f.demissao != null) ");
}
}
}
@Override
protected void setarQueryParametrosConsulta(Query query, ParametrosConsulta<Pessoa> parametros) {
if (VerificadorUtil.naoEstaNuloOuVazio(((ParametrosConsultaPessoaDTO)parametros).getEntidade())) {
if (VerificadorUtil.naoEstaNulo(((ParametrosConsultaPessoaDTO)parametros).getEntidade().getNome())) {
query.setParameter("nomePessoa", "%" + removerAcentuacao(((ParametrosConsultaPessoaDTO)parametros).getEntidade().getNome()) + "%");
}
}
}
@Override
public Pessoa detalharPessoa(Pessoa pessoa) {
StringBuilder jpql = new StringBuilder();
jpql.append("SELECT p FROM Pessoa p ");
jpql.append("LEFT JOIN FETCH p.papeis pp ");
jpql.append("LEFT JOIN FETCH p.enderecos e ");
jpql.append("LEFT JOIN FETCH p.dadosBancarios b ");
jpql.append("WHERE p = :pessoa");
return getEntityManager().createQuery(jpql.toString(), Pessoa.class).setParameter("pessoa", pessoa).getSingleResult();
}
@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;
}
}
*/
}