《方讯酒店管理系统操作手册——MVC》项目研发阶段性总结

版权声明:本文为博主原创文章,转载请附上博文链接! https://blog.csdn.net/qq_41890694/article/details/87093381


作者: 张国军_Suger
本次任务完成时间:2017年08月15日~2018年03月12日
开发工具与关键技术:Visual Studio 2015、SQL Server 2014 .NET、MVC、bootstrap3.3.7
完成模块功能:后台功能与前台功能

一、后台功能实现

(一)、登录界面

进入登录界面后,选择操作员、输入正确的口令以及验证码,
添加验证码的目的是为了提高登录的安全性,因此口令以及验证码都是经过AES加密的。

登录界面

(二)、系统界面

登录进入后进入主界面,主界面首页显示的是客房的相关信息!
在这里分为两部分:(1)、左边的是操作模块。(2)、右边是操作板块所对应的显示板块!

系统界面

(三)、系统管理模块

(1)、操作员、操作权限设置模块

操作员信息包括新增、修改、删除等的操作 :包含字段。
这里用户信息包含:
      ✍姓名:唯一的可用来登录系统
      ✍工号:身份标志
      ✍部门、分组权限:决定登录系统的权限
      ✍初始口令、确定口令:两次输入的口令必须一致,如果初始口令与确认口令不对应当操作员点击应用按钮是则会弹出显示框提示错误。

操作员、操作权限设置

(1-1)、选择部门
部门信息的查询、新增、修改、删除:
主要是对部门信息的查询选择,如果当前没有您所需的部门可以进行新增本部门!
又或者某个部门已经更名了这里却还未更改,则可以对该部门进行修改!
如若某个部门已经不存在,就可以选中后点击删除!

选择部门
操作员对新增或修改的操作员的部门进行选择,如果没有所要选择的部门,可以点击新增按钮进行新增所需的部门,或者有些部门改名了,也可以修改部门名称,若该部门已经不存在也可以选择删除该部门。如下面几张图所示:
选择部门选择部门选择部门选择部门选择部门选择部门选择部门选择部门选择部门选择部门选择部门选择部门选择部门选择部门选择部门选择部门选择部门

(1-2)、单位设置

单位信息包括查询、修改等的操作 :包含字段。
这里单位信息包含:
      ✍单位名称:用于打印是显示单位名称
      ✍所属地区、详细地址、邮政编码、网址:用于旅客查看该酒店的地址
      ✍电话号码、传真、电子邮件、联系人:用于旅客查看后联系该酒店的方式。

单位设置单位设置单位设置单位设置单位设置单位设置单位设置单位设置

(2)、修改口令

操作员口令:
这里操作员信息包含:
      ✍帐套:用户登录信息
      ✍操作员:唯一的可用来登录系统
      ✍旧口令:输入的旧口令必须与原密码一致
      ✍新口令与确认新口令:两次密码必须一致。

修改口令

(四)、住宿登记模块

(1)、旅客登记

