基于javaweb的SSM酒店管理系统(java+ssm+jsp+bootstrap+echarts+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

170023352402

180023352402

190023352402

200023352402

210023352402

230023352402

240023352402

基于javaweb的SSM酒店管理系统(java+ssm+jsp+bootstrap+echarts+mysql)

项目介绍

本项目为基于ssm+mysql实现的JavaWeb酒店管理系统; 主要功能包括:

管理员登录,收入统计,客房管理,商品管理,客房预订,住宿登记,财务统计,旅客管理,接待对象管理等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;  5.数据库:MySql 5.7版本; 6.是否Maven项目:否;

技术栈

  1. 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+CSS+JavaScript+jquery+bootstrap+echarts

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
		}
if (monthString4.length()==1) {
monthString4="0"+monthString4;
}
if (monthString5.length()==1) {
monthString5="0"+monthString5;
}
if (monthString6.length()==1) {
monthString6="0"+monthString6;
}
if (monthString7.length()==1) {
monthString7="0"+monthString7;
}
if (monthString8.length()==1) {
monthString8="0"+monthString8;
}
if (monthString9.length()==1) {
monthString9="0"+monthString9;
}
if (monthString10.length()==1) {
monthString10="0"+monthString10;
}
if (monthString11.length()==1) {
monthString11="0"+monthString11;
}
if (monthString12.length()==1) {
monthString12="0"+monthString12;
}
if (monthString13.length()==1) {
monthString13="0"+monthString13;
}
// Timestamp timestamp1=Timestamp.valueOf(year1+"-"+monthString1+"-"+"01"+" 00:00:00");
// Timestamp timestamp2=Timestamp.valueOf(year2+"-"+monthString2+"-"+"01"+" 00:00:00");
// Timestamp timestamp3=Timestamp.valueOf(year3+"-"+monthString3+"-"+"01"+" 00:00:00");
// Timestamp timestamp4=Timestamp.valueOf(year4+"-"+monthString4+"-"+"01"+" 00:00:00");
// Timestamp timestamp5=Timestamp.valueOf(year5+"-"+monthString5+"-"+"01"+" 00:00:00");
// Timestamp timestamp6=Timestamp.valueOf(year6+"-"+monthString6+"-"+"01"+" 00:00:00");
// Timestamp timestamp7=Timestamp.valueOf(year7+"-"+monthString7+"-"+"01"+" 00:00:00");
// Timestamp timestamp8=Timestamp.valueOf(year8+"-"+monthString8+"-"+"01"+" 00:00:00");
// Timestamp timestamp9=Timestamp.valueOf(year9+"-"+monthString9+"-"+"01"+" 00:00:00");
// Timestamp timestamp10=Timestamp.valueOf(year10+"-"+monthString10+"-"+"01"+" 00:00:00");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
		mv.addObject("listRT",listRT);
mv.addObject("id",id);
return mv;
}

//转为散客或转入团队
@RequestMapping("/changOver")
public ModelAndView changOver(Integer id,Integer receiveTargetID,Integer LvKeLeiXingId){
ModelAndView mv=null;
if (receiveTargetID==null) {
receiveTargetID=2;
}
stayRegisterService.changOverTeam(id, receiveTargetID);
mv=new ModelAndView("redirect:/StayRegister/tolist.do?LvKeLeiXingId="+LvKeLeiXingId);
return mv;
}




//ajax 安排房间的房间
@ResponseBody
@RequestMapping(value="/guestRoomLevelSelectRoom")
public Object guestRoomLevelSelectRoom(Integer guestRoomLevelID){
List<RoomSetPo> list=null;
if (guestRoomLevelID==0) {
list=roomSetService.selectAll();
}else {
list=roomSetService.levelSelectInformation(guestRoomLevelID);
}
Gson gson=new Gson();
return gson.toJson(list);
}

}
package com.gx.web;



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
		mv.addObject("qiTaXiaoFei",qiTaXiaoFei);
mv.addObject("yaJin",yaJin);
mv.addObject("list",list);
mv.addObject("listRT",listRT);
mv.addObject("id",id);
return mv;
}

