EAS 套打 预览

@Override
    public void actionPrintPreview_actionPerformed(ActionEvent e)
    		throws Exception {
    	if(editData!=null && editData.getId()!=null){
	    	List idList=new ArrayList();
			idList.add(editData.getId().toString());
			BOSQueryDelegate data = new ExampleProvider(idList);
	        com.kingdee.bos.ctrl.report.forapp.kdnote.client.KDNoteHelper appHlp = new com.kingdee.bos.ctrl.report.forapp.kdnote.client.KDNoteHelper();
	        appHlp.printPreview(getTDFileName(), data, javax.swing.SwingUtilities.getWindowAncestor(this));
    	}else{
    		MsgBox.showInfo("请先保存单据!");
			abort();
    	}
    }
    @Override
    public void actionPrint_actionPerformed(ActionEvent e) throws Exception {
    	if(editData!=null && editData.getId()!=null){
	    	List idList=new ArrayList();
			idList.add(editData.getId().toString());
			BOSQueryDelegate data = new ExampleProvider(idList);
	        com.kingdee.bos.ctrl.report.forapp.kdnote.client.KDNoteHelper appHlp = new com.kingdee.bos.ctrl.report.forapp.kdnote.client.KDNoteHelper();
	        appHlp.print(getTDFileName(), data, javax.swing.SwingUtilities.getWindowAncestor(this));
    	}else{
    		MsgBox.showInfo("请先保存单据!");
			abort();
    	}

	 
import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.jxj.eas.util.app.DbUtil;
import com.kingdee.bos.BOSException;
import com.kingdee.bos.ctrl.kdf.data.datasource.BOSQueryDataSource;
import com.kingdee.bos.ctrl.kdf.data.impl.BOSQueryDelegate;
import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
import com.kingdee.bos.dao.query.IQueryExecutor;
import com.kingdee.bos.dao.query.QueryExecutorFactory;
import com.kingdee.bos.metadata.MetaDataPK;
import com.kingdee.bos.metadata.data.SortType;
import com.kingdee.bos.metadata.entity.EntityViewInfo;
import com.kingdee.bos.metadata.entity.FilterInfo;
import com.kingdee.bos.metadata.entity.FilterItemInfo;
import com.kingdee.bos.metadata.entity.SorterItemInfo;
import com.kingdee.bos.metadata.query.util.CompareType;
import com.kingdee.eas.base.multiapprove.SqlFacadeFactory;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.eas.znw.lt.baseData.storage.IWarehouseLT;
import com.kingdee.eas.znw.lt.baseData.storage.WarehouseLTFactory;
import com.kingdee.eas.znw.lt.bup.BuyerPurSalContractConsigneeCollection;
import com.kingdee.eas.znw.lt.bup.BuyerPurSalContractConsigneeFactory;
import com.kingdee.eas.znw.lt.bup.BuyerPurSalContractConsigneeInfo;
import com.kingdee.eas.znw.lt.bup.IBuyerPurSalContractConsignee;
import com.kingdee.eas.znw.utils.utilPack.znwUtilClient;
import com.kingdee.jdbc.rowset.IRowSet;
import com.kingdee.util.StringUtils;

public class ExampleProvider implements BOSQueryDelegate {

	 private Set ids = null; 
	 public ExampleProvider(List listId) {
		this.ids = new HashSet(listId);  
	 }
		
	public IRowSet execute(BOSQueryDataSource bds) {
		IRowSet iRowSet = null;
		try {
				IQueryExecutor exec = null;
				EntityViewInfo ev = new EntityViewInfo();  
				FilterInfo filter = new FilterInfo();
			    if(bds.getID().equalsIgnoreCase("PurchaseContractPrintQuery")){
		    		// 动态查询执行器  
					exec = QueryExecutorFactory.getRemoteInstance(new MetaDataPK("com.kingdee.eas.sep.app.PurchaseContractPrintQuery"));  
					// 自动转换查询中的枚举字段  
					exec.option().isAutoTranslateEnum = true;  
					// 构造过滤条件  
					filter.getFilterItems().add(new FilterItemInfo("id", ids, CompareType.INCLUDE));  
					ev.setFilter(filter);  
					// 增加排序字段(可选)  
					SorterItemInfo sorter = new SorterItemInfo("number");
			      	sorter.setSortType(SortType.ASCEND);
			      	ev.getSorter().clear();
			      	ev.getSorter().add(sorter); //排序
					exec.setObjectView(ev);  
					exec.option().isAutoTranslateBoolean = true;  
					// 执行query,返回结果集  
					// 可对结果集进行数据处理在返回  
					iRowSet = exec.executeQuery();
					iRowSet = updatePurchaseContract(iRowSet,"CT_ZNW_PurchaseContractEntry");
		    	}else if(bds.getID().equalsIgnoreCase("DeliveryNoticeBillPrintQuery")){
		    		exec = QueryExecutorFactory.getRemoteInstance(new MetaDataPK("com.kingdee.eas.im.inv.app.DeliveryNoticeBillPrintQuery"));  
		    		// 自动转换查询中的枚举字段  
					exec.option().isAutoTranslateEnum = true;  
					// 构造过滤条件  
					filter.getFilterItems().add(new FilterItemInfo("id", ids, CompareType.INCLUDE));  
					ev.setFilter(filter);  
					exec.setObjectView(ev);  
					exec.option().isAutoTranslateBoolean = true;  
					// 执行query,返回结果集  
					// 可对结果集进行数据处理在返回  
					iRowSet = exec.executeQuery();
					while(iRowSet.next()){
						String id= iRowSet.getString("warehouse.id");
						String sql="select CFContactsName,CFContactsTel,CFMoveTel,CFFax from CT_STO_WarehouseLTEntry where fparentid='"+id+"'";
						IRowSet rs= znwUtilClient.getRs(sql);
						if(rs.next()){
							iRowSet.updateString("warehouseContact", rs.getString("CFContactsName"));
							iRowSet.updateString("warehouseConTel", rs.getString("CFContactsTel"));
							iRowSet.updateString("mobilePhone", rs.getString("CFMoveTel"));
							iRowSet.updateString("fax", rs.getString("CFFax"));
						}else{
							iRowSet.updateString("warehouseContact", "");
							iRowSet.updateString("warehouseConTel","");
							iRowSet.updateString("mobilePhone", "");
							iRowSet.updateString("fax","");
						}
					}
					
		    	}else if(bds.getID().equalsIgnoreCase("NewSaleContractPrintQuery")){
		    		exec = QueryExecutorFactory.getRemoteInstance(new MetaDataPK("com.kingdee.eas.sep.app.NewSaleContractPrintQuery"));  
		    		// 自动转换查询中的枚举字段  
					exec.option().isAutoTranslateEnum = true;  
					// 构造过滤条件  
					filter.getFilterItems().add(new FilterItemInfo("id", ids, CompareType.INCLUDE));  
					ev.setFilter(filter);  
					exec.setObjectView(ev);  
					exec.option().isAutoTranslateBoolean = true;  
					// 执行query,返回结果集  
					// 可对结果集进行数据处理在返回  
					iRowSet = exec.executeQuery();
		    	}else if(bds.getID().equalsIgnoreCase("SaleContractPrintQuery")){
		    		exec = QueryExecutorFactory.getRemoteInstance(new MetaDataPK("com.kingdee.eas.bup.app.SaleContractPrintQuery"));  
		    		// 自动转换查询中的枚举字段  
					exec.option().isAutoTranslateEnum = true;  
					// 构造过滤条件  
					filter.getFilterItems().add(new FilterItemInfo("id", ids, CompareType.INCLUDE));  
					ev.setFilter(filter);  
					exec.setObjectView(ev);  
					exec.option().isAutoTranslateBoolean = true;  
					// 执行query,返回结果集  
					// 可对结果集进行数据处理在返回  
					iRowSet = exec.executeQuery();
		    		
		    	}else if(bds.getID().equalsIgnoreCase("QuickCreateBillQuery")){
		    		exec = QueryExecutorFactory.getRemoteInstance(new MetaDataPK("com.kingdee.eas.settle.bizbill.app.QuickCreateBillQuery"));  
		    		// 自动转换查询中的枚举字段  
					exec.option().isAutoTranslateEnum = true;  
					// 构造过滤条件  
					filter.getFilterItems().add(new FilterItemInfo("id", ids, CompareType.INCLUDE));  
					ev.setFilter(filter);  
					exec.setObjectView(ev);  
					exec.option().isAutoTranslateBoolean = true;  
					// 执行query,返回结果集  
					// 可对结果集进行数据处理在返回  
					iRowSet = exec.executeQuery();
		    		
		    	}
		    } catch (BOSException e) {
				e.printStackTrace();
			} catch (SQLException e) {
				e.printStackTrace();
			} catch (EASBizException e) {
				e.printStackTrace();
			}
			return iRowSet;  
		
	}

	private IRowSet updatePurchaseContract(IRowSet rowSet,String tableName) throws SQLException, EASBizException, BOSException {
		while(rowSet.next()){
			String id= rowSet.getString("id");
			StringBuffer buff=new StringBuffer();
			String sql="select CFQty,CFTransactionPrice from "+tableName+" where fparentid='"+id+"'";
			IRowSet rs= znwUtilClient.getRs(sql);
			while(rs.next()){
				BigDecimal qty= rs.getBigDecimal("CFQty");
				BigDecimal transactionPrice=rs.getBigDecimal("CFTransactionPrice");
				buff.append(qty).append(" × ").append(transactionPrice);
				buff.append("  ");
			}
			rowSet.updateString("description", buff.toString());
		}
		return rowSet;
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值