Example usage for org.hibernate.criterion Restrictions sqlRestriction

List of usage examples for org.hibernate.criterion Restrictions sqlRestriction

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions sqlRestriction.

Prototype

public static Criterion sqlRestriction(String sql) 

Source Link

Document

Apply a constraint expressed in SQL with no JDBC parameters.

Usage

From source file:cn.trymore.core.service.impl.ServiceGenericImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override/*  www. j a v a  2 s . c om*/
public PaginationSupport<T> getByQuery(final String nativeSql, final PagingBean pagingBean)
        throws ServiceException {
    try {
        Class<T> entityClass = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass())
                .getActualTypeArguments()[0];

        DetachedCriteria criteria = DetachedCriteria.forClass(entityClass);

        if (UtilString.isNotEmpty(nativeSql)) {
            if (nativeSql.trim().toLowerCase().startsWith("and")) {
                criteria.add(Restrictions.sqlRestriction(nativeSql.toLowerCase().replaceFirst("and", "")));
            } else {
                criteria.add(Restrictions.sqlRestriction(nativeSql));
            }
        }

        return dao.findPageByCriteria(criteria, pagingBean);
    } catch (Exception e) {
        throw new ServiceException(e);
    }
}

From source file:co.com.codesoftware.logic.ProductoLogic.java

/**
 * funcion que consulta las facturas por filtros
 *
 * @param idProveedor/*from  w  w w  . ja va  2  s  .  co m*/
 * @param fechaInicial
 * @param fechaFinal
 * @param estado
 * @param imagen
 * @return
 */
public List<FacturaCompraTotalEntity> consultaFacturas(Integer idProveedor, Date fechaInicial, Date fechaFinal,
        String estado, String imagen, String digitalizado) {
    List<FacturaCompraTotalEntity> lista = null;
    try {
        initOperation();
        Criteria criteria = sesion.createCriteria(FacturaCompraTotalEntity.class).setFetchMode("proveedor",
                FetchMode.JOIN);
        if (idProveedor != -1) {
            criteria.createAlias("proveedor", "pr").add(Restrictions.eq("pr.id", idProveedor));
        }
        if (fechaInicial != null && fechaFinal != null) {
            criteria.add(Restrictions.ge("fechaCreacion", fechaInicial));
            criteria.add(Restrictions.lt("fechaCreacion", fechaFinal));
        }
        if (estado != null && "".equalsIgnoreCase(estado) && "-1".equalsIgnoreCase(estado)) {
            criteria.add(Restrictions.eq("estado", estado));
        }
        if (imagen != null && "".equalsIgnoreCase(imagen) && "-1".equalsIgnoreCase(imagen)) {
            criteria.add(Restrictions.eq("rutaImagen", imagen));
        }
        if ("S".equalsIgnoreCase(digitalizado)) {
            criteria.add(Restrictions
                    .sqlRestriction(" exists (select 1 from fa_timfac where imfac_facom = facom_facom) "));
        } else if ("N".equalsIgnoreCase(digitalizado)) {
            criteria.add(Restrictions
                    .sqlRestriction(" not exists (select 1 from fa_timfac where imfac_facom = facom_facom) "));
        }
        lista = criteria.list();

    } catch (Exception e) {
        e.printStackTrace();
    }
    return lista;
}

From source file:co.com.codesoftware.logica.facturacion.FacturacionLogica.java

/**
 * metodo que consulta las facturas por fecha y por sede
 *
 * @param fechaInicial//  ww  w .  j a  va2  s . c o  m
 * @param fechaFinal
 * @param sede
 * @param estado
 * @return
 */