//转为散客或转入团队
@RequestMapping("/changOver")
public ModelAndView changOver(Integer id,Integer receiveTargetID,Integer LvKeLeiXingId){
ModelAndView mv=null;
if (receiveTargetID==null) {
receiveTargetID=2;
}
stayRegisterService.changOverTeam(id, receiveTargetID);
mv=new ModelAndView("redirect:/StayRegister/tolist.do?LvKeLeiXingId="+LvKeLeiXingId);
return mv;
}




//ajax 安排房间的房间
@ResponseBody
@RequestMapping(value="/guestRoomLevelSelectRoom")
public Object guestRoomLevelSelectRoom(Integer guestRoomLevelID){
List<RoomSetPo> list=null;
if (guestRoomLevelID==0) {
list=roomSetService.selectAll();
}else {
list=roomSetService.levelSelectInformation(guestRoomLevelID);
}
Gson gson=new Gson();
return gson.toJson(list);
}

}
package com.gx.web;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
@RequestMapping("/tovolumeroom")
public ModelAndView tovolumeroom(Integer tuanDuiID, String teamName){
ModelAndView mv=null;
List<AttributePo> listPassengerType=attributeService.selectPassengerType(); //旅客类别
List<AttributePo> listBillUnit=attributeService.selectBillUnit(); //结账单位
List<AttributePo> listPayWay=attributeService.selectPayWay(); //结账方式
List<AttributePo> listRentOutType=attributeService.selectRentOutType(); //出租方式
mv=new ModelAndView("/stayregister/volumeroom");
mv.addObject("listPassengerType",listPassengerType);
mv.addObject("listBillUnit",listBillUnit);
mv.addObject("listPayWay",listPayWay);
mv.addObject("listRentOutType",listRentOutType);
mv.addObject("tuanDuiID",tuanDuiID);
mv.addObject("teamName",teamName);
return mv;
}

