Dailog开发新方法

来源:互联网 发布:51单片机课后答案 编辑:程序博客网 时间:2024/06/04 18:23

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);
    }
}


0 0
原创粉丝点击