旅客登记含☞散客登记☜和☞团队.会议登记☜,有散客入住时,转到☞散客登记☜栏,
单击按钮☞+房间☜开始安排散客房间,如图下图所示:
旅客登记旅客登记
先选择要安排的房间,选择方式:
1.也可以在☞房态☜栏中单击显示的空房选择房间,
2.或直接在房间号栏的下拉列表中选择房间,系统自动调出房间相关信息。
3.填上登记时间、出租方式、旅客类别等信息,输入完毕后,单击☞确认☜按钮。
选择要安排的房间
批量安排房间如下几张图所示!双击相应行即可选择房间!
批量安排房间批量安排房间批量安排房间
旅客信息:
旅客信息
选择需要读取或新增旅客信息的客房后点击旅客信息按钮进行旅客信息的登记和修改旅客及房间信息!如下图所示:
读取或新增旅客信息的客房读取或新增旅客信息的客房
对相应客房的旅客信息填写完毕后,确定无误后点击确定按钮即可对该客房的旅客信息进行修改!
下图即为刚才新增或修改的旅客信息!
新增或修改的旅客信息
读取身份证信息:
读取身份证信息
证件扫描:
选择需要进行证件扫描的客房信息进行证件扫描操作!由于没有做证件扫描该功能!
本人现在只是绑定了相应的旅客信息到证件扫描页面!如下图所示:
证件扫描证件扫描
押金记录:
选择需要查询或新增押金记录的客房,点击押金记录即可对该客房进行查询和新增押金记录信息!
押金记录用于记录旅客住宿期间所交的押金!
押金记录押金记录押金记录
单击图中按钮☞+押金记录☜,系统弹出新增押金记录的对话框,在追加押金栏中输入金额,
再选择或输入押金支付方式,然后鼠标点击☞确认☜按钮即可,为保证押金记录的完整,
系统不允许修改或删除押金记录,如果多输入了押金,可以追加一条负数来平衡押金记录 ,退押金给旅客也应该输入负数。
为了方便操作员,也可以在登记旅客信息或登记旅客消费时选择押金栏输入旅客押金。
押金记录押金记录押金记录
更换房间:
旅客在住宿期间,可能由于旅客要求或者酒店调整房间的原因需要给旅客更换房间,这时可以单击上图中按钮☞换房☜用于给旅客换房,如图下所示
更换房间更换房间更换房间更换房间更换房间
选择新房间号及新房价,单击按钮☞确认☜,则换房完毕。
换房费:旅客因换房产生的原房间的住宿费+电话费,由系统自动计算。
说明:旅客换房后,原房间产生的住宿费和电话费转入新房间的☞换房费☜项目中,在旅客结帐时一并结算,原房间的散客押金和旅客的其它消费明细转为新房间的散客押金和其它消费明细。
换房费换房费
散客转团队:
散客转团队散客转团队
如果在接待对象列表中没有需要的团队,则单击☞+接待对象☜按钮即可增加团队。界面如下:
接待对象列表接待对象列表接待对象列表接待对象列表接待对象列表接待对象列表接待对象列表接待对象列表
团队、会议登记:
团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记团队、会议登记

(2)、预订信息

预订信息预订信息预订信息预订信息预订信息预订信息预订信息

(3)、财务交接

财务交接财务交接财务交接财务交接财务交接财务交接财务交接财务交接财务交接财务交接财务交接财务交接财务交接财务交接财务交接财务交接

(4)、客房设置

客房设置

(1-1)、客房设置

客房信息包括新增、修改、删除等的操作 :包含字段。
这里客房信息包含:
      ✍房间号:用于查询或修改时标记
      ✍客房等级:设置当前客房的客房等级
      ✍房态:设置当前客房的房态
      ✍床位数:根据旅客进行设置
      ✍标准房价、首段时长、首段价格、首段后房价:根据酒店需要进行设置。

客房设置客房设置客房设置客房设置客房设置客房设置客房设置客房设置客房设置

(1-2)、商品设置

商品设置商品设置商品设置商品设置商品设置商品设置商品设置商品设置商品设置商品设置商品设置

(5)、参数设置

参数设置
押金方式设置
押金方式设置
新增完成后点击保存及可新增相应的押金方式
押金方式设置押金方式设置押金方式设置
点击相应的押金方式即可进行相应的押金方式修改!
押金方式押金方式押金方式押金方式
结账方式设置:新增完成后点击保存即可完成新增保存操作
结账方式设置结账方式设置结账方式设置结账方式设置结账方式设置结账方式设置
修改完成后点击保存即可完成修改保存操作
结账方式设置结账方式设置
结账单位设置:
结账单位设置结账单位设置
填写新增完整后即可点击新增保存按钮进行保存操作
结账单位设置结账单位设置结账单位设置
删除结账单位
删除结账单位删除结账单位

(6)、常用选项设置