//批量安排房间
@RequestMapping("/volumeroom")
public ModelAndView volumeroom(String roomId,StayRegisterPo stayRegisterPo){
ModelAndView mv=null;
String[] FenGen=roomId.split(",");
stayRegisterPo.setIsBillID(68);
int chuZuFangShiId=stayRegisterPo.getRentOutTypeID(); //获取 出租方式
int tianShuOrZhongDian=Integer.parseInt(stayRegisterPo.getStayNumber()); //获取 住店天数/小时
double yaJin=stayRegisterPo.getDeposit()/FenGen.length;
stayRegisterPo.setDeposit(yaJin);
RoomSetPo roomSetPoToRoomState=new RoomSetPo();
roomSetPoToRoomState.setRoomStateID(65); //给新的 Po 赋房态的值

for (int i = 0; i < FenGen.length; i++) {
RoomSetPo roomSetPo=roomSetService.selectById(Integer.parseInt(FenGen[i])); //根据 房间ID 查询出唯一的数据
if(chuZuFangShiId==26){
double fagnJia=roomSetPo.getStandardPriceDay(); //获取房价/天
double sumConst=fagnJia*(tianShuOrZhongDian); //房价乘以天数得总费
stayRegisterPo.setSumConst(sumConst);
}else if(chuZuFangShiId==25){
double fagnJia=roomSetPo.getStandardPrice(); //获取房价/小时
int zuiDaShiChang=Integer.parseInt(roomSetPo.getMaxDuration()); //获取最大时长
int shouDuanShiChang=Integer.parseInt(roomSetPo.getFirstDuration()); //获取首段时长
double shouDuanJiGe=roomSetPo.getFirstPrice(); //获取首段价格
if (shouDuanShiChang >= tianShuOrZhongDian) {
double sumConst=shouDuanJiGe; //首时段时长大于 他输入的钟点数
stayRegisterPo.setSumConst(sumConst); //那么按 首段价格计算
}else if (shouDuanShiChang <= tianShuOrZhongDian && tianShuOrZhongDian <= zuiDaShiChang) {
int xiaoShi=tianShuOrZhongDian-shouDuanShiChang; //如果输入的钟点数 在 最大时长的范围之内
double sumConst= shouDuanJiGe+xiaoShi*fagnJia; // 且大于等于首段时长 ,那么 计算出
stayRegisterPo.setSumConst(sumConst); // 首段价格 加上 钟点数乘以 多出的每小时价格
}else if(tianShuOrZhongDian>zuiDaShiChang){
stayRegisterPo.setSumConst(roomSetPo.getStandardPriceDay()); //假如 输入的钟点数大于最大时长那么 按一天的价格计算
}
}
stayRegisterPo.setRoomID(Integer.parseInt(FenGen[i]));
stayRegisterService.insertAll(stayRegisterPo);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
double zhuDianTianShuOne=0;                   //住店天数

//散客的list查询
@RequestMapping("/tolist")
public ModelAndView tolist(HttpServletRequest request, Integer currentPage,
String txtname,Integer LvKeLeiXingId,Integer isBillID){
ModelAndView mv=null;

List<StayRegisterPo> listAll=stayRegisterService.selectAll();
Date date=new Date();
DateFormat dformat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //设置日期格式
Timestamp timestamp=Timestamp.valueOf(dformat.format(date)) ; //将当前时间转为字符串

int id=0;
long xiangChaTianShu;
long days;
long hours;
String zhuSu="";
for (int i = 0; i < listAll.size(); i++) {
id=listAll.get(i).getId(); //获取ID
Timestamp registerTime=listAll.get(i).getRegisterTime(); //获取登记时间
zhuSu=listAll.get(i).getStayNumber(); //获取登记时间

xiangChaTianShu=timestamp.getTime()-registerTime.getTime(); //当前时间-登记时间
days=xiangChaTianShu/(1000 * 60 * 60 * 24); //转化为天
hours=xiangChaTianShu/(1000 * 60 * 60 )-days*24; //转化为小时

if (Long.parseLong(zhuSu)<=days) {
if (hours>0) {
stayRegisterService.updateRemind(id, 1);
}
}
}

List<AttributePo> listOne=attributeService.selectIsPay();
mv=new ModelAndView("/stayregister/list");
if (isBillID==null) {
isBillID=68;
}
if (LvKeLeiXingId==null) {
LvKeLeiXingId=55;
}
if (currentPage==null) {
currentPage=1;
}else if (currentPage==0) {
currentPage=1;
}

Page<StayRegisterPo> vo=new Page<StayRegisterPo>();
vo.setCurrentPage(currentPage);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
		}else {
tZongFeiYong1+=list1.get(i).getSumConst();
}
}
for (int i = 0; i < list2.size(); i++) {
if (list2.get(i).getReceiveTargetID()==2) {
sZongFeiYong2+=list2.get(i).getSumConst();
}else {
tZongFeiYong2+=list2.get(i).getSumConst();
}
}
for (int i = 0; i < list3.size(); i++) {
if (list3.get(i).getReceiveTargetID()==2) {
sZongFeiYong3+=list3.get(i).getSumConst();
}else {
tZongFeiYong3+=list3.get(i).getSumConst();
}
}
for (int i = 0; i < list4.size(); i++) {
if (list4.get(i).getReceiveTargetID()==2) {
sZongFeiYong4+=list4.get(i).getSumConst();
}else {
tZongFeiYong4+=list4.get(i).getSumConst();
}
}
for (int i = 0; i < list5.size(); i++) {
if (list5.get(i).getReceiveTargetID()==2) {
sZongFeiYong5+=list5.get(i).getSumConst();
}else {
tZongFeiYong5+=list5.get(i).getSumConst();
}
}
for (int i = 0; i < list6.size(); i++) {
if (list6.get(i).getReceiveTargetID()==2) {
sZongFeiYong6+=list6.get(i).getSumConst();
}else {
tZongFeiYong6+=list6.get(i).getSumConst();
}
}
for (int i = 0; i < list7.size(); i++) {
if (list7.get(i).getReceiveTargetID()==2) {
sZongFeiYong7+=list7.get(i).getSumConst();
}else {
tZongFeiYong7+=list7.get(i).getSumConst();
}
}
for (int i = 0; i < list8.size(); i++) {
if (list8.get(i).getReceiveTargetID()==2) {
sZongFeiYong8+=list8.get(i).getSumConst();


项目链接:
https://javayms.github.io?id=191122542008200sh
https://javayms.pages.dev?id=191122542008200sh