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

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

?? checkout.java

?? JAVA實現的酒店管理系統
?? JAVA
字號:
package file1;

/*
 * 功能描述:客戶結帳入口,處理客戶的結帳
 * @Author:黃順武
 * Create Time:---
 * Last Modified:2007-12-15
 * Modify Reason:數據庫連接類DBConnection 的內部結構設計得到優化
 */
import java.sql.*;
import sun.jdbc.rowset.*;
import java.util.Date;
import java.util.StringTokenizer;
import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class CheckOut extends JPanel implements ActionListener {

	private JLabel cName = new JLabel("客戶名稱:");
	private JComboBox nameBox = new JComboBox();
	private JButton query = new JButton("       查詢       ");
	private JButton checkOut = new JButton("       結帳       ");
	private JLabel moneyLB = new JLabel("租金:");
	private JTextField moneyTF = new JTextField(8);
	private JLabel consumeLB = new JLabel("消費金額:  ");
	private JTextField consumeTF = new JTextField(8);
	private JLabel preLB = new JLabel("優惠標準:");
	private JTextField preTF = new JTextField(10);
	private JLabel firstPayLB = new JLabel("預付金額:");
	private JTextField firstPayTF = new JTextField(8);
	private JLabel remained = new JLabel("本次應付總金額:");
	private JTextField remainedTF = new JTextField(8);
	private JPanel p1 = new JPanel();
	private JPanel p2 = new JPanel();
	private JPanel p3 = new JPanel();
	private JTable resultTable = null;
	private String[] title = { "客戶名稱", "訂房數量", "所訂客房號", "客房級別", "入住日期",
			"原定退房日期", "實際退房時間", "酒水消費金額", "記錄目前狀態" };
	private int titleNum = 0;
	private String[][] data = null;
	private JScrollPane resultPane = new JScrollPane();
	private DBConnection con = null;
	private GetDate dateGet = null;
	private Formatter format = null;
	private String[] IDS = null;
	private Date d = new Date();
	private String value = null;
	private String todayStr = null;
	private AddSomeDays addDay = null;
	private String[] client_ids = null;// 存儲用戶的所有ID

	public CheckOut() {
		cName.setBackground(Color.LIGHT_GRAY);
		cName.setBorder(null);
		titleNum = title.length;
		String index = getNameOfClients();
		if (index == null) {
			return;
		}
		dateGet = new GetDate();
		format = new Formatter();
		addDay = new AddSomeDays();
		query.setBackground(Color.LIGHT_GRAY);
		query.setBorder(null);
		query.setEnabled(true);
		checkOut.setEnabled(false);
		checkOut.setBackground(Color.LIGHT_GRAY);
		checkOut.setBorder(null);
		moneyTF.setBackground(Color.LIGHT_GRAY);
		moneyTF.setBorder(null);
		moneyTF.setEditable(false);
		consumeTF.setBackground(Color.LIGHT_GRAY);
		consumeTF.setBorder(null);
		consumeTF.setEditable(false);
		preTF.setBackground(Color.LIGHT_GRAY);
		preTF.setBorder(null);
		preTF.setEditable(false);
		firstPayTF.setBackground(Color.LIGHT_GRAY);
		firstPayTF.setBorder(null);
		firstPayTF.setEditable(false);
		remainedTF.setBackground(Color.LIGHT_GRAY);
		remainedTF.setBorder(null);
		remainedTF.setEditable(false);
		remained.setForeground(Color.red);
		p1.setLayout(new FlowLayout(FlowLayout.CENTER, 35, 0));
		p1.add(cName);
		p1.add(nameBox);
		p1.add(query);
		p1.add(remained);
		p1.add(remainedTF);
		p1.add(checkOut);
		p2.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 0));
		p2.add(moneyLB);
		p2.add(moneyTF);
		p2.add(consumeLB);
		p2.add(consumeTF);
		p2.add(preLB);
		p2.add(preTF);
		p2.add(firstPayLB);
		p2.add(firstPayTF);
		p3.setLayout(new BorderLayout(0, 20));
		p3.add(p1, BorderLayout.NORTH);
		p3.add(p2, BorderLayout.CENTER);
		this.setLayout(new BorderLayout(0, 20));
		this.add(p3, BorderLayout.NORTH);
		query.addActionListener(this);
		checkOut.addActionListener(this);
	}

	private String getNameOfClients() {
		try {
			con = new DBConnection();
			String queryStr = "select distinct rendererID,cName from HUseBook,Client where state='是' and rendererID=Client.id";
			CachedRowSet crs = con.getResultSet(queryStr);
			int count = 0;
			while (crs.next()) {
				count++;
			}
			crs.beforeFirst();
			if (count == 0) {
				JOptionPane.showMessageDialog(null, "沒有未結帳的客戶!", "",
						JOptionPane.INFORMATION_MESSAGE);
				return null;
			}
			client_ids = new String[count];
			count = 0;
			while (crs.next()) {
				client_ids[count++] = String.valueOf(crs.getInt(1));
				nameBox.addItem(crs.getString(2));
			}
			nameBox.setSelectedIndex(-1);
		} catch (SQLException sqle) {
			sqle.printStackTrace();
			return null;
		} catch (ClassNotFoundException cnfe) {
			cnfe.printStackTrace();
		}
		return "success";
	}

	public void actionPerformed(ActionEvent ae) {
		if (ae.getSource() == query) {
			int name_index = nameBox.getSelectedIndex();
			if (name_index == -1) {
				JOptionPane.showMessageDialog(null, "請選擇客戶名稱!", "",
						JOptionPane.INFORMATION_MESSAGE);
				return;
			}
			String queryStr = "select HUseBook.ID,cName,bookNum,hNo,hGrade,dateIn,dateOut,consume,state  from HUseBook,Client where rendererID="
					+ client_ids[name_index] + " and state='是' and rendererID=Client.ID";
			CachedRowSet crs = null;
			try {
				crs = con.getResultSet(queryStr);
				int row = 0;
				while (crs.next()) {
					row++;
				}
				if (row == 0) {
					JOptionPane.showMessageDialog(null, "該客戶沒有訂房記錄!請您確認!", "",
							JOptionPane.INFORMATION_MESSAGE);
					return;
				}
				IDS = new String[row];
				data = new String[row][titleNum];
				crs.beforeFirst();
				row = 0;
				String today = format.valueConverted(d);
				while (crs.next()) {
					IDS[row] = String.valueOf(crs.getInt(1));
					data[row][0] = crs.getString(2);
					data[row][1] = String.valueOf(crs.getInt(3));
					data[row][2] = crs.getString(4);
					data[row][3] = crs.getString(5);
					data[row][4] = crs.getString(6);
					data[row][5] = crs.getString(7);
					data[row][6] = today;
					data[row][7] = String.valueOf(crs.getFloat(8));
					data[row][8] = crs.getString(9);
					row++;
				}
				resultTable = new JTable(data, title);
				resultPane = new JScrollPane(resultTable);
				this.add(resultPane, BorderLayout.CENTER);
				this.validate();
				crs = null;
				row = resultTable.getModel().getRowCount();
				float firstPayPercent = 0;
				float firstPay = 0;
				float standard = 0;
				float moneyOfBooked = 0;// 訂房的錢的數目
				float moneyOfConsume = 0;
				String nameFirst = (String) nameBox.getSelectedItem();
				if (nameFirst == null) {
					JOptionPane.showMessageDialog(null, "請選擇客戶名稱!", "",
							JOptionPane.INFORMATION_MESSAGE);
					return;
				}
				queryStr = "select standard,firstPayPercent from CGrade,Client where CGrade.id=cGradeID and Client.ID="
						+ client_ids[name_index];

				crs = con.getResultSet(queryStr);
				while (crs.next()) {
					standard = crs.getFloat(1);
					firstPayPercent = crs.getFloat(2);
				}
				crs = null;
				String in = null;
				String inAfterAdded = null;
				String checkOutStr = null;
				value = format.valueConverted(d);
				todayStr = dateGet.getDate(value);
				for (int count = 0; count < row; count++) {
					// demand modify here
					in = (String) resultTable.getModel().getValueAt(count, 5);
					checkOutStr = (String) resultTable.getModel().getValueAt(
							count, 6);
					int dayNumActual = 1;
					for (;; dayNumActual++) {
						inAfterAdded = addDay.addDays(in, dayNumActual);
						if (inAfterAdded.equals(todayStr)) {
							break;
						}
					}
					dayNumActual++;// 加一后才符合邏輯
					int dayNumIni = 1;
					for (;; dayNumIni++) {
						inAfterAdded = addDay.addDays(in, dayNumIni);
						if (inAfterAdded.equals(checkOutStr)) {
							break;
						}
					}
					dayNumIni++;// 加一后才符合邏輯
					String numStr = (String) resultTable.getModel().getValueAt(
							count, 1);
					int num = Integer.valueOf(numStr);
					String hGrade = (String) resultTable.getModel().getValueAt(
							count, 3);
					String consumeStr = (String) resultTable.getModel()
							.getValueAt(count, 7);
					float consume = Float.valueOf(consumeStr);
					queryStr = "select Sprice from HGrade where grade='"
							+ hGrade + "'";
					crs = con.getResultSet(queryStr);
					float price = 0;
					if (crs.next()) {
						price = crs.getFloat(1);
					}
					moneyOfConsume += consume;
					moneyOfBooked += (num * price * dayNumActual * standard);
					firstPay += (num * price * dayNumIni * standard * firstPayPercent);
				}
				float moneyStillToPay = moneyOfBooked + moneyOfConsume
						- firstPay;
				moneyTF.setText(String.valueOf(moneyOfBooked));
				consumeTF.setText(String.valueOf(moneyOfConsume));
				preTF.setText(String.valueOf(standard));
				firstPayTF.setText(String.valueOf(firstPay));
				remainedTF.setText(String.valueOf(moneyStillToPay));
				if (row != 0) {
					checkOut.setEnabled(true);
				}
			} catch (SQLException sqle) {
				sqle.printStackTrace();
			} catch (ClassNotFoundException cnfe) {
				cnfe.printStackTrace();
			}
		}
		if (ae.getSource() == checkOut) {
			String nameFirst = (String) nameBox.getSelectedItem();
			if (nameFirst == null) {
				JOptionPane.showMessageDialog(null, "請選擇客戶名稱!", "",
						JOptionPane.INFORMATION_MESSAGE);
				return;
			}
			String nameSecond = resultTable.getModel().getValueAt(0, 0)
					.toString().trim();
			if (!nameFirst.equals(nameSecond)) {
				JOptionPane.showMessageDialog(null, "請您先點擊查詢按鈕!", "",
						JOptionPane.INFORMATION_MESSAGE);
				return;
			}
			for (String id : IDS) {
				String queryS = "update HUseBook set state='否',dateOut='"
						+ todayStr + "' where ID=" + id;
				con.addSql(queryS);
				try {
					con.doDML();
				} catch (SQLException sqle) {
					sqle.printStackTrace();
				} catch (ClassNotFoundException cnfe) {
					cnfe.printStackTrace();
				}
			}
			int row = resultTable.getModel().getRowCount();
			String hno = null;
			for (int count = 0; count < row; count++) {
				hno = (String) resultTable.getModel().getValueAt(count, 2);
				String update = null;
				String today = dateGet.getDate(format.valueConverted(d));
				if (!hno.contains(",")) {
					update = "update House set state='是',beginUseable='"
							+ addDay.addDays(today, 1) + "' where HouseNo='"
							+ hno + "'";
					con.addSql(update);
					try {
						con.doDML();
					} catch (SQLException sqle) {
						sqle.printStackTrace();
					} catch (ClassNotFoundException cnfe) {
						cnfe.printStackTrace();
					}
				} else {
					StringTokenizer st = new StringTokenizer(hno, ",");
					while (st.hasMoreTokens()) {
						String sHNo = st.nextToken();
						if (sHNo != null && !sHNo.equals("")) {
							update = "update House set state='是',beginUseable='"
									+ addDay.addDays(today, 1)
									+ "' where HouseNo='" + sHNo + "'";
							con.addSql(update);
							try {
								con.doDML();
							} catch (SQLException sqle) {
								sqle.printStackTrace();
							} catch (ClassNotFoundException cnfe) {
								cnfe.printStackTrace();
							}
						}
					}
				}
			}
			for (int base = 0; base < row; base++) {
				data[base][8] = "否";
			}
			resultPane.updateUI();
			checkOut.setEnabled(false);
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久99久久免费精品蜜臀| 91国内精品野花午夜精品| 国产精品国产三级国产普通话三级 | 成人一级片网址| 日av在线不卡| 亚洲一区二区视频在线观看| 国产精品网友自拍| www成人在线观看| 欧美精品1区2区3区| 91在线观看下载| 高清国产一区二区| 久久99深爱久久99精品| 香蕉久久一区二区不卡无毒影院| 国产精品入口麻豆九色| 欧美精品一区二区高清在线观看 | 久久精品72免费观看| 亚洲综合丝袜美腿| 国产精品国产三级国产专播品爱网 | 97久久久精品综合88久久| 国产乱一区二区| 麻豆成人久久精品二区三区小说| 亚洲国产日韩一区二区| 一区二区三区精品视频| 亚洲视频每日更新| 亚洲视频一二三区| 综合婷婷亚洲小说| 亚洲色图视频网站| 国产精品丝袜一区| 欧美国产激情一区二区三区蜜月| 精品成人一区二区三区四区| 欧美成人精品福利| 欧美精品一区二区三区在线播放| 欧美va亚洲va| 久久久久久久综合| 久久久www成人免费无遮挡大片| 久久综合成人精品亚洲另类欧美| 精品欧美久久久| 欧美tk—视频vk| 久久色.com| 欧美激情中文不卡| 国产精品美女久久久久久久网站| 国产精品你懂的| 最新久久zyz资源站| 亚洲精品亚洲人成人网在线播放| 玉米视频成人免费看| 亚洲国产精品久久一线不卡| 亚洲va天堂va国产va久| 日韩在线卡一卡二| 捆绑调教一区二区三区| 国产精品正在播放| 波波电影院一区二区三区| 99在线精品视频| 欧美色精品天天在线观看视频| 欧美日韩亚洲高清一区二区| 欧美一三区三区四区免费在线看 | 国产sm精品调教视频网站| 懂色av中文字幕一区二区三区 | 日韩欧美国产成人一区二区| 久久青草国产手机看片福利盒子 | 欧美一区二区三区在线观看| 精品国产免费人成电影在线观看四季| 2023国产精品视频| 亚洲欧洲99久久| 午夜精品福利在线| 久久国产精品免费| av一区二区三区四区| 欧美精品视频www在线观看| 精品免费国产二区三区| 日韩一区在线播放| 日本午夜精品视频在线观看| 国产一区二区三区日韩| 在线视频国产一区| 久久日韩精品一区二区五区| 亚洲欧美日韩在线不卡| 看电影不卡的网站| 91免费看视频| 欧美一级在线视频| 亚洲三级理论片| 婷婷六月综合亚洲| youjizz国产精品| 欧美一区二区视频在线观看2020 | 日韩成人精品在线观看| 国产成人综合自拍| 欧美日韩高清一区二区不卡| 国产亚洲一区字幕| 天天亚洲美女在线视频| 国产精品456| 欧美午夜精品久久久久久孕妇| 久久综合999| 丝袜亚洲另类欧美| 色综合婷婷久久| 26uuu欧美| 日韩av二区在线播放| 99精品视频一区| 欧美成人一区二区| 亚洲一级二级三级| 成人激情黄色小说| 久久亚区不卡日本| 日本特黄久久久高潮| 91污片在线观看| 国产日产欧美精品一区二区三区| 日日夜夜精品视频天天综合网| 99这里只有精品| 欧美激情一区二区三区全黄 | 日本高清不卡在线观看| 亚洲国产精品成人综合| 久久精品国产第一区二区三区| 欧美性大战久久| 亚洲欧美另类在线| 成人免费视频视频在线观看免费| 欧美成人三级电影在线| 日本美女一区二区三区视频| 欧美视频在线一区二区三区| 亚洲激情在线播放| av在线播放成人| 中文字幕精品三区| 国产精品1区2区3区在线观看| 欧美mv日韩mv亚洲| 免费成人在线观看视频| 538prom精品视频线放| 亚洲一区av在线| 欧美伊人久久久久久久久影院 | 国产69精品久久久久毛片| 精品少妇一区二区三区| 日韩国产一二三区| 欧美日韩www| 亚洲成a天堂v人片| 欧美久久一二区| 婷婷综合五月天| 日韩区在线观看| 久久精品国产99| 久久影视一区二区| 国产精品中文字幕欧美| 国产日产欧美一区| 不卡视频一二三四| 亚洲美女屁股眼交3| 色悠悠久久综合| 亚洲a一区二区| 欧美一级一级性生活免费录像| 日本欧美一区二区| 久久久久久一级片| 波多野结衣精品在线| 国产精品毛片大码女人| 97精品国产露脸对白| 亚洲欧美国产高清| 欧美福利一区二区| 六月丁香婷婷色狠狠久久| 久久久一区二区三区捆绑**| 精品夜夜嗨av一区二区三区| 久久久99精品免费观看不卡| 国产91精品一区二区麻豆亚洲| 中文字幕视频一区| 欧美午夜寂寞影院| 另类欧美日韩国产在线| 国产亚洲成aⅴ人片在线观看| 成人免费黄色在线| 亚洲va国产天堂va久久en| 日韩欧美国产不卡| 成人小视频在线| 亚洲综合在线第一页| 日韩欧美二区三区| 成人app网站| 日韩福利电影在线| 久久久久国产精品麻豆ai换脸| 99久久777色| 奇米精品一区二区三区四区| 中文字幕国产一区二区| 欧美综合一区二区| 国产一区不卡视频| 亚洲另类中文字| 欧美成人精品3d动漫h| 91天堂素人约啪| 蜜臂av日日欢夜夜爽一区| 国产精品传媒视频| 91精品国产91久久久久久最新毛片| 国产激情91久久精品导航| 亚洲自拍偷拍av| 国产视频一区在线播放| 欧美高清性hdvideosex| 成人动漫一区二区三区| 日本亚洲一区二区| 亚洲丝袜精品丝袜在线| 精品av综合导航| 91黄视频在线观看| 国产福利一区二区三区视频| 亚洲成a人在线观看| 国产精品久久99| 精品美女一区二区| 色婷婷狠狠综合| 国产精品18久久久久久久久| 亚洲成人精品在线观看| 国产精品久久久久精k8| 精品福利av导航| 5858s免费视频成人| 成人高清视频免费观看| 九九精品视频在线看| 亚洲成人动漫在线观看| 中文字幕综合网| 欧美激情在线一区二区| 精品久久久久久久久久久院品网 |