package com.shxt.jx1.hcy.action;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.shxt.jx1.hcy.bean.PageBean;
import com.shxt.jx1.hcy.dao.Dao;
import com.shxt.jx1.hcy.factory.DaoFactory;
import com.shxt.jx1.hcy.model.FoodConsumption;
import com.shxt.jx1.hcy.model.GoodsConsumption;
import com.shxt.jx1.hcy.model.Member;
import com.shxt.jx1.hcy.model.Room;
import com.shxt.jx1.hcy.model.RoomUsage;
import com.shxt.jx1.hcy.model.User;
import com.shxt.jx1.hcy.util.PageTools;
public class RoomUsageAction extends ActionSupport {
private static final long serialVersionUID = -1014887161655260936L;
private int id;
private int roomID; // Room room;
private int memberID; // Member member;
private String name;
private String IDCard;
private String tel;
private int count; //人数
private int status; //0:空闲 1:预定 2:入住
private Date checkInTime;
private Date checkOutTime;
private int sum;
//private int userID; // User user;
private Set<FoodConsumption> foodCon;
private Set<GoodsConsumption> goodsCon;
private Room room;
private RoomUsage ru;
private int preStatus;
private String sRoomName;
private String sType;
private String sStatus;
private PageBean pageBean;
private List<String[]> clientList;
private String clientIDCard;
private List<RoomUsage> ruList;
private List<Float> ruSumList;
private float total;
private float discount;
private long day;
private Dao dao = DaoFactory.getDaoBean();
private String next;
public String toBook() {
try {
room = (Room) dao.getObjectById(Room.class, roomID);
next = "room/book.jsp";
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
public String book() {
try {
room = (Room) dao.getObjectById(Room.class, roomID);
Member member = (Member) dao.getObjectById(Member.class, memberID);
User user = (User) dao.getObjectById(User.class, (Integer) ActionContext.getContext().getSession().get("id"));
RoomUsage ru = new RoomUsage(room, member, name, IDCard, tel, count, 1, checkInTime, checkOutTime, room.getType().getPrice(), user);
dao.save(ru);
room.setStatus(1);
dao.update(room);
next = "commclose.jsp";
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
public String toCheckIn() {
try {
if (preStatus == 0) { // preStatus=0:空闲->入住:查询客房信息,前往入住登记页填写入住资料(客房使用记录)
room = (Room) dao.getObjectById(Room.class, roomID);
ru = new RoomUsage();
ru.setRoom(room);
next = "room/checkIn0.jsp";
} else { // preStatus=1:预订->入住:查询客房信息和客房使用记录(已预订),再前往入住登记页确认入住
List<RoomUsage> ruList = dao.getListByHql("from RoomUsage where status = 1 and room.id = " + roomID);
ru = ruList.get(0);
next = "room/checkIn1.jsp";
}
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
public String checkIn1() {
try {
// preStatus=1:预订->入住:修改入住资料,修改客房状态
//List<RoomUsage> ruList = dao.getListByHql("from RoomUsage where status = 1 and room.id = " + roomID);
//ru = ruList.get(0);
ru = (RoomUsage) dao.getObjectById(RoomUsage.class, id);
if (ru.getMember() == null) {
Member member = (Member) dao.getObjectById(Member.class, memberID);
ru.setMember(member);
}
ru.setCheckInTime(new Date());
ru.setStatus(2);
dao.update(ru);
//room = (Room) dao.getObjectById(Room.class, roomID);
room = ru.getRoom();
room.setStatus(2);
dao.update(room);
next = "commclose.jsp";
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
public String checkIn0() {
try {
// preStatus=0:空闲->入住:填写入住资料(客房使用记录),修改客房状态
room = (Room) dao.getObjectById(Room.class, roomID);
System.out.println(" ***** RoomUsageAction->checkIn()->preStatus==0 - memberID=" + memberID);
Member member = (Member) dao.getObjectById(Member.class, memberID); // 若不是会员则member=null
User user = (User) dao.getObjectById(User.class, ((User) ActionContext.getContext().getSession().get("user")).getId());
RoomUsage ru = new RoomUsage(room, member, name, IDCard, tel, count, 2, new Date(), checkOutTime, room.getType().getPrice(), user);
dao.save(ru);
room.setStatus(2);
dao.update(room);
next = "commclose.jsp";
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
public String maintain() {
try {
room = (Room) dao.getObjectById(Room.class, roomID);
room.setStatus(3);
dao.update(room);
next = "commclose.jsp";
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
public String finishMaintain() {
try {
room = (Room) dao.getObjectById(Room.class, roomID);
room.setStatus(0);
dao.update(room);
next = "commclose.jsp";
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
@SuppressWarnings("deprecation")
public String toCheckOut() { //根据客房id获取客房使用记录及餐饮消费、日常用品消费信息
try {
ru = (RoomUsage) dao.getObjectById(RoomUsage.class, id);
//计算金额
Date out = new Date();
Date in = ru.getCheckInTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date innoon = sdf.parse((in.getYear()+1900)+"-"+(in.getMonth() + 1)+"-"+in.getDate()+" 12:00:00");
long days = out.getTime() - innoon.getTime();
day = (days + 1) / 86400000;
total = ru.getSum();
if (ru.getMember() != null) { //按会员积分情况打折
int credit = ru.getMember().getCredit();
if (credit < 500) {
discount = 0.95f;
total *= discount;
} else if (credit < 2500) {
discount = 0.9f;
total *= discount;
} else {
discount = 0.8f;
total *= discount;
}
} else {
discount = 1f;
}
total *= day;
for (FoodConsumption fc : ru.getFoodCon()) {
total += fc.getFood().getPrice();
}
for (GoodsConsumption gc : ru.getGoodsCon()) {
total += gc.getGoods().getPrice();
}
next = "finance/checkOut.jsp";
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
public String checkOut() {
try {
Date date = new Date();
ru = (RoomUsage) dao.getObjectById(RoomUsage.class, id);
ru.setCheckOutTime(date);
total = ru.getSum();
total *= day;
if (ru.getMember() != null) {
total *= discount;
Member member = ru.getMember();
member.setCredit(member.getCredit() + (int)total);
dao.update(member);
}
ru.setSum(total); //客房消费
for (FoodConsumption fc : ru.getFoodCon()) {
fc.setStatus(0);
dao.update(fc);
}
for (GoodsConsumption gc : ru.getGoodsCon()) {
gc.setStatus(0);
dao.update(gc);
}
ru.setStatus(0);
Room room = ru.getRoom();
room.setStatus(0);
dao.update(room);
dao.update(ru);
next = "commclose.jsp";
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
public String query() {
try{
int pageRows = 10;
String hql = "from Room where 1 = 1";
if (sRoomName != null && !sRoomName.equals("")) {
hql = hql + " and roomName like '%" + sRoomName.trim() + "%'";
}
if (sType != null && !sType.equals("") && !sType.equals("0")) {
hql = hql + " and type.id = " + sType;
}
if (sStatus != null && !sStatus.equals("") && !sStatus.equals("4")) {
hql = hql + " and status = " + sStatus;
}
if(
没有合适的资源?快使用搜索试试~ 我知道了~
hcy.zip_4 3 2 1_客房管理
共371个文件
gif:118个
class:41个
java:41个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 75 浏览量
2022-09-21
19:29:48
上传
评论
收藏 5.84MB ZIP 举报
温馨提示
客房服务管理系统 系统要求包含:1.房务管理 2.销售管理 3.账务管理 4.员工管理 5.查询统计 6.角色管理
资源推荐
资源详情
资源评论
收起资源包目录
hcy.zip_4 3 2 1_客房管理 (371个子文件)
RoomUsageAction.class 16KB
UserAction.class 9KB
GoodsAction.class 7KB
FoodAction.class 6KB
RoomAction.class 6KB
DaoBean.class 6KB
AjaxAction.class 5KB
RoomUsage.class 4KB
StatisticsAction.class 4KB
RoomTypeAction.class 4KB
LoginServlet.class 4KB
CisForMD5.class 3KB
User.class 3KB
CreateUser.class 3KB
StrutsUploadUtils.class 3KB
CreateRolePower.class 2KB
HibernateSessionFactory.class 2KB
MemberAction.class 2KB
Power.class 2KB
LoginAction.class 2KB
CopyFileTools.class 2KB
LoginFilter.class 2KB
PageBean.class 2KB
Member.class 2KB
CreateFood.class 2KB
Food.class 2KB
GoodsConsumption.class 2KB
FoodConsumption.class 2KB
Room.class 1KB
Test.class 1KB
Role.class 1KB
Goods.class 1KB
RoomType.class 1KB
CreateFoodLevel.class 1KB
Dao.class 965B
CreateRoomType.class 953B
FoodLevel.class 936B
CreateDB.class 787B
PageTools.class 570B
DaoFactory.class 456B
LoginService.class 311B
.classpath 2KB
org.eclipse.wst.common.component 447B
org.eclipse.wst.jsdt.ui.superType.container 49B
jquery-ui-1.8.21.custom.css 25KB
jquery.ui.theme.css 18KB
jquery.ui.theme.css 17KB
fox.css 7KB
skin.css 5KB
datepicker.css 4KB
datepicker.css 4KB
jquery.ui.tabs.css 1KB
jquery.ui.tabs.css 1KB
jquery.ui.dialog.css 1KB
jquery.ui.dialog.css 1KB
jquery.ui.core.css 1KB
jquery.ui.core.css 1KB
jquery.ui.resizable.css 1KB
jquery.ui.resizable.css 1KB
jquery.ui.slider.css 1KB
jquery.ui.slider.css 1KB
jquery.ui.accordion.css 1KB
jquery.ui.accordion.css 1KB
jquery.ui.progressbar.css 376B
jquery.ui.progressbar.css 376B
jquery.ui.all.css 292B
jquery.ui.all.css 292B
jquery.ui.base.css 265B
jquery.ui.base.css 265B
WdatePicker.css 158B
login-content-bg.gif 59KB
login-wel.gif 9KB
logo.gif 6KB
menu_bg2.gif 4KB
servicezhgb2312.gif 3KB
buttom-right.gif 2KB
ershou_1.gif 2KB
ershou_2.gif 2KB
menu_bgs.gif 2KB
title.gif 2KB
sitebackup.gif 2KB
DefaultDocs.gif 2KB
menu_bg.gif 2KB
tool-down-pic.gif 2KB
buttom-left.gif 2KB
mime.gif 2KB
password.gif 2KB
ad.gif 2KB
img.gif 2KB
lminfo.gif 2KB
defind.gif 2KB
ipsecurity.gif 2KB
user-info.gif 2KB
img.gif 2KB
Redirects.gif 2KB
usercontrol.gif 2KB
menu_bg1.gif 1KB
lm.gif 1KB
Login_but.gif 1KB
pic19.gif 1KB
共 371 条
- 1
- 2
- 3
- 4
资源评论
JonSco
- 粉丝: 74
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功