天天看點

金蝶BOS架構,EntityViewInfo的使用

/**
 * 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);

}
           

繼續閱讀