欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于JavaSwing設(shè)計(jì)和實(shí)現(xiàn)的酒店管理系統(tǒng)

 更新時(shí)間:2021年08月20日 16:36:38   作者:Cs 挽周  
這篇文章主要介紹了基于JavaSwing+mysql的酒店管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn),它可以實(shí)現(xiàn)酒店日常的管理功能包括開房、退房、房間信息、顧客信息管理等

前言:

項(xiàng)目是使用Java swing開發(fā),可實(shí)現(xiàn)基礎(chǔ)數(shù)據(jù)維護(hù)用戶登錄、系統(tǒng)首頁酒店信息管理、主要模塊是開房管理、退房管理、房間信息管理、顧客信息管理等功能。界面設(shè)計(jì)比較簡介、適合作為Java課設(shè)設(shè)計(jì)以及學(xué)習(xí)技術(shù)使用。獲取源碼

引言

在信息高度發(fā)達(dá)的今天, 酒店業(yè)務(wù)涉及的各個(gè)工作環(huán)節(jié)已不再僅僅是傳統(tǒng) 的住宿、 結(jié)算業(yè)務(wù),而是更廣、更全面的服務(wù)性行業(yè)代表。酒店賓館作為一個(gè)服務(wù)性行業(yè),從客 房的營銷即客人的預(yù)定開始, 到入住登記直到最后退房結(jié)賬, 整個(gè)過程應(yīng)該能夠體現(xiàn)以 賓客為中心,提供快捷方便服務(wù),給賓客感受一種顧客至上的享受,提高管理水平,簡 化各種復(fù)雜操作, 在最短時(shí)間內(nèi)完成酒店業(yè)務(wù)規(guī)范操作, 這樣才能令旅客舒適難忘。 因 此,采用全新的計(jì)算機(jī)管理系統(tǒng), 將成為提高酒店的管理效率, 改善服務(wù)水準(zhǔn)的手段之 一。系統(tǒng)從滿足客戶的需求角度出發(fā), 實(shí)現(xiàn)了酒店管理的基本流程。 系統(tǒng)的主要功能包 登錄、重置、查看 設(shè)置等等。用戶入住酒店的時(shí)候所要等待的時(shí)間就會(huì)大大的減少, 操作員能夠很方便的 對(duì)用戶信息的登記和對(duì)房間狀態(tài)的的管理, 從而實(shí)現(xiàn)了酒店管理系統(tǒng)高效、 準(zhǔn)確的特點(diǎn)。

主要技術(shù)和工具:

eclipse+JDK1.8+Navicat +swing +mysql

功能截圖:

登錄管理:

用戶輸入賬號(hào)密碼以及驗(yàn)證碼進(jìn)行登錄驗(yàn)證

酒店管理信息:

開房:

用戶錄入開房相關(guān)信息、 提交的時(shí)候后臺(tái)會(huì)驗(yàn)證數(shù)據(jù)的數(shù)據(jù)是否正確、房間是否被占用等情況

退房:

輸入身份證信息和房間號(hào)進(jìn)行驗(yàn)證正確后完成退房

房間信息:

房間信息管理管理頁面可以查看所有的房間信息、房間標(biāo)準(zhǔn)以及狀態(tài)等、也可以更具房間類型來查詢房間信息。

顧客信息:

關(guān)鍵代碼:

主入口:

public class LoginFrame extends JFrame {
	private JPanel contentPane;
	private JTextField textField;
	private JPasswordField passwordField;
	private JTextField textField_1;
	private CaptchaUtils cpt;
	private BufferedImage image1;
	private String code;
	private JLabel label_6;
	//創(chuàng)建deskservice對(duì)象
	private DeskService deskService=new DeskServiceImpl();
 
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					LoginFrame frame = new LoginFrame();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
	
