List of usage examples for org.hibernate.criterion Restrictions in
public static Criterion in(String propertyName, Collection values)
From source file:com.kodemore.hibernate.criteria.KmAbstractCriteria.java
License:Open Source License
public void addIsNotIn(String property, Object[] v) { if (v == null || v.length == 0) addTrue();//from ww w.j av a2s . com else _add(Restrictions.not(Restrictions.in(property, v))); }
From source file:com.kodemore.hibernate.criteria.KmAbstractCriteria.java
License:Open Source License
public void addIsNotIn(String property, Collection<?> v) { if (v == null || v.isEmpty()) addTrue();/*from w w w . j a v a2 s . co m*/ else _add(Restrictions.not(Restrictions.in(property, v))); }
From source file:com.krawler.common.util.BuildCriteria.java
License:Open Source License
private static Criterion getCriteriaByCondition(Object value, Integer criteriaVal, String propertyname) { Criterion Criteriaobj;//from w w w .j a v a2 s.c om switch (criteriaVal) { case ISNOTNULL: Criteriaobj = Restrictions.isNotNull(propertyname); break; case NOTIN: String[] strArr = String.valueOf(value).split(","); List ls = Arrays.asList(strArr); Criteriaobj = Restrictions.not(Restrictions.in(propertyname, ls)); break; case LIKE: Criteriaobj = Restrictions.or(Restrictions.like(propertyname, value + "%"), Restrictions.like(propertyname, "% " + value + "%")); break; case LE: Criteriaobj = Restrictions.le(propertyname, value); break; case GE: Criteriaobj = Restrictions.ge(propertyname, value); break; case ISNULL: Criteriaobj = Restrictions.isNull(propertyname); break; case IN: strArr = String.valueOf(value).split(","); ls = Arrays.asList(strArr); Criteriaobj = Restrictions.in(propertyname, ls); break; case NE: Criteriaobj = Restrictions.ne(propertyname, value); break; case LT: Criteriaobj = Restrictions.lt(propertyname, value); break; case GT: Criteriaobj = Restrictions.gt(propertyname, value); break; case EQ: default: Criteriaobj = Restrictions.eq(propertyname, value); break; } return Criteriaobj; }
From source file:com.liferay.portal.workflow.jbpm.dao.CustomSession.java
License:Open Source License
public int countTaskInstances(long processInstanceId, long tokenId, String[] actorIds, boolean pooledActors, Boolean completed) {/*w w w . j av a 2 s.c om*/ if ((actorIds != null) && (actorIds.length == 0)) { return 0; } try { Criteria criteria = _session.createCriteria(TaskInstance.class); criteria.setProjection(Projections.countDistinct("id")); if (processInstanceId > 0) { criteria.add(Restrictions.eq("processInstance.id", processInstanceId)); } else if (tokenId > 0) { criteria.add(Restrictions.eq("token.id", tokenId)); } else if (actorIds != null) { if (pooledActors) { Criteria subcriteria = criteria.createCriteria("pooledActors"); subcriteria.add(Restrictions.in("actorId", actorIds)); } else { criteria.add(Restrictions.in("actorId", actorIds)); } } if (completed != null) { if (completed.booleanValue()) { criteria.add(Restrictions.isNotNull("end")); } else { criteria.add(Restrictions.isNull("end")); } } Number count = (Number) criteria.uniqueResult(); return count.intValue(); } catch (Exception e) { throw new JbpmException(e); } }
From source file:com.liferay.portal.workflow.jbpm.dao.CustomSession.java
License:Open Source License
public List<TaskInstance> findTaskInstances(long processInstanceId, long tokenId, String[] actorIds, boolean pooledActors, Boolean completed, int start, int end, OrderByComparator orderByComparator) { if ((actorIds != null) && (actorIds.length == 0)) { return Collections.emptyList(); }// ww w. ja va 2s .c o m try { Criteria criteria = _session.createCriteria(TaskInstance.class); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); if (processInstanceId > 0) { criteria.add(Restrictions.eq("processInstance.id", processInstanceId)); } else if (tokenId > 0) { criteria.add(Restrictions.eq("token.id", tokenId)); } if (actorIds != null) { if (pooledActors) { Criteria subcriteria = criteria.createCriteria("pooledActors"); subcriteria.add(Restrictions.in("actorId", actorIds)); criteria.add(Restrictions.isNull("actorId")); } else { criteria.add(Restrictions.in("actorId", actorIds)); } } if (completed != null) { if (completed.booleanValue()) { criteria.add(Restrictions.isNotNull("end")); } else { criteria.add(Restrictions.isNull("end")); } } addPagination(criteria, start, end); addOrder(criteria, orderByComparator); return criteria.list(); } catch (Exception e) { throw new JbpmException(e); } }
From source file:com.liferay.portal.workflow.jbpm.dao.CustomSession.java
License:Open Source License
protected void addSearchByUserRolesCriterion(Criteria criteria, Boolean searchByUserRoles, ServiceContext serviceContext) throws SystemException { if (searchByUserRoles == null) { return;/*from w ww.ja v a 2s. c o m*/ } Criteria assigneesCriteria = criteria.createCriteria("assignees"); if (!searchByUserRoles) { assigneesCriteria.add(Restrictions.eq("assigneeClassName", User.class.getName())); assigneesCriteria.add(Restrictions.eq("assigneeClassPK", serviceContext.getUserId())); return; } List<Long> roleIds = RoleRetrievalUtil.getRoleIds(serviceContext); List<UserGroupRole> userGroupRoles = UserGroupRoleLocalServiceUtil .getUserGroupRoles(serviceContext.getUserId()); if (userGroupRoles.isEmpty()) { assigneesCriteria.add(Restrictions.eq("assigneeClassName", Role.class.getName())); assigneesCriteria.add(Restrictions.in("assigneeClassPK", roleIds.toArray(new Long[roleIds.size()]))); } else { Junction junction = Restrictions.disjunction(); junction.add(Restrictions.and(Restrictions.eq("assigneeClassName", Role.class.getName()), Restrictions.in("assigneeClassPK", roleIds.toArray(new Long[roleIds.size()])))); for (UserGroupRole userGroupRole : userGroupRoles) { junction.add(Restrictions.and(Restrictions.eq("groupId", userGroupRole.getGroupId()), Restrictions.and(Restrictions.eq("assigneeClassName", Role.class.getName()), Restrictions.eq("assigneeClassPK", userGroupRole.getRoleId())))); } assigneesCriteria.add(junction); } }
From source file:com.lm.lic.manager.hibernate.RequestForLicenseDAO.java
private LogicalExpression createInProdNamesOrIsvProdIdsLogicalExp(List<QuickyProduct> products) { List<String> isvProductIds = GenUtil.listIsvProductIds(products); List<String> productNames = GenUtil.listproductNames(products); LogicalExpression orExp = null;//ww w. j av a2s. co m if (products != null && products.size() > 0) { Criterion inProdNamesCrit = Restrictions.in("reqProduct", productNames); Criterion isvInProdIdsCrit = Restrictions.in("isvProductId", isvProductIds); orExp = Restrictions.or(isvInProdIdsCrit, inProdNamesCrit); } return orExp; }
From source file:com.lp.server.artikel.ejbfac.ArtikelbestelltFacBean.java
License:Open Source License
/** * Bestelltliste pruefen. 1. Bestehende Eintraege. 2. Bestellungen pruefen, * ob die Bestelltwerte richtig eingetragen sind. * // www . j a v a 2 s . co m * @param theClientDto der aktuelle Benutzer */ @TransactionAttribute(TransactionAttributeType.NEVER) public void pruefeBestelltliste(TheClientDto theClientDto) { Session session = FLRSessionFactory.getFactory().openSession(); try { session = FLRSessionFactory.getFactory().openSession(); String hqlDelete = "delete FROM FLRArtikelbestellt"; session.createQuery(hqlDelete).executeUpdate(); session.close(); // ------------------------------------------------------------------ // ---- // Alle Eintraege in den Bestellungen pruefen // ------------------------------------------------------------------ // ---- session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria besPos = session.createCriteria(FLRBestellposition.class); org.hibernate.Criteria best = besPos .createCriteria(BestellpositionFac.FLR_BESTELLPOSITION_FLRBESTELLUNG); // Filter auf den Mandanten best.add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_MANDANT_C_NR, theClientDto.getMandant())); // keine Rahmenbestellungen. best.add(Restrictions.not(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_BESTELLUNGART_C_NR, BestellungFac.BESTELLUNGART_RAHMENBESTELLUNG_C_NR))); // keine stornierten und erledigten. Collection<String> cStati = new LinkedList<String>(); cStati.add(BestellungFac.BESTELLSTATUS_STORNIERT); cStati.add(BestellungFac.BESTELLSTATUS_ERLEDIGT); best.add(Restrictions.not(Restrictions.in(BestellungFac.FLR_BESTELLUNG_BESTELLUNGSTATUS_C_NR, cStati))); // Query ausfuehren List<?> besposList = besPos.list(); Iterator<?> besposListIterator = besposList.iterator(); while (besposListIterator.hasNext()) { FLRBestellposition bespos = (FLRBestellposition) besposListIterator.next(); if (bespos.getBestellpositionart_c_nr().equals(BestellpositionFac.BESTELLPOSITIONART_IDENT) || bespos.getBestellpositionart_c_nr() .equals(BestellpositionFac.BESTELLPOSITIONART_HANDEINGABE)) { if (bespos.getBestellpositionstatus_c_nr() != null && (bespos.getBestellpositionstatus_c_nr() .equals(BestellpositionFac.BESTELLPOSITIONSTATUS_OFFEN) || bespos.getBestellpositionstatus_c_nr() .equals(BestellpositionFac.BESTELLPOSITIONSTATUS_BESTAETIGT) || bespos.getBestellpositionstatus_c_nr() .equals(BestellpositionFac.BESTELLPOSITIONSTATUS_TEILGELIEFERT))) { // nur fuer Artikel if (bespos.getFlrartikel() != null) { BigDecimal bdMenge = new BigDecimal(0); if (bespos.getN_offenemenge() != null) { bdMenge = bespos.getN_offenemenge(); } else { bdMenge = bespos.getN_menge(); } ArtikelbestelltDto artikelBestelltDto = new ArtikelbestelltDto(); artikelBestelltDto.setArtikelIId(bespos.getFlrartikel().getI_id()); artikelBestelltDto.setCBelegartnr(LocaleFac.BELEGART_BESTELLUNG); artikelBestelltDto.setIBelegartpositionid(bespos.getI_id()); artikelBestelltDto.setNMenge(bdMenge); if (bespos.getT_uebersteuerterliefertermin() != null) { artikelBestelltDto.setTLiefertermin( new java.sql.Timestamp(bespos.getT_uebersteuerterliefertermin().getTime())); } else { artikelBestelltDto.setTLiefertermin(new java.sql.Timestamp( bespos.getFlrbestellung().getT_liefertermin().getTime())); } // anlegen, negative Mengen werden ignoriert if (artikelBestelltDto.getNMenge().compareTo(new BigDecimal(0)) > 0) { getArtikelbestelltFac().createArtikelbestellt(artikelBestelltDto); myLogger.warn(theClientDto.getIDUser(), "Bestelltliste nachgetragen: " + artikelBestelltDto); } } } } // Fuer allen anderen Stati darf es keine Reservierungen geben. else { // Schaun, ob es eine Reservierung gibt ArtikelbestelltDto artikelBestelltDto = artikelbestelltFindByBelegartCNrBelegartPositionIIdOhneExc( LocaleFac.BELEGART_BESTELLUNG, bespos.getI_id()); // wenn ja, dann loeschen if (artikelBestelltDto != null) { Artikelbestellt toRemove = em.find(Artikelbestellt.class, artikelBestelltDto.getIId()); if (toRemove == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, "Fehler beo prufeBestelltliste. Artikelbestellt das Aufgrund von reservierung gel\u00F6scht werden soll konnte nicht gefunden werden. iid " + artikelBestelltDto.getIId()); } try { em.remove(toRemove); em.flush(); } catch (EntityExistsException er) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, er); } myLogger.warn(theClientDto.getIDUser(), "Bestellteintrag gel\u00F6scht: " + artikelBestelltDto); } } } } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } finally { if (session != null) { session.close(); } } }
From source file:com.lp.server.artikel.ejbfac.ArtikelbestelltFacBean.java
License:Open Source License
public Hashtable getAnzahlRahmenbestellt(Integer artikelIId, TheClientDto theClientDto) throws EJBExceptionLP { BigDecimal bdReserviert = new BigDecimal(0); Hashtable<String, Object> retHashtable = new Hashtable<String, Object>(); String sBestellungCNr = null; Collection<String> aBestellungsCNr = new ArrayList<String>(); Session session = null;//from ww w .j a v a 2 s .c om try { SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria crit = session.createCriteria(FLRBestellpositionReport.class); Criteria critBestellung = crit.createCriteria(BestellpositionFac.FLR_BESTELLPOSITION_FLRBESTELLUNG); Criteria critArtikel = crit.createCriteria(BestellpositionFac.FLR_BESTELLPOSITION_FLRARTIKEL); // nur diesen Artikel critArtikel.add(Restrictions.eq("i_id", artikelIId)); // Filter nach Mandant critBestellung .add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_MANDANT_C_NR, theClientDto.getMandant())); // keine stornierten oder erledigten Bestellungen. Collection<String> cStati = new LinkedList<String>(); cStati.add(BestellungFac.BESTELLSTATUS_STORNIERT); cStati.add(BestellungFac.BESTELLSTATUS_ERLEDIGT); critBestellung.add( Restrictions.not(Restrictions.in(BestellungFac.FLR_BESTELLUNG_BESTELLUNGSTATUS_C_NR, cStati))); // Nur Rahmenbestellungen critBestellung.add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_BESTELLUNGART_C_NR, BestellungFac.BESTELLUNGART_RAHMENBESTELLUNG_C_NR)); // Query ausfuehren List<?> list = crit.list(); FLRBestellpositionReport[] aResult = new FLRBestellpositionReport[list.size()]; aResult = (FLRBestellpositionReport[]) list.toArray(aResult); for (int i = 0; i < aResult.length; i++) { // Rahmenbestellnr, Achtung nur einmal pro Positionen noetig. if (!aBestellungsCNr.contains(aResult[i].getFlrbestellung().getC_nr())) { aBestellungsCNr.add(aResult[i].getFlrbestellung().getC_nr()); } // negative Rahmenreservierungen bleiben unberuecksichtigt. if (aResult[i].getN_offenemenge() != null && aResult[i].getN_offenemenge().doubleValue() > 0) { bdReserviert = bdReserviert.add(aResult[i].getN_offenemenge()); } } if (bdReserviert != null) { retHashtable.put(ArtikelbestelltFac.KEY_RAHMENBESTELLT_ANZAHL, bdReserviert); } if (aBestellungsCNr.size() > 0) { retHashtable.put(ArtikelbestelltFac.KEY_RAHMENBESTELLT_BELEGCNR, aBestellungsCNr); } } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, he); } } return retHashtable; }
From source file:com.lp.server.artikel.ejbfac.ArtikelFacBean.java
License:Open Source License
public String generiereNeueArtikelnummer(String beginnArtikelnummer, TheClientDto theClientDto) { if (beginnArtikelnummer == null) { beginnArtikelnummer = ""; try {/*from ww w. ja v a 2 s. c o m*/ // PJ18234 ParametermandantDto parameter = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_ARTIKEL, ParameterFac.PARAMETER_STARTWERT_ARTIKELNUMMER); String startwert = parameter.getCWert(); if (startwert != null && startwert.trim().length() > 1) { beginnArtikelnummer = startwert.trim(); } } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } } Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRArtikel.class); crit.add(Restrictions.like("c_nr", beginnArtikelnummer, MatchMode.START)); crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); String[] art = new String[1]; art[0] = ArtikelFac.ARTIKELART_HANDARTIKEL; crit.add(Restrictions.not(Restrictions.in(ArtikelFac.FLR_ARTIKEL_ARTIKELART_C_NR, art))); crit.addOrder(Order.desc("c_nr")); crit.setMaxResults(1); List<?> results = crit.list(); Iterator<?> resultListIterator = results.iterator(); if (results.size() > 0) { FLRArtikel flrArtikel = (FLRArtikel) resultListIterator.next(); String letzteArtikelnummer = flrArtikel.getC_nr(); int iStartZahl = -1; int iEndeZahl = -1; boolean bEndeFound = false; int i = 0; while (i < letzteArtikelnummer.length()) { char c = letzteArtikelnummer.charAt(i); // wenn 0-9 if (c > 47 && c < 58) { iStartZahl = i; iEndeZahl = iStartZahl; for (int j = i; j < letzteArtikelnummer.length(); j++) { char d = letzteArtikelnummer.charAt(j); if (d > 47 && d < 58) { iEndeZahl = j; if (j == letzteArtikelnummer.length() - 1) { bEndeFound = true; } } else { bEndeFound = true; break; } } } i++; if (bEndeFound) { break; } } if (iStartZahl >= 0 && iEndeZahl >= 0) { String zahlenteil = letzteArtikelnummer.substring(iStartZahl, iEndeZahl + 1); long zahl = new Long(zahlenteil); while (1 == 1) { zahl++; String zahlenteilNeu = new String(zahl + ""); if (zahlenteilNeu.length() > zahlenteil.length()) { // PJ 14917 String s = ""; for (int k = 0; k < zahlenteilNeu.length(); k++) { s += "?"; } return letzteArtikelnummer.substring(0, iStartZahl) + s + letzteArtikelnummer.substring(iEndeZahl + 1); } int iNeueLaenge = zahlenteilNeu.length(); if (iNeueLaenge < zahlenteil.length()) { iNeueLaenge = zahlenteil.length(); } zahlenteilNeu = Helper.fitString2LengthAlignRight(zahl + "", iNeueLaenge, '0'); // Neue Artikelnummer zusammenbauen String neueArtNr = letzteArtikelnummer.substring(0, iStartZahl) + zahlenteilNeu + letzteArtikelnummer.substring(iEndeZahl + 1); Query query = em.createNamedQuery("ArtikelfindByCNrMandantCNr"); query.setParameter(1, neueArtNr); query.setParameter(2, theClientDto.getMandant()); Collection<?> cl = query.getResultList(); if (cl.size() > 0) { continue; } return neueArtNr; } } } session.close(); return beginnArtikelnummer; }