if(arows.length + tb2.getRowCount() > 5) {
JOptionPane.showMessageDialog(null, "最多只能追加四间客房," +
"入住五间以上客房请使用团体开单", "提示", JOptionPane.INFORMATION_MESSAGE);
return;
}
int ar = 0;
int zr = zRooms; //记录房间数量,配合事务工作
String sqlCode[] = new String[arows.length * 2];
if(arows.length > 0) {
for (int i = 0; i < arows.length; i++) {
sqlCode[ar] = "insert into roomnum(roomid) values('" +
dtm1.getValueAt(arows[i], 0) + "')";//加入开单列表
ar++;
//清除可供列表
sqlCode[ar] = "update roominfo set indimark=1 where " +
"delmark=0 and id='" + dtm1.getValueAt(arows[i], 0) + "'";
ar++;
zRooms++; //记数器 +1
}//Endfor
int flag = sunsql.runTransaction(sqlCode);
if(flag < arows.length) {
JOptionPane.showMessageDialog(null, "添加失败,请检查
网络情况",
"提示", JOptionPane.INFORMATION_MESSAGE);
zRooms = zr;
return;
}//Endif
initDTM1(); //刷新可供列表
initDTM2(); //刷新开单列表
}else {
JOptionPane.showMessageDialog(null, "请在可供房间列表中选中指定房间," +
"再追加", "提示", JOptionPane.INFORMATION_MESSAGE);
return;
}//endif
}
图13 散客开单主要代码
6.1.4 团体开单
团体开单中每个宾客最多可以开5间以上客房相同类型的房间或者是不同类型的房间,团体开单界面主要是提供团体入住宾客的信息登记和增加房间等操作。团体开单押金至少为1000元,在输入押金的时候要注意,因为系统不能识别金钱¥符号故在开发系统是用0代替,在输入押金时先输入0再输入押金数目,例如输入押金100的输入方式为0100。团体宾客入住只需要一位宾客在前台登记就可以为所有团体成员实现客房入住操作,不但节约了宾客的时间,也简化了系统操作员的工作量。当开单成功后就会改变房间状态为占用状态。团体开单程序流程如图14所示:
图14 团体开单程序流程图
图15 团体开单图
团体开单中增加房间的主要代码如图16所示:
private void addRoom() {
//获得选择的行号
int arows[] = tb1.getSelectedRows();
if(arows.length + tb2.getRowCount() > 5) {
JOptionPane.showMessageDialog(null, "最多只能追加四间客房," +
"入住五间以上客房请使用团体开单", "提示", JOptionPane.INFORMATION_MESSAGE);
return;
}
int ar = 0;
int zr = zRooms; //记录房间数量,配合事务工作
String sqlCode[] = new String[arows.length * 2];
if(arows.length > 0) {
for (int i = 0; i < arows.length; i++) {
sqlCode[ar] = "insert into roomnum(roomid) values('" +
dtm1.getValueAt(arows[i], 0) + "')";//加入开单
列表 ar++;
//清除可供列表
sqlCode[ar] = "update roominfo set indimark=1 where " +
"delmark=0 and id='" + dtm1.getValueAt(arows[i], 0) + "'";
ar++;
zRooms++; //记数器 +1
}//Endfor
int flag = sunsql.runTransaction(sqlCode);
if(flag < arows.length) {
JOptionPane.showMessageDialog(null, "添加失败,请检查网络情况",
"提示", JOptionPane.INFORMATION_MESSAGE);
zRooms = zr;
return;
}//Endif
initDTM1(); //刷新可供列表
initDTM2(); //刷新开单列表
}else {
JOptionPane.showMessageDialog(null, "请在可供房间列表中选中指定房间," +
"再追加", "提示", JOptionPane.INFORMATION_MESSAGE);
return;
}//endif
}
图16 团体开单主要代码
6.1.5 宾客预定
宾客可以通过电话或者是网络提前预定宾馆房间