Example usage for org.hibernate.criterion Restrictions or

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

Introduction

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

Prototype

public static LogicalExpression or(Criterion lhs, Criterion rhs) 

Source Link

Document

Return the disjuction of two expressions

Usage

From source file:com.square.adherent.noyau.dao.implementations.contrat.GarantieDaoImpl.java

License:Open Source License

@Override
public boolean isPersonneAssocieeAContrat(Long idPersonne) {
    final Criteria crit = createCriteria(Garantie.class);
    crit.setProjection(Projections.rowCount());
    crit.createAlias("statut", "statut");
    crit.add(Restrictions.or(Restrictions.eq("uidAssure", idPersonne),
            Restrictions.eq("uidBeneficiaire", idPersonne)));
    crit.add(Restrictions.eq("isVisible", true));
    crit.add(Restrictions.or(Restrictions.eq("statut.id", adherentMappingService.getIdStatutGarantieEnCours()),
            Restrictions.eq("statut.id", adherentMappingService.getIdStatutGarantieFutur())));
    final Integer nbGaranties = Integer.valueOf(crit.uniqueResult().toString());
    return nbGaranties > 0;
}

From source file:com.square.adherent.noyau.dao.implementations.contrat.GarantieDaoImpl.java

License:Open Source License

/**
 * {@inheritDoc}/* w  w w.j  a va 2 s. c  o  m*/
 */
@SuppressWarnings("unchecked")
@Override
public List<Garantie> getListeGarantiesBeneficiaire(Long idAssure, Long idBeneficiaire) {
    final Criteria crit = createCriteria(Garantie.class);
    crit.createAlias("famille", "famille");
    crit.createAlias("statut", "statut");
    crit.add(Restrictions.eq("uidAssure", idAssure));
    crit.add(Restrictions.eq("uidBeneficiaire", idBeneficiaire));
    crit.add(Restrictions.le("dateAdhesion", Calendar.getInstance()));
    crit.add(Restrictions.or(Restrictions.eq("statut.id", adherentMappingService.getIdStatutGarantieEnCours()),
            Restrictions.eq("statut.id", adherentMappingService.getIdStatutGarantieResiliee())));
    crit.add(Restrictions.eq("isVisible", true));
    crit.addOrder(Order.asc("famille.ordre"));
    crit.addOrder(Order.asc("statut.ordre"));
    return crit.list();
}

From source file:com.square.core.dao.implementations.AgenceDaoImplementation.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override//from  w  w  w.  j  a  v a2s .c  o  m
public List<Agence> rechercherAgenceParCriteres(DimensionCriteresRechercheDto criteres) {

    final Criteria criteria = createCriteria(Agence.class);

    final Long idAgence = criteres.getId();
    final Set<Long> eidsAgences = criteres.getEids();
    if (idAgence != null) {
        criteria.add(Restrictions.eq("id", idAgence));
    }
    if (eidsAgences != null && !eidsAgences.isEmpty()) {
        criteria.add(Restrictions.in("identifiantExterieur",
                (List<String>) CollectionUtils.collect(eidsAgences, StringValueTransformer.getInstance())));
    }
    // Critre sur le libell de l'agence.
    final String libelleAgence = criteres.getLibelle();
    if (!StringUtils.isBlank(libelleAgence)) {
        criteria.add(Restrictions.or(Restrictions.ilike("libelle", libelleAgence + "%"),
                Restrictions.or(Restrictions.ilike("libelle", "% " + libelleAgence + "%"),
                        Restrictions.ilike("libelle", "%'" + libelleAgence + "%"))));
    }
    if (criteres.getIdentifiantExterieur() != null) {
        criteria.add(Restrictions.eq("identifiantExterieur", criteres.getIdentifiantExterieur()));
    }
    if (criteres.getVisible() != null) {
        criteria.add(Restrictions.eq("supprime", !criteres.getVisible()));
    }

    criteria.addOrder(Order.asc("libelle"));

    return criteria.list();
}

