List of usage examples for org.hibernate.criterion Restrictions ge
public static SimpleExpression ge(String propertyName, Object value)
From source file:com.bookselling.dao.SellerInvoiceDaoImpl.java
private Object[] filterCriteria(SellerInvoiceFilterForm form, int first, int items, int id) { String keyword = form.getKeyword(); SellerInvoiceFilterType searchBy = form.getSearchBy(); Date fromDate = form.getFromDate(); Date toDate = form.getToDate(); Double fromPrice = form.getFromPrice(); Double toPrice = form.getToPrice(); SellerInvoiceOrderType orderBy = form.getOrderBy(); SortType sortType = form.getSortType(); Criteria criteria = getSession().createCriteria(SellerInvoice.class); criteria.createAlias("seller", "sl").createAlias("buyer", "bye").createAlias("bye.account", "acc"); if (keyword != null) { keyword = "%" + keyword + "%"; if (searchBy == SellerInvoiceFilterType.BUYER) criteria.add(Restrictions.like("acc.username", keyword)); else if (searchBy == SellerInvoiceFilterType.OWNER) { Name name = new Name(); name.setName(keyword);/* w w w. j a v a 2 s. c om*/ criteria.add(Restrictions.like("bye.name", name)); } else if (searchBy == SellerInvoiceFilterType.ADDRESS) { Address address = new Address(); address.setAddress(keyword); criteria.add(Restrictions.like("contact.address", address)); } else if (searchBy == SellerInvoiceFilterType.PHONE) { PhoneNumber phone = new PhoneNumber(); phone.setPhoneNumber(keyword); criteria.add(Restrictions.like("contact.phoneNumber", phone)); } } if (fromDate != null) criteria.add(Restrictions.ge("createdDate", fromDate)); if (toDate != null) criteria.add(Restrictions.le("createdDate", toDate)); if (fromPrice != null) criteria.add(Restrictions.ge("totalPrice", fromPrice)); if (toPrice != null) criteria.add(Restrictions.le("totalPrice", toPrice)); String propertyName = null; if (orderBy == SellerInvoiceOrderType.BUYER) propertyName = "acc.username"; else if (orderBy == SellerInvoiceOrderType.OWNER) propertyName = "bye.name"; else if (orderBy == SellerInvoiceOrderType.DATE) propertyName = "createdDate"; else if (orderBy == SellerInvoiceOrderType.PRICE) propertyName = "totalPrice"; if (id != -1) criteria.add(Restrictions.eq("sl.id", id)); //Ly s dng long rowCount = (long) criteria.setProjection(Projections.countDistinct("id")).uniqueResult(); //Ly id criteria.setProjection(null).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) .setProjection(Projections.distinct(Projections.id())).setFirstResult(first).setMaxResults(items) .addOrder(sortType == SortType.ASC ? Order.asc(propertyName) : Order.desc(propertyName)); List<Integer> ids = new ArrayList<>(); for (Iterator<Integer> temp = criteria.list().iterator(); temp.hasNext();) ids.add(temp.next()); //Criteria ph Criteria subCriteria = getSession().createCriteria(SellerInvoice.class); subCriteria.createAlias("seller", "sl").createAlias("buyer", "bye").createAlias("bye.account", "acc") .add(Restrictions.in("id", ids.size() > 0 ? ids : Arrays.asList(-1))) .addOrder(sortType == SortType.ASC ? Order.asc(propertyName) : Order.desc(propertyName)); return new Object[] { subCriteria, rowCount }; }
From source file:com.bookselling.dao.SystemInvoiceDaoImpl.java
@Override public PaginationData<SystemInvoice> filter(SystemInvoiceFilterForm form, int first, int items) { String keyword = form.getKeyword(); SystemInvoiceFilterType searchBy = form.getSearchBy(); Date fromDate = form.getFromDate(); Date toDate = form.getToDate(); SystemInvoiceOrderType orderBy = form.getOrderBy(); SortType sortType = form.getSortType(); Criteria criteria = getSession().createCriteria(SystemInvoice.class); criteria.createAlias("poster", "pst").createAlias("post", "ps").createAlias("pst.account", "acc"); if (keyword == null) { keyword = "%" + keyword + "%"; if (searchBy == SystemInvoiceFilterType.ACCOUNT) criteria.add(Restrictions.like("acc.username", keyword)); else if (searchBy == SystemInvoiceFilterType.POSTER) { Name name = new Name(); name.setName(keyword);/*from ww w . j a va2s. c o m*/ criteria.add(Restrictions.like("pst.name", name)); } else if (searchBy == SystemInvoiceFilterType.POST_HEADER) criteria.add(Restrictions.like("ps.header", keyword)); } if (fromDate != null) criteria.add(Restrictions.ge("createdDate", fromDate)); if (toDate != null) criteria.add(Restrictions.le("createdDate", toDate)); String propertyName = null; if (orderBy == SystemInvoiceOrderType.ACCOUNT) propertyName = "acc.username"; else if (orderBy == SystemInvoiceOrderType.POSTER) propertyName = "pst.name"; else if (orderBy == SystemInvoiceOrderType.POST_HEADER) propertyName = "ps.header"; else if (orderBy == SystemInvoiceOrderType.DATE) propertyName = "createdDate"; //Ly s dng long rowCount = (long) criteria.setProjection(Projections.countDistinct("id")).uniqueResult(); //Ly id criteria.setProjection(null).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) .setProjection(Projections.distinct(Projections.id())).setFirstResult(first).setMaxResults(items) .addOrder(sortType == SortType.ASC ? Order.asc(propertyName) : Order.desc(propertyName)); List<Integer> ids = new ArrayList<>(); for (Iterator<Integer> temp = criteria.list().iterator(); temp.hasNext();) ids.add(temp.next()); //Criteria ph Criteria subCriteria = getSession().createCriteria(SystemInvoice.class); subCriteria.createAlias("poster", "pst").createAlias("post", "ps").createAlias("pst.account", "acc") .add(Restrictions.in("id", ids.size() > 0 ? ids : Arrays.asList(-1))) .addOrder(sortType == SortType.ASC ? Order.asc(propertyName) : Order.desc(propertyName)); Set<SystemInvoice> invoices = new LinkedHashSet<>(subCriteria.list()); HibernateInitSupport.setCls(SystemInvoice.class); for (SystemInvoice invoice : invoices) HibernateInitSupport.initDomain(invoice); PaginationData paginationData = new PaginationData(rowCount, items, first, invoices); return paginationData; }
From source file:com.bookselling.dao.TradeDaoImpl.java
private Object[] filterCriteria(TradeFilterForm form, int first, int items, int id) { String keyword = form.getKeyword(); TradeFilterType searchBy = form.getSearchBy(); Date fromDate = form.getFromDate(); Date toDate = form.getToDate(); Double fromPrice = form.getFromPrice(); Double toPrice = form.getToPrice(); TradeOrderType orderBy = form.getOrderBy(); SortType sortType = form.getSortType(); Criteria criteria = getSession().createCriteria(Trade.class); criteria.createAlias("buyer", "bye").createAlias("bye.account", "acc"); if (keyword != null) { keyword = "%" + keyword + "%"; if (searchBy == TradeFilterType.ADDRESS) { Address address = new Address(); address.setAddress(keyword); criteria.add(Restrictions.like("contact.address", address)); } else if (searchBy == TradeFilterType.PHONE) { PhoneNumber phone = new PhoneNumber(); phone.setPhoneNumber(keyword); criteria.add(Restrictions.like("contact.phoneNumber", phone)); }/* w w w .j a v a 2s . c o m*/ } if (fromDate != null) criteria.add(Restrictions.ge("createdDate", fromDate)); if (toDate != null) criteria.add(Restrictions.le("createdDate", toDate)); if (fromPrice != null) criteria.add(Restrictions.ge("totalPrice", fromPrice)); if (toPrice != null) criteria.add(Restrictions.le("totalPrice", toPrice)); String propertyName = null; if (orderBy == TradeOrderType.BUYER) propertyName = "acc.username"; else if (orderBy == TradeOrderType.OWNER) propertyName = "bye.name"; else if (orderBy == TradeOrderType.DATE) propertyName = "createdDate"; else if (orderBy == TradeOrderType.PRICE) propertyName = "totalPrice"; if (id != -1) criteria.add(Restrictions.eq("bye.id", id)); //Ly s dng long rowCount = (long) criteria.setProjection(Projections.countDistinct("id")).uniqueResult(); //Ly id criteria.setProjection(null).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) .setProjection(Projections.distinct(Projections.id())).setFirstResult(first).setMaxResults(items) .addOrder(sortType == SortType.ASC ? Order.asc(propertyName) : Order.desc(propertyName)); List<Integer> ids = new ArrayList<>(); for (Iterator<Integer> temp = criteria.list().iterator(); temp.hasNext();) ids.add(temp.next()); //Criteria ph Criteria subCriteria = getSession().createCriteria(Trade.class); subCriteria.createAlias("buyer", "bye").createAlias("bye.account", "acc") .add(Restrictions.in("id", ids.size() > 0 ? ids : Arrays.asList(-1))) .addOrder(sortType == SortType.ASC ? Order.asc(propertyName) : Order.desc(propertyName)); return new Object[] { subCriteria, rowCount }; }
From source file:com.bookselling.dao.UserDaoImpl.java
@Override public PaginationData filter(UserFilterForm form, int first, int items) { Criteria criteria = getSession().createCriteria(User.class); //Get form data String keyword = form.getKeyword(); AccountStatus[] accStatus = form.getAccStatus(); UserFilterType searchBy = form.getSearchBy(); Date fromDate = form.getFromDate(); Date toDate = form.getToDate(); UserOrderType orderBy = form.getOrderBy(); SortType sortType = form.getSortType(); //To criteria criteria.createAlias("account", "acc").createAlias("acc.role", "rls").add(Restrictions.eq("rls.id", 1)); if (keyword != null && !keyword.isEmpty()) { keyword = "%" + keyword + "%"; if (searchBy == UserFilterType.ADDRESS) { Address address = new Address(); address.setAddress(keyword); criteria.add(Restrictions.like("contact.address", address)); } else if (searchBy == UserFilterType.EMAIL) { criteria.add(Restrictions.like("acc.email", keyword)); } else if (searchBy == UserFilterType.OWNER) { Name name = new Name(); name.setName(keyword);// www. jav a 2s .com criteria.add(Restrictions.like("name", name)); } else if (searchBy == UserFilterType.PHONE) { PhoneNumber phone = new PhoneNumber(); phone.setPhoneNumber(keyword); criteria.add(Restrictions.like("contact.phone", phone)); } else if (searchBy == UserFilterType.USERNAME) { criteria.add(Restrictions.like("acc.username", keyword)); } } if (accStatus.length != 0) { criteria.add(Restrictions.in("acc.status", accStatus)); } if (fromDate != null) criteria.add(Restrictions.ge("acc.createdDate", fromDate)); if (toDate != null) criteria.add(Restrictions.le("acc.createdDate", toDate)); String propertyName = null; if (orderBy == UserOrderType.CREATEDDATE) propertyName = "acc.createdDate"; else if (orderBy == UserOrderType.NAME) propertyName = "name"; else if (orderBy == UserOrderType.STATUS) propertyName = "acc.status"; else if (orderBy == UserOrderType.USERNAME) propertyName = "acc.username"; //Ly s dng long rowCount = (long) criteria.setProjection(Projections.countDistinct("id")).uniqueResult(); //Ly id criteria.setProjection(null).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) .setProjection(Projections.distinct(Projections.id())).setFirstResult(first).setMaxResults(items) .addOrder(sortType == SortType.ASC ? Order.asc(propertyName) : Order.desc(propertyName)); List<Integer> ids = new ArrayList<>(); for (Iterator<Integer> temp = criteria.list().iterator(); temp.hasNext();) ids.add(temp.next()); //Criteria ph Criteria subCriteria = getSession().createCriteria(User.class); subCriteria.createAlias("account", "acc").createAlias("acc.role", "rls").add(Restrictions.eq("rls.id", 1)) .add(Restrictions.in("id", ids.size() > 0 ? ids : Arrays.asList(-1))) .addOrder(sortType == SortType.ASC ? Order.asc(propertyName) : Order.desc(propertyName)); //get list Set<User> users = new LinkedHashSet<>(subCriteria.list()); for (User user : users) { HibernateInitSupport.initUser(user); } //Pagination PaginationData paginationData = new PaginationData(rowCount, items, first, users); return paginationData; }
From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java
/** * ?//from ww w . j a v a 2 s. c om * * @param dateStar * * @param dateEnd * ? * @param dateMin * ??action * @return ??? */ public void oprIssueTime(Date dateStar, Date dateEnd, Integer dateMin) { if (null == dateStar) throw new ServiceException(""); if (null == dateEnd) throw new ServiceException("?"); if (null == dateMin) throw new ServiceException("?."); Class<S> clazz = ReflectionUtils.getSuperClassGenricType(getClass(), 0); DetachedCriteria criteria = DetachedCriteria.forClass(clazz); criteria.add(Restrictions.ge("endedTime", dateStar)); criteria.add(Restrictions.le("endedTime", dateEnd)); criteria.addOrder(Order.asc("endedTime")); List<I> resultList = schemeDao.findByDetachedCriteria(criteria, true); if (resultList != null && resultList.size() > 0) { for (I issue : resultList) { issue.setStartTime(DateUtils.addMinutes(issue.getStartTime(), dateMin)); issue.setEndedTime(DateUtils.addMinutes(issue.getEndedTime(), dateMin)); issue.setPrizeTime(DateUtils.addMinutes(issue.getPrizeTime(), dateMin)); } } else { if (null == dateMin) throw new ServiceException("?."); } }
From source file:com.cai310.lottery.web.controller.lottery.SchemeBaseController.java
/** * ?/*from w w w .j av a2 s . c o m*/ */ protected XDetachedCriteria buildListDetachedCriteria() { XDetachedCriteria criteria = new XDetachedCriteria(this.schemeClass, "m"); criteria.add(Restrictions.eq("m.periodId", this.period.getId())); criteria.add(Restrictions.eq("m.shareType", ShareType.TOGETHER)); if (queryForm != null) { if (StringUtils.isNotBlank(queryForm.getSponsorName())) { if (!"???".equals(queryForm.getSponsorName().trim())) { criteria.add(Restrictions.or(Restrictions.eq("m.sponsorName", queryForm.getSponsorName()), Restrictions.eq("m.sponsorName", queryForm.getSponsorName()))); } } if (StringUtils.isNotBlank(queryForm.getSchemeNumber())) { Long schemeId = this.period.getLotteryType().getSchemeId(queryForm.getSchemeNumber()); if (schemeId != null) criteria.add(Restrictions.eq("m.id", schemeId)); } if (null != queryForm.getCostType()) { queryForm.setMinMaxCost(); } if (null != queryForm.getChooseType()) { if (Integer.valueOf(1).equals(queryForm.getChooseType())) { // ? criteria.add(Restrictions.eq("m.sendToPrint", true)); } else if (Integer.valueOf(2).equals(queryForm.getChooseType())) { // User user = this.getLoginUser(); if (user != null) { criteria.add(Restrictions.eq("m.sponsorId", user.getId())); } } } if (queryForm.getMinSchemeCost() != null) criteria.add(Restrictions.ge("m.schemeCost", queryForm.getMinSchemeCost())); if (queryForm.getMaxSchemeCost() != null) criteria.add(Restrictions.le("m.schemeCost", queryForm.getMaxSchemeCost())); if (queryForm.getSchemeState() != null) criteria.add(Restrictions.eq("m.state", queryForm.getSchemeState())); if (queryForm.getOrderType() != null) { criteria.addOrder(Order.desc("m.orderPriority")); switch (queryForm.getOrderType()) { case CREATE_TIME_DESC: criteria.addOrder(Order.desc("m.id")); break; case CREATE_TIME_ASC: criteria.addOrder(Order.asc("m.id")); break; case PROCESS_RATE_DESC: criteria.addOrder(Order.desc("m.progressRate")); break; case PROCESS_RATE_ASC: criteria.addOrder(Order.asc("m.progressRate")); break; case SCHEME_COST_DESC: criteria.addOrder(Order.desc("m.schemeCost")); break; case SCHEME_COST_ASC: criteria.addOrder(Order.asc("m.schemeCost")); break; } criteria.addOrder(Order.asc("m.state")); } else { criteria.addOrder(Order.asc("m.state")); criteria.addOrder(Order.desc("m.orderPriority")); criteria.addOrder(Order.desc("m.progressRate")); criteria.addOrder(Order.desc("m.id")); } } else { criteria.addOrder(Order.asc("m.state")); criteria.addOrder(Order.desc("m.orderPriority")); criteria.addOrder(Order.desc("m.progressRate")); criteria.addOrder(Order.desc("m.id")); } return criteria; }
From source file:com.cai310.lottery.web.controller.lottery.SchemeBaseController.java
/** * ? ???//from w ww . j a v a 2 s .co m */ protected XDetachedCriteria buildFilterListDetachedCriteria() { XDetachedCriteria criteria = new XDetachedCriteria(this.schemeClass, "m"); criteria.add(Restrictions.eq("m.periodId", this.period.getId())); criteria.add(Restrictions.eq("m.shareType", ShareType.TOGETHER)); if (queryForm != null) { // ?? if (queryForm != null && queryForm.getSecretType() != null) { if (queryForm.getSecretType() != SecretType.FULL_PUBLIC) { // criteria.add(Restrictions.ne("m.secretType", SecretType.FULL_PUBLIC)); Struts2Utils.setAttribute("flag", 1); } } else { Struts2Utils.setAttribute("flag", 0); } if (StringUtils.isNotBlank(queryForm.getSponsorName())) { ///? if (!"???".equals(queryForm.getSponsorName().trim())) { Long schemeId = this.period.getLotteryType().getSchemeId(queryForm.getSponsorName().trim()); if (schemeId != null) { criteria.add(Restrictions.eq("m.id", schemeId)); } else { criteria.add(Restrictions.eq("m.sponsorName", queryForm.getSponsorName().trim())); } } } if (null != queryForm.getCostType()) { queryForm.setMinMaxCost(); } if (null != queryForm.getChooseType()) { if (Integer.valueOf(1).equals(queryForm.getChooseType())) { // ? criteria.add(Restrictions.eq("m.sendToPrint", true)); } else if (Integer.valueOf(2).equals(queryForm.getChooseType())) { // User user = this.getLoginUser(); if (user != null) { criteria.add(Restrictions.eq("m.sponsorId", user.getId())); } } } if (queryForm.getMinSchemeCost() != null) criteria.add(Restrictions.ge("m.schemeCost", queryForm.getMinSchemeCost())); if (queryForm.getMaxSchemeCost() != null) criteria.add(Restrictions.le("m.schemeCost", queryForm.getMaxSchemeCost())); if (queryForm.getSchemeState() != null) { criteria.add(Restrictions.eq("m.state", queryForm.getSchemeState())); } } if (queryForm != null && queryForm.getOrderType() != null) { switch (queryForm.getOrderType()) { case CREATE_TIME_DESC: criteria.addOrder(Order.desc("m.id")); break; case CREATE_TIME_ASC: criteria.addOrder(Order.asc("m.id")); break; case PROCESS_RATE_DESC: criteria.addOrder(Order.desc("m.progressRate")); break; case PROCESS_RATE_ASC: criteria.addOrder(Order.asc("m.progressRate")); break; case SCHEME_COST_DESC: criteria.addOrder(Order.desc("m.schemeCost")); break; case SCHEME_COST_ASC: criteria.addOrder(Order.asc("m.schemeCost")); break; } } else { criteria.addOrder(Order.desc("m.orderPriority")); criteria.addOrder(Order.asc("m.state")); criteria.addOrder(Order.desc("m.progressRate")); } Calendar c = Calendar.getInstance(); c.add(Calendar.HOUR_OF_DAY, 0); c.add(Calendar.MINUTE, 0); c.add(Calendar.SECOND, 0); c.add(Calendar.DAY_OF_MONTH, -10); criteria.add(Restrictions.gt("m.createTime", c.getTime())); criteria.setMaxResults(50); criteria.addOrder(Order.desc("m.id")); return criteria; }
From source file:com.callcenter.controller.command.From.java
License:Apache License
public void addSearchFilter(DetachedCriteria criteria) { if (type == Type.START) return;//w ww . j a va2 s.c om if (type == Type.DATE_AND_TIME) { criteria.add(Restrictions.ge(Constants.CallRecord.CALL_TIME_PROPERTY_NAME, dateAndTime)); return; } if (type == Type.LAST) { quantum.addSearchFilter(criteria); return; } }
From source file:com.callcenter.controller.command.Quantum.java
License:Apache License
public void addSearchFilter(DetachedCriteria criteria) { final Calendar calendar = Calendar.getInstance(); calendar.add(type.getField(), value * type.getMultiplicationFactor()); criteria.add(Restrictions.ge(Constants.CallRecord.CALL_TIME_PROPERTY_NAME, calendar)); }
From source file:com.cimmyt.model.dao.impl.AbstractDAO.java
License:Apache License
/** * adds a criterion to a Junction(conjunction/disjunction), based on the meta-data passed. * /*from ww w .ja v a 2 s . com*/ * @param junction The Junction to conditionally add a criterion * @param condition The type of criterion: like, equals, etc. * @param dataType Indicates if its a numeric or character value for a filter * @param qualifiedParam the qualified parameter for a query * @param value The string value to use in the criterion */ public void addDynamicCriterion(Junction junction, Operator condition, DataType dataType, String qualifiedParam, String value) { if (!qualifiedParam.equals("sample.studysampleid")) { if (dataType == DataType.STRING) { if (condition == Operator.TypeString.LIKE) { junction.add(Restrictions.like(qualifiedParam, value, MatchMode.ANYWHERE)); } else if (condition == Operator.TypeString.EQUAL) { junction.add(Restrictions.like(qualifiedParam, value, MatchMode.EXACT)); } else if (condition == Operator.TypeString.NOT_EQUAL) { junction.add(Restrictions.ne(qualifiedParam, value)); } else if (condition == Operator.TypeString.NOT_LIKE) { junction.add(Restrictions.not(Restrictions.like(qualifiedParam, value, MatchMode.ANYWHERE))); } } else if (dataType == DataType.NUMBER) { if (condition == Operator.TypeNumber.EQUALS) { junction.add(Restrictions.eq(qualifiedParam, Integer.valueOf(value))); } else if (condition == Operator.TypeNumber.GREATER) { junction.add(Restrictions.ge(qualifiedParam, Integer.valueOf(value))); } if (condition == Operator.TypeNumber.LESS) { junction.add(Restrictions.le(qualifiedParam, Integer.valueOf(value))); } else if (condition == Operator.TypeNumber.NOT_EQUALS) { junction.add(Restrictions.ne(qualifiedParam, Integer.valueOf(value))); } else if (condition == Operator.TypeNumber.IN) { List<Integer> listStr = new ArrayList<Integer>(); String[] arr = value.split(","); for (int i = 0; i < arr.length; i++) { try { if (!arr[i].trim().equals("")) listStr.add(Integer.parseInt(arr[i])); } catch (Exception ex) { ex.printStackTrace(); } } junction.add(Restrictions.in(qualifiedParam, listStr)); } } } else { String prefix = StrUtils.getPrefixSampleFindString(value); int id = StrUtils.getSampleIDFindString(value); if (prefix.trim().equals("")) prefix = value; if (condition == Operator.TypeString.LIKE) { junction.add(Restrictions.like("study.prefix", prefix, MatchMode.ANYWHERE)); if (id > 0) junction.add(Restrictions.eq("sample.samplegid", id)); } else if (condition == Operator.TypeString.EQUAL) { junction.add(Restrictions.eq("study.prefix", prefix)); if (id > 0) junction.add(Restrictions.eq("sample.samplegid", id)); } else if (condition == Operator.TypeString.NOT_EQUAL) { junction.add(Restrictions.ne("study.prefix", prefix)); if (id > 0) junction.add(Restrictions.ne("sample.samplegid", id)); } else if (condition == Operator.TypeString.NOT_LIKE) { junction.add(Restrictions.not(Restrictions.like("study.prefix", prefix, MatchMode.ANYWHERE))); if (id > 0) junction.add(Restrictions.not(Restrictions.eq("sample.samplegid", id))); } } }