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.thinkgem.jeesite.modules.issue.service.IssueService.java

License:Open Source License

public Page<IssueInfo> findIssue(Page<IssueInfo> page, IssueInfo issue) {
    DetachedCriteria dc = issueDao.createDetachedCriteria();
    if (StringUtils.isNotEmpty(issue.getIssueTitle())) {
        dc.add(Restrictions.ilike("issueTitle", "%" + issue.getIssueTitle() + "%"));
    }//from w  w w.  j a v a  2s.  c  om

    if (issue.getProject() != null && StringUtils.isNotEmpty(issue.getProject().getId())) {
        dc.add(Restrictions.eq("project.id", issue.getProject().getId()));
    }

    if ((issue.getCreateBy() != null && StringUtils.isNotEmpty(issue.getCreateBy().getId()))
            && !(issue.getUser() != null && StringUtils.isNotEmpty(issue.getUser().getId()))) {
        dc.add(Restrictions.eq("createBy.id", issue.getCreateBy().getId()));
    }

    if (issue.getUser() != null && StringUtils.isNotEmpty(issue.getUser().getId())
            && !(issue.getCreateBy() != null && StringUtils.isNotEmpty(issue.getCreateBy().getId()))) {
        dc.add(Restrictions.eq("user.id", issue.getUser().getId()));
    }

    if (issue.getUser() != null && StringUtils.isNotEmpty(issue.getUser().getId())
            && (issue.getCreateBy() != null && StringUtils.isNotEmpty(issue.getCreateBy().getId()))) {
        dc.add(Restrictions.or(Restrictions.eq("createBy.id", issue.getCreateBy().getId()),
                Restrictions.eq("user.id", issue.getUser().getId())));
    }

    if (StringUtils.isNotEmpty(issue.getStatus())) {
        dc.add(Restrictions.in("status", issue.getStatus().split(",")));
    }

    dc.add(Restrictions.eq(IssueInfo.FIELD_DEL_FLAG, IssueInfo.DEL_FLAG_NORMAL));
    return issueDao.find(page, dc);
}

From source file:com.thinkgem.jeesite.modules.pms.service.UserService.java

License:Open Source License

public Page<User> findUser(Page<User> page, User user) {
    DetachedCriteria dc = userDao.createDetachedCriteria();
    User currentUser = UserUtils.getUser();
    dc.createAlias("company", "company");
    dc.createAlias("office", "office");

    List<House> houseList = HouseUtils.getHousesList(user.getHouseIds());
    List<String> userIdList = HouseUtils.getUsersByHouseIds(houseList);

    //      System.out.println("HouseUtils.getHousesList>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+houseList.size());

    //      user.setHouseList(houseList);

    if (userIdList.size() > 0) {
        dc.add(Restrictions.in("id", userIdList));
    }/*from   w ww .j a  va 2  s.  co  m*/

    if (user.getCompany() != null && StringUtils.isNotBlank(user.getCompany().getId())) {
        dc.add(Restrictions.or(Restrictions.eq("company.id", user.getCompany().getId()),
                Restrictions.like("company.parentIds", "%," + user.getCompany().getId() + ",%")));
    }

    if (user.getOffice() != null && StringUtils.isNotBlank(user.getOffice().getId())) {
        dc.add(Restrictions.or(Restrictions.eq("office.id", user.getOffice().getId()),
                Restrictions.like("office.parentIds", "%," + user.getOffice().getId() + ",%")));
    }

    //      dc.add(Restrictions.like("userType", "2")); 
    System.out.println("user.getUserType() >>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + user.getUserType());
    if (StringUtils.isNotEmpty(user.getUserType())) {
        dc.add(Restrictions.eq("userType", user.getUserType()));
    }

    // ????
    if (!currentUser.isAdmin()) {
        dc.add(Restrictions.ne("id", "1"));
    }

    dc.add(dataScopeFilter(currentUser, "office", ""));

    if (StringUtils.isNotEmpty(user.getLoginName())) {
        dc.add(Restrictions.like("loginName", "%" + user.getLoginName() + "%"));
    }
    if (StringUtils.isNotEmpty(user.getName())) {
        dc.add(Restrictions.like("name", "%" + user.getName() + "%"));
    }

    if (StringUtils.isNotEmpty(user.getPhone())) {
        dc.add(Restrictions.like("phone", "%" + user.getPhone() + "%"));
    }

    if (StringUtils.isNotEmpty(user.getPhone())) {
        dc.add(Restrictions.like("mobile", "%" + user.getMobile() + "%"));
    }

    if (!StringUtils.isNotEmpty(page.getOrderBy())) {
        dc.addOrder(Order.asc("company.code")).addOrder(Order.asc("office.code")).addOrder(Order.desc("name"));
    }

    //      dc.addOrder(Order.asc("loginName"));

    dc.add(Restrictions.eq(User.FIELD_DEL_FLAG, User.DEL_FLAG_NORMAL));

    return userDao.find(page, dc);
}

From source file:com.thinkgem.jeesite.modules.pms.service.UserService.java

License:Open Source License

public List<User> findAllUser(User user) {
    DetachedCriteria dc = userDao.createDetachedCriteria();
    User currentUser = UserUtils.getUser();

    dc.createAlias("company", "company");
    dc.createAlias("office", "office");

    List<House> houseList = HouseUtils.getHousesList(user.getHouseIds());
    List<String> userIdList = HouseUtils.getUsersByHouseIds(houseList);

    if (userIdList.size() > 0) {
        dc.add(Restrictions.in("id", userIdList));
    }/*from w  w  w.j a  v  a2  s.  co  m*/

    if (user.getCompany() != null && StringUtils.isNotBlank(user.getCompany().getId())) {
        dc.add(Restrictions.or(Restrictions.eq("company.id", user.getCompany().getId()),
                Restrictions.like("company.parentIds", "%," + user.getCompany().getId() + ",%")));
    }

    if (user.getOffice() != null && StringUtils.isNotBlank(user.getOffice().getId())) {
        dc.add(Restrictions.or(Restrictions.eq("office.id", user.getOffice().getId()),
                Restrictions.like("office.parentIds", "%," + user.getOffice().getId() + ",%")));
    }

    //      dc.add(Restrictions.like("userType", "2")); 

    if (StringUtils.isNotEmpty(user.getUserType())) {
        dc.add(Restrictions.eq("userType", user.getUserType()));
    }

    // ????
    if (!currentUser.isAdmin()) {
        dc.add(Restrictions.ne("id", "1"));
    }

    dc.add(dataScopeFilter(currentUser, "office", ""));

    if (StringUtils.isNotEmpty(user.getLoginName())) {
        dc.add(Restrictions.like("loginName", "%" + user.getLoginName() + "%"));
    }
    if (StringUtils.isNotEmpty(user.getName())) {
        dc.add(Restrictions.like("name", "%" + user.getName() + "%"));
    }

    if (StringUtils.isNotEmpty(user.getPhone())) {
        dc.add(Restrictions.like("phone", "%" + user.getPhone() + "%"));
    }

    if (StringUtils.isNotEmpty(user.getPhone())) {
        dc.add(Restrictions.like("mobile", "%" + user.getMobile() + "%"));
    }

    //      if (!StringUtils.isNotEmpty(page.getOrderBy())){
    //         dc.addOrder(Order.asc("company.code")).addOrder(Order.asc("office.code")).addOrder(Order.desc("name"));
    //      }

    //      dc.addOrder(Order.asc("loginName"));

    dc.add(Restrictions.eq(User.FIELD_DEL_FLAG, User.DEL_FLAG_NORMAL));

    return userDao.find(dc);
}

From source file:com.tysanclan.site.projectewok.entities.dao.hibernate.ExpenseDAOImpl.java

License:Open Source License

@Override
protected Criteria createCriteria(SearchFilter<Expense> filter) {
    Criteria criteria = getSession().createCriteria(Expense.class);

    if (filter instanceof ExpenseFilter) {
        ExpenseFilter eFilter = (ExpenseFilter) filter;
        if (eFilter.getFrom() != null) {
            criteria.add(/*from  w  w  w .  jav  a 2  s .  co m*/
                    Restrictions.or(Restrictions.ge("end", eFilter.getFrom()), Restrictions.isNull("end")));
        }
        if (eFilter.getTo() != null) {
            criteria.add(
                    Restrictions.or(Restrictions.le("start", eFilter.getTo()), Restrictions.isNull("start")));
        }
    }

    criteria.setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE);

    return criteria;
}

From source file:com.tysanclan.site.projectewok.entities.dao.hibernate.ExpenseDAOImpl.java

License:Open Source License

@Override
public List<Expense> getActiveExpenses() {
    Criteria criteria = getSession().createCriteria(Expense.class);

    criteria.add(Restrictions.or(Restrictions.ge("end", new Date()), Restrictions.isNull("end")));

    return listOf(criteria);
}

From source file:com.ub.hrappub.service.KullaniciService.java

@Override
public List<Kullanici> getAll(String query) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    Criteria criteria = session.createCriteria(Kullanici.class);
    if (query != null) {
        criteria.add(Restrictions.or(Restrictions.ilike("uname", query, MatchMode.ANYWHERE),
                Restrictions.ilike("isim", query, MatchMode.ANYWHERE)));
    }/*w  w  w  . j a v  a2s.  c  om*/
    criteria.addOrder(Order.asc("id"));
    return criteria.list();
}

From source file:com.ut.healthelink.dao.impl.transactionOutDAOImpl.java

/**
 * The 'getFeedbackReports' function will return a list of feedback reports for the passed in transaction.
 *
 * @param transactionId The id of the selected transaction
 * @param fromPage The page the user is coming from, if from sent items page then we only want to show feedback reports that are fully sent.
 *
 * @return This function will return a list of feedback reports
 *//*from   w w  w .  j  a  v a 2 s. c om*/
@Override
@Transactional
public List<transactionIn> getFeedbackReports(int transactionId, String fromPage) throws Exception {

    Criteria feedbackReportQuery = sessionFactory.getCurrentSession().createCriteria(transactionIn.class);
    feedbackReportQuery.add(Restrictions.eq("transactionTargetId", transactionId));

    /* 
     If looking for feedback reports from sent batches the 
     feedback reports must be in a received state
     */
    if ("sent".equals(fromPage)) {
        feedbackReportQuery
                .add(Restrictions.or(Restrictions.eq("statusId", 18), Restrictions.eq("statusId", 20)));
    }

    feedbackReportQuery.addOrder(Order.desc("dateCreated"));

    List<transactionIn> feedbackReports = feedbackReportQuery.list();

    return feedbackReports;
}

From source file:com.ut.tekir.contact.ContactBrowseBean.java

License:LGPL

@Override
public DetachedCriteria buildCriteria() {
    DetachedCriteria crit = DetachedCriteria.forClass(Contact.class);

    crit.setProjection(Projections.distinct(Projections.projectionList().add(Projections.property("id"), "id")
            .add(Projections.property("code"), "code").add(Projections.property("name"), "name")
            .add(Projections.property("fullname"), "fullname").add(Projections.property("ssn"), "ssn")
            .add(Projections.property("company"), "company").add(Projections.property("taxNumber"), "taxNumber")
            .add(Projections.property("taxOffice"), "taxOffice").add(Projections.property("title"), "title")
            .add(Projections.property("representative"), "representative")
            .add(Projections.property("info"), "info").add(Projections.property("exCode1"), "exCode1")
            .add(Projections.property("exCode2"), "exCode2").add(Projections.property("allType"), "allType")
            .add(Projections.property("customerType"), "customerType")
            .add(Projections.property("providerType"), "providerType")
            .add(Projections.property("agentType"), "agentType")
            .add(Projections.property("personnelType"), "personnelType")
            .add(Projections.property("branchType"), "branchType")
            .add(Projections.property("contactType"), "contactType")
            .add(Projections.property("bankType"), "bankType")
            .add(Projections.property("relatedType"), "relatedType")
            .add(Projections.property("foundationType"), "foundationType")));

    crit.setResultTransformer(Transformers.aliasToBean(ContactModel.class));

    if (filterModel.getCode() != null && filterModel.getCode().length() > 0) {
        crit.add(Restrictions.ilike("this.code", filterModel.getCode(), MatchMode.START));
    }//  w  w  w .  ja  v  a 2  s .co m

    if (filterModel.getFullname() != null && filterModel.getFullname().length() > 0) {
        crit.add(Restrictions.ilike("this.fullname", filterModel.getFullname(), MatchMode.ANYWHERE));
    }

    if (filterModel.getCompany() != null && filterModel.getCompany().length() > 0) {
        crit.add(Restrictions.ilike("this.company", filterModel.getCompany(), MatchMode.START));
    }

    if (filterModel.getSsn() != null && filterModel.getSsn().length() > 0) {
        crit.add(Restrictions.ilike("this.ssn", filterModel.getSsn(), MatchMode.START));
    }

    if (filterModel.getTaxNumber() != null && filterModel.getTaxNumber().length() > 0) {
        crit.add(Restrictions.ilike("this.taxNumber", filterModel.getTaxNumber(), MatchMode.START));
    }

    if (filterModel.getRepresentative() != null && filterModel.getRepresentative().length() > 0) {
        crit.add(Restrictions.ilike("this.representative", filterModel.getRepresentative(), MatchMode.START));
    }

    if (filterModel.getExCode1() != null && filterModel.getExCode1().length() > 0) {
        crit.add(Restrictions.ilike("this.exCode1", filterModel.getExCode1(), MatchMode.START));
    }

    if (filterModel.getExCode2() != null && filterModel.getExCode2().length() > 0) {
        crit.add(Restrictions.ilike("this.exCode2", filterModel.getExCode2(), MatchMode.START));
    }

    if (filterModel.getCategory() != null) {
        crit.add(Restrictions.eq("this.category", filterModel.getCategory()));
    }

    if (filterModel.getOrganization() != null) {
        crit.add(Restrictions.eq("this.organization", filterModel.getOrganization()));
    }

    if (filterModel.getCompanyType() != null && !filterModel.getCompanyType().equals("All")) {
        if (filterModel.getCompanyType().equals("Person")) {
            crit.add(Restrictions.eq("this.person", Boolean.TRUE));
        } else
            crit.add(Restrictions.eq("this.person", Boolean.FALSE));
    }

    if (filterModel.getType() != null && filterModel.getType() != ContactType.All) {
        crit.add(Restrictions.eq("this." + filterModel.getType().toString().toLowerCase() + "Type",
                Boolean.TRUE));
    }

    if (filterModel.getCountry() != null) {
        crit.createAlias("this.addressList", "addressList", CriteriaSpecification.INNER_JOIN);
        crit.add(Restrictions.eq("addressList.address.country", filterModel.getCountry()));

        if (filterModel.getCity1() != null) {
            crit.add(Restrictions.eq("addressList.city", filterModel.getCity1()));
        }
    }

    //FIXME: bu kontrol nasl olmal?
    if (hasRegionRestriction()) {
        if (activeUser.getContact() != null && activeUser.getContact().getOrganization() != null
                && activeUser.getContact().getOrganization() != null) {

            crit.add(Restrictions.or(
                    Restrictions.eq("this.organization.id", activeUser.getContact().getOrganization().getId()),
                    Restrictions.eq("this.isPublic", Boolean.TRUE)));
        }
    }
    crit.addOrder(Order.desc("this.code"));

    return crit;
}

