1、1基于无线数据传输的餐饮管理信息系统的设计与实现李建阳(西南民族大学 计算机科学与技术学院,四川 成都 610041)摘 要:本文简要分析了目前餐饮管理信息系统的现状和不足,提出采用 C/S 模式的无线数据传输技术进行改进,论述了基于无线数据传输的餐饮管理信息系统的设计思想及系统的功能结构,并提出了完整的解决方案及程序实例,最后指出了系统的特点。关键词:餐饮;无线数据传输;信息系统;c/s 模式1、引言上世纪 80 年代以来,我国的餐饮业呈现蓬勃发展的趋势,在餐饮行业中通过计算机技术应用管理信息系统也就应运而生了。目前出现的餐饮管理信息系统大部分是采用人工开单,集中汇总到前台计算机录入,厨房仍
2、采用人工分单送单的方法,这样的系统容易出现以下一些问题:时有跑单、漏单和作弊行为。管理人员不可能随时有效掌握整个营业情况;经营大规模采系时单据多、信息量大,而分单传菜等环节越多越易出差错,直接影响服务质量和效率;繁琐复杂的财务核算工作,无法保证有效的财务监督管理机制;服务员不停的奔走,仍然难免上错台号,忘记客户请求,影响顾客就餐;无客户资料,不能提供个性化服务;需要大量人工费、管理费、统计费和低笔费,存在隐性的漏单损失;本文提出采有串口终端无线数据传输技术和手持终端设备,将手持终端设备与后台管理系统(即餐饮管理信息系统)通过无线数据传输模块相互通信,整过通信过程采用加密的通信协议,为餐饮业带来
3、崭新的服务手段与管理理念,优化业务流程,大幅提升餐厅的服务品质与企业形象,实现企业值最大化,同时又使自己的成本最低化,并最终提高其本身在餐饮行业的竞争优势。2 系统核心设计思想本系统的核心设计思想是:把餐饮经营过中每道环节利用数据库技术、无线数据传输技术有机地结合在一起,从而实现信息化的管理。把企业经营过程中客户开台、点菜、预订、会员管理、原材料采购计划的制定、生产计划的制定、原材料的采购、库存管理、原材料加工、菜肴的切配、菜肴的生产、收银、决策、信息分析处理等环节,都实现标准化的管理和标准化的控制,从而达到为企业节约人力成本,提高企业的资金利用率,对原材料进行科学的管理和控制;对每个员工进行
4、有效的监督、考核、激励、大大提高每个员工的责任心、积极性和创造性;2客户菜单无线传输,动态查单,动态添单,速成块、效率高,自动统计存档;实现餐饮真正意义上的创新。3 系统的总体设计本系统采用二层客户端/服务器(Client/Server) 或是三层客户端/服务器/ 服务器(Client/Server/Server)自适应的体系结构,把手持终端设备作为客户端,通讯服务器和数据库服务器作为服务器。多台手持终端设备与通讯服务器通过无线数传模块进行相互通信,通讯服务器对通信数据进行处理将处理结果存入数据库服务器并返回给相应的手持终端。通讯服务器还可以对日常营业数据进行统计、分析、查询,并集成了预订管理
5、、收银结账、会员管理、仓库管理、系统管理、权限设置等,手持终端的无线点菜系统可以进行开台、点菜、换台、并台、查单等操作。手持终端与通讯服务器通过无线通讯协议进行无线通信。3.1 系统的主要功能前台的无线、无纸化点菜。由于采用了手持终端设备,使得前台的点菜完全不同于传统的点菜,不需要纸笔,只需要使用手持设备就能完成开台,点菜,查单等操作。点菜信息的实时准确无线传输,不再需要服务员将点菜单从前台拿至后台,当服务员在前台使用手持设备点完菜后,点菜信息就马上通过无线数传设备传输至后台数据库并保存备查。系统操作完善性。对不同的员工可以动态的赋予相应的操作权限,对修改数据的所有操作进行记录。保证系统操作的
6、安全性。营业状态的实时查询,可以查看当能房台状态,了解手持设备与服务器的通信信息,查看客户消费单据,对营业状态进行统计分析。将多个系统集成为一个大型的餐饮综合管理系统,方便餐饮企业的综合管理,有效的将很多分散的工作结合起来。支持多种结账方式和多等级会员制度。对不同等级的会员可进行不同级等的打折优惠。库存管理完全采用进销存管理模式,保证仓库管理更加方便、完善。并能时时查看库存进库、出库、库存调拨、报损报溢和退货情况等信息。收银及各种信息统计的快速操作,统计信息还能为决策层提供决策的依据。不需要像传统那样,通过人工来进行结账及各种统计,当顾客需要结账时,只需要此台的基本信息,如是会员只需要会员号和
7、会员密码就可以马上结账。同样,对于各类统计,只要输入相应的条件,马上可以得到统计结果,大大节省了人工,且准确性高!手持设备与服务器的自定义通信,服务器与多台手持设备之间的通信是通过无线数传模的上层协议来实现的,协议完全跟据服务器与手持设备之间的通信内容编写,具有很强的针对性和安全性。并能支持多种波特率和多种频率传输。3.2 系统的数据流程餐饮系统涉及菜口、人员、库存、营业信息等多方面的数据,因此对于系统的实现首先了解系统中数据的流向,只有清楚数据之间的关系,才能正确的实现系统的功能。可以通过数据流图来表明数据之间的关系,图 3-1 是系统的数据流图:3图 3-133 系统的结构设计根据餐饮企业
8、大部分的结构特点,餐饮大厅主要集中在一、二楼,有部分餐饮企业会集中在野外或是其它不同的楼层。一般都有大厅和包间,大型的餐饮企业会有很多小厅并分布得比较散,为了实现一个无线点菜方案能在大部分不同类型的餐饮企业使用,采取了不改变系统本身总体设计结构的基础上,使得本系统更简捷方便的应用于各大餐饮企业中,对此结合系统本身灵活性强的特点设计出了(一层小面积、多层连续小面积、多层非连续小面积、一层大面积、多层连续大面积、多层非连续大面积、连锁店等)其中一层大面积餐饮企业可行性结构。对于一层大面积餐饮企业,我们将跟据餐饮营业面积的范围将其分为几个区,在每一个区采用一个主发射站,并且每一个区的通信所用的信道不
9、一样,这样就避免各小区之间的无线信息干扰,所有小区共用一个后台数据库,保证数据的一致共享。如图 3-2 的结构设计所示。4图 3-23.4 系统的功能结构本系统分为餐饮管理信息系统和手持终端无线点菜系统,它们之间通过无线通讯协议进行相互通信。餐饮管理信息系统主要包括开台点菜、收银结账、预订管理、营业查询、会员管理、库存管理、商品设置、数据维护、交班管理、权限管理、系统维护、通信设置等功能。手持终端无线点菜系统主要包括系统登录、下载菜品、开台、并台、转台、退台、点菜、查看账单、查看房台、系统设置等功能。3.6 手持终端与通讯服务器的通信流程对手持终端通信过程的说明:P01:手持终端开始向服务器进
10、行一个新的操作请求P02:手持终端等待服务器的受权,即当手持终端收到服务器发来的令牌为#号加自身手持终端号即可获得服务器的许可,可以向服务器发送数据,如果没有获得相应的令牌,只有等到获得相应的令牌时才能进行向服务器发送数据的操作,否则一定时间之后还没有获得相应的令牌就超时返回上层,终止这次请求。接收令牌的格式为:#01#02#03#01#02#03#n,服务器在每 100 毫秒循环发一次#n,n用两位以上数表示,如有手持终端得到请求,服务器暂停发时钟,等请求完毕后,继续发时钟P03:手持终端接到服务器的请求之后,即可向服务器发送命令格式为:#手持终端号命令号*的字符串,发送完毕后就进入 P04
11、。命令号的内容包括:命令号 整数值 注解5LOGIN 101 登录命令GET_ALL_DATA 102 获取所有可用菜品数据OPEN_TABLE 103 请求开台CHANGE_TABLE 104 请求转台EXIT_TABLE 105 请求退台BILL_SEND 106 请求查看账单CHOOSE_FOOD 107 请求发送点菜的菜品MERGE_TABLE 108 请求并台MENU_LOGIN 109 点菜登录GetTable_StateState110 查看房台状态P04:收到服务器发过来的格式为:#PDA 号OK 回应字符串之后,即可进行 P05 操作,如果没有收到,继续等待,真到等到为止,如
12、果规定的时间之后还没有收到,终止手持终端请求,返回上层网络错误的信息P05:收到服务器发过来的回应字符串之后,即可向服务器发送数据,数据的发送分为几种情况进行发送,每次发送的数据长度为距一个约定的常数 N 后面最近的豆号为止。一次发送不完可分为 M 次发送,真到发送完毕为止。第前 M-1 次的格式为:效验码+有效数据* 第 M 次的格式为:效验码+有效数据-* ,当 M=2 时,每向服务器发送一次数据后等到服务回应字符串(CON)即可发送下一次数据,发到的服务器回应字符串是(FAILED),就终止数据的发送,直接返回上层并提示网络转输错误的信息,最后一次,就不需要服务器给与回应直接进入 P06
13、。数据格式的内容如下表所示:编号 操作 格式01 登录 (用户名,密码)02 开台 (房台号)03 退台 (房台号)04 并台 (原房台号,目标房台号)05 转台 (原房台号,目标房台号)06 点菜登录 (房台号)07 点的菜品 (菜品名称 01,数量 01,菜品名称 02,数量02,菜品名称 03,数量 03,菜品名称 n,数量 n)08 查账 (房台号) P06:当手持终端发完数据后即可进行等待接收服务器发过来的结果状态,如果服务器一发结果,手持终端马上可进行接收工作,服务器没有发送结果字符串过来,手持终端一直等待,直到规定时间之后还没有接到结果字符串,即可终止接收工作,直截返回上层并提示
14、网络连接错误的信息。P06 主要是接收 P05 发送数据结服务器处理返回过来的结果字符串,字符串的接收分几种类型,当数据太长时可分为 M(1)次接收,直到接收到-号为止。在前 M-1 时接收数据过程中,每接收完一次,就要向服务器发送(CON)字符串,用于请求服务器发送下一次字符串,如果接收到的有效字符+*号长度不等于效验数值,则可向服务器发送(FAILED)字符串,终止手持终端的接收结果操作返回上层并提示网络数据传输错误的信息,P07:接收完服务器发来结果字符串之后,就向服务器发送命令格式为:#END 的字符串,发送完毕后成功结束手持终端请求操作,手持终端即可进行下次新的操作。64 程序举例这
15、里以餐饮预定为例进行说明,预订完毕之后,在预订管理界面可对预订信息进行查询、修改、删除操作。当到达预订时间的前一个小时,系统会自动将预订的房台锁定为预订状态,并在系统主界面中以预订图标显示,当超过预订规定时间没有时行预订开台,系统会自动将预取消,取消预订的房台可以进行其它的开台等操作。下面是添加预订信息部分代码的实现:餐桌预定(InsertYDInfo)函数:方法:用户输入信息完整性判断测试用户输入的房台信息是否合法判断用户输入的预订人数是否为整数判断用户输入的预付金额是否为小数判断同一个房台在预订日期是否有全天预订判断同一个房台在选定的日期和就餐时间是否有冲突获得预订编号添加宾客预订信息添加
16、操作日志,预订完毕procedure InsertYDInfo;var M_num001: Integer;/变量申明begin/变量初始化、完整性判断、判断同一个房台在预订日期是否有全天预订、判断同一个房台在选定的日期和就餐时间是否有冲突、获得编号/添加宾客预订信息M_DateTime1 :=DateToStr(Date)+TimeToStr(Time);M_DateTime :=StrToDateTime(M_DateTime1);DateTimeToString(M_DateTime1,yyyy-mm-dd hh:nn:ss,M_DateTime);M_Date1 := DateToSt
17、r(Fy02.DateTimePicker1.Date);M_Date :=StrToDateTime(M_Date1);DateTimeToString(M_Date1,yyyy-mm-dd,M_Date);DataModule2.ADOQuery2.SQL.Clear;DataModule2.ADOQuery2.SQL.Add(INSERT INTO 客户预订表(预订编号,预订时间,预订人数,房台名称,就餐日期,就餐时间,保留时间,预付金额,客户姓名,联系电话,备注)Values(+M_YDBH+,+M_DateTime1+,+Fy02.Edit4.Text+,+Fy02.ComboBox
18、1.Text+,+M_Date1+,+Fy02.ComboBox2.Text+,+Fy02.ComboBox3.Text+,+Fy02.Edit5.Text+,+Fy02.Edit1.Text+,+Fy02.Edit2.Text+,+Fy02.Memo1.Text+);DataModule2.ADOQuery2.ExecSQL;MessageDlg(成功添加预订信息,mtWarning,mbYes,0);5 系统特点易用性前台使用智能的手持客户端,支持智能模糊点菜、编码点菜、分类触摸点菜等多种点菜方式,简单易用,节约培训时间和成本。可扩展性各子系统完全模块化设计,可按客户需求配置功能模块,并可
19、随着客户需求无缝增加功能模块,具有很强的灵活性与扩展性。安全性系统具有多层次的安全保护措施,并具有多种认证机制可供选择,以满足用户身份鉴别、访问控制、数据传输加密等方面的安全要求。针对需要高度保密的财务数据,系统提供财务数据的备份、删除、恢复等功能,保证任何情况下的数据安全。通过对用户的身份认证等技术来实现用户操作功能模块的认证,通过各种安全防范措施,确保系统的安全性。结束语7本系统采用串口通讯技术、无线数据传输技术、Delphi7.0 与 SQL Server2000 等实现新一代餐饮管理信息系统。设计并建成了各个功能模块,经过实际运行结果表明本系统的设计合理,稳定可靠,具有一定的先进性和实用性。参考文献1 王晟、万科.Delphi 数据库开发经典案例解析.清华大学出版社,2007.062 深圳市兴信行咨询有限公司.2008 年版中国餐饮行业分析报告,2008.043 李文仲、段朝玉.短距离无线数据通信入门与实战.北京航空航天大学出版社,2006.124 范逸之、陈立元.Delphi 与 RS-232 串行通信控制.清华大学出版社,2002.06作者简介:李建阳(1979.10 ) ,男,实验师,研究方向网络与数据库系统