EAS 查询核心调用


 1 @Override
 2     protected IQueryExecutor getQueryExecutor(IMetaDataPK queryPK,
 3             EntityViewInfo viewInfo) {
 4         if(viewInfo ==null){//dialog query对应的视图信息
 5             viewInfo = new EntityViewInfo();
 6         }
 7        
 8         FilterInfo filter =  viewInfo.getFilter();//dialog query对应的视图过滤
 9         if(filter ==null){
10             filter = new FilterInfo();
11             viewInfo.setFilter(filter);
12         }
13         OrgUnitInfo orgUnitInfo = getBGOrgUnitInfo();
14         FilterInfo myfilter = new FilterInfo();//自己添加的过滤
15         if(rbImmOrgUnit.isSelected()){
16             Set<String> set = new HashSet<String>();
17             String sql = "select FID from t_org_costcenter where FParentID = '"+orgUnitInfo.getId().toString()+"'";
18             IRowSet rs = null;
19             try {
20                 rs = SQLExecutorFactory.getRemoteInstance(sql).executeSQL();
21                 while(rs.next()){
22                     set.add(rs.getString("FID"));
23                 }
24             } catch (BOSException e) {
25                 // TODO Auto-generated catch block
26                 e.printStackTrace();
27             } catch (SQLException e) {
28                 // TODO Auto-generated catch block
29                 e.printStackTrace();
30             }
31             set.add(orgUnitInfo.getId().toString());
32             myfilter.getFilterItems().add(
33                           new FilterItemInfo("orgUnit.id", set, CompareType.INCLUDE));
34         }else if(rbAllOrgUnit.isSelected()){
35             Set<String> set = new HashSet<String>();
36             getAll(orgUnitInfo.getId().toString(),set);
37             
38             myfilter.getFilterItems().add(
39                         new FilterItemInfo("orgUnit.id", set, CompareType.INCLUDE));
40         }else{
41             myfilter.getFilterItems().add(
42                     new FilterItemInfo("orgUnit.id", orgUnitInfo.getId().toString(), CompareType.EQUALS));
43         }
44         try {
45             filter.mergeFilter(myfilter, "and");//合并视图过滤和自己添加的过滤
46         } catch (BOSException e) {
47             // TODO Auto-generated catch block
48             e.printStackTrace();
49         }
50         viewInfo.setFilter(filter);//重设合并后的过滤
51         return super.getQueryExecutor(queryPK, viewInfo);
52 
53     }

 

 

 

posted @ 2015-04-21 16:27  LJ9197  阅读(320)  评论(0)    收藏  举报