public List<FacturaEntity> obtieneFacturasXSede(Date fechaInicial, Date fechaFinal, Integer sede,
        String estado) {
    List<FacturaEntity> rta = null;
    try {
        initOperation();
        Criteria crit = this.sesion.createCriteria(FacturaEntity.class);
        crit.setFetchMode("idSede", FetchMode.JOIN).setFetchMode("cliente", FetchMode.JOIN)
                .createAlias("idSede", "sed").add(Restrictions.eq("sed.id", sede))
                .add(Restrictions.between("fecha", fechaInicial, fechaFinal)).addOrder(Order.desc("id"));
        if (estado == null) {
            estado = "";
        }
        if (!"".equalsIgnoreCase(estado.trim())) {
            if ("R".equalsIgnoreCase(estado.trim())) {
                crit.add(Restrictions.sqlRestriction("fact_fact in (select remi_fact from in_tremi)"));
            } else if ("PC".equalsIgnoreCase(estado.trim())) {
                String[] valores = new String[] { "S", "A", "R" };
                crit.add(Restrictions.in("estado", valores));
            } else if ("P".equalsIgnoreCase(estado.trim())) {
                crit.add(Restrictions.eq("estado", estado.trim()));
            } else if ("C".equalsIgnoreCase(estado.trim())) {
                crit.add(Restrictions.eq("estado", estado.trim()));
            }
        }
        rta = crit.list();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return rta;

}

From source file:co.com.codesoftware.logica.facturacion.FacturacionLogica.java

/**
 * Funcion con la cual obtengo el valor de
 *
 * @param valor//www. j a v a  2 s  .co  m
 * @return
 */
public BigDecimal obtieneValorFacturasMes(Integer valor) {
    BigDecimal valorTotal = null;
    System.out.println("Valor " + valor);
    try {
        this.initOperation();
        Criteria crit = this.sesion.createCriteria(FacturaEntity.class);
        crit.setProjection(Projections.sum("valor"));
        if (valor == 0) {
            crit.add(Restrictions
                    .sqlRestriction("to_char(fact_fec_ini , 'mm/yyyy') = to_char(now(), 'mm/yyyy')"));
        } else {
            crit.add(Restrictions
                    .sqlRestriction("to_char(fact_fec_ini , 'mm/yyyy') =  to_char(current_date + interval '-"
                            + valor + " month', 'mm/yyyy')"));
        }
        valorTotal = (BigDecimal) crit.uniqueResult();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return valorTotal;
}

From source file:co.com.siscomputo.proveedores.logic.FiltroProveedores.java

/**
 *
 * @param idTipoEstado/*from   ww w  .  j a va2s .c  o m*/
 * @param idCiudad
 * @param idLinea
 * @param idEmpresa
 * @param idResponsable
 * @param idTipoProveedor
 * @param idTibutaria
 * @param idTipoCuenta
 * @param idFormaPago
 * @return
 */
public ObjetoRetornaEntity filtrarProvedores(Integer idTipoEstado, Integer idCiudad, Integer idLinea,
        Integer idEmpresa, Integer idResponsable, Integer idTipoProveedor, Integer idTibutaria,
        Integer idTipoCuenta, Integer idFormaPago, Date fecha1, Date fecha2) {
    ObjetoRetornaEntity retorna = new ObjetoRetornaEntity();
    try {
        String validaConexion = initOperation();
        if ("Ok".equalsIgnoreCase(validaConexion)) {
            Criteria criteria = sesion.createCriteria(ProveedoresEntity.class);
            if (idTipoEstado != null) {
                criteria.add(Restrictions.eq("estadoProveedor.idEstadoProveedor", idTipoEstado));
            }
            if (idCiudad != null) {
                criteria.add(Restrictions.eq("ciudadProveedor", idCiudad));
            }
            if (idLinea != null) {
                criteria.add(Restrictions.eq("lineaProveedores.idLinea", idLinea));
            }
            if (idEmpresa != null) {
                criteria.add(Restrictions.eq("empresaProveedor.idEmpresa", idEmpresa));
            }
            if (idResponsable != null) {
                criteria.add(Restrictions.eq("usuarioResponsable.idUsuario", idResponsable));
            }
            if (idTipoProveedor != null) {
                criteria.add(Restrictions.eq("idTipoProveedor.idTipoProveedor", idTipoProveedor));
            }
            if (idTibutaria != null) {
                criteria.add(Restrictions.eq("idTipoTributario.idTipoTributario", idTibutaria));
            }
            if (idTipoCuenta != null) {
                criteria.add(Restrictions.eq("idTipocuenta.idTipoCuenta", idTipoCuenta));
            }
            if (idFormaPago != null) {
                criteria.add(Restrictions.eq("idFormaPago.idFormasPagos", idFormaPago));
            }

            if (fecha1 == null || fecha2 != null) {
                System.out.println("Fecha1 Nula");
            } else {

                SimpleDateFormat formas = new SimpleDateFormat("dd-MM-yyyy");
                String faux = formas.format(fecha1);
                System.out.println("No nula1: " + fecha1);
                criteria.add(Restrictions.sqlRestriction("PROV_FECH>'" + faux + "'"));
                //criteria.add(Restrictions.ge("fechaDocumento", fecha1));
            }
            if (fecha2 == null || fecha1 != null) {
                System.out.println("Fecha2 Nula");
            } else {

                SimpleDateFormat formas = new SimpleDateFormat("dd-MM-yyyy");
                String faux2 = formas.format(fecha2);
                System.out.println("No nula2: " + fecha2);
                criteria.add(Restrictions.sqlRestriction("PROV_FECH<'" + faux2 + "'"));
            }
            if (fecha1 != null && fecha2 != null) {
                criteria.add(Restrictions.between("fechaCreacion", fecha1, fecha2));

            }

            retorna.setRetorna((ArrayList<Object>) criteria.list());
            retorna.setTrazaRespuesta("Carga exitosa de proveedores filtrados");
            retorna.setNumeroRespuesta(99);
        } else {
            retorna.setNumeroRespuesta(3);
            retorna.setTrazaRespuesta("Error de Conexin " + validaConexion);
        }
    } catch (Exception e) {
        e.printStackTrace();
        retorna = new ObjetoRetornaEntity();
        retorna.setNumeroRespuesta(0);
        retorna.setTrazaRespuesta(e.getMessage());
    }

    return retorna;
}

From source file:com.app.gpo.dao.FieldDAO.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<Field> findAllForMainScreen() {
    Criteria criteria = createEntityCriteria();
    criteria.add(Restrictions.sqlRestriction("{alias}.fieldShownInMainTable = 1"));
    return (List<Field>) criteria.list();
}

From source file:com.app.gpo.dao.FieldMappingDAO.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<FieldMapping> findByProductionSlotID(int id) {
    Criteria criteria = createEntityCriteria();
    criteria.add(Restrictions.sqlRestriction("{alias}.productionSlotID = " + id));
    List<FieldMapping> fieldMappings = (List<FieldMapping>) criteria.list();
    for (FieldMapping s : fieldMappings) {
        Hibernate.initialize(s.getProductionSlot());
        Hibernate.initialize(s.getfield());
    }/*from  w  w w.j  a v  a  2s .c  o m*/
    return fieldMappings;
}

From source file:com.app.gpo.dao.FieldMappingDAO.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<FieldMapping> findByNotProductionSlotID(int id) {
    Criteria criteria = createEntityCriteria();
    criteria.add(Restrictions.sqlRestriction("{alias}.productionSlotID = " + id));
    List<FieldMapping> fieldMappings = (List<FieldMapping>) criteria.list();
    for (FieldMapping s : fieldMappings) {
        Hibernate.initialize(s.getProductionSlot());
        Hibernate.initialize(s.getfield());
    }/*www  .  j  a  va 2  s .com*/
    return fieldMappings;
}

From source file:com.apt.facade.AdminFacade.java

public List<Admin> getAdminList(AdminFinder finder) {
    List<Admin> lst = new ArrayList<>();

    Session session = null;// ww w .  ja  va2 s .  c  o m
    Transaction trans = null;

    try {
        session = HibernateUtil.getSessionFactory().getCurrentSession();
        trans = session.beginTransaction();

        Criteria crit = session.createCriteria(Admin.class);
        crit.add(Restrictions.sqlRestriction("1=1"));
        if (finder.getAdminID() != null) {
            crit.add(Restrictions.eq("adminID", finder.getAdminID()));
        }
        if (finder.getAdminName() != null) {
            crit.add(Restrictions.ilike("adminName", finder.getAdminName(), MatchMode.ANYWHERE));
        }
        if (finder.getStatus() != null) {
            crit.add(Restrictions.eq("status", finder.getStatus()));
        }

        lst = crit.list();
        trans.commit();

    } catch (Exception e) {
        e.printStackTrace();
        if (trans != null) {
            trans.rollback();
        }
    } finally {
        if (session != null && session.isConnected()) {
            session.close();
        }
    }

    return lst;
}

From source file:com.apt.facade.AdminFacade.java

public List<Admin> getAdminList(AdminFinder finder, int page, int recordPerPage) {
    List<Admin> lst = new ArrayList<>();

    Session session = null;//from w  ww. jav a2s. com
    Transaction trans = null;

    try {
        session = HibernateUtil.getSessionFactory().getCurrentSession();
        trans = session.beginTransaction();

        Criteria crit = session.createCriteria(Admin.class);
        crit.add(Restrictions.sqlRestriction("1=1"));
        if (finder.getAdminID() != null) {
            crit.add(Restrictions.and(Restrictions.eq("adminID", finder.getAdminID())));
        }
        if (finder.getAdminName() != null) {
            crit.add(Restrictions.and(Restrictions.ilike("adminName", "%" + finder.getAdminName() + "%")));
        }
        if (finder.getStatus() != null) {
            crit.add(Restrictions.and(Restrictions.eq("status", finder.getStatus())));
        }
        crit.setFirstResult((page - 1) * recordPerPage);
        crit.setMaxResults(recordPerPage);
        lst = crit.list();
        trans.commit();

    } catch (Exception e) {
        e.printStackTrace();
        if (trans != null) {
            trans.rollback();
        }
    } finally {
        if (session != null && session.isConnected()) {
            session.close();
        }
    }

    return lst;
}