一、前言介绍
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了酒店客房管理系统的开发全过程。通过分析酒店客房管理系统管理的不足,创建了一个计算机管理酒店客房管理系统的方案。文章介绍了酒店客房管理系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。
本酒店客房管理系统有管理员,用户,会员,清洁人员。管理员功能有个人中心,用户管理,会员管理,清洁人员管理,客房信息管理,用户预约管理,会员预约管理,用户取消管理,会员取消管理,用户入住管理,会员入住管理,用户退房管理,会员退房管理,清扫房间管理,留言板管理,系统管理等。因而具有一定的实用性。
本站是一个B/S模式系统,后台采用 Spring
Boot框架,前台采用VUE框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得酒店客房管理系统管理工作系统化、规范化。本系统的使用使管理人员从繁重的工作中解脱出来,实现无纸化办公,能够有效的提高酒店客房管理系统管理效率。
二、系统结构
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7/8.0
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.3.9
浏览器:谷歌浏览器
本系统是基于B/S 架构的网站系统,设计的功能结构图如下图所示:
三、系统详细实现
3.1用户信息管理
酒店客房管理系统的系统管理员可以管理用户信息,可以对用户信息信息添加修改删除以及查询操作,具体界面的展示如图所示
3.2会员信息管理
系统管理员可以查看对会员信息信息进行添加,修改,删除以及查询操作。具体界面如图所示。
3.3客房信息管理
管理员可以对客房信息信息进行修改,删除以及查询操作。界面如下图所示:
3.4收藏客房管理
用户登录后可以对客房信息进行收藏,预定。界面如下图所示:
3.5用户入住管理
管理员可以对用户入住信息进行管理,可以添加,修改,删除以及清扫。界面如下图所示:
3.6客房清扫管理
清洁人员登录可以对用户入住的客房进行清扫。界面如下图所示:
四、部分核心代码
/** * 上传文件映射表 */ @RestController @RequestMapping("file") @SuppressWarnings({"unchecked","rawtypes"}) public class FileController{ @Autowired private ConfigService configService; /** * 上传文件 */ @RequestMapping("/upload") public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception { if (file.isEmpty()) { throw new EIException("上传文件不能为空"); } String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1); File path = new File(ResourceUtils.getURL("classpath:static").getPath()); if(!path.exists()) { path = new File(""); } File upload = new File(path.getAbsolutePath(),"/upload/"); if(!upload.exists()) { upload.mkdirs(); } String fileName = new Date().getTime()+"."+fileExt; File dest = new File(upload.getAbsolutePath()+"/"+fileName); file.transferTo(dest); /** * 如果使用idea或者eclipse重启项目,发现之前上传的图片或者文件丢失,将下面一行代码注释打开 * 请将以下的"D:\\springbootq33sd\\src\\main\\resources\\static\\upload"替换成你本地项目的upload路径, * 并且项目路径不能存在中文、空格等特殊字符 */ // FileUtils.copyFile(dest, new File("D:\\springbootq33sd\\src\\main\\resources\\static\\upload"+"/"+fileName)); /**修改了路径以后请将该行最前面的//注释去掉**/ if(StringUtils.isNotBlank(type) && type.equals("1")) { ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile")); if(configEntity==null) { configEntity = new ConfigEntity(); configEntity.setName("faceFile"); configEntity.setValue(fileName); } else { configEntity.setValue(fileName); } configService.insertOrUpdate(configEntity); } return R.ok().put("file", fileName); } /** * 下载文件 */ @IgnoreAuth @RequestMapping("/download") public ResponseEntity<byte[]> download(@RequestParam String fileName) { try { File path = new File(ResourceUtils.getURL("classpath:static").getPath()); if(!path.exists()) { path = new File(""); } File upload = new File(path.getAbsolutePath(),"/upload/"); if(!upload.exists()) { upload.mkdirs(); } File file = new File(upload.getAbsolutePath()+"/"+fileName); if(file.exists()){ /*if(!fileService.canRead(file, SessionManager.getSessionUser())){ getResponse().sendError(403); }*/ HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentDispositionFormData("attachment", fileName); return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED); } } catch (IOException e) { e.printStackTrace(); } return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR); } } RestController @RequestMapping("/kechengchengji") public class KechengchengjiController { @Autowired private KechengchengjiService kechengchengjiService; /** * 后端列表 */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,KechengchengjiEntity kechengchengji, HttpServletRequest request){ String tableName = request.getSession().getAttribute("tableName").toString(); if(tableName.equals("jiaoshi")) { kechengchengji.setJiaoshizhanghao((String)request.getSession().getAttribute("username")); } if(tableName.equals("xuesheng")) { kechengchengji.setXuehao((String)request.getSession().getAttribute("username")); } EntityWrapper<KechengchengjiEntity> ew = new EntityWrapper<KechengchengjiEntity>(); PageUtils page = kechengchengjiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kechengchengji), params), params)); return R.ok().put("data", page); } /** * 前端列表 */ @IgnoreAuth @RequestMapping("/list") public R list(@RequestParam Map<String, Object> params,KechengchengjiEntity kechengchengji, HttpServletRequest request){ EntityWrapper<KechengchengjiEntity> ew = new EntityWrapper<KechengchengjiEntity>(); PageUtils page = kechengchengjiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kechengchengji), params), params)); return R.ok().put("data", page); } /** * 列表 */ @RequestMapping("/lists") public R list( KechengchengjiEntity kechengchengji){ EntityWrapper<KechengchengjiEntity> ew = new EntityWrapper<KechengchengjiEntity>(); ew.allEq(MPUtil.allEQMapPre( kechengchengji, "kechengchengji")); return R.ok().put("data", kechengchengjiService.selectListView(ew)); } /** * 查询 */ @RequestMapping("/query") public R query(KechengchengjiEntity kechengchengji){ EntityWrapper< KechengchengjiEntity> ew = new EntityWrapper< KechengchengjiEntity>(); ew.allEq(MPUtil.allEQMapPre( kechengchengji, "kechengchengji")); KechengchengjiView kechengchengjiView = kechengchengjiService.selectView(ew); return R.ok("查询课程成绩成功").put("data", kechengchengjiView); } /** * 后端详情 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ KechengchengjiEntity kechengchengji = kechengchengjiService.selectById(id); return R.ok().put("data", kechengchengji); } /** * 前端详情 */ @IgnoreAuth @RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id){ KechengchengjiEntity kechengchengji = kechengchengjiService.selectById(id); return R.ok().put("data", kechengchengji); } /** * 后端保存 */ @RequestMapping("/save") public R save(@RequestBody KechengchengjiEntity kechengchengji, HttpServletRequest request){ kechengchengji.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(kechengchengji); kechengchengjiService.insert(kechengchengji); return R.ok(); } /** * 前端保存 */ @RequestMapping("/add") public R add(@RequestBody KechengchengjiEntity kechengchengji, HttpServletRequest request){ kechengchengji.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(kechengchengji); kechengchengjiService.insert(kechengchengji); return R.ok(); } /** * 修改 */ @RequestMapping("/update") public R update(@RequestBody KechengchengjiEntity kechengchengji, HttpServletRequest request){ //ValidatorUtils.validateEntity(kechengchengji); kechengchengjiService.updateById(kechengchengji);//全部更新 return R.ok(); } /** * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ kechengchengjiService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } /** * 提醒接口 */ @RequestMapping("/remind/{columnName}/{type}") public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) { map.put("column", columnName); map.put("type", type); if(type.equals("2")) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); Date remindStartDate = null; Date remindEndDate = null; if(map.get("remindstart")!=null) { Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate = c.getTime(); map.put("remindstart", sdf.format(remindStartDate)); } if(map.get("remindend")!=null) { Integer remindEnd = Integer.parseInt(map.get("remindend").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate = c.getTime(); map.put("remindend", sdf.format(remindEndDate)); } } Wrapper<KechengchengjiEntity> wrapper = new EntityWrapper<KechengchengjiEntity>(); if(map.get("remindstart")!=null) { wrapper.ge(columnName, map.get("remindstart")); } if(map.get("remindend")!=null) { wrapper.le(columnName, map.get("remindend")); } String tableName = request.getSession().getAttribute("tableName").toString(); if(tableName.equals("jiaoshi")) { wrapper.eq("jiaoshizhanghao", (String)request.getSession().getAttribute("username")); } if(tableName.equals("xuesheng")) { wrapper.eq("xuehao", (String)request.getSession().getAttribute("username")); } int count = kechengchengjiService.selectCount(wrapper); return R.ok().put("count", count); } }
热门文章
最新文章
相关实验场景
更多相关内容推荐
晋州制作网站广告网站制作网站连平网站制作中山口碑好的网站设计制作三维模型制作教学视频网站嘉定区第三方网站制作价格结算网站制作定西市用网页设计制作网站甘肃网站建设制作设计费用网站制作沈阳宁波网站制作多少钱一年邱县网站制作人偶制作网站网站制作小白风景视频制作图片素材网站西安市门户网站的制作公司网站制作金泉网制作网站快捷汉中网站前端制作电话号码广告特效字体视频制作网站恶作剧网站制作答题制作网站日本人制作八爪鱼视频网站有什么好的小视频制作网站国外制作直升机的视频网站清远网站建设制作厂家电话idc网站制作网站制作烟台日语网站制作嘉兴怎么制作一个3d网站canva制作网站如何制作一个网站下载功能制作网站的参考网站制作网站的最大公司是哪家油画制作网站网站图制作odoo制作网站国外制作小汽车的视频网站慈溪网站制作网站制作网站平台网站面板制作茶艺网站制作网站制作投标sketch网站制作绍兴网站公司网站制作襄樊较好的网站制作服务商南山网站制作网站建设黄陵网站制作鼓楼区企业网站制作哪家好网站基础制作版纳网站制作网站挂件制作网上制作网站乡宁网站制作绍兴网站建设制作多少钱网站资源制作兰州做的时间长的网站制作制作网站 文档我的世界制作视频网站下载志丹网站制作抖音上官方网站怎么制作广元电子商务网站制作招聘夹江网站制作制作综合网站传世网站制作git制作网站公司企业网站制作流程培训用丝袜制作飞机杯视频网站同安区企业网站建设制作东山制作网站无锡h5网站制作价格江门口碑好的网站制作平台中国古装人偶制作视频网站能制作龙头像的网站是什么网站制作命令网站制作生日mobi制作网站二维码在线制作网站有哪些卢湾网站制作保定化妆品网站建设制作伊春制作网站岚皋网站制作有名气的门户网站制作人制作传奇网站如何制作一个个人网站网站制作 wordpress法国网站制作azure制作网站坂田h5网站制作哪家强网站制作梁平宝山区媒体网站制作价格公明h5网站制作肇庆好的网站制作多少钱logo网站制作四川多平台小程序制作网站微信二维码网站制作晋源区网站制作移动网站建设制作开发软件汉中网站制作厂家报价单mixed网站制作云龙区营销型网站制作公司即墨制作网站制作logo 网站宝钢网站制作恋与制作人小说免费网站网站制作报表登封网站制作网站建设网站网站制作学校制作抖音头像的网站有哪些制作回执网站图库制作网站萧山区企业网站制作价格个体网站制作台州外贸网站制作电话号码商洛制作网站flask制作网站签字制作网站西乡响应式网站制作多少钱白山制作网站网站制作入玲珑网站制作延平网站制作德惠网站制作多语言网站制作哪家公司好网站制作綦江礼盒制作网站买书网站制作中山专业网站制作多少钱网站制作网站推广方案网站制作的网站名称友谊网站制作企业网站开发制作公司排名网站制作临汾制作网站厂家光明h5网站制作哪家强德惠网站制作电缆网站制作手机制作一个优质网站制作海报制作网站泸州网站制作的网站长沙门户网站制作服务费用制作网站钓鱼平湖网站制作网站建设gi制作网站玄武区营销型网站制作好吗六安网站建设开发与制作单人网站制作般若网站制作专业制作有声图书馆的网站南通中小企业网站制作价格制作二次元游戏的网站模板制作网站耒阳网站制作制作pc网站嵩县网站制作赫章网站制作制作标识网站制作签证网站天津 网站 制作同安区企业网站建设制作成都网站制作公司网站朗读网站制作南宁网站建设制作多少钱钓鱼网站制作两种方式制作网站尺寸昂仁网站制作杭州网站建设制作多少钱七台河公司网站制作改版网站制作排版micsoft 网站制作茂名网站建设制作网络公司圆形百分比数据图制作网站网站制作制作zzzzws制作模版网站杭州网站制作二次开发中小企业网站建设制作方法网站作品制作昆明制作网站车展网站制作nike网站制作网站制作吗柳城网站制作weebly网站制作企业网站制作哪家更好一些企业门户网站建设制作开发旺苍网站制作长治 网站制作奉节学校网站制作多少钱制作金刚网站工作室网站建设制作方法蓬江区外贸网站设计制作网站制作淄博制作杀人网站常熟网站制作网站建设志成网站制作制作数据库的网站有哪些舟山网站制作网站建设制作网站原理网站制作网站维护ch制作网站