From source file:com.ut.tekir.invoice.yeni.LimitationChecker.java

License:LGPL

public DetachedCriteria buildCriteriaForWarehouse() {

    DetachedCriteria crit = DetachedCriteria.forClass(ProductTxn.class);

    crit.createAlias("product", "product");
    crit.createAlias("warehouse", "warehouse");

    ProjectionList pl = Projections.projectionList();
    pl.add(Projections.groupProperty("product.code"), "prodcode")
            .add(Projections.groupProperty("product.name"), "prodname")
            .add(Projections.groupProperty("product.group"), "group")
            .add(Projections.groupProperty("product.barcode1"), "barcode")
            .add(Projections.groupProperty("warehouse.code"), "warecode")
            .add(Projections.groupProperty("warehouse.name"), "warename")
            .add(Projections.sum("quantity.value"), "quantity")
            .add(Projections.avg("unitPrice.value"), "unitPrice")
            .add(Projections.sqlGroupProjection("{alias}.UNIT as unit, "
                    + "sum( case {alias}.trade_action when 0 then {alias}.QUANTITY else 0 end ) as INQTY, "
                    + "sum( case {alias}.trade_action when 1 then {alias}.QUANTITY else 0 end ) as OUTQTY , "
                    + "sum( case {alias}.trade_action when 2 then {alias}.QUANTITY else 0 end ) as BUYRETQTY, "
                    + "sum( case {alias}.trade_action when 3 then {alias}.QUANTITY else 0 end ) as SELLRETQTY, "
                    + "sum( case {alias}.trade_action when 6 then {alias}.QUANTITY else 0 end ) as RESQTY , "
                    + "sum( case {alias}.trade_action when 7 then {alias}.QUANTITY else 0 end ) as DELQTY ",
                    "UNIT",
                    new String[] { "unit", "inqty", "outqty", "buyretqty", "sellretqty", "resqty", "delqty" },
                    new Type[] { Hibernate.STRING, Hibernate.DOUBLE, Hibernate.DOUBLE, Hibernate.DOUBLE,
                            Hibernate.DOUBLE, Hibernate.DOUBLE, Hibernate.DOUBLE }));

    crit.setProjection(pl);/*w  w w  . j  av  a 2  s.  c  o  m*/

    crit.add(Restrictions.eq("active", true));

    //Evran kendisini toplam deerlere eklemiyoruz.
    if (filterModel.getDocId() != null) {
        crit.add(Restrictions.ne("documentId", filterModel.getDocId()));
    }

    if (filterModel.getBarcode() != null && filterModel.getBarcode().length() > 0) {
        Criterion criteria1 = Restrictions.eq("product.barcode1", filterModel.getBarcode());
        Criterion criteria2 = Restrictions.eq("product.barcode2", filterModel.getBarcode());
        Criterion criteria3 = Restrictions.eq("product.barcode3", filterModel.getBarcode());

        crit.add(Restrictions.or(criteria1, Restrictions.or(criteria2, criteria3)));
    }

    if (filterModel.getProduct() != null) {
        crit.add(Restrictions.eq("product", filterModel.getProduct()));
    }
    crit.addOrder(Order.asc("product.name"));

    return crit;
}

