⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 additionalconsumedframe.java

📁 一个KTV管理系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package view.mainframe.guestconsumed.guestcheckoutframe;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Iterator;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.UIManager;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.tree.DefaultMutableTreeNode;
import vo.Goods;
import vo.GoodsConsumedInfo;
import common.centerwindow.CenterWindow;
import common.checkinputvalue.Check;
import common.currenttime.JLabelTime1;
import control.consumedcontrol.GoodsConsumedControl;
import control.goodssetting.GoodsSettingControl;
import dao.consumeddao.GuestConsumedDao;
import dao.consumeddao.GoodsConsumedDao;

//增加消费类
public class AdditionalConsumedframe extends JFrame {

	private static AdditionalConsumedframe instance;// 通过单子设计模式来定义一个类对象

	private JScrollPane jScrollPaneright = null;// 右边滚动面板,用来放置商品消费表

	private JTextField jTextFieldgetConsumedNumber = null;// 文本输入消费数量
	private JFrame jFrame = null;// 定义该主面板对象

	private JPanel jContentPane = null;// 定义面板对象

	private JTable jTableGoodsInfoRigter = null;// 商品消费表

	private JTree tree = null;// 树,用来保存商品消费品种

	private JTextField jTextFieldgetGoodsName = null;// 商品名

	private JLabel jLaberoom = null;// 房间号

	private JLabel jLabeconsumedNumber = null;// 标签消费数量

	private JTable guestConsumedInfoleft = null;// 用来放置商品表

	private static JTextField jTextFieldgetConsumedId = null;// 定义流水线号对象,用来保存获得的流水线号

	private JLabel jLabel = null;

	private JLabel jLabel1 = null;

	private JTabbedPane jTabbedPane = null;// 用来加载两个切换面板

	private JScrollPane jScrollPaneleft = null;// 左边滚动面板,用来放置商品表

	private JButton jButton = null;

	private JButton jButton1 = null;

	private JPanel jPanel = null;

	private JPanel jPanel1 = null;

	private JLabel jLabel2 = null;

	private JButton jButton2 = null;

	private JTextField jTextFieldgetRoomNumber = null;// 保存房间号

	private static JFrame jFrameAdditionalConsumed = null;//主窗体对象

	private JLabel jLabelgetGoodsAlert = null;//商品警报量

	private JTextField jTextFieldgetGoodsSellPrice = null;//商品销售价

	private JLabel jLabelgetGoodsStock = null;//商品库存标签

	private JTextField jTextFieldgetConsumedMoney = null;//商品消费金额

	private JTextField jTextFieldgetHadConsumedMoney = null;//商品消费单价
//构造方法
	public static AdditionalConsumedframe getOriginalRoom(String roomNumber,
			long consumedId) {
		if (instance == null) {
			instance = new AdditionalConsumedframe();
		}

		instance.getJTextFieldgetConsumedId();
		instance.jFrame.setVisible(true);
		instance.jTextFieldgetRoomNumber.setText(roomNumber);
		instance.jTextFieldgetConsumedId.setText(String.valueOf(consumedId));
		instance.flushtable1();
		instance.flushtable2();
		return instance;
	}

	// 构造方法
	public AdditionalConsumedframe() {
		try {
			UIManager
					.setLookAndFeel("com.nilo.plaf.nimrod.NimRODLookAndFeel");

		} catch (Exception e1) {
	       }
		jFrameAdditionalConsumed = getJFrame();
	}
//初始化商品销售价
	private JTextField getJTextFieldgetGoodsSellPrice() {
		if (jTextFieldgetGoodsSellPrice == null) {
			jTextFieldgetGoodsSellPrice = new JTextField();
			jTextFieldgetGoodsSellPrice.setVisible(false);
			jTextFieldgetGoodsSellPrice.setBounds(new java.awt.Rectangle(342,
					47, 13, 14));
		}
		return jTextFieldgetGoodsSellPrice;
	}

//初始化消费金遏
	private JTextField getJTextFieldgetConsumedMoney() {
		if (jTextFieldgetConsumedMoney == null) {
			jTextFieldgetConsumedMoney = new JTextField();
			jTextFieldgetConsumedMoney.setVisible(false);
			jTextFieldgetConsumedMoney.setBounds(new java.awt.Rectangle(362,
					144, 16, 28));
		}
		return jTextFieldgetConsumedMoney;
	}

//初始化该种商品的消费金额
	private JTextField getJTextFieldgetHadConsumedMoney() {
		if (jTextFieldgetHadConsumedMoney == null) {
			jTextFieldgetHadConsumedMoney = new JTextField();
			jTextFieldgetHadConsumedMoney.setVisible(false);
			jTextFieldgetHadConsumedMoney.setBounds(new java.awt.Rectangle(361,
					185, 15, 26));
		}
		return jTextFieldgetHadConsumedMoney;
	}
// 主入口方法,用来调试
	public static void main(String[] args) {
		AdditionalConsumedframe tt = new AdditionalConsumedframe();
		try {
			UIManager.setLookAndFeel("com.nilo.plaf.nimrod.NimRODLookAndFeel");
			// 渲染主界面
		} catch (Exception e1) {
			e1.printStackTrace();
		}
		tt.getJFrame();
	}
//初始化主窗体
	private JFrame getJFrame() {
		if (jFrame == null) {
			jFrame = new JFrame();
			jFrame.setSize(new java.awt.Dimension(809, 491));
			jFrame.setTitle("增加消费");
			jFrame.setContentPane(getJContentPane());
			jFrame
					.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
			jFrame.setResizable(true);
			new CenterWindow().centerWindow(jFrame);
			jFrame.addWindowListener(new java.awt.event.WindowAdapter() {

				public void windowOpened(java.awt.event.WindowEvent e) {//添加窗体事件,为两个表数据进行及时刷新
					flushtable1();
					flushtable2();
				}

				public void windowClosing(java.awt.event.WindowEvent e) {
					jFrame.setVisible(false);
					jFrame.dispose();
				}
			});
			jFrame.setVisible(true);
		}
		return jFrame;
	}

