EAS多分录套打设置

多分录的单据在做套打时,一般都有好几个Query,可通过下面方法做相应设置:


	public void actionPrint_actionPerformed(ActionEvent e) throws Exception {

		// super.actionPrint_actionPerformed(e);
		if (editData.getId() != null) {
			String id = editData.getId().toString();
			DataProvider data = new DataProvider(id);
			KDNoteHelper appHlp = new KDNoteHelper();
			appHlp.print("bim/custom/classmanage/reportclass/Reportdaxiaoban",
					data, javax.swing.SwingUtilities.getWindowAncestor(this));
		} else {
			MsgBox.showWarning("请先保存单据,再点打印!");
		}






public class DataProvider implements BOSQueryDelegate {

	private static final Logger logger = CoreUIObject
			.getLogger(AbstractFrozenDaxiaobanEditUI.class);
	private String billId;

	public DataProvider(String billId) {
		this.billId = billId;
	}

	public IRowSet execute(BOSQueryDataSource ds) {
		//
		IRowSet rs = null;
		//
		try {
			IQueryExecutor iqec = null;
			FilterInfo filterInfo = new FilterInfo();
			EntityViewInfo viewInfo = new EntityViewInfo();
			if (ds.getID().equals("BillQuery")) {
				iqec = QueryExecutorFactory.getRemoteInstance(new MetaDataPK(
						"com.kingdee.eas.custom.test.app",
						"BillQuery"));
				filterInfo.getFilterItems().add(
						new FilterItemInfo("id", this.billId,
								CompareType.EQUALS));
				viewInfo.setFilter(filterInfo);
				iqec.setObjectView(viewInfo);
				iqec.option().isAutoTranslateBoolean = true;
				iqec.option().isAutoTranslateEnum = true;
				//
				rs = iqec.executeQuery();
			}else if (ds.getID().equals("Entry2Query")) {
				iqec = QueryExecutorFactory.getRemoteInstance(new MetaDataPK(
						"com.kingdee.eas.custom.test.app",
						"Entry2Query"));
				filterInfo.getFilterItems().add(
						new FilterItemInfo("parentid", this.billId,
								CompareType.EQUALS));
				viewInfo.setFilter(filterInfo);
				iqec.setObjectView(viewInfo);
				iqec.option().isAutoTranslateBoolean = true;
				iqec.option().isAutoTranslateEnum = true;
				//
				rs = iqec.executeQuery();
			} else if (ds.getID().equals("EntryQuery")) {
				iqec = QueryExecutorFactory.getRemoteInstance(new MetaDataPK(
						"com.kingdee.eas.custom.test.app",
						"EntryQuery"));
				filterInfo.getFilterItems().add(
						new FilterItemInfo("parentid", this.billId,
								CompareType.EQUALS));
				viewInfo.setFilter(filterInfo);
				iqec.setObjectView(viewInfo);
				iqec.option().isAutoTranslateBoolean = true;
				iqec.option().isAutoTranslateEnum = true;
				//
				rs = iqec.executeQuery();
			} else {
				logger.info("==============其他执行,ds.getID()====" + ds.getID());
			}

		} catch (Exception ex) {
			ex.printStackTrace();
		}
		int rowcount = rs.size();
		logger.info("rs.size====" + rowcount);
		return rs;
	}

}


注:parentid是新建Query中的字段名称,可做相应的修改。

猜你喜欢

转载自sanyecao2314.iteye.com/blog/1025301
EAS
今日推荐