亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? housebookanduse.java

?? JAVA實現的酒店管理系統
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package file1;

/*
 * 功能描述:酒店客房的預定與入住登記以及客房分配入口
 * Author:黃順武
 * Time:---
 * Last Modified:2007-12-15
 * Modified Content:數據庫連接類DBConnection
 * Modify Reason:數據庫連接類DBConnection 的內部結構設計得到優化
 */
import java.sql.*;
import sun.jdbc.rowset.*;
import java.util.Date;
import java.util.StringTokenizer;
import javax.swing.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class HouseBookAndUse extends JPanel implements ActionListener,
		ItemListener {
	private JLabel cGrade = new JLabel("客戶級別:", SwingConstants.CENTER);
	private JLabel name = new JLabel("客戶名字:", SwingConstants.CENTER);
	private JLabel hGrade = new JLabel("客房級別:", SwingConstants.CENTER);
	private JLabel bookNum = new JLabel("訂房數量:", SwingConstants.CENTER);
	private JLabel checkIn = new JLabel("入住日期:", SwingConstants.CENTER);
	private JLabel checkOut = new JLabel("退房日期:", SwingConstants.CENTER);
	private JLabel type = new JLabel("預付比例:", SwingConstants.CENTER);
	private JLabel state = new JLabel("記錄狀態:", SwingConstants.CENTER);
	private JButton autoResearch = new JButton("自動分房");
	private JLabel firstPay = new JLabel("預付金額:", SwingConstants.CENTER);
	private JComboBox cGradeBox = new JComboBox();
	private JTextField nameTF = new JTextField(12);
	private JComboBox hGradeBox = new JComboBox();
	private JTextField hNumTF = new JTextField(10);
	private JTextField checkInTF = new JTextField(10);
	private JTextField checkOutTF = new JTextField(10);
	private JTextField typeTF = new JTextField(10);
	private JComboBox stateBox = new JComboBox(new String[] { "是", "否" });
	private JTextField autoHNoTF = new JTextField(10);
	private JTextField firstPayTF = new JTextField(10);
	private JPanel p1 = new JPanel();
	private JTable recordTable;
	private JScrollPane recScrollPane;
	private String[] title = { "ID", "客戶名字", "客戶級別", "數量", "客房號", "入住日期",
			"退房日期", "酒水消費金額", "狀態" };
	private int titleNum = 0;
	private String tableData[][] = null;
	private JPanel p3 = new JPanel();
	private JButton add = new JButton("增加記錄");
	private JButton modify = new JButton("修改記錄");
	private JButton delete = new JButton("刪除記錄");
	private float[] hPrice;
	private String[] hUseAndBookID;// 記錄訂房記錄的ID
	private String[] cGrade_ids = null;// 所有客戶級別的id
	private String id = null;
	private GetDate dateGet;
	private AddSomeDays addDay;
	private Formatter format = new Formatter();
	private String hG = null;// 修改記錄時記錄修改前的客戶級別
	private int num;// 修改記錄時記錄修改前的訂房數量
	private String hNo = null;// 修改記錄時的客房號

	public HouseBookAndUse() {

		autoResearch.setBorder(null);
		autoResearch.setBackground(Color.LIGHT_GRAY);
		nameTF.setBorder(null);
		hNumTF.setBorder(null);
		checkInTF.setBorder(null);
		checkOutTF.setBorder(null);
		typeTF.setBorder(null);
		autoHNoTF.setBorder(null);
		firstPayTF.setBorder(null);
		String index = getTitles();
		if (index.equals("failture")) {
			return;
		}
		titleNum = title.length;
		dateGet = new GetDate();
		addDay = new AddSomeDays();
		p1.setLayout(new GridLayout(2, 10, 2, 10));
		p1.add(cGrade);
		p1.add(cGradeBox);
		p1.add(name);
		p1.add(nameTF);
		p1.add(hGrade);
		p1.add(hGradeBox);
		p1.add(bookNum);
		p1.add(hNumTF);
		p1.add(autoResearch);
		p1.add(autoHNoTF);
		p1.add(checkIn);
		p1.add(checkInTF);
		p1.add(checkOut);
		p1.add(checkOutTF);
		p1.add(type);
		p1.add(typeTF);
		p1.add(state);
		p1.add(stateBox);
		p1.add(firstPay);
		p1.add(firstPayTF);
		p3.setLayout(new FlowLayout(FlowLayout.CENTER, 15, 5));
		add.setBorder(null);
		add.setBackground(Color.LIGHT_GRAY);
		modify.setBorder(null);
		modify.setBackground(Color.LIGHT_GRAY);
		delete.setBorder(null);
		delete.setBackground(Color.LIGHT_GRAY);
		p3.add(add);
		p3.add(modify);
		p3.add(delete);
		this.setLayout(new BorderLayout(0, 5));
		String returnValue = doIt();
		if (returnValue == null) {
			return;
		}
		cGradeBox.addItemListener(this);
		autoResearch.addActionListener(this);
		modify.addActionListener(this);
		add.addActionListener(this);
		delete.addActionListener(this);
	}

	private String getTitles() {
		String sql = "select id,grade from CGrade";
		CachedRowSet crs = null;
		int count = 0;
		try {
			DBConnection con = new DBConnection();
			crs = con.getResultSet(sql);
			while (crs.next()) {
				count++;
			}
			if (count == 0) {
				JOptionPane.showMessageDialog(null, "數據庫中沒客戶級別記錄,請先添加級別!",
						"提示", JOptionPane.INFORMATION_MESSAGE);
				return "failture";
			}
			crs.beforeFirst();
			cGrade_ids = new String[count];
			count = 0;
			while (crs.next()) {
				cGrade_ids[count++] = String.valueOf(crs.getInt(1));
				cGradeBox.addItem(crs.getString(2));
			}
			cGradeBox.setSelectedIndex(-1);
			crs = null;
			sql = "select* from HGrade";
			crs = con.getResultSet(sql);
			count = 0;
			while (crs.next()) {
				count++;
			}
			if (count == 0) {
				JOptionPane.showMessageDialog(null, "數據庫中沒客房級別記錄,請先添加客房級別!",
						"提示", JOptionPane.INFORMATION_MESSAGE);
				return "failture";
			}
			hPrice = new float[count];
			crs.beforeFirst();
			count = 0;
			while (crs.next()) {
				hGradeBox.addItem(crs.getString(1));
				hPrice[count] = crs.getFloat(2);
				count++;
			}
			hGradeBox.setSelectedIndex(-1);
		} catch (SQLException sqle) {
			sqle.printStackTrace();
			return "failture";
		} catch (ClassNotFoundException cnfe) {
			cnfe.printStackTrace();
			return "failture";
		}
		return "success";
	}

	private String doIt() {
		try {
			String sql = "select HUseBook.ID,cName,grade,bookNum,hNo,dateIn,dateOut,consume,state"
					+ " from HUseBook,Client,CGrade where rendererID=Client.ID and cGradeID=CGrade.ID";
			DBConnection con = new DBConnection();
			CachedRowSet crs = con.getResultSet(sql);
			int count = 0;
			while (crs.next()) {
				count++;
			}
			if (count == 0) {
				JOptionPane.showMessageDialog(null, "數據庫中沒有入住記錄!", "提示",
						JOptionPane.INFORMATION_MESSAGE);
				modify.setEnabled(false);
				delete.setEnabled(false);
			} else {
				modify.setEnabled(true);
				delete.setEnabled(true);
			}
			tableData = new String[count][titleNum];
			hUseAndBookID = new String[count];
			crs.beforeFirst();
			count = 0;
			int row = 0;
			while (crs.next()) {
				hUseAndBookID[count] = String.valueOf(crs.getInt(1));
				tableData[row][0] = String.valueOf(crs.getInt(1));
				tableData[row][1] = crs.getString(2);
				tableData[row][2] = crs.getString(3);
				tableData[row][3] = String.valueOf(crs.getInt(4));
				tableData[row][4] = crs.getString(5);
				tableData[row][5] = crs.getString(6);
				tableData[row][6] = crs.getString(7);
				tableData[row][7] = String.valueOf(crs.getFloat(8));
				tableData[row][8] = crs.getString(9);
				row++;
				count++;
			}
			recordTable = new JTable(tableData, title);
			recScrollPane = new JScrollPane(recordTable);
			this.add(recScrollPane, BorderLayout.CENTER);
			this.add(p1, BorderLayout.NORTH);
			this.add(recScrollPane, BorderLayout.CENTER);
			this.add(p3, BorderLayout.SOUTH);
			this.validate();
		} catch (SQLException sqle) {
			sqle.printStackTrace();
			return null;
		} catch (ClassNotFoundException cnfe) {
			cnfe.printStackTrace();
			return null;
		}
		return "success";
	}

	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == autoResearch) {
			String index = research();
			if (index == null) {
				return;
			}
		}
		if (e.getSource() == add) {
			if (modify.getText().equals("確認修改")) {
				modify.setText("修改記錄");
			}
			int cGradeIndex = cGradeBox.getSelectedIndex();
			if (cGradeIndex == -1) {
				JOptionPane.showMessageDialog(null, "客戶級別不能為空!", "提示",
						JOptionPane.INFORMATION_MESSAGE);
				return;
			}
			String name = nameTF.getText();
			if (name.equals("")) {
				JOptionPane.showMessageDialog(null, "名字不能為空!", "提示",
						JOptionPane.INFORMATION_MESSAGE);
				return;
			}
			int houseGradeIndex = hGradeBox.getSelectedIndex();
			if (houseGradeIndex == -1) {
				JOptionPane.showMessageDialog(null, "客房級別不能為空!", "提示",
						JOptionPane.INFORMATION_MESSAGE);
				return;
			}
			int numOfHouse;
			try {
				numOfHouse = Integer.valueOf(hNumTF.getText());
				if (numOfHouse <= 0) {
					JOptionPane.showMessageDialog(null, "訂房數量必須為正整數!", "提示",
							JOptionPane.INFORMATION_MESSAGE);
					return;
				}
			} catch (NumberFormatException nfe) {
				JOptionPane.showMessageDialog(null, "訂房數量必須為正整數!", "提示",
						JOptionPane.INFORMATION_MESSAGE);
				return;
			}
			String type = typeTF.getText();
			if (type.equals("")) {
				JOptionPane.showMessageDialog(null, "預付款比例不能為空!", "提示",
						JOptionPane.INFORMATION_MESSAGE);
				return;
			}
			String checkIn = dateGet.getDate(checkInTF.getText());
			String checkOut = dateGet.getDate(checkOutTF.getText());
			int stateIndex = stateBox.getSelectedIndex();
			if (stateIndex == -1 || stateIndex == 1) {
				JOptionPane.showMessageDialog(null, "狀態不能為空且必須選擇'是'!", "提示",
						JOptionPane.INFORMATION_MESSAGE);
				return;
			}
			String state = (String) stateBox.getSelectedItem();
			String bookedHNo = autoHNoTF.getText();
			if (bookedHNo.equals("")) {
				JOptionPane.showMessageDialog(null, "客房號不能為空!", "提示",
						JOptionPane.INFORMATION_MESSAGE);
				return;
			}
			if (autoResearch.isEnabled()) {
				JOptionPane.showMessageDialog(null, "請先點擊自動分房按鈕分配客房!", "提示",
						JOptionPane.INFORMATION_MESSAGE);
				return;
			}
			try {
				DBConnection con = new DBConnection();
				String queryStr = null;
				String grade = null;
				CachedRowSet crs = null;
				if (bookedHNo.indexOf(",") == -1) {
					queryStr = "select hGrade from House where HouseNo='"
							+ bookedHNo + "'";
					crs = con.getResultSet(queryStr);
					if (crs.next()) {
						grade = crs.getString(1);
					}
				} else {
					StringTokenizer st = new StringTokenizer(bookedHNo, ",");
					String sHNO = null;
					int base = 0;
					while (st.hasMoreTokens()) {
						sHNO = st.nextToken();
						if (base == 0) {
							break;
						}
					}
					queryStr = "select hGrade from House where HouseNo='"
							+ sHNO + "'";
					crs = con.getResultSet(queryStr);
					if (crs.next()) {
						grade = crs.getString(1);
					}
				}
				crs = null;
				String query = "select* from Client where cName='" + name + "'";
				crs = con.getResultSet(query);
				if (!crs.next()) {
					int confirm = JOptionPane.showConfirmDialog(null,
							"該客戶是新客戶嗎?", "", JOptionPane.YES_NO_OPTION);
					if (confirm == -1) {
						return;
					}
					if (confirm == JOptionPane.YES_OPTION) {
						String insert = "insert into Client values("
								+ cGrade_ids[cGradeIndex] + ",'" + name
								+ "','')";
						DBConnection conn = new DBConnection();
						conn.addSql(insert);
						conn.doDML();
					}
				}
				crs = null;
				crs = con.getResultSet("select* from Client");
				int renderid = -1;
				while (crs.next()) {
					if (crs.isLast()) {
						renderid = crs.getInt(1);
					}
				}
				String insert = "insert into HUseBook values(" + renderid + ","
						+ numOfHouse + ",'" + bookedHNo + "','" + grade + "','"
						+ checkIn + "','" + checkOut + "',0,'" + state + "')";
				con.addSql(insert);
				if (!bookedHNo.contains(",")) {
					String update = "update House set state='否',beginUseable='"
							+ addDay.addDays(checkOut, 1) + "' where HouseNo='"
							+ bookedHNo + "'";
					con.addSql(update);
				} else {
					StringTokenizer st = new StringTokenizer(bookedHNo, ",");
					while (st.hasMoreTokens()) {
						String hNo = st.nextToken();
						if (hNo != null) {
							String update = "update House set state='否',beginUseable='"
									+ addDay.addDays(checkOut, 1)
									+ "' where HouseNo='" + hNo + "'";
							con.addSql(update);
						}
					}

				}
				con.doDML();
				String returnValue = doIt();
				if (returnValue == null) {
					return;
				}
				buttonsSet();
				hNumTF.setEditable(true);
				autoResearch.setEnabled(true);
				modify.setEnabled(true);
				delete.setEnabled(true);
			} catch (SQLException sqle) {
				sqle.printStackTrace();
			} catch (ClassNotFoundException cnfe) {
				cnfe.printStackTrace();
			}
		}
		if (e.getSource() == modify) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久闺蜜 | 欧美一区午夜精品| 国内精品久久久久影院一蜜桃| 久久综合五月天婷婷伊人| 久久精品一区四区| 秋霞午夜av一区二区三区| 91免费精品国自产拍在线不卡 | 91精选在线观看| 日韩欧美一区二区视频| 欧美精品日韩综合在线| 亚洲激情男女视频| 久久精品在线观看| 制服丝袜亚洲色图| 91久久国产综合久久| 国产一区二区导航在线播放| 亚洲成a人片在线观看中文| 中文字幕一区二区三区乱码在线| 日韩欧美国产精品| 欧美日韩www| 色天使久久综合网天天| 成人精品国产一区二区4080| 麻豆精品国产传媒mv男同| 亚洲国产精品麻豆| 一区二区三国产精华液| 亚洲色图一区二区| 国产亚洲一区二区三区| 欧美不卡一二三| 欧美年轻男男videosbes| 在线观看一区二区视频| 91国在线观看| 一本大道综合伊人精品热热 | 麻豆91在线看| 日韩va欧美va亚洲va久久| 亚洲素人一区二区| 日韩一区日韩二区| 国产精品情趣视频| 欧美国产日韩亚洲一区| 国产欧美日韩不卡免费| 国产精品免费丝袜| 中文幕一区二区三区久久蜜桃| 久久久国产综合精品女国产盗摄| 日韩欧美激情在线| 欧美va亚洲va国产综合| 日韩欧美aaaaaa| 欧美第一区第二区| 精品免费一区二区三区| 欧美电影免费观看高清完整版在线| 日韩一卡二卡三卡国产欧美| 欧美精品久久天天躁| 69久久夜色精品国产69蝌蚪网| 欧美丰满嫩嫩电影| 欧美一区二区三区色| 日韩一区国产二区欧美三区| 欧美一级理论性理论a| 日韩精品中文字幕在线不卡尤物| 日韩视频一区二区三区在线播放| 日韩一区二区三区电影在线观看| 精品国产乱码久久久久久久| 久久久久久久久久久久久夜| 国产欧美日韩三级| 亚洲特黄一级片| 五月天久久比比资源色| 日本视频一区二区三区| 激情六月婷婷综合| 成人免费视频视频| 日本电影欧美片| 3d成人h动漫网站入口| 日韩视频免费观看高清完整版在线观看 | 成人av网站在线观看| 一本大道久久a久久精二百 | 国产女人aaa级久久久级| 国产精品青草综合久久久久99| 一区二区三区四区不卡在线 | 99r精品视频| 欧美手机在线视频| 欧美大尺度电影在线| 亚洲国产精品v| 亚洲综合丝袜美腿| 久99久精品视频免费观看| 风流少妇一区二区| 欧美中文字幕一区二区三区 | 国产精品国产馆在线真实露脸 | 欧美日韩一二三区| www一区二区| 亚洲精品一二三| 日本三级亚洲精品| 丰满放荡岳乱妇91ww| 欧美日韩在线免费视频| 2020国产精品| 一区二区激情视频| 国产美女av一区二区三区| 欧美色图12p| 国产欧美一区二区精品仙草咪| 亚洲国产精品久久不卡毛片 | 国产精品情趣视频| 另类小说欧美激情| 色婷婷激情久久| 久久女同性恋中文字幕| 亚洲国产人成综合网站| 国产大片一区二区| 日韩欧美国产一区二区在线播放| 综合激情成人伊人| 精品中文字幕一区二区| 欧洲精品在线观看| 国产精品入口麻豆原神| 麻豆一区二区三区| 欧美午夜在线观看| 综合久久国产九一剧情麻豆| 国产一区二区三区高清播放| 欧美电影在哪看比较好| 亚洲日本护士毛茸茸| 国产一区二区影院| 日韩免费在线观看| 日韩国产在线观看一区| 在线观看一区二区精品视频| 国产精品国产三级国产有无不卡 | 色综合网站在线| 精品国产一区二区亚洲人成毛片 | 欧美日韩一区精品| 亚洲手机成人高清视频| 国产成人精品免费在线| 久久综合久久综合亚洲| 亚洲成人av一区二区三区| 一本色道久久加勒比精品 | 777色狠狠一区二区三区| 亚洲六月丁香色婷婷综合久久| 国产精品1区2区3区在线观看| 日韩一级完整毛片| 日韩av高清在线观看| 欧美精品色一区二区三区| 亚洲一线二线三线久久久| 色综合视频在线观看| 国产欧美一区二区精品婷婷| 国产在线精品视频| 久久亚洲精精品中文字幕早川悠里 | 国产精品亚洲午夜一区二区三区 | 色综合中文字幕| 亚洲人成电影网站色mp4| 92国产精品观看| 亚洲品质自拍视频| 色伊人久久综合中文字幕| 一区二区三区在线视频免费| 在线观看成人小视频| 亚洲午夜精品一区二区三区他趣| 欧美日韩亚洲高清一区二区| 亚洲国产一二三| 欧美日韩国产经典色站一区二区三区| 亚洲尤物在线视频观看| 日本电影欧美片| 亚洲国产中文字幕在线视频综合| 欧美精品久久久久久久多人混战 | 亚洲制服丝袜av| 欧美日韩一级二级| 免费一级欧美片在线观看| 精品久久人人做人人爽| 福利一区福利二区| 国产精品嫩草影院av蜜臀| 日本韩国一区二区三区视频| 婷婷综合另类小说色区| 精品美女在线观看| 成熟亚洲日本毛茸茸凸凹| 亚洲人成网站精品片在线观看| 欧美日韩一卡二卡| 国产在线日韩欧美| 国产精品久久久久毛片软件| 欧美丝袜丝nylons| 久久精品理论片| 国产精品无码永久免费888| 色婷婷av久久久久久久| 日本不卡一区二区三区| 国产亚洲欧美激情| 色噜噜狠狠一区二区三区果冻| 五月天亚洲精品| 日本一区二区三区国色天香| 一本到一区二区三区| 精品写真视频在线观看| 国产精品免费av| 在线不卡一区二区| 国产成人午夜精品影院观看视频| 亚洲国产日韩综合久久精品| 久久婷婷久久一区二区三区| 色噜噜夜夜夜综合网| 国产一区二区三区香蕉| 亚洲精选在线视频| 久久众筹精品私拍模特| 欧美视频中文字幕| 国产宾馆实践打屁股91| 午夜电影网一区| 日本一区二区成人| 欧美一区二区观看视频| aa级大片欧美| 激情五月婷婷综合| 亚洲影视在线播放| 欧美国产日韩亚洲一区| 欧美一区二区在线视频| 99久久精品国产麻豆演员表| 美女视频一区二区三区| 亚洲精选在线视频| 国产精品热久久久久夜色精品三区| 欧美一区二区视频网站|