查询面板上加入"常用页签"面板

1.。定义一个常用条件模板,命名为NormalPane , 继承接口INormalQuery

 

package nc.ui.ldzl.rent;

import java.awt.Color;

import javax.swing.ButtonGroup;

import nc.ui.pub.beans.UIRadioButton;
import nc.ui.pub.beans.UITextArea;

public class NormalPanel extends nc.ui.pub.beans.UIPanel implements nc.ui.trade.query.INormalQuery{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	//常用条件
	private UIRadioButton m_rdoFree = null;
	private UIRadioButton m_rdoSubmit = null;
	private UIRadioButton m_rdoCheckGoing = null;
	private UIRadioButton m_rdoAudited = null;
	private UIRadioButton m_rdoNotPass = null;
	private UIRadioButton m_rdoAll = null;
	private String tableName = null;
	private String m_isNormal = "Y"; //是否有“常用条件”页签

	public NormalPanel(){
		super();
		init();
	}
	
	public NormalPanel(String m_isNormal){
		super();
		init();
		this.m_isNormal = m_isNormal;
	}
	
	public NormalPanel(java.awt.LayoutManager p0){
		super(p0);
		init();
	}
	
	public NormalPanel(java.awt.LayoutManager p0, boolean p1){
		super(p0,p1);
		init();
	}
	
	public NormalPanel(boolean p1){
		super(p1);
		init();
	}
	
	private void init() {
		this.setSize(500, 500);
		/*加入常用条件*/
		m_rdoFree = new UIRadioButton();
		m_rdoFree.setText("自由");
		m_rdoFree.setBackground(this.getBackground());
		m_rdoFree.setForeground(Color.black);
		m_rdoFree.setSize(80, m_rdoFree.getHeight());
		m_rdoFree.setSelected(true);
		
		m_rdoSubmit = new UIRadioButton();
		m_rdoSubmit.setText("提交");
		m_rdoSubmit.setBackground(this.getBackground());
		m_rdoSubmit.setForeground(Color.black);
		m_rdoSubmit.setSize(m_rdoFree.getSize());
		
		m_rdoCheckGoing = new UIRadioButton();
		m_rdoCheckGoing.setText("审批进行中");
		m_rdoCheckGoing.setBackground(this.getBackground());
		m_rdoCheckGoing.setForeground(Color.black);
		m_rdoCheckGoing.setSize(160, m_rdoFree.getHeight());
		
		m_rdoAudited = new UIRadioButton();
		m_rdoAudited.setText("审批通过");
		m_rdoAudited.setBackground(m_rdoFree.getBackground());
		m_rdoAudited.setForeground(m_rdoFree.getForeground());
		m_rdoAudited.setSize(m_rdoFree.getSize());

		m_rdoNotPass = new UIRadioButton();
		m_rdoNotPass.setText("审批未通过");
		m_rdoNotPass.setBackground(m_rdoFree.getBackground());
		m_rdoNotPass.setForeground(m_rdoFree.getForeground());
		m_rdoNotPass.setSize(160, m_rdoFree.getHeight());

		m_rdoAll = new UIRadioButton();
		m_rdoAll.setText("全部");
		m_rdoAll.setBackground(m_rdoFree.getBackground());
		m_rdoAll.setForeground(m_rdoFree.getForeground());
		m_rdoAll.setSize(m_rdoFree.getSize());

		m_rdoFree.setLocation(50, 30);
		m_rdoSubmit.setLocation(m_rdoFree.getX(), m_rdoFree.getY()+m_rdoFree.getHeight()+20);
		m_rdoCheckGoing.setLocation(m_rdoFree.getX(), m_rdoSubmit.getY()+m_rdoSubmit.getHeight()+20);
		m_rdoAudited.setLocation(m_rdoFree.getX(), m_rdoCheckGoing.getY()+m_rdoCheckGoing.getHeight()+20);
		m_rdoNotPass.setLocation(m_rdoFree.getX(), m_rdoAudited.getY()+m_rdoAudited.getHeight()+20);
		m_rdoAll.setLocation(m_rdoFree.getX(), m_rdoNotPass.getY()+m_rdoNotPass.getHeight()+20);
		
		ButtonGroup bg = new ButtonGroup();
		bg.add(m_rdoFree);
		bg.add(m_rdoSubmit);
		bg.add(m_rdoCheckGoing);
		bg.add(m_rdoAudited);
		bg.add(m_rdoNotPass);
		bg.add(m_rdoAll);
		bg.setSelected(m_rdoFree.getModel(), true);
		
		this.setLayout(null);
		//将自定义控件加入到查询条件模板中
		this.add(m_rdoFree);
		this.add(m_rdoSubmit);
		this.add(m_rdoCheckGoing);
		this.add(m_rdoAudited);
		this.add(m_rdoNotPass);
		this.add(m_rdoAll);
		
		
	}
	
