Search in sources :

Example 1 with BooleanBuilder

use of com.querydsl.core.BooleanBuilder in project sic by belluccifranco.

the class TransportistaServiceImpl method buildPredicadoNombre.

private BooleanBuilder buildPredicadoNombre(String nombre, QTransportista qtransportista) {
    String[] terminos = nombre.split(" ");
    BooleanBuilder descripcionProducto = new BooleanBuilder();
    for (String termino : terminos) {
        descripcionProducto.and(qtransportista.nombre.containsIgnoreCase(termino));
    }
    return descripcionProducto;
}
Also used : BooleanBuilder(com.querydsl.core.BooleanBuilder)

Example 2 with BooleanBuilder

use of com.querydsl.core.BooleanBuilder in project sic by belluccifranco.

the class ProductoServiceImpl method buildPredicadoDescripcion.

private BooleanBuilder buildPredicadoDescripcion(String descripcion, QProducto qproducto) {
    String[] terminos = descripcion.split(" ");
    BooleanBuilder descripcionProducto = new BooleanBuilder();
    for (String termino : terminos) {
        descripcionProducto.and(qproducto.descripcion.containsIgnoreCase(termino));
    }
    return descripcionProducto;
}
Also used : BooleanBuilder(com.querydsl.core.BooleanBuilder)

Example 3 with BooleanBuilder

use of com.querydsl.core.BooleanBuilder in project sic by belluccifranco.

the class ProveedorServiceImpl method buildPredicadoRazonSocial.

private BooleanBuilder buildPredicadoRazonSocial(String razonSocial, QProveedor qproveedor) {
    String[] terminos = razonSocial.split(" ");
    BooleanBuilder predicadoRazonSocial = new BooleanBuilder();
    for (String termino : terminos) {
        predicadoRazonSocial.and(qproveedor.razonSocial.containsIgnoreCase(termino));
    }
    return predicadoRazonSocial;
}
Also used : BooleanBuilder(com.querydsl.core.BooleanBuilder)

Example 4 with BooleanBuilder

use of com.querydsl.core.BooleanBuilder in project sic by belluccifranco.

the class TransportistaServiceImpl method buscarTransportistas.

@Override
public List<Transportista> buscarTransportistas(BusquedaTransportistaCriteria criteria) {
    // Empresa
    if (criteria.getEmpresa() == null) {
        throw new EntityNotFoundException(ResourceBundle.getBundle("Mensajes").getString("mensaje_empresa_no_existente"));
    }
    QTransportista qtransportista = QTransportista.transportista;
    BooleanBuilder builder = new BooleanBuilder();
    builder.and(qtransportista.empresa.eq(criteria.getEmpresa()).and(qtransportista.eliminado.eq(false)));
    // Nombre
    if (criteria.isBuscarPorNombre() == true) {
        builder.and(this.buildPredicadoNombre(criteria.getNombre(), qtransportista));
    }
    // Localidad
    if (criteria.isBuscarPorLocalidad() == true) {
        builder.and(qtransportista.localidad.eq(criteria.getLocalidad()));
    }
    // Provincia
    if (criteria.isBuscarPorProvincia() == true) {
        builder.and(qtransportista.localidad.provincia.eq(criteria.getProvincia()));
    }
    // Pais
    if (criteria.isBuscarPorPais() == true) {
        builder.and(qtransportista.localidad.provincia.pais.eq(criteria.getPais()));
    }
    List<Transportista> list = new ArrayList<>();
    transportistaRepository.findAll(builder, new Sort(Sort.Direction.ASC, "nombre")).iterator().forEachRemaining(list::add);
    return list;
}
Also used : QTransportista(sic.modelo.QTransportista) Transportista(sic.modelo.Transportista) QTransportista(sic.modelo.QTransportista) BooleanBuilder(com.querydsl.core.BooleanBuilder) ArrayList(java.util.ArrayList) Sort(org.springframework.data.domain.Sort) EntityNotFoundException(javax.persistence.EntityNotFoundException)

Example 5 with BooleanBuilder

use of com.querydsl.core.BooleanBuilder in project sic by belluccifranco.

the class PedidoServiceImpl method buscarConCriteria.

@Override
public Page<Pedido> buscarConCriteria(BusquedaPedidoCriteria criteria) {
    // Fecha
    if (criteria.isBuscaPorFecha() == true & (criteria.getFechaDesde() == null | criteria.getFechaHasta() == null)) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_pedido_fechas_busqueda_invalidas"));
    }
    if (criteria.isBuscaPorFecha() == true) {
        Calendar cal = new GregorianCalendar();
        cal.setTime(criteria.getFechaDesde());
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        criteria.setFechaDesde(cal.getTime());
        cal.setTime(criteria.getFechaHasta());
        cal.set(Calendar.HOUR_OF_DAY, 23);
        cal.set(Calendar.MINUTE, 59);
        cal.set(Calendar.SECOND, 59);
        criteria.setFechaHasta(cal.getTime());
    }
    // Empresa
    if (criteria.getEmpresa() == null) {
        throw new EntityNotFoundException(ResourceBundle.getBundle("Mensajes").getString("mensaje_empresa_no_existente"));
    }
    // Cliente
    if (criteria.isBuscaCliente() == true && criteria.getCliente() == null) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_cliente_vacio_razonSocial"));
    }
    // Usuario
    if (criteria.isBuscaUsuario() == true && criteria.getUsuario() == null) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_usuario_vacio_nombre"));
    }
    QPedido qpedido = QPedido.pedido;
    BooleanBuilder builder = new BooleanBuilder();
    builder.and(qpedido.empresa.eq(criteria.getEmpresa()).and(qpedido.eliminado.eq(false)));
    if (criteria.isBuscaPorFecha() == true) {
        FormatterFechaHora formateadorFecha = new FormatterFechaHora(FormatterFechaHora.FORMATO_FECHAHORA_INTERNACIONAL);
        DateExpression<Date> fDesde = Expressions.dateTemplate(Date.class, "convert({0}, datetime)", formateadorFecha.format(criteria.getFechaDesde()));
        DateExpression<Date> fHasta = Expressions.dateTemplate(Date.class, "convert({0}, datetime)", formateadorFecha.format(criteria.getFechaHasta()));
        builder.and(qpedido.fecha.between(fDesde, fHasta));
    }
    if (criteria.isBuscaCliente() == true) {
        builder.and(qpedido.cliente.eq(criteria.getCliente()));
    }
    if (criteria.isBuscaUsuario() == true) {
        builder.and(qpedido.usuario.eq(criteria.getUsuario()));
    }
    if (criteria.isBuscaPorNroPedido() == true) {
        builder.and(qpedido.nroPedido.eq(criteria.getNroPedido()));
    }
    Page<Pedido> pedidos = pedidoRepository.findAll(builder, criteria.getPageable());
    this.calcularTotalActualDePedidos(pedidos.getContent());
    return pedidos;
}
Also used : FormatterFechaHora(sic.util.FormatterFechaHora) BusinessServiceException(sic.service.BusinessServiceException) BooleanBuilder(com.querydsl.core.BooleanBuilder) Calendar(java.util.Calendar) GregorianCalendar(java.util.GregorianCalendar) RenglonPedido(sic.modelo.RenglonPedido) QPedido(sic.modelo.QPedido) Pedido(sic.modelo.Pedido) EstadoPedido(sic.modelo.EstadoPedido) GregorianCalendar(java.util.GregorianCalendar) EntityNotFoundException(javax.persistence.EntityNotFoundException) QPedido(sic.modelo.QPedido) Date(java.util.Date)

Aggregations

BooleanBuilder (com.querydsl.core.BooleanBuilder)41 Predicate (com.querydsl.core.types.Predicate)12 ArrayList (java.util.ArrayList)10 JPAQuery (com.querydsl.jpa.impl.JPAQuery)8 QJpaAlert (com.thinkbiganalytics.metadata.jpa.alerts.QJpaAlert)8 Sort (org.springframework.data.domain.Sort)8 List (java.util.List)7 QJpaOpsManagerFeed (com.thinkbiganalytics.metadata.jpa.feed.QJpaOpsManagerFeed)6 Map (java.util.Map)6 Pageable (org.springframework.data.domain.Pageable)6 Alert (com.thinkbiganalytics.alerts.api.Alert)5 Test (org.junit.Test)5 JpaAlert (com.thinkbiganalytics.metadata.jpa.alerts.JpaAlert)4 HashMap (java.util.HashMap)4 Collectors (java.util.stream.Collectors)4 EntityNotFoundException (javax.persistence.EntityNotFoundException)4 Autowired (org.springframework.beans.factory.annotation.Autowired)4 Service (org.springframework.stereotype.Service)4 Expression (com.querydsl.core.types.Expression)3 Projections (com.querydsl.core.types.Projections)3