1,EntityViewInfo常常用作bos中接口參數,來做查詢用,其中包含了FilterInfo(過濾)、Selector(指定屬性)以及Sorter(排序)
1 SelectorItemCollection sic = new SelectorItemCollection(); 2 3 //表示獲取info所有的屬性 4 5 sic.add(newSelectorItemInfo("*")); 6 7 //表示獲取info上creator上所有的屬性 8 9 sic.add(newSelectorItemInfo("creator.*")); 10 11 //表示只獲取info上auditor上id,name和number三個屬性 12 13 sic.add(new SelectorItemInfo("auditor.id")); 14 15 sic.add(newSelectorItemInfo("auditor.number")); 16 17 sic.add(newSelectorItemInfo("auditor.name")); 18 19 特殊的 20 XXXFactory.getRemoteInstance().getXXXInfo(IObjectPKpk);//直接獲取info,如果info中含有關聯屬性,只能取到關聯屬性的ID 21 22 XXXFactory.getRemoteInstance().getXXXInfo(IObjectPKpk, SelectorItemCollection selector);//直接獲取Info,通過在selector中指定需要取哪些屬性,比如
2,AtsOverTimeBillEditHandler.class中案例,加上自己的理解.
1 EntityViewInfo EntityViewInfo = new EntityViewInfo();//新建接口 2 SelectorItemCollection sic = new SelectorItemCollection(); //通過Selector設定屬性 3 sic.add(new SelectItemInfo("proposer.id"));//表示只獲取info上proposer上id屬性 4 sic.add(new SelectItemInfo("id"));//表示只獲取info上id屬性 5 sic.add(new SelectItemInfo("attendDate"));//表示只獲取info上attendDate屬性 6 sic.add(new SelectItemInfo("dayType"));//表示只獲取info上dayType屬性 7 entityViewInfo.setSelector(sic);//設置屬性 8 FilterInfo filterInfo = new FilterInfo();//建立過濾條件 9 filterInfo.getFilterItems().add(new FilterItemInfo("proposer.id",personInfo.getId().toString())); 10 filterInfo.getFilterItems().add(new FilterItemInfo("attendDate",newDate,CompareType.GREATER_EQUALS)); 11 entityViewInfo.setFilter(filterInfo);//設置過濾條件
3,AtsOverTimeBillListHandler這個里面的代碼補充
1 FilterInfo fla = new FilterInfo(); 2 fla.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("entries.otDate", beginDateTs, CompareType.GREATER_EQUALS)); 3 fla.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("entries.otDate", endDateTs, CompareType.LESS_EQUALS)); 4 5 FilterInfo flb1 = new FilterInfo(); 6 flb1.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("billState", Integer.valueOf(1), CompareType.EQUALS)); 7 FilterInfo flb2 = new FilterInfo(); 8 flb2.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("billState", Integer.valueOf(2), CompareType.EQUALS)); 9 FilterInfo flb3 = new FilterInfo(); 10 flb3.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("billState", Integer.valueOf(3), CompareType.EQUALS)); 11 String existsSql = "SELECT 1 FROM T_HR_ATS_AttendanceResult attenceResult WHERE attenceResult.FPROPOSERID = ENTRIES.FPERSONID AND to_char(attenceResult.Fattencedate,'YYYY-MM-DD') >= '" + beginDate + "'" + " AND to_char(attenceResult.Fattencedate,'YYYY-MM-DD') <= '" + endDate + "'" + " AND to_char(attenceResult.Fattencedate,'YYYY-MM-DD') = to_char(ENTRIES.fotDate,'YYYY-MM-DD')" + " AND attenceResult.FLASTUPDATETIME <= ATSOVERTIMEBILL.FLASTUPDATETIME"; 12 13 flb3.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("PERSON.ID", existsSql, CompareType.EXISTS)); 14 15 FilterInfo flb4 = new FilterInfo(); 16 flb4.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("billState", Integer.valueOf(3), CompareType.EQUALS)); 17 String notExistsSql = "SELECT 1 FROM T_HR_ATS_AttendanceResult attenceResult WHERE attenceResult.FPROPOSERID = ENTRIES.FPERSONID AND to_char(attenceResult.Fattencedate,'YYYY-MM-DD') >= '" + beginDate + "'" + " AND to_char(attenceResult.Fattencedate,'YYYY-MM-DD') <= '" + endDate + "'" + " AND to_char(attenceResult.Fattencedate,'YYYY-MM-DD') = to_char(ENTRIES.fotDate,'YYYY-MM-DD')"; 18 19 flb4.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo("PERSON.ID", notExistsSql, CompareType.NOTEXISTS)); 20 21 FilterInfo flb = new FilterInfo(); 22 flb.mergeFilter(flb1, "OR"); //這是一個含有合並過濾(mergeFilter)的案例 可以是"OR" 23 flb.mergeFilter(flb2, "OR"); 24 flb.mergeFilter(flb3, "OR"); 25 flb.mergeFilter(flb4, "OR"); 26 27 filter.mergeFilter(fla, "AND");//這是一個含有合並過濾(mergeFilter)的案例 也可以是"and" 28 filter.mergeFilter(flb, "AND");
4,
給列表添加過濾條件:
http://blog.csdn.net/fenyu8/article/details/12085499
5,設置列表界面打開時查詢的缺省過濾條件,返回null值屏蔽CU條件 getDefaultFilterForQuery
6,
//這是一種比較特殊的用法,目前,還不懂意思 protected FilterInfo getDefaultFilter(HttpServletRequest request, HttpServletResponse response) throws WafException { FilterInfo filterInfo = super.getDefaultFilter(request, response); filterInfo = AtsWebUtils.getDefaultOrgFilter(filterInfo); return filterInfo; }
7,
做EAS,包括shr要養成一個習慣:打補丁前備份整個服務器目錄,有問題就還原
8, 其他的案例
http://blog.csdn.net/douml88/article/details/8855333
9,要是不會,就可以找找js源碼解讀