	/* 返回对条件的校验,如果返回为空,表示校验通过,反之返回错误原因。
	 * (non-Javadoc)
	 * @see nc.ui.trade.query.INormalQuery#checkCondition()
	 */
	public String checkCondition() {
		return null;
	}
	
	/*	返回常用条件的SQL语句
	 * (non-Javadoc)
	 * @see nc.ui.trade.query.INormalQuery#getWhereSql()
	 */
	public String getWhereSql() {
		String whereSql = "1=1";
		if(m_isNormal != null && m_isNormal.equals("N")){
			return whereSql;
		}
		if(m_rdoFree.isSelected()){//自由
			if(tableName != null && tableName.length() > 0){
				whereSql = whereSql + "and isnull("+tableName+".vbillstatus,'8')='8'";
			}else{
				whereSql = whereSql + "and isnull(vbillstatus,'8')='8'";
			}
		}
		if(m_rdoSubmit.isSelected()){//提交
			if(tableName != null && tableName.length() > 0){
				whereSql = whereSql + "and isnull("+tableName+".vbillstatus,'8')='3'";
			}else{
				whereSql = whereSql + "and isnull(vbillstatus,'8')='3'";
			}
		}
		if(m_rdoCheckGoing.isSelected()){//审批进行中
			if(tableName != null && tableName.length() > 0){
				whereSql = whereSql + "and isnull("+tableName+".vbillstatus,'8')='2'";
			}else{
				whereSql = whereSql + "and isnull(vbillstatus,'8')='2'";
			}
		}
		if(m_rdoAudited.isSelected()){//审批通过
			if(tableName != null && tableName.length() > 0){
				whereSql = whereSql + "and isnull("+tableName+".vbillstatus,'8')='1'";
			}else{
				whereSql = whereSql + "and isnull(vbillstatus,'8')='1'";
			}
		}
		if(m_rdoNotPass.isSelected()){//审批未通过
			if(tableName != null && tableName.length() > 0){
				whereSql = whereSql + "and isnull("+tableName+".vbillstatus,'8')='0'";
			}else{
				whereSql = whereSql + "and isnull(vbillstatus,'8')='0'";
			}
		}
		if(m_rdoAll.isSelected()){
			return "("+whereSql+")";
		}
		return "("+whereSql+")";
	}

	public void setTableName(String tableName) {
		this.tableName = tableName;
	}
}

 

2.。创建一个查询对话框RentQueryDlgSelf ,继承nc.ui.trade.query.HYQueryDLG

 

 

package nc.ui.ldzl.rent;

import java.awt.Container;

import nc.ui.pub.beans.UIPanel;
import nc.ui.trade.query.HYQueryDLG;

public class RentQueryDlgSelf extends HYQueryDLG{

	public RentQueryDlgSelf(Container parent, UIPanel normalPanel, String pk_corp, String moduleCode, String operator, String busiType) {
		super(parent, normalPanel, pk_corp, moduleCode, operator, busiType);
		hideUnitButton();
	}
	
	public RentQueryDlgSelf(Container parent, UIPanel normalPanel, String pk_corp, String moduleCode, String operator, String busiType,String nodeKey) {
		super(parent, normalPanel, pk_corp, moduleCode, operator, busiType, nodeKey);
		hideUnitButton();
	}
}

 

 

3.。在EventHander 类里写入如方法进行调用:

 

protected UIDialog createQueryUI() {
		NormalPanel normalPanel = new NormalPanel();
		Container parent = this.getBillUI();
		String pk_corp = this._getCorp().getPrimaryKey();
		String moduleCode = this.getBillUI()._getModuleCode();
		String operator = this._getOperator();
		String busiType = this.getBillUI().getBusinessType();
		String nodeKey = this.getBillUI().getNodeKey();
		RentQueryDlgSelf DLG = new RentQueryDlgSelf(parent, normalPanel, pk_corp, moduleCode, operator, busiType, nodeKey);
		return DLG;
	}
 

 

你可能感兴趣的:(sql,UI,swing)