📄 orderdao.java
字号:
/*
* 创建日期 2005-10-17
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package net.husthotel.datebase;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import net.husthotel.beans.AbstractOrder;
import net.husthotel.beans.Order;
/**
* @author 付俊杰
*
* TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class OrderDAO extends DataBase {
public OrderDAO() {
}
private boolean checkDate(Date tempCheckinDate, Date tempCheckoutDate,
Date checkinDate, Date checkoutDate) {
//System.out.println("generateRoomNoForOrder:" + tempCheckinDate.toString()+tempCheckoutDate.toString()+checkinDate.toString()+checkoutDate.toString());
if (tempCheckoutDate.compareTo(checkinDate) < 0
|| tempCheckinDate.compareTo(checkoutDate) > 0)
return true;
else
return false;
}
private String generateRoomNoForOrder(String roomType, Date checkinDate,
Date checkoutDate) throws SQLException, NoRoomAvailableException {
String roomNo = null;
ResultSet rst1, rst2;
Date tempCheckinDate, tempCheckoutDate;
boolean canAsign = false;
String sql1 = "select roomNum from room where roomState='free' and roomType='"
+ roomType + "'";
//String sql2 = "select checkinDate,checkoutDate from order where roomNum='"
//+ roomNo + "'";
// String sql2="select roomNo from room where roomState='free' and
// roomType='"+roomType+"'";
System.out.println("generateRoomNoForOrder:" + sql1 ); //-----------------
rst1 = executeQuery(sql1);
System.out.println("generateRoomNoForOrder:" ); //-----------------
while (rst1.next()) {
roomNo = rst1.getString("roomNum");
String sql2 = "select checkinDate,checkoutDate from hotelorder where roomNum='"
+ roomNo + "'";
rst2 = executeQuery(sql2);
if (!rst2.next()) {
canAsign = true;
//System.out.println(canAsign);//--------------
rst2.close();
}
else {
canAsign=true;
do {
tempCheckinDate = rst2.getDate("checkinDate");
tempCheckoutDate = rst2.getDate("checkoutDate");
System.out.println("generateRoomNoForOrder:" + tempCheckinDate.toString()+tempCheckoutDate.toString()+checkinDate.toString()+checkoutDate.toString());
if (checkDate(new java.sql.Date(tempCheckinDate.getTime()), new java.sql.Date(tempCheckoutDate.getTime()),
checkinDate, checkoutDate))
continue;
else {
canAsign = false;
break;
}
} while (rst2.next());
rst2.close();
}
if (canAsign == true) {
System.out.println("generateRoomNoForOrder:" + roomNo);
return roomNo;
}
}
rst1.close();
throw new NoRoomAvailableException("no room available exception.");
}
@SuppressWarnings({"deprecation","deprecation", "deprecation"})
public Order create(AbstractOrder border) throws SQLException,
NoRoomAvailableException {
Order corder = new Order();
String roomNo = null;
Date date = new java.sql.Date(border.getCheckinDate().getTime());
roomNo = generateRoomNoForOrder(border.getRoomType(), date
, new java.sql.Date(border.getCheckoutDate().getTime()));
String sql = "insert into hotelorder(orderNum,name,sex, telNum,bookDate, checkinDate,checkoutDate, roomType, bookNum, specialDesc,roomNum) values('"
+ roomNo//订单号根据分配的房间号+入住日期生成 (year-1900,month-1,day
+ date.getYear()
+ date.getMonth()
+ date.getDay()
+ "','"
+ border.getName()
+ "','"
+ border.getSex()
+ "','"
+ border.getTelNum()
+ "','"
+ new java.sql.Date(border.getBookDate().getTime())
+ "','"
+ new java.sql.Date(border.getCheckinDate().getTime())
+ "','"
+ new java.sql.Date(border.getCheckoutDate().getTime())
+ "','"
+ border.getRoomType()
+ "','"
+ border.getBookNum()
+ "','"
+ border.getSpecialDesc()
+ "','"
+ roomNo
+ "')";
System.out.println("generateRoomNoForOrder:" + roomNo
+ date.getYear() +"oooo"
+ date.getMonth() +"iiii"
+ date.getDay()
+ "','");
if (super.executeUpdate(sql)) {
corder.setBookDate(border.getBookDate());
corder.setBookNum("border.getBookNum()");
corder.setCheckinDate(border.getCheckinDate());
corder.setCheckoutDate(border.getCheckoutDate());
corder.setName("border.getName()");
corder.setRoomType("border.getRoomType()");
corder.setSex("border.getSex()");
corder.setSpecialDesc("border.getSpecialDesc()");
corder.setTelNum("border.getTelNum()");
}
return corder;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -