EAS的客户端去除默认的组织单元过滤条件或默认查询条件的值
我们再eas客户端开发list界面的时候,有时候需要过滤或修改默认的拼接的组织单位或创建时间等条件,这里我们可以在listUI.java里修改execQuery方法如下来修改参数
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(); } }
上面做法如果造成了公司查询条件失效可以采用如下方法
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,忽略组织过滤条件
@Override protected boolean isIgnoreCUFilter() { // TODO Auto-generated method stub return true; }
linux下的docker操作命令及异常