Action 类
package nc.ui.bd.supplier.baseinfo.action;
import java.awt.event.ActionEvent;
import nc.ui.bd.supplier.baseinfo.dialog.SupplierHZJLinkDialog;
import nc.ui.bd.supplier.baseinfo.dialog.SupplierZRSQLinkDialog;
import nc.ui.bd.supplier.baseinfo.model.SupplierBaseInfoModel;
import nc.ui.pub.beans.MessageDialog;
import nc.ui.uif2.NCAction;
import nc.vo.bd.supplier.SupplierVO;
import nc.vo.pub.BusinessException;
import nc.bs.framework.common.NCLocator;
import nc.desktop.ui.WorkbenchEnvironment;
import nc.itf.uap.IUAPQueryBS;
import nc.jdbc.framework.processor.MapListProcessor;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Vector;
public class SupplierHZJLLinkAction extends NCAction {
private SupplierBaseInfoModel model;
@Override
public void doAction(ActionEvent arg0) throws Exception {
// TODO 自动生成的方法存根
SupplierVO selectedVO = (SupplierVO) getModel().getSelectedData();
if (selectedVO == null) {
MessageDialog.showHintDlg(WorkbenchEnvironment.getInstance()
.getWorkbench().getParent(), "提示", "您没有选择要结账的数据行!");
return;
}
IUAPQueryBS iUapQueryBS = NCLocator.getInstance().lookup(
IUAPQueryBS.class);
// 联查开标申请单的客商报价
StringBuffer sql_Invitation = new StringBuffer();
sql_Invitation.append(" select distinct org.name as orgname, ");
sql_Invitation.append(" pro.project_name as proname, ");
sql_Invitation.append(" ech.project_name as titlename, ");
sql_Invitation.append(" ec.audittime as taudittime, ");
sql_Invitation.append(" ec.def12 as tauditmoney, ");
sql_Invitation.append(" ec.def8 as num ");
sql_Invitation.append(" From ec_decision_h ec ");
sql_Invitation.append(" inner join ec_pur_project_h ech ");
sql_Invitation.append(" on ec.pk_pur_project = ech.pk_pur_project ");
sql_Invitation.append(" inner join org_orgs org ");
sql_Invitation.append(" on ec.pk_org = org.pk_org ");
sql_Invitation.append(" inner join bd_project pro ");
sql_Invitation.append(" on ec.def1=pro.pk_project ");
sql_Invitation.append(" inner join ec_release_supp_b ecb ");
sql_Invitation.append(" on ec.pk_pur_project = ecb.pk_pur_project ");
sql_Invitation.append(" where ecb.pk_supply = '"+selectedVO.getPk_supplier()+"' ");
sql_Invitation.append(" and ecb.is_suggest = 'Y' ");
sql_Invitation.append(" and nvl(ecb.dr, 0) = 0 ");
sql_Invitation.append(" and ec.billstatus = '1' ");
sql_Invitation.append(" and nvl(ec.dr, 0) = 0 ");
sql_Invitation.append(" and nvl(ech.dr, 0) = 0 ");
sql_Invitation.append(" and ech.billstatus='1' ");
sql_Invitation.append(" and pro.dr='0' ");
sql_Invitation.append(" and pro.enablestate='2' ");
// List<Map> mapSupplierextpf = (List<Map>) iUapQueryBS.executeQuery(
// sql_supplierextpf.toString(), new MapListProcessor());
List<Map> mapSupplierenterpf = (List<Map>) iUapQueryBS.executeQuery(
sql_Invitation.toString(), new MapListProcessor());
if ( mapSupplierenterpf != null && mapSupplierenterpf.size() > 0) {
init(mapSupplierenterpf);
} else {
MessageDialog.showHintDlg(WorkbenchEnvironment.getInstance()
.getWorkbench().getParent(), "提示", "没有供应商合作记录!");
}
}
// 数据组装方法
private void init(List<Map> l1) {
String[] columnNames = new String[6];
columnNames[0] = "招标单位";
columnNames[1] = "项目名称";
columnNames[2] = "招标申请名称";
columnNames[3] = "中标时间";
columnNames[4] = "中标金额";
columnNames[5] = "立项号";
if(l1 != null && l1.size() > 0)
{
//int size = l1.size() + l2.size();
Object[][] cellData = new Object[l1.size()][6];
//循环查找最新的客商报价
for (int j = 0; j < l1.size(); j++) {
cellData[j][0] = (String)l1.get(j).get("orgname");
cellData[j][1] = (String)l1.get(j).get("proname");
cellData[j][2] = (String)l1.get(j).get("titlename");
cellData[j][3] = (String)l1.get(j).get("taudittime");
cellData[j][4] = (String)l1.get(j).get("tauditmoney");
cellData[j][5] = (String)l1.get(j).get("num");
}
SupplierHZJLinkDialog dialog = new SupplierHZJLinkDialog(
columnNames, cellData);
dialog.showModal();
}
}
public SupplierHZJLLinkAction() {
this.setCode("hzjllink");
this.setBtnName("合作记录");
}
public SupplierBaseInfoModel getModel() {
return model;
}
public void setModel(SupplierBaseInfoModel model) {
this.model = model;
this.model.addAppEventListener(this);
}
}
Dailog类:
package nc.ui.bd.supplier.baseinfo.dialog;
import nc.ui.pub.beans.UIDialog;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import javax.swing.BorderFactory;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ScrollPaneConstants;
import javax.swing.border.Border;
import javax.swing.table.DefaultTableModel;
public class SupplierHZJLinkDialog extends UIDialog{
public SupplierHZJLinkDialog(String[] columnNames, Object[][] cellData)
{
init(columnNames,cellData);
}
public void init(String[] columnNames, Object[][] cellData)
{
this.setTitle("合作记录");
this.setSize(1100,500);
this.setLayout(new BorderLayout());
Font font = new Font("微软雅黑",Font.PLAIN,12);
Border border1 = BorderFactory.createLineBorder(new Color(127,157,185), 1);
DefaultTableModel model = new DefaultTableModel(cellData, columnNames) {
public boolean isCellEditable(int row, int column) {
return true;
}
};
final JTable table = new JTable(model);
table.getColumnModel().getColumn(0).setPreferredWidth(25);
table.getColumnModel().getColumn(1).setPreferredWidth(150);
table.getColumnModel().getColumn(2).setPreferredWidth(150);
table.getColumnModel().getColumn(3).setPreferredWidth(150);
table.getColumnModel().getColumn(4).setPreferredWidth(150);
table.getColumnModel().getColumn(5).setPreferredWidth(150);
JScrollPane pan1 = new JScrollPane(table);
pan1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
this.add(pan1, BorderLayout.CENTER);
}
}