二开过滤条件常见的写法(持续更新)
场景:s-HR部分较为复杂的列表开发时无法通过视图配置过滤条件,此时需要二开代码添加过滤条件,本文提供一些常见过滤条件写法。
适用版本:所有版本
适用对象:二开人员
步骤:
重写父类(Listhandler)的getCustomFilter方法,返回一个自定义的过滤条件。
1.常规过滤写法:
FilterItemInfo filterItemInfo =new FilterItemInfo(compareField, compareValue,CompareType.xxx);
2.拼接sql到过滤中
String sql = "SELECT FID FROM T_ORG_ADMIN WHERE FLONGNUMBER LIKE '%" + longNumber + "%'";
filterItemInfo = new FilterItemInfo(compareField, sql, CompareType.INNER);
3.不为空
filterInfo.getFilterItems().add(new FilterItemInfo(compareField, CompareValueType.EMPTY, CompareType.ISNOT));
4. Set 包含
Set<String> orgIdList = getOrgIds(subMap); //构造一个Set
if(orgIdList!=null&&orgIdList.size()>0){
filter.getFilterItems().add(new FilterItemInfo(compareField,orgIdList,CompareType.INCLUDE));
}
4.多个过滤条件连接
//条件1
FilterItemInfo filter=new FilterItemInfo(compareField,compareValue,CompareType.xxx);
//条件2
filter.getFilterItems().add(new FilterItemInfo(compareField, compareValue,CompareType.xxx));
//条件 3 ……n
//设置条件1和条件2的关系,不设置默认就是and
filter.setMaskString("#0 or #1");
注:多个条件可以用括号组合 如:filter.setMaskString("#0 AND #1 AND (#2 OR #3)");
二开过滤条件常见的写法(持续更新)
本文2024-09-16 23:46:55发表“s-hr cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-shr-56752.html