EAS的客户端去除默认的组织单元过滤条件或默认查询条件的值

我们再eas客户端开发list界面的时候,有时候需要过滤或修改默认的拼接的组织单位或创建时间等条件,这里我们可以在listUI.java里修改execQuery方法如下来修改参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
protected void execQuery() {
        String className = (String)getUIContext().get("UIClassParam");
        if(className != null && className.equals("VIEWALL")){
            FilterItemCollection filterItemColl  = this.mainQuery.getFilter().getFilterItems();
            for(int i=0;i<filterItemColl.size();i++){
                FilterItemInfo filterItemInfo = filterItemColl.get(i);
                if(filterItemInfo.getPropertyName().equals("company.id")){
                    filterItemInfo.setCompareType(CompareType.ISNOT);
                    filterItemInfo.setCompareValue(null);
                }
            }
            super.execQuery();
            try {
                onShow();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }else{
            super.execQuery();
        }
         
    }

上面做法如果造成了公司查询条件失效可以采用如下方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
protected void execQuery() {
        String className = (String)getUIContext().get("UIClassParam");
        if(className != null && className.equals("VIEWALL")){
//          this.mainQuery.getFilter().getFilterItems().removeObject(0);
            FilterItemCollection filterItemColl  = this.mainQuery.getFilter().getFilterItems();
            for(int i=0;i<filterItemColl.size();i++){
                FilterItemInfo filterItemInfo = filterItemColl.get(i);
                if(filterItemInfo.getPropertyName().equals("company.id")&&
                        filterItemInfo.getCompareType().equals(CompareType.INCLUDE)){//判断propertyName和比较符为in的则替换值
                    filterItemInfo.setCompareType(CompareType.ISNOT);
                    filterItemInfo.setCompareValue(null);
                }
            }
            super.execQuery();
            try {
                onShow();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }else{
            super.execQuery();
        }
         
    }

如果发现默认的拼接的是cu.id in ("xxxx"),也可以重写 isIgnoreCUFilter ,返回true,忽略组织过滤条件

1
2
3
4
5
@Override
    protected boolean isIgnoreCUFilter() {
        // TODO Auto-generated method stub
        return true;
    }

  

posted @   凉了记忆  阅读(146)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示