主要是根据酒店的需要对一些常用的选项进行管理如民族、旅客级别、证件名称、入境地点、文化程度、事由、职业、签证及有效期以及旅客须知等的信息的管理,如查询、新增、修改、删除等的操作。如下图
常用选项设置
民族:
民族民族民族民族民族民族民族
旅客级别:
旅客级别旅客级别旅客级别旅客级别旅客级别
证件名称:
证件名称证件名称证件名称
入境地点:
入境地点入境地点入境地点入境地点
后面的常用选择设置基本操作都是如此的,这里就不一一演示了!

(五)、客房查询模块

客房查询模块

(1)、客房消费、押金催缴

客房消费、押金催缴客房消费、押金催缴

(2)、在住旅客查询

         先选择查询字段(旅客姓名、房间号、证件号码、旅客级别、接待对象、登记时间等);再选择比较符;然后输入相应的比较值 。
         输入查询条件后,点击“查询”按钮,系统将直接定位到第一条符合查询条件的住宿登记记录上,如果有多条记录符合条件,可以点击上图右边的箭头按钮定位到相应的记录上。
         非总台人员可以选择菜单“客房查询”☞ “在住旅客查询”,如下图所示:
         先选择查询字段(房间号、姓名、证件号码、旅客级别、接待对象、登记时间等);再选择比较符 ;然后输入相应的比较值,单击[查询]按钮,则在列表显示出满足条件的在住旅客。
在住旅客查询

(六)、结账、查询模块

结账、查询模块

(1)、散客结账

散客结账散客结账散客结账
结账报表:
结账报表结账报表

(2)、结账查询、统计

结账查询、统计

二、前台功能实现

前台功能

(一)、登录

        点击上图的登录按钮即可进入登录界面!
        如果没有账号也可以点击登录下方的免费注册进入注册界面!
登录

(二)、注册

        进入注册界面后正确的填写完信息后即可进行注册账号操作!
        这里设置验证信息!需要填写正确信息方可进行注册操作!否则将会无法注册!
注册

(三)、酒店预订

酒店预订
        点击上图的酒店预订即可进入酒店预订界面进行相应的酒店预订操作!
酒店预订
        点击上图的预付按钮即可进入酒店预订进行相应的操作!
酒店预订酒店预订
        选择与填写完整预订信息后即可点击提交订单按钮进行订单提交!
酒店预订
        提交成功后便会进入上图所示的预订成功界面!由于没有绑定支付平台!
        所以这里就没有进行平台支付!但是订单已经生成,旅客可以到在预定时间内到店付款即可!旅客预订的订单信息可以在后台查看如下图所示!
酒店预订

三、相关业务表和关系

操作员管理关系:
操作员管理关系
部门管理关系:
部门管理关系:
单位信息关系:
单位信息关系:
操作员口令关系:操作员口令关系:客房设置关系:客房设置关系:商品设置关系:商品设置关系:押金方式关系:押金方式关系:结账方式关系:结账方式关系:结账单位关系:结账单位关系:常用选项设置关系:常用选项设置关系:常用选项设置关系:常用选项设置关系:常用选项设置关系:常用选项设置关系:常用选项设置关系:常用选项设置关系:常用选项设置关系:预订信息关系:预订信息关系:旅客登记关系:旅客登记关系:旅客登记关系:财务交接关系:财务交接关系:客房消费、押金催缴关系:客房消费、押金催缴关系:在住旅客查询关系:在住旅客查询关系:旅客结账查询关系:旅客结账查询关系:

三、经典代码

验证信息:验证信息