	public LoginFrame() {
		setBackground(Color.GREEN);
		setTitle("KING'S  LANDING");
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setBounds(500, 250, 624, 524);
 
		contentPane = new JPanel(){
	   		 protected void paintComponent(Graphics g){
				 super.paintComponent(g);
				 ImageIcon images=new ImageIcon("images/624524.jpg");
				 g.drawImage(images.getImage(),0,0,null);
			 }
		 };	
		
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		JLabel label_1 = new JLabel("\u7528\u6237\u540D");
		label_1.setBackground(Color.WHITE);
		label_1.setForeground(Color.WHITE);
		label_1.setFont(new Font("微軟雅黑", Font.PLAIN, 15));
		label_1.setIcon(new ImageIcon(LoginFrame.class.getResource("/images/yonghu.png")));
		textField = new JTextField();
		textField.setBackground(Color.WHITE);
		textField.setColumns(10);
	        label_6=new JLabel();
	        label_6.addMouseListener(new MouseAdapter() {
	        	@Override
	        	public void mouseClicked(MouseEvent e) {
	        		cpt=new CaptchaUtils();
	    			//獲取畫布
	    			image1=cpt.getBuffImg();
	    			//獲取隨機(jī)數(shù)
	    			 code=cpt.getCode();
	    			ImageIcon icon=new ImageIcon(image1,"jpeg");
	    			label_6.setIcon(icon);
	        	}
	        });
 
			/**
			 * 驗(yàn)證碼
			 */
			cpt=new CaptchaUtils();
			//獲取畫布
			image1=cpt.getBuffImg();
			//獲取隨機(jī)數(shù)
			 code=cpt.getCode();
			ImageIcon icon=new ImageIcon(image1,"jpeg");
			label_6.setIcon(icon);
		
		JLabel label_2 = new JLabel("\u5BC6\u7801");
		label_2.setForeground(Color.WHITE);
		label_2.setFont(new Font("微軟雅黑", Font.PLAIN, 15));
		label_2.setIcon(new ImageIcon(LoginFrame.class.getResource("/images/mima.png")));
		
		JButton button = new JButton("\u767B\u5F55");
		//設(shè)置按鈕的透明
		button.setContentAreaFilled(false);
		//給按鈕上的字設(shè)置顏色
		button.setForeground(Color.WHITE);
		button.setBackground(Color.WHITE);
		button.setFont(new Font("微軟雅黑", Font.PLAIN, 20));
		button.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				//獲取輸入的用戶名和密碼
				String name=textField.getText();
				char[]array=passwordField.getPassword();
				String password=new String(array);
				System.out.println("name:"+name);
				System.out.println("password:"+password);
				//用戶輸入的驗(yàn)證碼
				String codeFrame=textField_1.getText();
				if(!(code.equalsIgnoreCase((codeFrame)))){
					JOptionPane.showMessageDialog(null, "驗(yàn)證碼錯(cuò)誤,請(qǐng)重新輸入!");
					return;
				}
				DeskDaoImpl deskDao=new DeskDaoImpl();
				Desk desk=new Desk(name,password);
				int code=deskDao.LoginDesk(desk);
				//判斷是否是管理員登錄
				if(code==1){
					//登錄成功
					new HomeFrame().setVisible(true);
					//符合 則跳轉(zhuǎn)到管理員的后臺(tái)管理界面
					dispose();
					return ;
				}
				else{
					boolean bool=deskService.LoginDeskService(desk);
					if(!bool){
						JOptionPane.showMessageDialog(null, "賬號(hào)或密碼錯(cuò)誤,請(qǐng)重新輸入!");
						return;
					}
					//登錄成功
					new HomeFrame().setVisible(true);
					dispose();
				}
		});
		
}

