List of usage examples for org.hibernate.criterion Restrictions ilike
public static Criterion ilike(String propertyName, String value, MatchMode matchMode)
From source file:com.ut.tekir.report.ProductStatusReportBean.java
License:LGPL
public DetachedCriteria buildCriteria() { DetachedCriteria crit = DetachedCriteria.forClass(ProductTxn.class); crit.createAlias("product", "product"); crit.createAlias("warehouse", "warehouse"); //TODO: Unit Price'n farkl dvizlerde olma sorunu zle... ProjectionList pl = Projections.projectionList(); pl.add(Projections.groupProperty("product.code"), "prodcode") .add(Projections.groupProperty("product.name"), "prodname") //.add( Projections.groupProperty("action"), "action" ) //.add( Projections.groupProperty("amount.currency"), "currency" ) .add(Projections.groupProperty("product.group"), "group") .add(Projections.groupProperty("product.barcode1"), "barcode") .add(Projections.sum("quantity.value"), "quantity") .add(Projections.avg("unitPrice.value"), "unitPrice") .add(Projections.sqlGroupProjection("{alias}.UNIT as unit, " + //"sum( case {alias}.finance_action when 0 then {alias}.QUANTITY else 0 end ) as INQTY, " + //"sum( case {alias}.finance_action when 0 then 0 else {alias}.QUANTITY end ) as OUTQTY", "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 })); if (warehouseBase) { //Depo krlml pl.add(Projections.groupProperty("warehouse.code"), "warecode") .add(Projections.groupProperty("warehouse.name"), "warename"); crit.addOrder(Order.asc("warehouse.code")); }/* w w w . jav a 2s .c om*/ crit.setProjection(pl); crit.add(Restrictions.eq("active", true)); if (code != null && code.length() > 0) { crit.add(Restrictions.ilike("product.code", code, MatchMode.START)); } if (name != null && name.length() > 0) { crit.add(Restrictions.ilike("product.name", name, MatchMode.START)); } if (productType != null) { if (getProductType() == 1) { crit.add(Restrictions.like("this.productType", ProductType.Product)); } else if (getProductType() == 2) { crit.add(Restrictions.like("this.productType", ProductType.Service)); } } if (barcode != null && barcode.length() > 0) { Criterion criteria1 = Restrictions.like("product.barcode1", barcode, MatchMode.START); Criterion criteria2 = Restrictions.like("product.barcode2", barcode, MatchMode.START); Criterion criteria3 = Restrictions.like("product.barcode3", barcode, MatchMode.START); crit.add(Restrictions.or(criteria1, Restrictions.or(criteria2, criteria3))); } if (group != null) { crit.add(Restrictions.eq("product.group", group)); } if (warehouse != null) { crit.add(Restrictions.eq("warehouse", warehouse)); } if (beginDate != null) { crit.add(Restrictions.ge("date", beginDate)); } if (endDate != null) { crit.add(Restrictions.le("date", endDate)); } if (category != null) { crit.add(Restrictions.eq("product.category", category)); } if (docCode != null && docCode.length() > 0) { crit.add(Restrictions.ilike("code", docCode, MatchMode.START)); } if (getDocumentType() != null && getDocumentType() != DocumentType.Unknown) { crit.add(Restrictions.eq("this.documentType", getDocumentType())); } if (getWorkBunch() != null) { crit.add(Restrictions.eq("this.workBunch", getWorkBunch())); } /* crit.addOrder( Order.asc("date")); crit.addOrder( Order.asc("serial")); * */ crit.addOrder(Order.asc("product.name")); log.debug("Sonu : #0", crit); return crit; }
From source file:com.ut.tekir.report.SaleInvoiceReportBean.java
License:LGPL
@Override public DetachedCriteria buildCriteria() { DetachedCriteria crit = DetachedCriteria.forClass(TekirInvoice.class); crit.createAlias("this.contact", "contact"); if (isNotEmpty(filterModel.getSerial())) { crit.add(Restrictions.ilike("this.serial", filterModel.getSerial(), MatchMode.START)); }/*from w w w .j a va 2 s . c o m*/ 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.START)); } crit.add(Restrictions.or(Restrictions.eq("this.tradeAction", TradeAction.Sale), Restrictions.eq("this.tradeAction", TradeAction.SaleReturn))); crit.add(Restrictions.or(Restrictions.eq("this.documentType", DocumentType.RetailSaleShipmentInvoice), Restrictions.or(Restrictions.eq("this.documentType", DocumentType.SaleInvoice), Restrictions.eq("this.documentType", DocumentType.SaleShipmentInvoice)))); crit.addOrder(Order.desc("this.serial")); crit.addOrder(Order.desc("this.date")); return crit; }
From source file:com.ut.tekir.report.TaxTxnReportBean.java
License:LGPL
public DetachedCriteria buildCriteria() { DetachedCriteria crit = DetachedCriteria.forClass(TaxTxn.class); if (getFilterModel().getSerial() != null && getFilterModel().getSerial().length() > 0) { crit.add(Restrictions.ilike("serial", getFilterModel().getSerial(), MatchMode.START)); }/*w w w. j ava 2s.c om*/ if (getFilterModel().getReference() != null && getFilterModel().getReference().length() > 0) { crit.add(Restrictions.ilike("reference", getFilterModel().getReference(), MatchMode.START)); } if (getFilterModel().getCode() != null && getFilterModel().getCode().length() > 0) { crit.add(Restrictions.ilike("code", getFilterModel().getCode(), MatchMode.START)); } if (getFilterModel().getBeginDate() != null) { crit.add(Restrictions.ge("date", getFilterModel().getBeginDate())); } if (getFilterModel().getEndDate() != null) { crit.add(Restrictions.le("date", getFilterModel().getEndDate())); } /* if (getFilterModel().getDocumentType() != null && getFilterModel().getDocumentType() != DocumentType.Unknown) { crit.add(Restrictions.eq("documentType", getFilterModel().getDocumentType())); } */ if ((getFilterModel().getTaxReturnType() != null && getFilterModel().getTaxReturnType().getDocumentTypesAsArray().length != 0) || getFilterModel().getDocumentType() != null) { List<DocumentType> documentTypes = new ArrayList<DocumentType>(); if (getFilterModel().getTaxReturnType() != null && getFilterModel().getTaxReturnType().getDocumentTypesAsArray().length != 0) { documentTypes.addAll(getFilterModel().getTaxReturnType().getDocumentTypesAsList()); } if (getFilterModel().getDocumentType() != null) { documentTypes.add(getFilterModel().getDocumentType()); } crit.add(Restrictions.in("documentType", documentTypes)); } if (getFilterModel().getTaxType() != null) { crit.add(Restrictions.eq("taxType", getFilterModel().getTaxType())); } if (getFilterModel().getAction() != null) { crit.add(Restrictions.eq("action", getFilterModel().getAction())); } if (filterModel.getWorkBunch() != null) { crit.add(Restrictions.eq("workBunch", filterModel.getWorkBunch())); } crit.add(Restrictions.eq("this.active", true)); crit.addOrder(Order.desc("this.date")); crit.addOrder(Order.desc("this.id")); //crit.addOrder(Order.desc("serial")); log.debug("Sonu : #0", crit); return crit; }
From source file:com.ut.tekir.stock.ExpenseDiscBrowseBean.java
License:LGPL
@Override public DetachedCriteria buildCriteria() { DetachedCriteria crit = DetachedCriteria.forClass(Product.class); crit.setProjection(Projections.projectionList().add(Projections.property("id"), "id") .add(Projections.property("code"), "code").add(Projections.property("name"), "name") .add(Projections.property("category"), "category").add(Projections.property("info"), "info") .add(Projections.property("productType"), "productType") .add(Projections.property("barcode1"), "barcode1").add(Projections.property("barcode2"), "barcode2") .add(Projections.property("barcode3"), "barcode3").add(Projections.property("unit"), "unit")); crit.setResultTransformer(Transformers.aliasToBean(Product.class)); if (filterModel.getCode() != null && filterModel.getCode().length() > 0) { crit.add(Restrictions.ilike("this.code", filterModel.getCode(), MatchMode.START)); }/* w w w. j a va 2s . c om*/ if (filterModel.getName() != null && filterModel.getName().length() > 0) { crit.add(Restrictions.ilike("this.name", filterModel.getName(), MatchMode.START)); } if (filterModel.getBarcode() != null && filterModel.getBarcode().length() > 0) { Criterion criteria1 = Restrictions.like("this.barcode1", filterModel.getBarcode(), MatchMode.START); Criterion criteria2 = Restrictions.like("this.barcode2", filterModel.getBarcode(), MatchMode.START); Criterion criteria3 = Restrictions.like("this.barcode3", filterModel.getBarcode(), MatchMode.START); crit.add(Restrictions.or(criteria1, Restrictions.or(criteria2, criteria3))); } if (filterModel.getProductType() != ProductType.Unknown) { crit.add(Restrictions.eq("this.productType", filterModel.getProductType())); } else { // Criterion exps = Restrictions.eq("this.productType", ProductType.Expense ); // Criterion disc = Restrictions.eq("this.productType", ProductType.Discount ); // LogicalExpression orExp = Restrictions.or(exps,disc); // crit.add(orExp); crit.add(Restrictions.in("this.productType", new ProductType[] { ProductType.Expense, ProductType.Discount, ProductType.DiscountAddition, ProductType.ExpenseAddition })); } if (filterModel.getCategory() != null) { crit.add(Restrictions.eq("this.category", filterModel.getCategory())); } crit.addOrder(Order.asc("this.code")); return crit; }
From source file:com.ut.tekir.stock.PriceItemBrowseBean.java
License:LGPL
@Override public DetachedCriteria buildCriteria() { DetachedCriteria crit = DetachedCriteria.forClass(PriceItem.class); if (isNotEmpty(filterModel.getCode())) { crit.add(Restrictions.ilike("this.code", filterModel.getCode(), MatchMode.START)); }//from w w w. ja v a 2 s . com if (filterModel.getBeginDate() != null) { crit.add(Restrictions.ge("this.beginDate", filterModel.getBeginDate())); } if (filterModel.getEndDate() != null) { crit.add(Restrictions.le("this.endDate", filterModel.getEndDate())); } if (filterModel.getAction() != null) { crit.add(Restrictions.eq("this.action", filterModel.getAction())); } crit.addOrder(Order.desc("this.beginDate")); crit.addOrder(Order.desc("this.code")); return crit; }
From source file:com.ut.tekir.stock.ProductBrowseBean.java
License:LGPL
@Override public DetachedCriteria buildCriteria() { DetachedCriteria crit = DetachedCriteria.forClass(Product.class); crit.setProjection(Projections.projectionList().add(Projections.property("id"), "id") .add(Projections.property("code"), "code").add(Projections.property("name"), "name") .add(Projections.property("category"), "category").add(Projections.property("info"), "info") .add(Projections.property("productType"), "productType") .add(Projections.property("barcode1"), "barcode1").add(Projections.property("barcode2"), "barcode2") .add(Projections.property("barcode3"), "barcode3").add(Projections.property("unit"), "unit") .add(Projections.property("group"), "group").add(Projections.property("openDate"), "openDate") .add(Projections.property("category"), "category").add(Projections.property("system"), "system") .add(Projections.property("active"), "active").add(Projections.property("buyTax"), "buyTax") .add(Projections.property("sellTax"), "sellTax").add(Projections.property("buyTax2"), "buyTax2") .add(Projections.property("sellTax2"), "sellTax2").add(Projections.property("buyTax3"), "buyTax3") .add(Projections.property("sellTax3"), "sellTax3").add(Projections.property("buyTax4"), "buyTax4") .add(Projections.property("sellTax4"), "sellTax4").add(Projections.property("buyTax5"), "buyTax5") .add(Projections.property("sellTax5"), "sellTax5") .add(Projections.property("expenseType"), "expenseType") .add(Projections.property("taxIncluded"), "taxIncluded") .add(Projections.property("tax2Included"), "tax2Included") .add(Projections.property("tax3Included"), "tax3Included") .add(Projections.property("tax4Included"), "tax4Included") .add(Projections.property("tax5Included"), "tax5Included") .add(Projections.property("shelfPlace"), "shelfPlace") .add(Projections.property("labelName"), "labelName") .add(Projections.property("lastPurchasePrice.value"), "lastPurchasePriceValue") .add(Projections.property("lastSalePrice.value"), "lastSalePriceValue") .add(Projections.property("createUser"), "createUser") .add(Projections.property("createDate"), "createDate") .add(Projections.property("updateUser"), "updateUser") .add(Projections.property("updateDate"), "updateDate") );//from w w w .j a v a 2 s . c o m crit.setResultTransformer(Transformers.aliasToBean(Product.class)); if (filterModel.getCode() != null && filterModel.getCode().length() > 0) { crit.add(Restrictions.or(Restrictions.ilike("this.code", filterModel.getCode(), MatchMode.START), Restrictions.like("this.code", filterModel.getCode(), MatchMode.START))); } if (filterModel.getName() != null && filterModel.getName().length() > 0) { crit.add(Restrictions.ilike("this.name", filterModel.getName(), MatchMode.START)); } if (filterModel.getBarcode() != null && filterModel.getBarcode().length() > 0) { Criterion criteria1 = Restrictions.like("this.barcode1", filterModel.getBarcode(), MatchMode.START); Criterion criteria2 = Restrictions.like("this.barcode2", filterModel.getBarcode(), MatchMode.START); Criterion criteria3 = Restrictions.like("this.barcode3", filterModel.getBarcode(), MatchMode.START); crit.add(Restrictions.or(criteria1, Restrictions.or(criteria2, criteria3))); } if (filterModel.getProductType() != ProductType.Unknown) { crit.add(Restrictions.eq("this.productType", filterModel.getProductType())); } else { Criterion prod = Restrictions.eq("this.productType", ProductType.Product); Criterion serv = Restrictions.eq("this.productType", ProductType.Service); LogicalExpression orExp = Restrictions.or(prod, serv); crit.add(orExp); } if (filterModel.getGroup() != null) { crit.add(Restrictions.eq("this.group", filterModel.getGroup())); } if (filterModel.getCategory() != null) { crit.add(Restrictions.eq("this.category", filterModel.getCategory())); } crit.addOrder(Order.asc("this.code")); return crit; }
From source file:com.ut.tekir.stock.ProductTransferBrowseBean.java
License:LGPL
@Override public DetachedCriteria buildCriteria() { DetachedCriteria crit = DetachedCriteria.forClass(ProductTransfer.class); if (isNotEmpty(filterModel.getSerial())) { crit.add(Restrictions.ilike("serial", filterModel.getSerial(), MatchMode.START)); }//from w w w. j a va2s.c om if (isNotEmpty(filterModel.getReference())) { crit.add(Restrictions.ilike("reference", filterModel.getReference(), MatchMode.START)); } if (isNotEmpty(filterModel.getCode())) { crit.add(Restrictions.ilike("code", filterModel.getCode(), MatchMode.START)); } if (filterModel.getBeginDate() != null) { crit.add(Restrictions.ge("date", filterModel.getBeginDate())); } if (filterModel.getEndDate() != null) { crit.add(Restrictions.le("date", filterModel.getEndDate())); } if (filterModel.getFromWarehouse() != null) { crit.add(Restrictions.eq("fromWarehouse", filterModel.getFromWarehouse())); } if (filterModel.getToWarehouse() != null) { crit.add(Restrictions.eq("toWarehouse", filterModel.getToWarehouse())); } crit.addOrder(Order.desc("serial")); return crit; }
From source file:com.ut.tekir.stock.ProductTxnReportBean.java
License:LGPL
@Override public DetachedCriteria buildCriteria() { DetachedCriteria crit = DetachedCriteria.forClass(ProductTxn.class); crit.createAlias("product", "product"); crit.createAlias("warehouse", "warehouse"); crit.createAlias("workBunch", "workBunch", Criteria.LEFT_JOIN); crit.setProjection(Projections.projectionList().add(Projections.property("documentType"), "documentType") .add(Projections.property("documentId"), "documentId") .add(Projections.property("product.id"), "productId").add(Projections.property("serial"), "serial") .add(Projections.property("reference"), "reference").add(Projections.property("code"), "code") .add(Projections.property("date"), "date").add(Projections.property("warehouse.name"), "wareName") .add(Projections.property("product.name"), "prodName") .add(Projections.property("product.code"), "prodCode") .add(Projections.property("product.group"), "group") .add(Projections.property("product.barcode1"), "barcode") .add(Projections.property("adverseCode"), "adverseCode") .add(Projections.property("adverseName"), "adverseName").add(Projections.property("info"), "info") .add(Projections.property("action"), "action") .add(Projections.property("quantity.value"), "quantityValue") .add(Projections.property("quantity.unit"), "quantityUnit") .add(Projections.property("unitPrice.currency"), "unitPriceCurrency") .add(Projections.property("unitPrice.value"), "unitPriceValue") .add(Projections.property("financeAction"), "financeAction") .add(Projections.property("workBunch.code"), "workBunchCode")); crit.setResultTransformer(Transformers.aliasToBean(ProductTxnModel.class)); if (isNotEmpty(filterModel.getSerial())) { crit.add(Restrictions.ilike("this.serial", filterModel.getSerial(), MatchMode.START)); }//from w w w . j a va 2 s.com if (isNotEmpty(filterModel.getProductCode())) { crit.add(Restrictions.ilike("product.code", filterModel.getProductCode(), MatchMode.START)); } if (isNotEmpty(filterModel.getAdverseCode())) { crit.add(Restrictions.ilike("this.adverseCode", filterModel.getAdverseCode(), MatchMode.START)); } if (isNotEmpty(filterModel.getAdverseName())) { crit.add(Restrictions.ilike("this.adverseName", filterModel.getAdverseName(), MatchMode.START)); } if (filterModel.getGroup() != null) { crit.add(Restrictions.eq("product.group", filterModel.getGroup())); } if (filterModel.getBarcode() != null && filterModel.getBarcode().length() > 0) { Criterion criteria1 = Restrictions.like("product.barcode1", filterModel.getBarcode(), MatchMode.START); Criterion criteria2 = Restrictions.like("product.barcode2", filterModel.getBarcode(), MatchMode.START); Criterion criteria3 = Restrictions.like("product.barcode3", filterModel.getBarcode(), MatchMode.START); crit.add(Restrictions.or(criteria1, Restrictions.or(criteria2, criteria3))); } if (isNotEmpty(filterModel.getProductName())) { crit.add(Restrictions.ilike("product.name", filterModel.getProductName(), MatchMode.START)); } if (filterModel.getProductType() != null) { if (filterModel.getProductType() == 1) { crit.add(Restrictions.like("this.productType", ProductType.Product)); } else if (filterModel.getProductType() == 2) { crit.add(Restrictions.like("this.productType", ProductType.Service)); } } 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 (filterModel.getContact() != null) { crit.add(Restrictions.eq("contact", filterModel.getContact())); } if (filterModel.getWarehouse() != null) { crit.add(Restrictions.eq("warehouse", filterModel.getWarehouse())); } if (filterModel.getCategory() != null) { crit.add(Restrictions.eq("product.category", filterModel.getCategory())); } if (filterModel.getProduct() != null) { crit.add(Restrictions.eq("product", filterModel.getProduct())); } if (filterModel.getWorkBunch() != null) { crit.add(Restrictions.eq("workBunch", filterModel.getWorkBunch())); } if (filterModel.getDocumentType() != null && filterModel.getDocumentType() != DocumentType.Unknown) { crit.add(Restrictions.eq("this.documentType", filterModel.getDocumentType())); } /* if( filterModel.getLocalCurrencyOnly()){ crit.setProjection( Projections.projectionList() .add( Projections.groupProperty("documentType"), "documentType" ) .add( Projections.groupProperty("documentId"), "documentId" ) .add( Projections.groupProperty("serial"), "serial" ) .add( Projections.groupProperty("reference"), "reference" ) .add( Projections.groupProperty("date"), "date" ) .add( Projections.groupProperty("contact"), "contact" ) .add( Projections.groupProperty("code"), "code" ) .add( Projections.groupProperty("info"), "info" ) .add( Projections.groupProperty("action"), "action" ) .add( Projections.sum("localAmount.value"), "localAmount" ) ); } */ crit.add(Restrictions.eq("this.active", true)); crit.addOrder(Order.desc("this.date")); crit.addOrder(Order.desc("this.id")); //crit.addOrder(Order.asc("warehouse")); //crit.addOrder(Order.desc("this.serial")); //crit.addOrder(Order.asc("product")); log.debug("Sonu : #0", crit); return crit; }
From source file:com.ut.tekir.stock.ProductVirementBrowseBean.java
License:LGPL
@Override public DetachedCriteria buildCriteria() { DetachedCriteria crit = DetachedCriteria.forClass(ProductVirement.class); if (isNotEmpty(filterModel.getSerial())) { crit.add(Restrictions.ilike("serial", filterModel.getSerial(), MatchMode.START)); }//from ww w. j a v a 2 s . co m if (isNotEmpty(filterModel.getReference())) { crit.add(Restrictions.ilike("reference", filterModel.getReference(), MatchMode.START)); } if (isNotEmpty(filterModel.getCode())) { crit.add(Restrictions.ilike("code", filterModel.getCode(), MatchMode.START)); } if (filterModel.getWarehouse() != null) { crit.add(Restrictions.eq("warehouse", filterModel.getWarehouse())); } if (filterModel.getBeginDate() != null) { crit.add(Restrictions.ge("date", filterModel.getBeginDate())); } if (filterModel.getEndDate() != null) { crit.add(Restrictions.le("date", filterModel.getEndDate())); } crit.addOrder(Order.desc("date")); crit.addOrder(Order.desc("serial")); return crit; }
From source file:com.ut.tekir.stock.PurchaseOrderBrowseBean.java
License:LGPL
@Override public DetachedCriteria buildCriteria() { DetachedCriteria crit = DetachedCriteria.forClass(OrderNote.class); crit.createAlias("contact", "contact"); crit.setProjection(Projections.projectionList().add(Projections.property("id"), "id") .add(Projections.property("serial"), "serial").add(Projections.property("reference"), "reference") .add(Projections.property("code"), "code").add(Projections.property("status"), "status") .add(Projections.property("date"), "date").add(Projections.property("info"), "info") .add(Projections.property("warehouse"), "warehouse") .add(Projections.property("contact.name"), "contactName") .add(Projections.property("contact.company"), "company") .add(Projections.property("contact.code"), "contactCode")) .setResultTransformer(Transformers.aliasToBean(OrderFilterModel.class)); if (isNotEmpty(filterModel.getSerial())) { crit.add(Restrictions.ilike("this.serial", filterModel.getSerial(), MatchMode.START)); }//from w w w . j a v a 2s.com 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 (filterModel.getWarehouse() != null) { crit.add(Restrictions.eq("this.warehouse", filterModel.getWarehouse())); } if (isNotEmpty(filterModel.getContactCode())) { crit.add(Restrictions.ilike("contact.code", filterModel.getContactCode(), MatchMode.START)); } if (isNotEmpty(filterModel.getContactName())) { crit.add(Restrictions.ilike("contact.name", filterModel.getContactName(), MatchMode.START)); } if (filterModel.getStatus() != null) { crit.add(Restrictions.eq("this.status", filterModel.getStatus())); } crit.add(Restrictions.eq("this.action", TradeAction.Purchase)); crit.addOrder(Order.desc("this.serial")); return crit; }