过滤条件的常见写法场景:s-HR部分较为复杂的列表开发时无法通过视图配置过滤条件,此时需要二开代码添加过滤条件,本文提供一些常见过滤条件写法。适用版本:所有版本适用对象:二开人员步骤:重写父类(Listhandler)的getCustomFilter方法,返回一个自定义的过滤条件。1.常规过滤写法:FilterItemInfofilterItemInfo=newFilterItemInfo(compareField,compareValue,CompareType.xxx);2.拼接sql到过滤中Stringsql="SELECTFIDFROMT_ORG_ADMINWHEREFLONGNUMBERLIKE'%"+longNumber+"%'";filterItemInfo=newFilterItemInfo(compareField,sql,CompareType.INNER);3.不为空filterInfo.getFilterItems().add(newFilterItemInfo(compareField,CompareValueType.EMPTY,CompareType.ISNOT));4.Set包含SetorgIdList=getOrgIds(subMap);//构造一个Setif(orgIdList!=null&&orgIdList.size()>0){filter.getFilterItems().add(newFilterItemInfo(compareField,orgIdList,CompareType.INCLUDE));}4.多个过滤条件连接//条件1FilterItemInfofilter=newFilterItemInfo(compareField,compareValue,CompareType.xxx);//条件2filter.getFilterItems().add(newFilterItemInfo(compareField,compareValue,CompareType.xxx));//条件3……n//设置条件1和条件2的关系,不设置默认就是andfilter.setMaskString("#0or#1");注:多个条件可以用括号组合如:filter.setMaskString("#0AND#1AND(#2OR#3)");