開房入?。?/h3>
@Override
			//開房監(jiān)聽事件
			public void mouseClicked(MouseEvent e) {
				//獲取輸入的房間號(hào)
				int houseId=Integer.parseInt(textField.getText());
				//獲取輸入的姓名
				String name=p_name.getText();
				//獲取輸入的年齡
				int age=Integer.parseInt(p_age.getText());
				//獲取輸入的入住天數(shù)
				int day=Integer.parseInt(p_day.getText());
				//獲取輸入的身份證號(hào)
				String id=p_id.getText();
				//獲取輸入的性別
				String sex=p_sex.getText();
				//獲取房間類型
				String type=p_type.getText();
				//封裝到Guest實(shí)體中
				Guest guest=new Guest();
				guest.setG_roomid(houseId);
				guest.setG_name(name);
				guest.setG_age(age);
				guest.setG_days(day);
				guest.setG_id(id);
				guest.setG_sex(sex);
				//封裝到Room實(shí)體中
				Room room=new Room();
				room.setR_id(houseId);
				//判斷年齡是否合理
				if(!(age>0&&age<100)){
					JOptionPane.showMessageDialog(null, "年齡輸入不合理,請(qǐng)重新輸入!");
					return;
				}
				//判斷性別是否合理
				if(!(sex.equals("男")||sex.equals("女"))){
					JOptionPane.showMessageDialog(null, "性別只能是男或女,請(qǐng)重新輸入!");
					return;
				}
				//入住天數(shù)不能小于1
				if(!(day>0)){
					JOptionPane.showMessageDialog(null, "入住天數(shù)不能小于1天,請(qǐng)重新輸入!");
					return;
				}
				boolean bool=rs.OpenRoom(room);
				if(!bool){
					//房間已滿則開房失敗
					JOptionPane.showMessageDialog(null, "該房間已滿,請(qǐng)更換房間!");
					return;
				}
				if(!(type.equals("標(biāo)準(zhǔn)房")||type.equals("套房")||type.equals("雙人房")||type.equals("豪華套房"))){
					JOptionPane.showMessageDialog(null, "輸入的信息有誤,開房失??!");
					return;
				}
				boolean bool1=gsi.AddGuest(guest);
				if(bool1){
					//身份證不符合格式也失敗
					JOptionPane.showMessageDialog(null, "身份證不符合格式,開房失?。?);
					return;
				}
 
			}
		});

數(shù)據(jù)庫設(shè)計(jì):

用戶表:

CREATE TABLE `NewTable` (
`d_id`  int(11) NOT NULL AUTO_INCREMENT COMMENT '前臺(tái)id' ,
`d_name`  varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '姓名' ,
`d_password`  varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '密碼' ,
INDEX `d_id` (`d_id`) USING BTREE 
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ci
AUTO_INCREMENT=112
ROW_FORMAT=COMPACT
;
 

入住信息表:

CREATE TABLE `NewTable` (
`g_roomid`  int(11) NULL DEFAULT NULL COMMENT '房間id' ,
`g_id`  varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '顧客編號(hào)' ,
`g_name`  varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '姓名' ,
`g_sex`  varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '性別' ,
`g_age`  int(11) NULL DEFAULT NULL COMMENT '年齡' ,
`g_days`  int(11) NULL DEFAULT NULL COMMENT '入住天數(shù)' ,
`g_time`  datetime NULL DEFAULT NULL COMMENT '入住日期' 
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ci
ROW_FORMAT=COMPACT
;
 

房間信息表 :

CREATE TABLE `NewTable` (
`r_id`  int(11) NOT NULL AUTO_INCREMENT COMMENT 'roo  id' ,
`r_type`  varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT 'room 類型' ,
`r_price`  double NULL DEFAULT NULL COMMENT 'room價(jià)格' ,
`r_local`  varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT 'room位置' ,
`r_state`  varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT 'room狀態(tài)' ,
INDEX `r_id` (`r_id`) USING BTREE 
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ci
AUTO_INCREMENT=106
ROW_FORMAT=COMPACT
;
 

ps:項(xiàng)目來于網(wǎng)絡(luò)、作者整理優(yōu)化測(cè)試、若有侵權(quán)聯(lián)系作者刪除

總結(jié):

通過這次課程設(shè)計(jì)。我學(xué)到了許多令我受益匪淺的知識(shí)。感覺java的界面設(shè)計(jì)和 mfc差不多。只是java沒有可視化的界面做起來太累了。其他主要是類和對(duì)象的問題。實(shí)現(xiàn)起來還是挺簡單的。綜合了根據(jù)中小型星級(jí)酒店的實(shí)際情況的特點(diǎn), 雖然用戶界面比較一般,但操作使用還是方便。符合酒店管理的基本流程。但由于時(shí)間倉促,一些不足之處還很多、比如美化和部分功能設(shè)計(jì)的都比較簡單、但作為學(xué)生學(xué)習(xí)參考以及課程設(shè)計(jì)還是不錯(cuò)的選擇。

到此這篇關(guān)于基于JavaSwing設(shè)計(jì)和實(shí)現(xiàn)的酒店管理系統(tǒng)的文章就介紹到這了,更多相關(guān)JavaSwing管理系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論