	private JTextField getJTextFieldgetConsumedId() {
		if (jTextFieldgetConsumedId == null) {
			jTextFieldgetConsumedId = new JTextField();
			jTextFieldgetConsumedId.setBounds(new java.awt.Rectangle(290, 176,
					10, 22));
			jTextFieldgetConsumedId.setVisible(false);
		}
		return jTextFieldgetConsumedId;
	}


	// 初始化各种标签
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jLabel1 = new JLabel();
			jLabel1.setBounds(new java.awt.Rectangle(514, 4, 120, 39));
			jLabel1
					.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 14));
			jLabel1
					.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
			jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
			jLabel1.setText("消费清单");
			jLabel = new JLabel();
			jLabel.setBounds(new java.awt.Rectangle(112, 6, 127, 35));
			jLabel.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 14));
			jLabel.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
			jLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
			jLabel.setText("商品清单");
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.setFont(new java.awt.Font("Dialog",
					java.awt.Font.PLAIN, 14));
			jContentPane.add(jLabel, null);
			jContentPane.add(jLabel1, null);
			jContentPane.add(getJTabbedPane(), null);
			jContentPane.add(getJScrollPane(), null);
			jContentPane.add(getJButton(), null);
			jContentPane.add(getJButton1(), null);
		}
		return jContentPane;
	}

//初始化jTabbedpane
	private JTabbedPane getJTabbedPane() {
		if (jTabbedPane == null) {
			jTabbedPane = new JTabbedPane();
			jTabbedPane.setBounds(new java.awt.Rectangle(0, 48, 387, 409));
			jTabbedPane.addTab("消费项目(列表)", null, getJPanel(), null);
			jTabbedPane.addTab("消费项目(清单)", null, getJPanel1(), null);
		}
		return jTabbedPane;
	}

//初始化滚动面板
	private JScrollPane getJScrollPane() {
		if (jScrollPaneright == null) {
			jScrollPaneright = new JScrollPane();
			jScrollPaneright
					.setBounds(new java.awt.Rectangle(390, 56, 410, 352));
			jScrollPaneright.setViewportView(getJTableRigter());
		}
		return jScrollPaneright;
	}


	// 该消费撤消按纽用来撤消已经更新的记录
	private JButton getJButton() {
		if (jButton == null) {
			jButton = new JButton();
			jButton.setBounds(new java.awt.Rectangle(424, 418, 114, 34));
			jButton.setText("消费撤消");
			jButton.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent e) {

					try {
						DefaultTableModel model = (DefaultTableModel) getJTableRigter()
								.getModel();
						int row = getJTableRigter().getSelectedRow();//首先,获得选定的一行
						GoodsConsumedControl control = new GoodsConsumedControl();
						GuestConsumedDao dao = new GuestConsumedDao();
						String date = getJTableRigter().getValueAt(row, 4)
								.toString();//获得消费时间
						int number = Integer.parseInt(getJTableRigter()
								.getValueAt(row, 2).toString());
						String name = getJTableRigter().getValueAt(row, 1)
								.toString();
						String consumeId = jTextFieldgetConsumedId.getText();
						double consumedMoney = Double
								.parseDouble(getJTextFieldgetHadConsumedMoney()
										.getText().trim());
						if (!getJTextFieldgetHadConsumedMoney().getText()//消费金额不能为空
								.equals("")) {
							if (control.deleteGoodsInfo(date)
									& control.updateConsumedInfo(name, number)
									& dao.deleteGuestGoodsConsumedInfo(//这里的三个判断是对数据进行从新分配,如果撤消则库存量得增加该消费数量
											consumeId, consumedMoney)) {
								JOptionPane.showMessageDialog(null, "商品撤消成功",
										"删除提示", JOptionPane.WARNING_MESSAGE);
								model.removeRow(row);//删除该行
								getJTextFieldgetHadConsumedMoney().setText("");
								flushtable1();//商品表刷新
							    flushtable2();//消费表刷新

							}
						} else {
							JOptionPane.showMessageDialog(null, "请先选中您要撤销的商品",
									"删除提示", JOptionPane.WARNING_MESSAGE);
						}
					} catch (Exception e1) {
						JOptionPane.showMessageDialog(null, "请先选中您要撤销的商品",
								"删除提示", JOptionPane.YES_OPTION);
					}
				}
			});
		}
		return jButton;
	}

