(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