四、开发总结

        时间匆匆,一转眼间,做项目已经有三个月多了!
        时间说多不多,说少不少,通过之前做项目经验和如今的做项目经验相结合,我已从中收获看不少,也学到了不少,其实做项目都是一个不断出错与不断改错的过程(也就是调试的过程)!我相信没有任何一个做项目的人会从来都不报错!同时做项目也是一个不断积累经验与学习的过程!每当我们出错是我们都会去想办法去如何解决这个问题,往往在这过程中我们就已将问题更加深入的去了解了,当我们深入去了解后,回头看看,其实也没什么,知识我们把问题想复杂了!俗话说得好,简单问题复杂化,复杂问题简单化!这样问题就不会这么难了!
        说到开发中遇到的问题其实还真有几个
        问题1、如何动态的生成房态信息!
        解决办法:其实这个问题困扰了我差不多一个星期,开始的时候就是想着动态生成房态不就是循环吗?其实也就是循环!其中兜了很多圈子,我想到了循环遍历然后就去尝试去做,虽说做出来了!但是不是我想要的,因为它循环遍历重复数据了!,再者也是不能通过条件来查询房态,也就是虽遍历出来,但是却没有真正的绑定!因为他的其他信息貌似都是相同的况且也获取不到当前点击的是哪一件房间!随后的时间里我不断的去调试,不断地去调试,功夫不负有心人,终于被我做出来了!其实在这之前我们就已经做过类似的功能,在这期间我尝试着去用那种方法(实战模拟里面的遍历抽取试题,试题不能抽取重复)去做!由于一开始的时候就觉得这种方法好像不太行得通,那是曾放弃过这种做法!不过后来经过了几经辗转,还是回到了用它的身上!后来我便用这个方法先去遍历几间房态信息,遍历后效果还不错,但是获取不到它的信息!接下来我便写死了,这样我便能获取房态信息了,经过不断调试,我发现,只要我给的ID不一样他就能获取到不一样的房态信息!后来我尝试用各种房态信息做ID,也就将写死的内容该成动态的,蓦然回首那人却在灯火阑珊处,果真被我做出来了!
        思想突破:生成房态信息的时候,其实我也是给了不同的ID的,而我却还未曾用到,后来经过调试才发现查看房态信息的时候我也是获取它不一样的ID,这才想到我可从ID入手,后来便根据不同的房态信息遍历的他们的ID,问题就迎刃而解了!
        问题2、如何动态的在表中插入数据行、修改行数据、删除行(全程与数据库没有一点关系)!
        解决办法:其实这个问题困扰了我也有2-3天了,开始的时候就是想着动态插入行数据,便尝试着去新增数据行,后来是新增到了,但是问题由来了,新增的数据行无法绑定数据,也就是修改操作无法进行,无论如何都获取不到行索引,这个问题我也想过之前做过的获取行索引的方法,但是它的行索引都为-1,也就是获取不到,后来经过我的苦思冥想已经查阅资料后,我尝试着去用那些方法去做,但是效果都不佳,不是新增的行数据没数据,就是新增的行数据不能获取,后来我结合了这其中的几点后修改看很多代码后,再简化代码后,终于被我做出来了!办法就是遍历新增行的时候就去定义一个给行新增行索引的方法,也就是定义每次新增的时候都将该行的索引定义尾-1,当保存的时候在便利行来赋值行索引!这样就可以进行修改操作了!
        思想突破:在修改的时候发现它和新增有些相似,便慢慢去揣摩着该如何去定义行索引,因为在修改的时候,虽说能获取到信息,行索引也正确,但是却修改完成后无法保存,后来能保存了,但是却不能获取行索引,因为这个新增是我已经写死的了,后来通过调试我发现,这其实新增是行索引新增不进去,但是修改时却能获取行索引,且在其中修改保存后行索引有变为了-1,做到这,我便想到好像新增时,获取的行索引也是-1,便结合这几种方法试了一下将我写死的新增改成动态的,果真不错我所料,就真的能新增行索引,并且能对该行索引进行编辑了!

注:此项目为本人用刚学完的知识做的一个实训项目,有待改进。只是为了学习与实训,如有雷同纯属巧合。

猜你喜欢

转载自blog.csdn.net/qq_41890694/article/details/87093381
今日推荐