//初始化按纽
	private JButton getJButton1() {
		if (jButton1 == null) {
			jButton1 = new JButton();
			jButton1.setBounds(new java.awt.Rectangle(626, 419, 105, 31));
			jButton1.setText("关闭窗口");
			jButton1.addActionListener(new ActionListener() {

				public void actionPerformed(ActionEvent e) {
					jFrame.setVisible(false);
					jFrame.dispose();
				}
			});
		}
		return jButton1;
	}


	// 商品消费表
	private JTable getJTableRigter() {
		if (jTableGoodsInfoRigter == null) {
			DefaultTableModel model = null;
			Object[][] p = null;
			String[] n = { "消费流水号", "商品名称", "消费数量", "消费金额", "消费时间" };
			Object[][] date = {};
			model = new DefaultTableModel(date, n);
			jTableGoodsInfoRigter = new JTable(model);
			jTableGoodsInfoRigter.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
			jTableGoodsInfoRigter.setBounds(new java.awt.Rectangle(0, 0, 400,
					80));
			jTableGoodsInfoRigter.addMouseListener(new MouseAdapter() {

				public void mouseClicked(MouseEvent e) {
					String[] value = getConsumedJTableValue();

					getJTextFieldgetHadConsumedMoney().setText(value[3].trim());
				}
			});
		}
		return jTableGoodsInfoRigter;
	}

	// 用来获取商品消费表的值,保存在数组里面
	private String[] getConsumedJTableValue() {
		int columns = getJTableRigter().getColumnCount();
		String[] value = new String[columns];
		int row = getJTableRigter().getSelectedRow();
		JTable table = getJTableRigter();
		for (int i = 0; i < columns; i++) {
			value[i] = getValue(table, row, i);
		}
		return value;
	}

//初始化面板
	private JPanel getJPanel() {
		if (jPanel == null) {
			jLabelgetGoodsStock = new JLabel();
			jLabelgetGoodsStock.setVisible(false);
			jLabelgetGoodsStock.setBounds(new java.awt.Rectangle(361, 98, 12,
					24));
			jLabelgetGoodsStock.setText("JLabel");
			jLabelgetGoodsAlert = new JLabel();
			jLabelgetGoodsAlert.setBounds(new java.awt.Rectangle(339, 17, 16,
					20));
			jLabelgetGoodsAlert.setText("JLabel");
			jLabelgetGoodsAlert.setVisible(false);
			jLabeconsumedNumber = new JLabel();
			jLabeconsumedNumber
					.setBounds(new java.awt.Rectangle(12, 43, 68, 26));
			jLabeconsumedNumber
					.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
			jLabeconsumedNumber.setText("消费数量:");
			jLaberoom = new JLabel();
			jLaberoom.setBounds(new java.awt.Rectangle(204, 11, 51, 27));
			jLaberoom.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD,
					12));
			jLaberoom.setText("包间:");
			jLabel2 = new JLabel();
			jLabel2.setBounds(new java.awt.Rectangle(11, 11, 69, 28));
			jLabel2
					.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
			jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
			jLabel2.setText("商品名称:");
			jPanel = new JPanel();
			jPanel.setLayout(null);
			jPanel.setName("");
			jPanel.add(jLabel2, null);
			jPanel.add(getgoodsName(), null);
			jPanel.add(jLaberoom, null);
			jPanel.add(jLabeconsumedNumber, null);
			jPanel.add(getJTextFieldgetConsumedNumber(), null);
			jPanel.add(getJButton2(), null);
			jPanel.add(getJScrollPane1(), null);
			jPanel.add(getJTextFieldgetRoomNumber(), null);
			jPanel.add(jLabelgetGoodsAlert, null);
			jPanel.add(getJTextFieldgetGoodsSellPrice(), null);
			jPanel.add(jLabelgetGoodsStock, null);
			jPanel.add(getJTextFieldgetConsumedMoney(), null);
			jPanel.add(getJTextFieldgetHadConsumedMoney(), null);
		}
		return jPanel;
	}

	private JTextField getJTextFieldgetRoomNumber() {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -