Example usage for org.hibernate.criterion Restrictions ge

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

Introduction

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

Prototype

public static SimpleExpression ge(String propertyName, Object value) 

Source Link

Document

Apply a "greater than or equal" constraint to the named property

Usage

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)));
        }
    }
}