东江报表相关类

(1)新建一个继承于com.kingdee.eas.base.commonquery.client.CustomerQueryPanel的通用过滤界面;

/**
 * output package name
 */
package com.kingdee.eas.report.trans.client;

import java.awt.event.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

import org.apache.log4j.Logger;
import com.kingdee.bos.ui.face.CoreUIObject;
import com.kingdee.bos.dao.IObjectValue;
import com.kingdee.eas.base.commonquery.client.CustomerParams;
import com.kingdee.eas.basedata.org.AdminOrgUnitInfo;
import com.kingdee.eas.crmsp.cmsp.SignKvalitoEnum;
import com.kingdee.eas.crmsp.trans.BussinessAreaInfo;
import com.kingdee.eas.crmsp.trans.TruckBillInfo;
import com.kingdee.eas.crmsp.trans.TructTypeEnum;
import com.kingdee.eas.framework.*;
import com.kingdee.util.enums.EnumUtils;

/**
 * output class name
 */
public class TransportationDetailFilterUI extends AbstractTransportationDetailFilterUI
{
    private static final Logger logger = CoreUIObject.getLogger(TransportationDetailFilterUI.class);
    
    /**
     * output class constructor
     */
    public TransportationDetailFilterUI() throws Exception
    {
        super();
    }
    
    @Override
    public void onLoad() throws Exception
    {
    	super.onLoad();
    	initUI();
    	
    }

    private void initUI()
	{
    	cbxSignKvalito.addItems(EnumUtils.getEnumList("com.kingdee.eas.crmsp.cmsp.SignKvalitoEnum").toArray());//合同签署单位(资质)
    	cbxSignKvalito.setSelectedIndex(-1);
    	
    	//cbxWasteType.addItems(EnumUtils.getEnumList("com.kingdee.eas.crmsp.cmsp.SignKvalitoEnum").toArray());//废物种类
    	//cbxWasteType.setSelectedIndex(-1);
    	
    	cbxTruckModel.addItems(EnumUtils.getEnumList("com.kingdee.eas.crmsp.trans.TructTypeEnum").toArray());//车型
    	cbxTruckModel.setSelectedIndex(-1);
    	
    	Calendar calendar = new GregorianCalendar();
    	Date date = calendar.getTime();
    	endDate.setValue(date);
    	calendar.add(Calendar.MONTH, -3);
    	date = calendar.getTime();
    	startDate.setValue(date);
	}

	/**
     * output storeFields method
     */
    public void storeFields()
    {
        super.storeFields();
    }

