执行销售排行功能的事件监听器
OkAction类是销售排行功能的内部类,实现了ActionListener接口成为事件监听器,该类主要负责获取商品销售信息,并对这些信息进行排序,实现商品信息按销售金额和销售数量查询不同的销售排行表。代码如下:
src\internalFrame\XiaoShouPaiHang.java关键代码:
private final class OkAction implements ActionListener {
public void actionPerformed(final ActionEvent e) {
List list = null;
String strMonth = (String) month.getSelectedItem();
String date = year.getSelectedItem() + strMonth;
String con = condition.getSelectedIndex() == 0 ? "sumje " : "sl ";
int oper = operation.getSelectedIndex();
String sql1 = "select spid,sum(sl)as sl,sum(sl*dj) as sumje from"
+ " v_sellView where substring(convert(varchar(30)"
+ ",xsdate,112),0,7)='" + date + "' group by spid";
String opstr = oper == 0 ? " asc" : " desc";
String queryStr = "select * from tb_spinfo s inner join (" + sql1
+ ") as sp on s.id=sp.spid order by " + con + opstr;
list = Dao.findForList(queryStr);
Iterator iterator = list.iterator();
updateTable(iterator);
}
}
src\internalFrame\XiaoShouPaiHang.java完整代码:
package internalFrame;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import model.TbUserlist;
import com.lzw.dao.Dao;
public class XiaoShouPaiHang extends JInternalFrame {
private JButton okButton;
private JComboBox month;
private JComboBox year;
private JTable table;
private JComboBox operation;
private JComboBox condition;
private TbUserlist user;
private DefaultTableModel dftm;
private Calendar date = Calendar.getInstance();
public XiaoShouPaiHang() {
setIconifiable(true);
setClosable(true);
setTitle("销售排行");
getContentPane().setLayout(new GridBagLayout());
setBounds(100, 100, 650, 375);
final JLabel label_1 = new JLabel();
label_1.setText("对");
final GridBagConstraints gridBagConstraints_8 = new GridBagConstraints();
gridBagConstraints_8.anchor = GridBagConstraints.EAST;
gridBagConstraints_8.gridy = 0;
gridBagConstraints_8.gridx = 0;
getContentPane().add(label_1, gridBagConstraints_8);
year = new JComboBox();
for (int i = 1981, j = 0; i <= date.get(Calendar.YEAR) + 1; i++, j++) {
year.addItem(i);
if (i == date.get(Calendar.YEAR))
year.setSelectedIndex(j);
}
year.setPreferredSize(new Dimension(100, 21));
setupComponet(year, 1, 0, 1, 90, true);
setupComponet(new JLabel("到"), 2, 0, 1, 1, false);
month = new JComboBox();
for (int i = 1; i <= 12; i++) {
month.addItem(String.format("%02d", i));
if (date.get(Calendar.MONTH) == i)
month.setSelectedIndex(i - 1);
}
month.setPreferredSize(new Dimension(100, 21));
setupComponet(month, 3, 0, 1, 30, true);
setupComponet(new JLabel(" 月份的销售信息,按"), 4, 0, 1, 1, false);
condition = new JComboBox();
condition.setModel(new DefaultComboBoxModel(new String[]{"金额", "数量"}));

RSS订阅