From source file:com.square.core.dao.implementations.RelationTypeDaoImplementation.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override//ww  w .  j a va 2  s  .c  o m
public List<RelationType> rechercherRelationTypeParCriteres(DimensionCritereRechercheTypeRelationDto criteres) {

    final Criteria criteria = createCriteria(RelationType.class);

    // Critre sur l'identifiant
    if (criteres.getId() != null) {
        criteria.add(Restrictions.eq("id", criteres.getId()));
    }
    // Critre sur la liste d'identifiants
    if (criteres.getListeIds() != null && criteres.getListeIds().size() > 0) {
        criteria.add(Restrictions.in("id", criteres.getListeIds()));
    }
    // Critre sur la visibilit
    if (criteres.getVisible() != null) {
        criteria.add(Restrictions.eq("visible", criteres.getVisible()));
    }
    // Critre sur le groupement
    if (criteres.getGroupements() != null && criteres.getGroupements().length > 0) {
        criteria.add(Restrictions.in("relationGroupement.id", criteres.getGroupements()));
    }
    // Critre sur le groupement
    if (criteres.getPasDansGroupements() != null && criteres.getPasDansGroupements().length > 0) {
        criteria.add(
                Restrictions.not(Restrictions.in("relationGroupement.id", criteres.getPasDansGroupements())));
    }
    // Critre sur le libelle ou libelle inverse
    if (criteres.getLibelle() != null && !("".equals(criteres.getLibelle()))) {
        criteria.add(Restrictions.or(Restrictions.ilike("libelle", criteres.getLibelle().toLowerCase() + "%"),
                Restrictions.ilike("inverse", criteres.getLibelle().toLowerCase() + "%")));
    }
    // Ordonner les lments
    criteria.addOrder(Order.asc("ordre"));
    criteria.addOrder(Order.asc("libelle"));
    return criteria.list();
}

From source file:com.square.tarificateur.noyau.dao.implementations.DevisDaoImpl.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public List<Devis> getListeDevisByCriteres(CriteresRechercheDevisDto criteres) {
    final Criteria crit = createCriteria(Devis.class);
    if (criteres.getCloturer() != null) {
        if (criteres.getCloturer()) {
            crit.add(Restrictions.isNotNull("dateCloture"));
        } else {/*w w  w .j a va 2s . co  m*/
            crit.add(Restrictions.isNull("dateCloture"));
        }
    }
    if (criteres.getOrigineSiteWeb() != null) {
        if (criteres.getOrigineSiteWeb()) {
            crit.add(Restrictions.eq("origineSiteWeb", true));
        } else {
            crit.add(Restrictions.or(Restrictions.isNull("origineSiteWeb"),
                    Restrictions.eq("origineSiteWeb", false)));
        }
    }
    if (criteres.getIdFinalite() != null) {
        crit.add(Restrictions.eq("finalite.id", criteres.getIdFinalite()));
    }
    if (criteres.getIdsFinalite() != null && criteres.getIdsFinalite().size() > 0) {
        crit.add(Restrictions.in("finalite.id", criteres.getIdsFinalite()));
    }
    if (criteres.getIdPersonne() != null || criteres.getEidPersonne() != null) {
        final Criteria personne = crit.createAlias("personnePrincipale", "personne");
        if (criteres.getIdPersonne() != null) {
            personne.add(Restrictions.eq("personne.id", criteres.getIdPersonne()));
        }
        if (criteres.getEidPersonne() != null) {
            personne.add(Restrictions.eq("personne.eidPersonne", criteres.getEidPersonne()));
        }
    }
    if (criteres.getIdDevis() != null) {
        crit.add(Restrictions.eq("id", criteres.getIdDevis()));
    }
    return (ArrayList<Devis>) crit.list();
}

From source file:com.square.tarificateur.noyau.dao.implementations.OpportuniteDaoImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override//from  w  w w . j a va2s. c  om
public List<Opportunite> rechercherOpportunitesByCritere(CriteresRechercheOpportuniteDto criteres) {
    final Criteria crit = createCriteria(Opportunite.class);
    if (criteres.getListeEids() != null && criteres.getListeEids().size() > 0) {
        crit.add(Restrictions.in("eidOpportunite", criteres.getListeEids()));
    }
    if (criteres.getIdFinalite() != null) {
        crit.add(Restrictions.eq("finalite.id", criteres.getIdFinalite()));
    }
    if (criteres.getDebutDateCloture() != null) {
        crit.add(Restrictions.ge("dateCloture", criteres.getDebutDateCloture()));
    }
    if (criteres.getFinDateCloture() != null) {
        crit.add(Restrictions.lt("dateCloture", criteres.getFinDateCloture()));
    }
    if (criteres.getListeEidsNaturePersonneExclure() != null
            && criteres.getListeEidsNaturePersonneExclure().size() > 0) {
        crit.add(Restrictions.or(Restrictions.isNull("eidNaturePersonne"), Restrictions
                .not(Restrictions.in("eidNaturePersonne", criteres.getListeEidsNaturePersonneExclure()))));
    }
    return (List<Opportunite>) crit.list();
}