    /**
     * 把在过滤框填入的条件值填入到params并返回
     */
	@Override
	public CustomerParams getCustomerParams()
	{
		CustomerParams params = new CustomerParams();
		
		/*派车单号*/
		Object truckBillNumber = txtTruckBillNumber.getText();
		if(truckBillNumber!=null && !"".equals(truckBillNumber.toString().trim()))
		{
			params.addCustomerParam("truckBillNumber",truckBillNumber.toString());
		}
		
		/*厂名*/
		Object factoryName = txtFactoryName.getText();
		if(factoryName!=null && !"".equals(factoryName.toString().trim()))
		{
			params.addCustomerParam("factoryName",factoryName.toString());
		}
		
		/*合同签署单位*/
		Object signKvalito = cbxSignKvalito.getSelectedItem();
		if(signKvalito!=null && signKvalito instanceof SignKvalitoEnum)
		{
			params.addCustomerParam("signKvalito",Integer.toString(((SignKvalitoEnum)signKvalito).getValue()));
		}
		
		/*业务部门*/
		Object businessDept = prmpBusinessDept.getValue();
		if(businessDept!=null && businessDept instanceof AdminOrgUnitInfo)
		{
			params.addCustomerParam("businessDept",((AdminOrgUnitInfo)businessDept).getId().toString());
		}
		
		/*危废名称*/
		Object wasteName = txtWasteName.getText();
		if(wasteName!=null && !"".equals(wasteName.toString().trim()))
		{
			params.addCustomerParam("wasteName",wasteName.toString());
		}
		
		/*业务区域*/
		Object obj = prmtBussinessArea.getValue();
		if(obj!=null && obj instanceof BussinessAreaInfo)
		{
			params.addCustomerParam("bussinessAreaId",((BussinessAreaInfo)obj).getId().toString());
		}
		
		/*废物种类*/
/*		Object wasteType = cbxWasteType.getSelectedItem();
		if(wasteType!=null && wasteType instanceof BussinessAreaInfo)
		{
			params.addCustomerParam("wasteType",((BussinessAreaInfo)obj1).getId().toString());
		}*/
		
		/*开始时间*/
		Object sDate = startDate.getValue();
		if(sDate!=null && sDate instanceof Date)
		{
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			String dateString = sdf.format(sDate);
			params.addCustomerParam("startDate",dateString);
		}
		
		/*结束时间*/
		Object eDate = endDate.getValue();
		if(eDate!=null && eDate instanceof Date)
		{
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			String dateString = sdf.format(eDate);
			params.addCustomerParam("endDate",dateString);
		}
		
		/*车号*/
		Object plateNumber = txtPlateNumber.getText();
		if(plateNumber!=null && !"".equals(plateNumber.toString().trim()))
		{
			params.addCustomerParam("plateNumber",plateNumber.toString());
		}
		
		/*车型*/
		Object truckModel = cbxTruckModel.getSelectedItem();
		if(truckModel!=null && truckModel instanceof TructTypeEnum)
		{
			params.addCustomerParam("truckModel",Integer.toString(((TructTypeEnum)truckModel).getValue()));
		}
		
		/*司机*/
		Object driver = txtDriver.getText();
		if(driver!=null && !"".equals(driver.toString().trim()))
		{
			params.addCustomerParam("driver",driver.toString());
		}
		
		/*收运员*/
		Object collectorMember = txtCollectorMember.getText();
		if(collectorMember!=null && !"".equals(collectorMember.toString().trim()))
		{
			params.addCustomerParam("collectorMember",collectorMember.toString());
		}
		
		return params;
	}

	/**
	 * 
	 */
	@Override
	public void setCustomerParams(CustomerParams cp)
	{
		super.setCustomerParams(cp);
	}
	
	/**
	 * 从params里取得派车单号
	 */
	public String getTruckBillNumber(CustomerParams param)
	{
		return param.getCustomerParam("truckBillNumber");
	}
	
	/**
	 * 从params里取得厂名
	 */
	public String getFactoryName(CustomerParams param)
	{
		return param.getCustomerParam("factoryName");
	}
	
	/**
	 * 从params里取得合同签署单位
	 */
	public String getSignKvalito(CustomerParams param)
	{
		return param.getCustomerParam("signKvalito");
	}
	
	/**
	 * 从params里取得业务部门id
	 */
	public String getBusinessDeptId(CustomerParams param)
	{
		return param.getCustomerParam("businessDept");
	}
	
	/**
	 * 从params里取得危废名称
	 */
	public String getWasteName(CustomerParams param)
	{
		return param.getCustomerParam("wasteName");
	}
	
	/**
	 * 从params里取得业务区域id
	 */
	public String getBussinessAreaId(CustomerParams param)
	{
		return param.getCustomerParam("bussinessAreaId");
	}
	
	/**
	 * 从params里取得废物种类
	 */
	public String getWasteType(CustomerParams param)
	{
		return param.getCustomerParam("wasteType");
	}
	
	/**
	 * 从params里取得开始时间
	 */
	public String getStartDate(CustomerParams param)
	{
		return param.getCustomerParam("startDate");
	}
	
	/**
	 * 从params里取得结束时间
	 */
	public String getEndDate(CustomerParams param)
	{
		return param.getCustomerParam("endDate");
	}
	
	/**
	 * 从params里取得车号
	 */
	public String getPlateNumber(CustomerParams param)
	{
		return param.getCustomerParam("plateNumber");
	}
	
	/**
	 * 从params里取得车型
	 */
	public String getTruckModel(CustomerParams param)
	{
		return param.getCustomerParam("truckModel");
	}
	
	/**
	 * 从params里取得司机
	 */
	public String getDriver(CustomerParams param)
	{
		return param.getCustomerParam("driver");
	}
	
	/**
	 * 从params里取得收运员
	 */
	public String getCollectorMember(CustomerParams param)
	{
		return param.getCustomerParam("collectorMember");
	}
}