From source file:com.ut.tekir.invoice.yeni.PurchaseInvoiceBrowseBean.java

License:LGPL

@Override
public DetachedCriteria buildCriteria() {

    DetachedCriteria crit = DetachedCriteria.forClass(TekirInvoice.class);

    crit.createAlias("this.contact", "contact");
    crit.createAlias("this.warehouse", "warehouse");

    crit.setProjection(Projections.projectionList().add(Projections.property("contact"), "contact")
            .add(Projections.property("warehouse"), "warehouse").add(Projections.property("serial"), "serial")
            .add(Projections.property("reference"), "reference").add(Projections.property("code"), "code")
            .add(Projections.property("date"), "date").add(Projections.property("contact.code"), "contactCode")
            .add(Projections.property("contact.fullname"), "contactName")
            .add(Projections.property("tradeAction"), "tradeAction")
            .add(Projections.property("documentType"), "documentType").add(Projections.property("id"), "id")
            .add(Projections.property("info"), "info")
            .add(Projections.property("totalBeforeTax.localAmount"), "totalBeforeTaxLocalAmount")
            .add(Projections.property("totalBeforeTax.value"), "totalBeforeTaxValue")
            .add(Projections.property("totalBeforeTax.currency"), "totalBeforeTaxCurrency")
            .add(Projections.property("totalTax.localAmount"), "totalTaxLocalAmount")
            .add(Projections.property("totalTax.value"), "totalTaxValue")
            .add(Projections.property("totalTax.currency"), "totalTaxCurrency")
            .add(Projections.property("grandTotal.localAmount"), "grandTotalLocalAmount")
            .add(Projections.property("grandTotal.value"), "grandTotalValue")
            .add(Projections.property("grandTotal.currency"), "grandTotalCurrency")
            .add(Projections.property("workBunch"), "workBunch"));

    crit.setResultTransformer(Transformers.aliasToBean(InvoiceFilterModel.class));

    if (isNotEmpty(filterModel.getSerial())) {
        crit.add(Restrictions.ilike("this.serial", filterModel.getSerial(), MatchMode.START));
    }//ww w . j  a  va  2  s. c  om

    if (isNotEmpty(filterModel.getReference())) {
        crit.add(Restrictions.ilike("this.reference", filterModel.getReference(), MatchMode.START));
    }

    if (isNotEmpty(filterModel.getCode())) {
        crit.add(Restrictions.ilike("this.code", filterModel.getCode(), MatchMode.START));
    }

    if (filterModel.getBeginDate() != null) {
        crit.add(Restrictions.ge("this.date", filterModel.getBeginDate()));
    }

    if (filterModel.getEndDate() != null) {
        crit.add(Restrictions.le("this.date", filterModel.getEndDate()));
    }

    if (isNotEmpty(filterModel.getContactCode())) {
        crit.add(Restrictions.ilike("contact.code", filterModel.getContactCode(), MatchMode.START));
    }

    if (isNotEmpty(filterModel.getContactName())) {
        crit.add(Restrictions.ilike("contact.fullname", filterModel.getContactName(), MatchMode.ANYWHERE));
    }

    if (isNotEmpty(filterModel.getInfo())) {
        crit.add(Restrictions.ilike("this.info", filterModel.getInfo(), MatchMode.ANYWHERE));
    }

    if (filterModel.getWorkBunch() != null) {
        crit.add(Restrictions.eq("this.workBunch", filterModel.getWorkBunch()));
    }

    if (filterModel.getReturned() != null) {
        if (filterModel.getReturned()) {
            crit.add(Restrictions.eq("this.tradeAction", TradeAction.SaleReturn));
        } else {
            crit.add(Restrictions.eq("this.tradeAction", TradeAction.Purchase));
        }
    } else {
        crit.add(Restrictions.or(Restrictions.eq("this.tradeAction", TradeAction.SaleReturn),
                Restrictions.eq("this.tradeAction", TradeAction.Purchase)));
    }

    crit.add(Restrictions.or(Restrictions.eq("this.documentType", DocumentType.PurchaseInvoice),
            Restrictions.eq("this.documentType", DocumentType.PurchaseShipmentInvoice)));

    crit.addOrder(Order.desc("this.date"));
    crit.addOrder(Order.desc("this.serial"));

    return crit;
}