/**
* EntityViewInfo的使用
*/
@SuppressWarnings("unused")
private void getData() throws BOSException{
// 查询组织编码为:001,性别为:男,工资大于:3000
// 按照人员编码排序
// select tst.* from T_UYG_Test tst
// inner join T_ORG_Baseunit org on org.fid = tst.forgunitid
// where org.fnumber = '001'
// and tst.fgender = 1
// and tst.famount > 3000
// order by tst.fnumber desc
EntityViewInfo view = new EntityViewInfo(); //视图,理解为SQL语句结构,可以通用于客户端与服务端
/*
* 指定查询那些字段
* 使用实体的属性值
* 理解为select之后所列字段
*/
SelectorItemCollection selector = new SelectorItemCollection(); //将查询指定字段
selector.add(new SelectorItemInfo("*"));
/*
* 过滤条件
* 相当于where之后的条件语句部分
* 使用实体的属性值
*/
FilterInfo filter = new FilterInfo();
filter.getFilterItems().add(new FilterItemInfo("orgUnit.number", "001", CompareType.EQUALS)); //组织编码
filter.getFilterItems().add(new FilterItemInfo("gender", GenderEnum.FEMALE_VALUE, CompareType.EQUALS)); //性别
filter.getFilterItems().add(new FilterItemInfo("amount", 3000, CompareType.GREATER)); //工资
/*
* 排序
* 使用实体的属性值
* 相当于order by之后的语句部分
*/
SorterItemCollection sorters = new SorterItemCollection();
SorterItemInfo sorter1 = new SorterItemInfo("number"); //编码
sorter1.setSortType(SortType.DESCEND); //倒序
sorters.add(sorter1);
view.setSelector(selector); //查询字段
view.setFilter(filter); //筛选条件
view.setSorter(sorters); //排序
TestCollection coll = TestFactory.getRemoteInstance().getTestCollection(view);
}