(2)新建一个继承于com.kingdee.eas.framework.client.ListUI的列表界面

/**
 * output package name
 */
package com.kingdee.eas.report.trans.client;

import java.awt.event.*;
import java.util.HashMap;
import java.util.Map;

import org.apache.log4j.Logger;

import com.kingdee.bos.BOSException;
import com.kingdee.bos.metadata.IMetaDataPK;
import com.kingdee.bos.metadata.entity.EntityViewInfo;
import com.kingdee.bos.metadata.entity.FilterInfo;
import com.kingdee.bos.ui.face.CoreUIObject;
import com.kingdee.bos.ctrl.kdf.table.IRow;
import com.kingdee.bos.ctrl.kdf.table.KDTMergeManager;
import com.kingdee.bos.ctrl.kdf.table.KDTSelectManager;
import com.kingdee.bos.ctrl.kdf.table.KDTable;
import com.kingdee.bos.dao.IObjectValue;
import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
import com.kingdee.bos.dao.query.IQueryExecutor;
import com.kingdee.eas.base.commonquery.client.CommonQueryDialog;
import com.kingdee.eas.base.commonquery.client.CustomerParams;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.eas.common.client.UIFactoryName;
import com.kingdee.eas.crmsp.ccsp.QualificationEnum;
import com.kingdee.eas.crmsp.trans.TruckBillFactory;
import com.kingdee.eas.crmsp.trans.TruckBillInfo;
import com.kingdee.eas.framework.*;
import com.kingdee.eas.framework.util.UIConfigUtility;
import com.kingdee.eas.report.trans.TransportationFacadeFactory;

/**
 * output class name
 */
public class TransportationDetailUI extends AbstractTransportationDetailUI
{
    private static final Logger logger = CoreUIObject.getLogger(TransportationDetailUI.class);
    
    private CommonQueryDialog commonQueryDialog;
    private TransportationDetailFilterUI filterUI;
    
    /**
     * output class constructor
     */
    public TransportationDetailUI() throws Exception
    {
        super();
    }

    @Override
    public void onLoad() throws Exception
    {
    	super.onLoad();
    	initUI();//初始化界面和控件
    }
    
    /**
     * 初始化界面和控件
     */
	private void initUI()
	{
		this.toolBar.remove(this.btnAddNew);
		this.toolBar.remove(this.btnView);
		this.toolBar.remove(this.btnRemove);
		this.toolBar.remove(this.btnEdit);
		this.toolBar.remove(this.btnAttachment);
		this.toolBar.remove(this.btnQueryScheme);
		this.toolBar.remove(this.btnCancel);
		this.toolBar.remove(this.btnCancelCancel);
		this.toolBar.remove(this.btnPrintPreview);
		this.toolBar.remove(this.btnPrint);
		this.toolBar.remove(this.btnPageSetup);
		this.toolBar.remove(this.btnLocate);
		
		
		
		/*表头融合*/
		KDTMergeManager mm = tblDetail.getHeadMergeManager();
		mm.setMergeMode(KDTMergeManager.FREE_MERGE);
	//	tblMain.getHeadMergeManager().mergeBlock(1, 2, 1, 8);
		
		tblDetail.getStyleAttributes().setLocked(true);
		tblDetail.getSelectManager().setSelectMode(KDTSelectManager.ROW_SELECT);
		tblDetail.getColumn("truckBillNumber").setWidth(150);
	}
    
    /**
     * output storeFields method
     */
    public void storeFields()
    {
        super.storeFields();
    }
    
    /**
     * 设置打开ListUI界面之前是否先弹出查询过滤窗
     */
    @Override
    protected boolean initDefaultFilter()
    {
    	return true;
    }
    
    /**
     * 初始化查询过滤界面
     */
    @Override
	protected CommonQueryDialog initCommonQueryDialog()
	{
		if (commonQueryDialog != null)
		{
			return commonQueryDialog;
		}
		else
		{
			commonQueryDialog = super.initCommonQueryDialog();
			commonQueryDialog.setWidth(400);
			commonQueryDialog.addUserPanel(getFilterUI());//添加用户自己定义的过滤面板
			commonQueryDialog.setShowSorter(false);
			commonQueryDialog.setShowFilter(false);
			return commonQueryDialog;
		}
	}
    
