import org.hibernate.criterion.Disjunction; @RequestMapping(params = "selectdatagrid") public void selectdatagrid(TBBdDuEntity tBBdDu,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { CriteriaQuery cq = new CriteriaQuery(TBBdDuEntity.class, dataGrid); //查询条件组装器 // com.centusoft.framework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, tBBdDu, request.getParameterMap()); try{ //自定义追加查询条件 String unitCode = oConvertUtils.getString(request.getParameter("unitCode")); String address = oConvertUtils.getString(request.getParameter("address")); String businessType_ = oConvertUtils.getString(request.getParameter("businessType")); //String qualificationType_ = oConvertUtils.getString(request.getParameter("qualificationType")); String culType2 = oConvertUtils.getString(request.getParameter("culType2")); if(StringUtil.isNotEmpty(unitCode)){ cq.like("unitCode", "%"+unitCode+"%"); } if(StringUtil.isNotEmpty(tBBdDu.getUnitName())){ cq.like("unitName", "%"+tBBdDu.getUnitName()+"%"); } if(StringUtil.isNotEmpty(tBBdDu.getContacts())){ cq.like("contacts", "%"+tBBdDu.getContacts()+"%"); } if(StringUtil.isNotEmpty(tBBdDu.getTelNumber())){ cq.like("telNumber", "%"+tBBdDu.getTelNumber()+"%"); } if(StringUtil.isNotEmpty(tBBdDu.getProvince())){ cq.in("province", tBBdDu.getProvince().split("\\,")); } if(StringUtil.isNotEmpty(address)){ cq.like("address", "%"+address+"%"); } if(StringUtil.isNotEmpty(tBBdDu.getQualificationType())){ cq.like("qualificationType", "%"+tBBdDu.getQualificationType()+"%"); } if(StringUtil.isNotEmpty(tBBdDu.getQualificationGrade())){ cq.like("qualificationGrade", "%"+tBBdDu.getQualificationGrade()+"%"); } if(StringUtil.isNotEmpty(tBBdDu.getPeriodOfValidity())){ cq.like("periodOfValidity", "%"+tBBdDu.getPeriodOfValidity()+"%"); } if(StringUtil.isNotEmpty(tBBdDu.getZipCode())){ cq.like("zipCode", "%"+tBBdDu.getZipCode()+"%"); } if(StringUtil.isNotEmpty(tBBdDu.getCreateName())){ cq.like("createName", "%"+tBBdDu.getCreateName()+"%"); } if(StringUtil.isNotEmpty(businessType_)){ cq.like("businessType", "%"+businessType_+"%"); } //资质类型、资质等级、资质有效期如果有空值则不能选择 if(!"CRR".equals(businessType_)){ cq.isNotNull("qualificationType"); cq.isNotNull("qualificationGrade"); cq.isNotNull("periodOfValidity"); } }catch (Exception e) { throw new BusinessException(e.getMessage()); } String culType = oConvertUtils.getString(request.getParameter("culType")); if(StringUtil.isNotEmpty(culType)){ String[] culType_ = culType.split("\\,"); --------------------------------------------------------------------------------- //Disjunction 多条件or查询 //Conjunction 多条件and查询 Disjunction disjunction = Restrictions.disjunction(); for(int i=0;i<culType_.length;i++){ disjunction.add(Restrictions.like("culType", "%"+culType_[i]+"%").ignoreCase()); } cq.add(disjunction); --------------------------------------------------------------------------------- } cq.add(); this.tBBdDuService.getDataGridReturn(cq, true); TagUtil.datagrid(response, dataGrid); }
CriteriaQuery多条件or查询
本文由 admin 创作,采用 知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:2022-08-09 21:17:50