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

📄 modifyregisterinfoframe.java

📁 一个KTV管理系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			guestnameTextField = new JTextField();
			guestnameTextField.setBounds(new java.awt.Rectangle(140, 30, 120,
					30));
		}
		return guestnameTextField;
	}


	private JTextField getguestidTextField() {
		if (guestidTextField == null) {
			guestidTextField = new JTextField();
			guestidTextField.setBounds(new Rectangle(390, 30, 150, 30));
		}
		return guestidTextField;
	}


	private JTextField getguestcheckintimeTextField() {
		if (guestcheckintimeTextField == null) {
			guestcheckintimeTextField = new JTextField();
			guestcheckintimeTextField.setBounds(new java.awt.Rectangle(140, 85,
					133, 30));
			guestcheckintimeTextField.setEditable(false);

		}
		return guestcheckintimeTextField;
	}

	
	private JTextField getguestcheckouttimeTextField() {
		if (guestcheckouttimeTextField == null) {
			guestcheckouttimeTextField = new JTextField();
			guestcheckouttimeTextField.setBounds(new java.awt.Rectangle(390,
					85, 150, 30));
		}
		return guestcheckouttimeTextField;
	}


	private JComboBox getconsumedtypenameComboBox() {
		if (consumedtypenameComboBox == null) {
			consumedtypenameComboBox = new JComboBox();
			consumedtypenameComboBox
					.setBounds(new Rectangle(140, 140, 120, 30));
			Vector v = getAllKindsOfConsumedType();
			Iterator ite = v.iterator();
			ConsumedTypeInfo ct = null;
			while (ite.hasNext()) {
				ct = (ConsumedTypeInfo) ite.next();
				consumedtypenameComboBox.addItem(ct.getConsumedTypeName()
						.trim());
			}
		}
		return consumedtypenameComboBox;
	}

	
	private JTextField getconsumedidTextField() {
		if (consumedidTextField == null) {
			consumedidTextField = new JTextField();
			consumedidTextField.setBounds(new java.awt.Rectangle(140, 190, 120,
					30));
			consumedidTextField.setEditable(false);
		}
		return consumedidTextField;
	}

	private JTextField getdepositTextField() {
		if (depositTextField == null) {
			depositTextField = new JTextField();
			depositTextField
					.setBounds(new java.awt.Rectangle(390, 140, 80, 30));
		}
		return depositTextField;
	}

	private JButton getModifyButton() {
		if (modifyButton == null) {
			modifyButton = new JButton();
			modifyButton.setBounds(new java.awt.Rectangle(50, 430, 100, 40));
			modifyButton.setText("修改确定");
		}
		modifyButton.addActionListener(this);
		return modifyButton;
	}

	// 修改宾客消费记录
	private boolean setGuestConsumedInfo() {
		boolean flag = false;
		GuestConsumedInfo gci = null;
		try {
			long consumedId = Long.parseLong(consumedidTextField.getText());
			GuestConsumedInfo demo = getAGuestConsumedInfo(consumedidTextField
					.getText());
			String guestName = guestnameTextField.getText().trim();
			String roomNumber = roomnumberTextField.getText().trim();
			long guestId = Long.parseLong(guestidTextField.getText());
			// 计算出消费时间并进行处理,不足半小时按照半小时计算,超过半小时按照一个小时计算
			String guestCheckInTime = guestcheckintimeTextField.getText();
			String[] Intemp = guestCheckInTime.split(" ");//将时间设置成2008-07-24 15:23:23的格式
			String[] Intemp1 = Intemp[0].split("-");
			String[] Intemp2 = Intemp[1].split(":");
			Calendar time = Calendar.getInstance();
			time.set(time.YEAR, Integer.parseInt(Intemp1[0]));
			time.set(time.MONTH, Integer.parseInt(Intemp1[1]));
			time.set(time.DATE, Integer.parseInt(Intemp1[2]));
			time.set(time.HOUR_OF_DAY, Integer.parseInt(Intemp2[0]));
			time.set(time.MINUTE, Integer.parseInt(Intemp2[1]));
			time.set(time.SECOND, Integer.parseInt(Intemp2[2]));
			long checkInTime = time.getTimeInMillis();
			String guestCheckOutTime = guestcheckouttimeTextField.getText();
			String[] temp = guestCheckOutTime.split(" ");
			String[] temp1 = temp[0].split("-");
			String[] temp2 = temp[1].split(":");
			time.set(time.YEAR, Integer.parseInt(temp1[0]));
			time.set(time.MONTH, Integer.parseInt(temp1[1]));
			time.set(time.DATE, Integer.parseInt(temp1[2]));
			time.set(time.HOUR_OF_DAY, Integer.parseInt(temp2[0]));
			time.set(time.MINUTE, Integer.parseInt(temp2[1]));
			time.set(time.SECOND, Integer.parseInt(temp2[2]));
			long checkOutTime = time.getTimeInMillis();
			long numbertemp = (checkOutTime - checkInTime) / 1000l;
			if (numbertemp < (long) (1800l)) {
				JOptionPane.showMessageDialog(null, "消费时间不足半小时,不能更改", "提示信息",
						JOptionPane.YES_OPTION);
			} else {

				int numberhour = (int) (numbertemp / 3600);
				int numberminute = (int) (numbertemp % 3600) / 60;
				int numbersecond = (int) (numbertemp % 3600) % 60;
				String strhour = null;
				String strminute = null;
				String strsecond = null;

				numberhour = numberhour % 24;
				if (numberhour < 10) {
					strhour = "0" + String.valueOf(numberhour);
				} else {
					strhour = String.valueOf(numberhour);
				}
				if (numberminute < 10) {
					strminute = "0" + String.valueOf(numberminute);
				} else {
					strminute = String.valueOf(numberminute);
				}
				if (numbersecond < 10) {
					strsecond = "0" + String.valueOf(numbersecond);
				} else {
					strsecond = String.valueOf(numbersecond);
				}
				// 消费时间是String类型,格式需要进行处理,不能超过24小时,如例:04:45:25
				String consumedTime = strhour + ":" + strminute + ":"
						+ strsecond;
				// System.out.println(consumedTime);
				double consumedtime = (double) numberhour;
				if (numberminute < 30) {
					if (numberminute == 0) {
						if (numbersecond > 0) {
							consumedtime = (double) numberhour + 0.5;
						}

					} else {
						consumedtime = (double) numberhour + 0.5;
					}

				} else {
					consumedtime = (double) numberhour + 1;
				}
				// 商品消费额不变
				double goodsConsumedMoney = demo.getGoodsConsumedMoney();
				// System.out.println(consumedTime);
				String consumedTypeName = consumedtypenameComboBox
						.getSelectedItem().toString().trim();
				// 押金只能为整数
				int deposit = Integer.parseInt(depositTextField.getText());

				double rebate = getRebate(consumedTypeName);
				// 房间费用 = 折扣比例 * 处理过的消费时间 * 房间每小时费用
				int roomMoney = (int) (rebate * consumedtime * Integer
						.parseInt(roompriceTextField.getText().trim()));
				// 总费用 = 房间费用 + 商品消费额
				double fee = roomMoney + goodsConsumedMoney;
				rebateTextField.setText(String.valueOf(rebate));
				feeTextField.setText(String.valueOf(roomMoney));
				gci = new GuestConsumedInfo(consumedId, guestName, roomNumber,
						guestId, guestCheckInTime, guestCheckOutTime,
						consumedTime, goodsConsumedMoney, roomMoney,
						consumedTypeName, deposit, rebate, fee);
				// 在数据库中更新消费记录
				flag = new GuestConsumedDao().updateGuestConsumedInfo(gci);
			}
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}
		return flag;
	}

	private double getRebate(String consumedTypeName) {
		double rebate = new ConsumedTypeSettingDao()
				.getRebate(consumedTypeName);
		return rebate;
	}

	
	private JTextField getRebateTextField() {
		if (rebateTextField == null) {
			rebateTextField = new JTextField();
			rebateTextField
					.setBounds(new java.awt.Rectangle(310, 405, 100, 30));
			rebateTextField.setEditable(false);
		}
		return rebateTextField;
	}


	private JTextField getFeeTextField() {
		if (feeTextField == null) {
			feeTextField = new JTextField();
			feeTextField.setBounds(new java.awt.Rectangle(310, 450, 100, 30));
			feeTextField.setEditable(false);
		}
		return feeTextField;
	}

	// 取得所有的消费类型信息
	private Vector getAllKindsOfConsumedType() {
		Vector v = new ConsumedTypeSettingDao().getConsumedTypeInfo();
		return v;
	}

	// 通过消费流水号取得相应的宾客消费信息记录
	private static GuestConsumedInfo getAGuestConsumedInfo(String value) {
		return new GuestConsumedDao().getAGuestConsumedInfo(value);
	}

	// 通过房间号取得相应的房间信息
	private static Room getARoom(String value) {
		Room r = null;
		r = new RoomSettingDao().getARoom(value);
		return r;
	}

	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		JButton eventbutton = (JButton) e.getSource();
		if (eventbutton.getText().trim().equals("修改确定")) {
			if (checkInputValue()) {
				if (setGuestConsumedInfo()) {
					JOptionPane.showMessageDialog(null, "修改已成功", "提示信息",
							JOptionPane.WARNING_MESSAGE);
				}
			}
		}
	}

	// 该窗口所有输入信息的约束
	private boolean checkInputValue() {
		// boolean flag = false;
		Check check = new Check();
		if (check.checkInputIsNull(guestnameTextField.getText())) {
			JOptionPane.showMessageDialog(null, "宾客姓名不能为空", "提示信息",
					JOptionPane.YES_OPTION);
			guestnameTextField.requestFocus();
			return false;
		}
		if (check.checkIsContainNumber(guestnameTextField.getText().trim())) {
			JOptionPane.showMessageDialog(null, "宾客姓名不能包含数字", "提示信息",
					JOptionPane.YES_OPTION);
			guestnameTextField.requestFocus();
			return false;
		}
		if (check.checkIdCard(guestidTextField.getText().trim())) {
			JOptionPane.showMessageDialog(null, "宾客身份证号码不合法,必须是18位数字", "提示信息",
					JOptionPane.YES_OPTION);
			guestidTextField.requestFocus();
			return false;
		}
		if (check.checkInputIsNull(guestcheckouttimeTextField.getText())) {
			JOptionPane.showMessageDialog(null, "结账时间不能为空", "提示信息",
					JOptionPane.YES_OPTION);
			guestcheckouttimeTextField.requestFocus();
			return false;
		}
		if (!check.checkDateFormatIsLegal(guestcheckouttimeTextField.getText())) {
			JOptionPane.showMessageDialog(null, "结账时间只能是2008-04-07 00:12:25格式",
					"提示信息", JOptionPane.YES_OPTION);
			guestcheckouttimeTextField.requestFocus();
			return false;
		}
		if (check.checkInputIsNull(depositTextField.getText().trim())) {
			JOptionPane.showMessageDialog(null, "押金不能为空", "提示信息",
					JOptionPane.YES_OPTION);
			depositTextField.requestFocus();
			return false;
		}
		if (!check.checkIsContainCharactor(depositTextField.getText().trim())) {
			JOptionPane.showMessageDialog(null, "押金不能包含有字母", "提示信息",
					JOptionPane.YES_OPTION);
			depositTextField.requestFocus();
			return false;
		}
		return true;
	}
} 

⌨️ 快捷键说明

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