    /*
     * 创建或返回用户自己定义的过滤面板
     */
	private TransportationDetailFilterUI getFilterUI()
	{
		if (filterUI == null)
		{
			try
			{
				filterUI = new TransportationDetailFilterUI();
			}
			catch (Exception e)
			{
				e.printStackTrace();
				abort(e);
			}
		}
		return filterUI;
	}
    
	/**
	 * 根据查询过滤框的条件查询收运明细,重新加载数据到ListUI界面
	 */
	@Override
	protected void execQuery()
	{
		tblDetail.removeRows();
		try
		{
			Map paramMap = getCustomerParamMap();
			Map resultMap = TransportationFacadeFactory.getRemoteInstance().getTransportationDetail(paramMap);
			fillTable(resultMap);
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}

	}
	
	/**
	 * 加载收运明细到tblMain表格
	 * @param resultMap
	 */
	private void fillTable(Map resultMap)
	{
		for(int i=0,size=resultMap.size();i<size;i++)
		{
			IRow row = tblDetail.addRow();
			Object[] objs = (Object[])resultMap.get(i);
			row.getCell("truckBillNumber").setValue(objs[0]);
			row.getCell("transportationTime").setValue(objs[1]);
			row.getCell("factoryName").setValue(objs[2]);
			row.getCell("area").setValue(objs[3]);
			row.getCell("signKvalito").setValue(objs[4]);
			row.getCell("businessDept").setValue(objs[5]);
			row.getCell("hazardousWaste").setValue(objs[6]);
			row.getCell("warehouseDetection").setValue(objs[7]);
			row.getCell("wasteType").setValue(objs[8]);
			row.getCell("receiveArea").setValue(objs[9]);
			row.getCell("joinBillNumber").setValue(objs[10]);
			row.getCell("joinBillQty").setValue(objs[11]);
			row.getCell("customerSpecDensity").setValue(objs[12]);
			row.getCell("storageQty").setValue(objs[13]);
			row.getCell("specDensity").setValue(objs[14]);
			row.getCell("plateNumber").setValue(objs[15]);
			row.getCell("truckModel").setValue(objs[16]);
			row.getCell("driver").setValue(objs[17]);
			row.getCell("collectorMember").setValue(objs[18]);
			row.getCell("TNumber").setValue(objs[19]);
			row.getCell("price").setValue(objs[20]);
			row.getCell("transportCharge").setValue(objs[21]);
			row.getCell("avgMemberNum").setValue(objs[22]);
			row.getCell("avgTranaportNum").setValue(objs[23]);
			row.getCell("overseaSubsidy").setValue(objs[24]);
			row.getCell("performance").setValue(objs[25]);
			row.getCell("totalAmount").setValue(objs[26]);
			row.getCell("driverTonnage").setValue(objs[27]);
			row.getCell("driverFactor").setValue(objs[28]);
			row.getCell("driverPerformance").setValue(objs[29]);
			row.getCell("driverOverseaSubsidy").setValue(objs[30]);
			row.getCell("driverTotalAmount").setValue(objs[31]);
			row.getCell("purserTonnage").setValue(objs[32]);
			row.getCell("purserFactor").setValue(objs[33]);
			row.getCell("purserPerformance").setValue(objs[34]);
			row.getCell("purserOverseaSubsidy").setValue(objs[35]);
			row.getCell("purserTotalAmount").setValue(objs[36]);

		}
	}
	
    /**
     * 屏蔽tblMain表格的单双击事件,单双击不作任务操作
     */
    protected void tblMain_tableClicked(com.kingdee.bos.ctrl.kdf.table.event.KDTMouseEvent e) throws Exception
    {
    }
    
    @Override
    public void actionRefresh_actionPerformed(ActionEvent e) throws Exception
    {
    	execQuery();
    }
    
    @Override
    public void onShow() throws Exception 
    {
    	super.onShow();
    	mergeBlock(tblDetail,"truckBillNumber",new String[]{"transportationTime","factoryName"});
    }
    
