use of com.querydsl.core.BooleanBuilder in project sic by belluccifranco.
the class ClienteServiceImpl method buscarClientes.
@Override
public List<Cliente> buscarClientes(BusquedaClienteCriteria criteria) {
//Empresa
if (criteria.getEmpresa() == null) {
throw new EntityNotFoundException(ResourceBundle.getBundle("Mensajes").getString("mensaje_empresa_no_existente"));
}
if (criteria.getRazonSocial() == null) {
criteria.setRazonSocial("");
}
QCliente qcliente = QCliente.cliente;
BooleanBuilder builder = new BooleanBuilder();
builder.and(qcliente.empresa.eq(criteria.getEmpresa()).and(qcliente.eliminado.eq(false))).and(this.buildPredicadoBusqueda(criteria.getRazonSocial(), criteria.getNombreFantasia(), criteria.getIdFiscal(), qcliente, criteria.isBuscaPorRazonSocial(), criteria.isBuscaPorNombreFantasia(), criteria.isBuscaPorId_Fiscal()));
if (criteria.isBuscaPorLocalidad() == true) {
builder.and(qcliente.localidad.eq(criteria.getLocalidad()));
}
if (criteria.isBuscaPorProvincia() == true) {
builder.and(qcliente.localidad.provincia.eq(criteria.getProvincia()));
}
if (criteria.isBuscaPorPais() == true) {
builder.and(qcliente.localidad.provincia.pais.eq(criteria.getPais()));
}
List<Cliente> list = new ArrayList<>();
clienteRepository.findAll(builder, new Sort(Sort.Direction.ASC, "razonSocial")).iterator().forEachRemaining(list::add);
return list;
}
Aggregations