From source file:com.tapestry.stackoverflowclone.dao.QuestionDaoImpl.java

/**
 * Searches all Questions, by checking if caption or text contains passed text.
 * Then returns the result.//from w  w w. j  a  v a  2 s  . co m
 * @param query
 * @return
 */
@Override
public List<Question> getQuestionByQuery(String query) {
    Criteria criteria = session.createCriteria(Question.class);
    Criterion rest1 = Restrictions.and(Restrictions.like("questionText", "%" + query + "%"));
    Criterion rest2 = Restrictions.and(Restrictions.like("questionCaption", "%" + query + "%"));
    criteria.add(Restrictions.or(rest1, rest2));
    return criteria.list();
    //return session.createCriteria(Question.class).add(Restrictions.like("questionText", "%" + caption + "%")).list();
}

From source file:com.tegik.almac.module.actionHandler.ChangeSize.java

License:Open Source License

public void doExecute(ProcessBundle bundle) throws Exception {
    try {/*  w  w w.jav  a2 s .com*/

        //Imprime todos los parametros
        almac_sizechange header = obdal.get(almac_sizechange.class,
                (String) bundle.getParams().get("Almac_Sizechange_ID"));

        //Query para verificar que ninguno tenga medidas en 0
        OBCriteria<almac_sizechangeline> pQ = obdal.createCriteria(almac_sizechangeline.class);
        pQ.add(Restrictions.eq(almac_sizechangeline.PROPERTY_ALMACSIZECHANGE, header));
        pQ.add(Restrictions.or(Restrictions.isNull(almac_sizechangeline.PROPERTY_ALMACRAZONAJUSTE),
                Restrictions.or(Restrictions.le(almac_sizechangeline.PROPERTY_HEIGHT, BigDecimal.ZERO),
                        Restrictions.le(almac_sizechangeline.PROPERTY_WIDTH, BigDecimal.ZERO))));
        List<almac_sizechangeline> sizeList = pQ.list();

        //Verifica que ningun producto tenga tamano menor a 0
        if (!sizeList.isEmpty()) {
            final OBError msg = new OBError();
            msg.setType("Error");
            msg.setTitle("Error en las piezas.");
            msg.setMessage("Hay piezas con medidas menores o igual a cero o sin una razn de cambio.");
            bundle.setResult(msg);
            return;
        }

        //Verifica que el inventario del producto no este en 0
        //Query para verificar que ninguno tenga medidas en 0
        pQ = obdal.createCriteria(almac_sizechangeline.class);
        pQ.add(Restrictions.eq(almac_sizechangeline.PROPERTY_QTYM2, BigDecimal.ZERO));
        sizeList = pQ.list();

        //Verifica que ningun producto tenga tamano menor a 0
        if (!sizeList.isEmpty()) {
            final OBError msg = new OBError();
            msg.setType("Error");
            msg.setTitle("Error en inventario de productos.");
            msg.setMessage(
                    "Hay piezas con que no tienen inventario y no se les puede hacer el cambio de tamao.");
            bundle.setResult(msg);
            return;
        }

        //Query para traer todas la spiezas
        pQ = obdal.createCriteria(almac_sizechangeline.class);
        pQ.add(Restrictions.eq(almac_sizechangeline.PROPERTY_ALMACSIZECHANGE, header));
        sizeList = pQ.list();

        //Modifica el inventario por medio de Physical Inventory 
        InventoryCount inv = OBProvider.getInstance().get(InventoryCount.class);
        inv.setName(header.getCommercialName() + " " + header.getCreationDate().toString());
        inv.setDescription("Ajuste de Tamao de Piezas  Ajuste:" + header.getCommercialName());
        inv.setMovementDate(new Date());
        inv.setUpdateQuantities(false);
        inv.setOrganization(header.getOrganization());
        inv.setWarehouse(header.getWarehouse());
        obdal.save(inv);
        //Ve4rifica que la lista no este vaca

        //Inicializacion de Variables 
        InventoryCountLine invline = null;
        BigDecimal qtyonhand = BigDecimal.ZERO;
        OBCriteria<StorageDetail> sdqty;
        List<StorageDetail> sdList;

        if (sizeList.isEmpty()) {
            final OBError msg = new OBError();
            msg.setType("Error");
            msg.setTitle("Lista vaca.");
            msg.setMessage("No hay piezas asignadas al documento.");
            bundle.setResult(msg);
            return;
        }

        for (almac_sizechangeline x : sizeList) {
            //Busca la cantidad actual en el sistema y si ya ha cambaido lanza un error.
            sdqty = obdal.createCriteria(StorageDetail.class);
            sdqty.add(Restrictions.eq(StorageDetail.PROPERTY_PRODUCT, x.getProduct()));
            sdqty.add(Restrictions.eq(StorageDetail.PROPERTY_ATTRIBUTESETVALUE, x.getAttributeSetValue()));
            sdList = sdqty.list();

            invline = OBProvider.getInstance().get(InventoryCountLine.class);
            invline.setOrganization(inv.getOrganization());
            invline.setPhysInventory(inv);
            invline.setLineNo(x.getLineNo());
            invline.setProduct(x.getProduct());
            invline.setStorageBin(x.getStorageBin());
            invline.setQuantityCount(((x.getHeight().divide(new BigDecimal("100"), 5, BigDecimal.ROUND_CEILING))
                    .multiply(x.getWidth().divide(new BigDecimal("100"), 5, BigDecimal.ROUND_CEILING))));
            //Pone la nueva cantidad en el sistema
            invline.setBookQuantity(sdList.get(0).getQuantityOnHand());
            invline.setUOM(x.getUOM());
            invline.setAttributeSetValue(x.getAttributeSetValue());
            obdal.save(invline);
        }
        //Se enva todo a la bsae de datos
        obdal.flush();
        obdal.refresh(inv);
        //Crea el proceso de Inventario
        InventoryCountProcess process = new InventoryCountProcess();
        //Se agrega como parametro el Id del Inventario
        Map<String, Object> param = bundle.getParams();
        param.put("M_Inventory_ID", (Object) inv.getId());
        bundle.setParams(param);

        //Se ejecuta el proceso
        process.execute(bundle);

        //Si no hay error continuar normalmente por lo que hay que cambiar de tamao las piezas
        AttributeSetInstance y = null;
        //El documento fue modificado y ya nodeberia poder modificarse nuevamente
        header.setPosted(true);
        header.setPhysInventory(inv);
        //Cambia el tamao de las piezas
        pQ = obdal.createCriteria(almac_sizechangeline.class);
        pQ.add(Restrictions.eq(almac_sizechangeline.PROPERTY_ALMACSIZECHANGE, header));
        sizeList = pQ.list();
        for (almac_sizechangeline x : sizeList) {
            y = x.getAttributeSetValue();
            y.setAlmacAlto(x.getHeight());
            y.setAlmacAncho(x.getWidth());
            y.setAlmacDescriptionmedidas(y.getAlmacAlto().toString() + " X " + y.getAlmacAncho().toString());
            obdal.save(y);
        }
        obdal.save(header);
        obdal.flush();

        // OBError is also used for successful results
        final OBError msg = new OBError();
        msg.setType("Success");
        msg.setTitle("Se ha cambiado de tamao a las piezas.");
        msg.setMessage("Se cre el Documento <" + header.getCommercialName() + " "
                + header.getCreationDate().toString() + "> en Inventaro Fsico");
        bundle.setResult(msg);

    } catch (final Exception e) {
        e.printStackTrace(System.err);
        final OBError msg = new OBError();
        msg.setType("Error");
        msg.setMessage(e.getMessage());
        msg.setTitle("Error occurred");
        bundle.setResult(msg);
    }
}

From source file:com.telefonica.euro_iaas.paasmanager.dao.impl.ApplicationInstanceDaoJpaImpl.java

License:Apache License

private Criterion addStatus(Criterion statusCr, Status status) {
    SimpleExpression expression = Restrictions.eq("status", status);
    if (statusCr == null) {
        statusCr = expression;//  w w  w.j a  va  2 s .c o m
    } else {
        statusCr = Restrictions.or(statusCr, expression);
    }
    return statusCr;
}

From source file:com.telefonica.euro_iaas.paasmanager.dao.impl.TaskDaoJpaImpl.java

License:Apache License

private Criterion addStatus(Criterion statusCr, TaskStates state) {
    SimpleExpression expression = Restrictions.eq("status", state);
    if (statusCr == null) {
        statusCr = expression;//  w w w. j av a 2s  .co m
    } else {
        statusCr = Restrictions.or(statusCr, expression);
    }
    return statusCr;
}