    private void mergeBlock(KDTable table,String refer,String[] columnNames) throws Exception
    {
    	KDTMergeManager mm = table.getMergeManager();
    	String oldNumber = "";
    	String currentNumber = "";
    	int begin = 0;
    	int end = 0;
    	for(int i=0;i<table.getRowCount();i++)
    	{
    		Object obj = table.getCell(i, refer).getValue();
    		if(obj!=null)
    		{
    			currentNumber = obj.toString();
    		}
    		if(!oldNumber.equals(currentNumber))
    		{
    			for(int j=0;j<columnNames.length;j++)
    			{
    				int columnIndex = table.getColumnIndex(columnNames[j]);
    				mm.mergeBlock(begin, columnIndex, end, columnIndex);
    			}
    			oldNumber = currentNumber;
    			begin = i;
    		}else
    		{
    			end = i;
    		}
    	}
    }
    
    /**
     * 获取查询收运明细所需要的条件
     * @return
     * @throws Exception
     */
	protected Map<String,String> getCustomerParamMap() throws Exception
	{
		Map<String,String> paramMap = new HashMap<String,String>();
		CustomerParams param = getFilterUI().getCustomerParams();
		paramMap.put("truckBillNumber", getTruckBillNumber(param));
		paramMap.put("factoryName", getFactoryName(param));
		paramMap.put("signKvalito", getSignKvalito(param));
		paramMap.put("businessDept", getBusinessDeptId(param));
		paramMap.put("wasteName", getWasteName(param));
		paramMap.put("bussinessAreaId", getBussinessAreaId(param));
		paramMap.put("wasteType", getWasteType(param));
		paramMap.put("startDate", getStartDate(param));
		paramMap.put("endDate", getEndDate(param));
		paramMap.put("plateNumber", getPlateNumber(param));
		paramMap.put("truckModel", getTruckModel(param));
		paramMap.put("driver", getDriver(param));
		paramMap.put("collectorMember", getCollectorMember(param));
		return paramMap;
	}
	
	/**
	 * 从params里取得派车单号
	 */
	public String getTruckBillNumber(CustomerParams param)
	{
		return param.getCustomerParam("truckBillNumber");
	}
	
	/**
	 * 从params里取得厂名
	 */
	public String getFactoryName(CustomerParams param)
	{
		return param.getCustomerParam("factoryName");
	}
	
	/**
	 * 从params里取得合同签署单位
	 */
	public String getSignKvalito(CustomerParams param)
	{
		return param.getCustomerParam("signKvalito");
	}
	
	/**
	 * 从params里取得业务部门id
	 */
	public String getBusinessDeptId(CustomerParams param)
	{
		return param.getCustomerParam("businessDept");
	}
	
	/**
	 * 从params里取得危废名称
	 */
	public String getWasteName(CustomerParams param)
	{
		return param.getCustomerParam("wasteName");
	}
	
	/**
	 * 从params里取得业务区域id
	 */
	public String getBussinessAreaId(CustomerParams param)
	{
		return param.getCustomerParam("bussinessAreaId");
	}
	
	/**
	 * 从params里取得废物种类
	 */
	public String getWasteType(CustomerParams param)
	{
		return param.getCustomerParam("wasteType");
	}
	
	/**
	 * 从params里取得开始时间
	 */
	public String getStartDate(CustomerParams param)
	{
		return param.getCustomerParam("startDate");
	}
	
	/**
	 * 从params里取得结束时间
	 */
	public String getEndDate(CustomerParams param)
	{
		return param.getCustomerParam("endDate");
	}
	
	/**
	 * 从params里取得车号
	 */
	public String getPlateNumber(CustomerParams param)
	{
		return param.getCustomerParam("plateNumber");
	}
	
	/**
	 * 从params里取得车型
	 */
	public String getTruckModel(CustomerParams param)
	{
		return param.getCustomerParam("truckModel");
	}
	
	/**
	 * 从params里取得司机
	 */
	public String getDriver(CustomerParams param)
	{
		return param.getCustomerParam("driver");
	}
	
	/**
	 * 从params里取得收运员
	 */
	public String getCollectorMember(CustomerParams param)
	{
		return param.getCustomerParam("collectorMember");
	}

	@Override
	protected ICoreBase getBizInterface() throws Exception
	{
		return null;
	}

	@Override
	protected String getEditUIName()
	{
		return null;
	}

	
	
}


(3)新建一个facade


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值