餐饮收银系统

合集下载

酒店收银系统操作流程

酒店收银系统操作流程

酒店收银系统操作流程酒店收银系统是酒店管理中非常重要的一部分,它不仅可以帮助酒店实现客房、餐饮、会议等各项业务的收费管理,还可以提高工作效率,减少人为错误。

下面将为大家介绍酒店收银系统的操作流程。

1. 登录系统。

首先,操作员需要输入个人账号和密码登录收银系统。

一般来说,酒店收银系统会有不同的权限设置,根据不同角色的需求,系统会分配相应的权限,比如前台接待、餐饮部、财务部等。

2. 选择业务类型。

登录成功后,操作员需要根据客人所需的服务类型选择相应的业务模块,比如客房预订、餐饮消费、会议宴会等。

在选择业务类型的同时,还需要确认客人的身份信息,以便后续结算时使用。

3. 输入消费信息。

在选择了业务类型之后,操作员需要根据客人的实际消费情况,输入相应的消费信息,比如客房号、消费项目、数量、价格等。

在输入过程中,需要确保信息的准确性和完整性,避免因输入错误导致后续结算出现问题。

4. 结算费用。

当客人消费结束后,操作员需要根据系统显示的消费信息进行费用结算。

这包括确认客人的消费清单,计算总费用,选择结算方式(现金、刷卡、支付宝等),并打印相关结算单据。

5. 打印发票。

在完成费用结算后,系统会自动生成相应的发票信息,操作员需要根据客人的需求打印发票。

在打印发票时,需要确认发票信息的准确性,并及时交给客人。

6. 离店/结账。

最后,当客人准备离店时,操作员需要进行离店结账操作。

这包括确认客人的消费清单、结算费用、打印发票,并进行系统中客人离店的相关操作。

以上就是酒店收银系统的操作流程,通过以上步骤,操作员可以高效、准确地完成客人的消费结算,提升酒店服务质量,为客人营造更好的入住体验。

希望以上内容对大家有所帮助。

2020餐饮收银系统软件十大排名

2020餐饮收银系统软件十大排名

2020餐饮收银系统软件十大排名中国餐饮市场的规模是万亿级别的,而针对餐饮门店研发的收银系统更是数不胜数,那么餐饮门店用什么收银软件好呢?其实根据连锁企业不同的发展模式和业态,餐饮业的业态细分和产品升级也影响了餐饮收银行业的细分和升级。

今天,小编就来给大家说说适合餐饮行业的收银系统有哪些:1、甩手掌柜甩手掌柜是专门针对小吃、快餐、卤味、熟食、奶茶等小店大连锁的连锁收银系统,同时也是一款连锁门店数字化管理系统,因为连锁收银比单店更为复杂,甩手掌柜不仅可以实现全渠道智能收银,移动支付、聚合订单、卡券核销等,还有相应的供应链管理、进销存管理、营销拓客、连锁管理等功能;这有利于数量较多的连锁门店进行统一管理,而且该系统的开放性很强,可以对接生产管理、会员、外卖、商场管理等其他系统。

而且甩手掌柜已经服务了多家连锁万店品牌,对于连锁餐饮企业来说,选收银系统是可以作为考虑对象的。

2、银豹银豹收银系统,涵盖的品种和类型大而全,一套系统可以支持零售、服装、母婴、生活服务等行业。

集合多种支付和营销功能,可以管理库存和商品等,功能比较丰富,界面操作简单,不挑硬件,比较通用。

3、思迅思讯在收银软件这块,也有针对不同场景的产品,比如大餐、美食广场等,移动POS、点菜宝营业等可以满足不同消费场景,整合线上的服务助手,大大简化软件部署、安装、维护等方面的工作量。

会员营销,是他们家的特色。

4、科脉科脉主要做零售和专卖,餐饮这块主要是做大餐、围餐这类的大型餐厅,会针对大型餐饮门店的配送、库存、采购流程进行管理,甚至包括中央厨房的建设管理等,这些都是大餐收银需要管到的,聚合支付、融合外卖、小程序、连锁管理的功能也都具备。

5、德克德克软件系统覆盖了零售、服装领域,主要提供收银软件、会员系统,适合众多中小实体店铺会员管理和收银,操作简单,容易上手,是一个能满足这些商铺基本需求的收银系统软件。

6、排队网聚食汇排队网聚食汇主要是为大型餐馆的消费者提供移动订餐、点菜、美食优惠信息等一站式收银服务,特色主要是集餐厅运营管理、数据分析、O2O营销系统于一体的营销管理系统,适合大餐形式的餐饮门店。

餐厅收银系统操作方法

餐厅收银系统操作方法

餐厅收银系统操作方法
1. 启动收银系统,输入用户名和密码进行登录。

2. 选择消费方式,如堂食、外带、配送等。

3. 输入顾客点餐的菜品和数量,系统会自动计算出总价。

4. 进行菜品修改或删除,如有特殊要求可以在备注栏添加说明。

5. 当顾客付款时,选择收款方式,如现金、刷卡、支付宝、微信等。

6. 输入实收金额,并进行找零或收款确认。

7. 打印出账单和小票,将小票交给顾客,同时将账单和收款金额交给财务管理人员进行结账和结算。

8. 清空系统并进行日结,记录当天的营业额、销售量等信息,并备份数据。

9. 关闭收银系统,并进行日常维护和保养。

火锅店收银系统操作流程

火锅店收银系统操作流程

火锅店收银系统操作流程
一、开启日结:
1. 首先,在管理系统中选择要开启的日期,设置本次日结的起止日期;
2. 然后,根据收银实际情况,检查此时间段内所有点菜和结账情况;
3. 最后,根据实际情况,执行日结操作,使系统完成日结,保存日结报表,以便备用。

二、收银流程:
1. 收银员根据客人的点单需求,在收银系统中添加所选菜品;
2. 收银员核对菜品价格和数量,把点到的菜品和总金额实时地显示出来;
3. 客人支付餐费后,收银员将支付信息输入计算机,确认客人付款状态;
4. 如果客人使用会员卡折扣结账,收银员会核对会员卡账户,检查是否满足优惠要求;
5. 结账完成,收银员确认客人消费信息,将消费后的余额信息存储到计算机系统;
6. 如果客人需要凭小票参加抽奖,收银员在收银系统中打印出参与抽奖的小票;
7. 收银员及时保存收银记录,以便备案和统计分析。

餐厅收银系统技术方案

餐厅收银系统技术方案

餐厅收银系统技术方案简介餐厅收银系统是餐厅管理中不可或缺的一部分。

它用于处理顾客的订单、计算费用、打印小票等操作。

本文将介绍一个基于现代技术的餐厅收银系统技术方案。

技术要求餐厅收银系统应具备以下技术要求:1.用户友好界面:系统应提供简洁、直观的用户界面,让服务员能轻松操作。

2.高效处理订单:系统应能快速处理大量订单,避免出现延迟。

3.数据安全:系统应具备数据加密、备份和恢复功能,保障数据的安全性。

4.多种支付方式:系统应支持多种支付方式,如现金、信用卡、移动支付等。

5.统计报表:系统应提供销售统计、库存管理等报表功能,便于经理进行决策分析。

技术方案1. 前端界面为了提供用户友好界面,前端界面应采用现代化的Web技术。

可以使用以下技术:•HTML/CSS:用于定义页面结构和样式。

•JavaScript:用于实现交互逻辑。

•React.js或Vue.js:用于构建现代化的单页应用,提高用户体验。

前端界面应具备以下功能:•下单功能:服务员能够快速选择菜品和数量,并提交订单。

•支付功能:顾客可选择支付方式,并进行支付。

•报表功能:经理可以通过前端界面查看统计报表。

2. 后端系统后端系统用于处理前端界面的请求,管理订单和数据。

可以使用以下技术:•基于RESTful API的后端框架(如Node.js+Express):用于处理前端界面的请求和返回数据。

•数据库(如MySQL或MongoDB):用于存储订单信息、菜品信息等数据。

后端系统应具备以下功能:•订单管理:包括接收订单、计算费用、保存订单等。

•数据管理:包括菜品管理、库存管理等。

•支付管理:集成第三方支付接口,实现支付功能。

•统计报表生成:根据订单数据生成统计报表。

3. 数据安全为了保障数据的安全性,可以采取以下措施:•数据加密:使用加密算法对敏感数据(如客户信息)进行加密,保护数据的机密性。

•数据备份和恢复:定期备份数据库,并建立数据恢复机制,以防止数据丢失。

餐饮收银系统安装工程方案

餐饮收银系统安装工程方案

餐饮收银系统安装工程方案一、前言在餐饮行业,收银系统是一项至关重要的设备。

它不仅仅是用来收取顾客的消费款项,还能帮助店家管理库存、分析销售数据、提高工作效率等。

因此,一个高效、稳定、安全的餐饮收银系统对于餐饮企业来说至关重要。

本文将从安装、配置、使用、维护等多个角度给出一套餐饮收银系统的安装工程方案。

二、基本规划1. 收银系统的选择在选择收银系统时,应该考虑以下几个因素:- 企业需求:不同的餐饮企业有不同的需求,比如连锁餐饮、餐饮快餐等,需求也大不相同。

- 网络环境:餐饮收银系统通常需要与后厨、总部等部门实时连接,因此需要有良好的网络环境支持。

- 成本预算:根据企业自身的经济实力来选择合适的收银系统,避免造成不必要的浪费。

2. 收银系统的布局根据餐厅的实际情况,决定收银机的布局和数量。

一般而言,小型餐厅可以布置1-2台收银机,大型餐厅可以布置3-5台收银机。

同时,还需要考虑后厨和前台之间的布局,以及收银机和电源插座的位置。

3. 收银系统的安全收银系统中的数据安全非常重要,不仅需要进行定期的数据备份,还需要设置权限,避免信息泄露。

三、硬件选型1. 收银机选择性价比高的收银机,考虑商品的种类、单价、收银速度等因素进行选择。

同时,需要看清楚设备的参数和配置是否符合要求。

2. 打印机选择高速、耐用的打印机,能够打印清晰、条码规范的小票,打印速度快。

3. 保安镜放置在前台的保安镜,可以监控到收银员的一举一动,避免出现刷单、取钱少的情况。

4. 电源插座根据收银机的布局和数量,需求确定电源插座的数量和布置位置。

5. 网络设备根据餐厅的网络环境,选择合适的路由器、交换机等设备,确保网络畅通。

6. 其他设备如条码扫描仪、POS机等,需要根据具体业务需求和规模来确定。

四、设备安装1. 安装前准备在进行设备安装之前,需要对餐厅的网络环境、电源插座等进行调查和准备。

根据实际情况确定设备的布局位置。

2. 收银机安装根据收银机的规格和参数,进行接线和连接,避免出现安装不当导致的故障和损坏。

餐饮管理12大系统详细介绍

餐饮管理12大系统详细介绍

餐饮管理12大系统详细介绍1. 供应链管理系统供应链管理系统是餐饮业中非常重要的一环,它可以帮助餐厅管理者监控原材料的采购、库存和供应商信息。

通过该系统,餐厅可以实现对供应链的全面控制,提高采购效率,降低成本,并确保食材的新鲜度和质量。

2. 订单管理系统订单管理系统可以帮助餐厅管理者更好地管理餐厅内的点餐和外卖订单。

该系统可以实现自动化点餐、订单追踪和配送管理等功能,提高订单处理效率,提升顾客满意度,并减少餐厅的人力成本。

3. 顾客管理系统顾客管理系统可以帮助餐厅管理者跟踪顾客的消费习惯、喜好和历史订单等信息。

通过该系统,餐厅可以更好地了解顾客需求,进行精准营销和个性化推荐,提高顾客满意度和忠诚度。

4. 财务管理系统财务管理系统可以帮助餐厅管理者实时监控餐厅的财务状况,包括销售额、成本、利润等方面的数据。

该系统可以提供财务报表和分析工具,帮助餐厅管理者进行财务决策和资源调配,实现财务管控和利润最大化。

5. 人力资源管理系统人力资源管理系统可以帮助餐厅管理者进行员工招聘、考勤管理、人事档案管理等工作。

该系统可以提高人力资源管理的效率和准确性,减少人力资源管理的工作量,提升员工满意度和工作效率。

6. 菜品研发与管理系统菜品研发与管理系统可以帮助餐厅管理者进行菜品创新和研发,并对菜品进行定价和管理。

该系统可以提供菜品配方、食材成本、销售数据等信息,帮助餐厅管理者进行菜品供应链管理和市场定位,提升菜品竞争力和盈利能力。

7. 门店运营管理系统门店运营管理系统可以帮助餐厅管理者对门店进行全面的运营管理。

该系统可以实现门店销售数据监控、员工管理、桌位安排等功能,提高门店运营效率和顾客满意度。

8. 前台收银系统前台收银系统是餐厅必备的一个系统,它可以帮助服务员进行顾客点餐、结账和订单管理等工作。

该系统可以提高服务效率,减少错误,提升顾客体验,并且可以和其他系统进行数据共享,实现信息的无缝衔接。

9. 库存管理系统库存管理系统可以帮助餐厅管理者实时掌握餐厅内各种物品的库存情况,包括食材、餐具、厨具等。

餐饮收银的使用方法和教程

餐饮收银的使用方法和教程

餐饮收银的使用方法和教程
使用餐饮收银系统的方法和教程可以按照以下步骤进行:
1. 登陆系统:根据系统提供的用户名和密码登陆收银系统。

2. 创建订单:根据顾客的点餐需求,选择菜品并添加到订单中。

可以根据菜品分类进行选择,也可以直接搜索菜品名称进行添加。

3. 修改订单:如果顾客有定制需求或者需要修改菜品内容,可以进行相应的修改操作,如增加或删除菜品,调整菜品数量等。

4. 结算订单:确认订单内容无误后,选择结算操作。

根据顾客支付方式选择相应的支付方式,如现金支付、刷卡支付或移动支付等。

5. 打印发票:根据系统提供的打印功能,打印顾客的发票或小票,可选择打印纸质发票或电子发票。

6. 完成订单:结算完成后,将订单状态更新为已完成,并告知顾客订单已经处理完毕。

7. 查询统计:收银系统一般提供订单查询和统计功能,可以根据时间、菜品等进行统计和查询,对销售情况进行分析和监控。

此外,餐饮收银系统还具有其他功能,如会员管理、桌号管理、库存管理等,具体使用方法和教程可以参考系统提供的用户手册或在线帮助文档。

部分餐饮收银系统还提供培训或视频教程,可以通过联系系统供应商或在官方网站上获取相应的培训资源。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C#程序设计及应用教程餐饮收银系统学院专业学号姓名指导教师年月日1 引言..................................... 错误!未定义书签。

2 可行性研究 (1)2.1 技术可行性 (1)2.2 操作可行性 (1)2.3 经济可行性 (1)3 需求分析................................. 错误!未定义书签。

4 详细设计 (2)5 数据库设计 (4)5.1 E-R图............................... 错误!未定义书签。

5.1 数据库表设计 ........................ 错误!未定义书签。

6 实现及测试 (5)7 结束语.................................. 错误!未定义书签。

08 参考文献................................ 错误!未定义书签。

09 附录代码................................ 错误!未定义书签。

0嗨翻天火锅店收银系统1 前言餐饮收银系统是实现餐饮行业全面管理的现代化软件。

其主要目的是为餐饮管理人员提供餐饮管理所需的各项信息,主要包括桌台、就餐人数、顾客点菜统计等餐饮行业综合管理和经营管理方面的信息,使整个餐馆的信息流和物流迅速、及时、准确地反馈给各级管理管理人员,以辅助各级管理人员进行日常管理决策和经营决策。

利用此系统,前台收银员可以很方便完成结账、销账工作,从而极大减少错误的发生,避免不必要的损失。

2 可行性研究可行性研究的目的不是解决问题,而是确定问题是否值得去解决。

我们当然不能靠主观猜想而只能靠客观分析。

从而判断原定的系统规模和目标是否得以实现,系统完成后所带来的效益是否大到值得投资开发这个系统的程序。

因此可行性分析就是在较高层次上以抽象的方法进行的系统分析和设计的过程。

下面我从技术可行性、操作可行性、经济可行性三个方面来分析。

2.1 技术可行性在这个系统中,我采用了C#语言来开发。

C#语法简单,可用性强、用C# 设计的组件可以很容易的转换成Web 服务,可以以任意操作系统的任意语言从Internet 上调用。

开发人员可以定义特定域的属性,并将它们应用于任何语言元素如类,接口等。

使用的工具是Microsoft Visual Studio 2008,Visual Studio 2008 提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。

Visual Studio 2008 包括各种增强功能,例如可视化设计器(使用.NET Framework 3.5 加速开发)、对Web 开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。

Visual Studio 2008 为开发人员提供了所有相关的工具和框架支持,使用的数据库是Visual Studio 2008自带的SQL SERVER,因此该系统在技术上是可以实现的。

2.2 操作可行性该系统主要的使用对象是餐饮行业的工作人员,因此简单、实用、界面友好是该系统的主要优点,使用人员可以非常轻松的使用该软件,不用进行专业的培训。

而且该系统能够有效提高工作人员的工作效率,节省大量时间,为更多的顾客服务。

2.3 经济可行性该系统不需要进行大量的人力物力财力投资,只需要编程人员使用编程工具开发即可,而且该系统简单方便,操作容易,后期不需要投入大量的精力进行维护,因此该系统在经济上是可行的。

综上所述该系统在技术、操作、经济方面是可行的,必要时还应该从法律、社会效益等更广泛的方面研究该系统的可行性。

3 需求分析传统的餐饮收银系统现在已经很难应对当今社会对餐饮行业的需求,因此我们迫切的需要有以计算机技术为背景的餐饮收银系统,它与传统的收银系统相比有很大的优势。

安全性方面:传统的纸质记录方式查询起来很麻烦,效率低下,而且保密性差,很容易丢失的记录数据,对于保管数据是非常不利的。

但是如果使用餐饮收银系统,那么这些担心全都不存在了,我们可以很方便的对数据进行备份查询。

准确性方面:传统的人工记账很容易出错,如果采用收银系统,那么该系统会很准确、快速的把消费结算计算出来,效率会大大的提高。

有了餐饮收银系统,餐饮行业的管理、发展都会极大的提高,因此该系统是餐饮行业必须的,具有广泛的市场前景。

4 详细设计对该系统作完可行性分析和需求分析之后,我基本设计出了该系统的流程图,使得我更加容易的做后面的工作。

系统流程图如下:系统流程图流程图简介:用户登录火锅店收银系统之后,进入大厅主界面,显示桌台信息,工作人员可以清晰的看到哪些桌台是空闲状态,哪些是已经被占用的,通过这些信息可以为顾客选择桌台。

选完桌台之后,顾客可以点菜,进入点菜模块,点完菜之后可以进入查询模块,查看所点的菜,就餐完毕之后可以进入结账模块。

如果顾客在选择完桌台之后又不想就餐了,可以选择关闭桌台,离开火锅店。

根据以上需求,我对该系统具体需要实现的功能进行了划分。

整体功能模块图如下:整体功能模块图下面是各个模块所实现的功能。

用户登录模块:在该模块中,只有知道账户密码的人才能有权利登录系统,保证了系统的安全性。

开台管理模块:通过该模块我们可以清楚的看到哪个桌台处于空闲状态,哪个桌台有顾客就餐。

我们可以为刚到的顾客开台、也可以为就餐完毕的顾客关台。

在开台的过程中,我们可以选择指定的服务员为顾客服务,然后填写就餐人数,增加了系统的健壮性。

开台管理模块图点菜模块:顾客可以通过菜品种类自由的选择菜系,单击保存按钮即可点菜,若顾客想退菜,那么点击删除按钮即可完成操作。

顾客选择完菜系之后选择退出按钮即可退回到大厅主界面。

查询模块:通过查询模块,餐饮工作人员和顾客可以方便的查看顾客所点的菜单,有利于数据的保存结账模块:在该模块中,顾客只要付完钱之后,该系统即可快速的计算出该找的零钱,不会出现错误,提高了工作效率。

通过各个模块的详细设计,我基本上可以确定各个模块需要实现的功能,接下来需要进行数据库设计。

5 数据库设计数据库设计是指对于一个给定的应用环境构造优化的数据库逻辑模型和物理结构,并据此建立数据库及其应用系统,使之能够有效存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。

信息管理要求是指在数据库中应该存储和管理哪些数据对象;数据操作要求是指对数据对象需要进行哪些操作,如查询、增、删、改、统计等操作。

根据以上数据库要求,针对餐饮信息管理系统,分别对用户、客户、食谱、职员等实体进行详细的调研和分析。

5.1 E-R图概念模型是对信息世界建模,所以概念模型能够方便、准确的表示出信息世界中的常用概念。

概念模型的表示方法很多,最为著名最为常用的是实体-联系方法,该方法用E-R图来描述现实世界的概念模型。

下面列举食品和服务员的E-R图。

Tb_food的ER图:Tb_food的ER图主要存储食品的一些信息,如食品编号、食品价格、食品名称等。

Tb_Waiter的ER图:Tb_Waiter的ER图主要存储餐饮工作人员的一些信息,如名字、编号、年龄等。

5.2 数据库表设计整体数据库表设计:食品的数据库表设计:用户的数据库表示如下:职员的数据库中数据如下:6 实现及测试项目整体框架:登录界面:在登录界面用户需要输入用户名和密码,在本系统中我设计的用户名和密码分别是:胡佳敏和123运行时开始界面:运行该系统之后,出现如下界面,用浓情火锅节来作为主界面,代表了该店具有活力,可以吃的非常嗨。

单击点击按钮之后,进入登录界面之后,一阵清爽的感觉袭来,填写用户名和密码即可进入该系统。

如果输入的用户名和密码不正确,那么就会提示你填写信息错误。

错误登录信息:大厅主界面:开台界面:开台之后工作人员可以添加就餐人数,可以记录时间、顾客姓名、所选择的的桌台以及服务员是谁,可以供以后查询使用。

点菜界面:顾客可以在此界面上点菜,如果顾客对这家店比较熟悉,还可以指定哪个服务员为他服务,同时店主也知道哪个服务员现在处于空闲状态,可以为下一位顾客服务。

当顾客点完之后,单击保存按钮,即可点菜成功,同一种菜可以重复选择;若顾客不想点菜,单击删除按钮即可。

点完菜之后,单击退出按钮,即可退回到大厅主界面。

查询界面:当顾客不记得点了什么菜的时候,可以查询点菜信息,在这里记录了顾客所点的菜品。

结账界面:在界面左边,是几号桌台顾客所点菜系,可以清晰的看到顾客所点的菜的种类,防止出错。

在右边界面,工作人员只需要输入顾客的付款,系统自动输出零钱。

例如:当收银100时,系统自动计算出该找给顾客33.5。

主界面:当顾客结账完毕之后,工作人员只需要单击退出按钮,系统自动退回到大厅主界面,继续为下一位顾客服务。

7 结束语这次我做的论文题目是餐饮收银系统,经过这么长时间的努力,餐饮收银系统终于得以实现其功能了。

在这里我对.NET技术有了更深一步的认识,程序开发到后来比刚刚开发时的速度要快上好多,一开始的时候完全不知道如何下手,也不知道如何设计系统流程图,我需要停下来查找相关资料,在网上搜实例代码下来学习,去图书馆查阅书籍,然后在思考自己该做出什么样的界面来。

但是功夫不负有人,经过一段时间的学习,餐饮收银系统终于实现。

这次我是把餐饮系统具体化,做成一个火锅店,并且取名为嗨翻天火锅店,登录界面做的也比较火辣,弄清火锅节更是让火锅店嗨起来。

世界上没有十全十美的事情,我基本上实现了餐饮收银系统该具有的功能:登录模块、开台模块、点菜模块、查询模块、结账模块。

但是由于时间原因和自己水平有限,一些细节并没有考虑得很周到,在系统运行时还会出现一些异常,但是整体功能还是可以实现的。

如果给我更多的时候我一定会更加完善该系统,使该系统的功能更加具体,界面更加友好。

另外,由于不是经常画流程图,此次流程图画的特别不令人满意,整体设计逻辑也不是很清晰。

经过这次小实践,我的编程能力、解决问题能力都得到了提高,相信这次经历对我以后面对问题、解决问题都会有帮助。

8 参考文献[1] 马骏C#程序设计及应用教程人民邮电出版社[2] 张海藩软件工程导论清华大学出版社[3] 明日科技C#项目案例分析清华大学出版社[4] 明日科技项目开发案例全程实录[5] 王珊数据库系统概论高等教育出版社9 附录代码登录界面主要代码:private void txtPwd_KeyPress(object sender, KeyPressEventArgs e){if (e.KeyChar == 13){btnSubmit_Click(sender, e);}}private void btnSubmit_Click(object sender, EventArgs e){if (txtName.Text == ""){MessageBox.Show("请输入用户名", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);}else{if (txtPwd.Text == ""){MessageBox.Show("请输入密码", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);}else{SqlConnection conn = BaseClass.DBConn.CyCon();conn.Open();SqlCommand cmd = new SqlCommand("select count(*) from tb_User where UserName='" + txtName.Text + "' and UserPwd='" + txtPwd.Text + "'", conn);int i = Convert.ToInt32(cmd.ExecuteScalar());if (i > 0){cmd = new SqlCommand("select * from tb_User where UserName='" + txtName.Text + "'", conn);SqlDataReader sdr = cmd.ExecuteReader();sdr.Read();string UserPower = sdr["power"].ToString().Trim();conn.Close();frmMain main = new frmMain();main.power = UserPower;s = txtName.Text;main.Times = DateTime.Now.ToShortDateString();main.Show();this.Hide();}else{MessageBox.Show("用户名或密码错误");}}}}private void btnConcel_Click(object sender, EventArgs e){if (MessageBox.Show("确定退出系统吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk) == DialogResult.OK) {Application.Exit();}}大厅主界面代码:private void开台ToolStripMenuItem_Click(object sender, EventArgs e){if (lvDesk.SelectedItems.Count != 0){string names = lvDesk.SelectedItems[0].SubItems[0].Text;frmOpen openroom = new frmOpen(); = names;openroom.ShowDialog();}else{MessageBox.Show("请选择桌台");}}private void frmMain_Activated(object sender, EventArgs e){lvDesk.Items.Clear();SqlConnection conn = BaseClass.DBConn.CyCon();conn.Open();SqlCommand cmd = new SqlCommand("select * from tb_Room", conn);sdr = cmd.ExecuteReader();while (sdr.Read()){string zt = sdr["RoomZT"].ToString().Trim();AddItems(zt);}conn.Close();}private void点菜ToolStripMenuItem_Click(object sender, EventArgs e){if (lvDesk.SelectedItems.Count != 0){string names = lvDesk.SelectedItems[0].SubItems[0].Text;frmDC dc = new frmDC();dc.RName = names;dc.ShowDialog();}else{MessageBox.Show("请选择桌台");}}private void消费查询ToolStripMenuItem_Click(object sender, EventArgs e){if (lvDesk.SelectedItems.Count != 0){string names = lvDesk.SelectedItems[0].SubItems[0].Text;frmSerch serch = new frmSerch();serch.RName = names;serch.ShowDialog();}else{MessageBox.Show("请选择桌台");}}private void结账ToolStripMenuItem_Click(object sender, EventArgs e){if (lvDesk.SelectedItems.Count != 0){string names = lvDesk.SelectedItems[0].SubItems[0].Text;frmJZ jz = new frmJZ();jz.Rname = names;jz.ShowDialog();}else{MessageBox.Show("请选择桌台");}}private void lvDesk_Click(object sender, EventArgs e){string names = lvDesk.SelectedItems[0].SubItems[0].Text;SqlConnection conn = BaseClass.DBConn.CyCon();conn.Open();SqlCommand cmd = new SqlCommand("select * from tb_Room where RoomName='" + names + "'", conn);SqlDataReader sdr = cmd.ExecuteReader();sdr.Read();string zt = sdr["RoomZT"].ToString().Trim();sdr.Close();if (zt == "使用"){this.contextMenuStrip1.Items[0].Enabled = false;this.contextMenuStrip1.Items[1].Enabled = true;this.contextMenuStrip1.Items[3].Enabled = true;this.contextMenuStrip1.Items[5].Enabled = true;this.contextMenuStrip1.Items[6].Enabled = true;}if (zt == "待用"){this.contextMenuStrip1.Items[0].Enabled = true;this.contextMenuStrip1.Items[1].Enabled = false;this.contextMenuStrip1.Items[3].Enabled = false;this.contextMenuStrip1.Items[5].Enabled = false;this.contextMenuStrip1.Items[6].Enabled = false;}conn.Close();}private void取消开台toolStripMenuItem_Click(object sender, EventArgs e){if (lvDesk.SelectedItems.Count != 0){string names = lvDesk.SelectedItems[0].SubItems[0].Text;SqlConnection conn = BaseClass.DBConn.CyCon();conn.Open();SqlCommand cmd = new SqlCommand("update tb_Room set RoomZT='待用',Num=0 where RoomName='" + names + "'", conn);cmd.ExecuteNonQuery();cmd = new SqlCommand("delete from tb_GuestFood where zhuotai='" + names + "'", conn);cmd.ExecuteNonQuery();conn.Close();frmMain_Activated(sender, e);}else{MessageBox.Show("请选择桌台");}}点菜主界面:public partial class frmDC : Form{public frmDC(){InitializeComponent();}public string RName;private void frmDC_Load(object sender, EventArgs e){this.Text = RName + "点/加菜";TreeNode newnode1 = tvFood.Nodes.Add("锅底");TreeNode newnode2 = tvFood.Nodes.Add("配菜");TreeNode newnode3 = tvFood.Nodes.Add("酒水");TreeNode newnode4 = tvFood.Nodes.Add("主食");SqlConnection conn = BaseClass.DBConn.CyCon();conn.Open();SqlCommand cmd = new SqlCommand("select * from tb_food where foodty='1'", conn);SqlDataReader sdr = cmd.ExecuteReader();while (sdr.Read()){newnode1.Nodes.Add(sdr[3].ToString().Trim());}sdr.Close();cmd = new SqlCommand("select * from tb_food where foodty='2'", conn);sdr = cmd.ExecuteReader();while (sdr.Read()){newnode2.Nodes.Add(sdr[3].ToString().Trim());}sdr.Close();cmd = new SqlCommand("select * from tb_food where foodty='3'", conn);sdr = cmd.ExecuteReader();while (sdr.Read()){newnode3.Nodes.Add(sdr[3].ToString().Trim());}sdr.Close();cmd = new SqlCommand("select * from tb_food where foodty='4'", conn);sdr = cmd.ExecuteReader();while (sdr.Read()){newnode4.Nodes.Add(sdr[3].ToString().Trim());}sdr.Close();cmd = new SqlCommand("select * from tb_Waiter",conn);sdr = cmd.ExecuteReader();while (sdr.Read()){cbWaiter.Items.Add(sdr["WaiterName"].ToString().Trim());}cbWaiter.SelectedIndex = 0;sdr.Close();cmd = new SqlCommand("select RoomZT from tb_Room where RoomName='"+RName+"'",conn);string zt = Convert.ToString(cmd.ExecuteScalar());if (zt.Trim() == "待用"){groupBox1.Enabled = false;groupBox2.Enabled = false;groupBox3.Enabled = false;groupBox4.Enabled = false;}conn.Close();GetData();tvFood.ExpandAll();}private void treeView1_DoubleClick(object sender, EventArgs e){string foodname = tvFood.SelectedNode.Text;if (foodname == "锅底" || foodname == "配菜" || foodname == "酒水" || foodname == "主食"){}else{SqlConnection conn = BaseClass.DBConn.CyCon();conn.Open();SqlCommand cmd = new SqlCommand("select * from tb_food where foodname='" + foodname + "'", conn);SqlDataReader sdr = cmd.ExecuteReader();sdr.Read();txtNum.Text = sdr["foodnum"].ToString().Trim();txtName.Text = foodname;txtprice.Text = sdr["foodprice"].ToString().Trim();conn.Close();if (txtpnum.Text == ""){MessageBox.Show("数量不能为空");return;}else{txtallprice.Text = Convert.ToString(Convert.ToInt32(txtprice.Text) * Convert.ToInt32(txtpnum.Text));}}}private void txtpnum_TextChanged(object sender, EventArgs e){if (txtpnum.Text == ""){MessageBox.Show("数量不能为空");return;}else{if (Convert.ToInt32(txtpnum.Text) < 1){MessageBox.Show("不能为小于的数字");return;}else{txtallprice.Text = Convert.ToString(Convert.ToInt32(txtprice.Text) * Convert.ToInt32(txtpnum.Text));}}}private void GetData(){SqlConnection conn = BaseClass.DBConn.CyCon();SqlDataAdapter sda = new SqlDataAdapter("select foodname,foodsum,foodallprice,waitername,beizhu,zhuotai,datatime from tb_GuestFood where zhuotai='" + RName + "'order by ID desc", conn);DataSet ds = new DataSet();sda.Fill(ds);dgvFoods.DataSource = ds.Tables[0];}private void txtpnum_KeyPress(object sender, KeyPressEventArgs e){if((e.KeyChar != 8 && !char.IsDigit(e.KeyChar)) && e.KeyChar != 13){MessageBox.Show("请输入数字");e.Handled = true;}}private void btnDelete_Click(object sender, EventArgs e){if (dgvFoods.SelectedRows.Count > 0){string names = dgvFoods.SelectedCells[0].Value.ToString();SqlConnection conn = BaseClass.DBConn.CyCon();conn.Open();SqlCommand cmd = new SqlCommand("delete from tb_GuestFood where foodname='" + names + "' and zhuotai='" + RName + "'", conn);cmd.ExecuteNonQuery();conn.Close();GetData();}}private void btnSave_Click(object sender, EventArgs e){if (txtName.Text == "" || txtNum.Text == ""|| txtprice.Text == ""){MessageBox.Show("请将选择菜系");return;}else{if (txtpnum.Text == ""){MessageBox.Show("数量不能为空");return;}else{if (Convert.ToInt32(txtpnum.Text) <= 0){MessageBox.Show("请输入消费数量");return;}else{SqlConnection conn = BaseClass.DBConn.CyCon();conn.Open();SqlCommand cmd = new SqlCommand("insert into tb_GuestFood(foodnum,foodname,foodsum,foodallprice,waitername,beizhu,zhuotai,d atatime) values('"+ txtNum.Text.Trim() + "','"+ txtName.Text.Trim() + "','"+ txtpnum.Text.Trim() + "','"+ Convert.ToDecimal(txtallprice.Text.Trim()) + "','"+ cbWaiter.SelectedItem.ToString() + "','" + txtbz.Text.Trim() + "','" + RName + "','" + DateTime.Now.ToString() + "')", conn);cmd.ExecuteNonQuery();conn.Close();GetData();}}}}菜单查询界面:public partial class frmSerch : Form{public frmSerch(){InitializeComponent();}public string RName;private void frmSerch_Load(object sender, EventArgs e){SqlConnection conn = BaseClass.DBConn.CyCon();SqlDataAdapter sda = new SqlDataAdapter("select foodname,foodsum,foodallprice,waitername,beizhu,zhuotai,datatime from tb_GuestFood where zhuotai='" + RName + "'order by ID desc", conn);DataSet ds = new DataSet();sda.Fill(ds);dataGridView1.DataSource = ds.Tables[0];}private void button1_Click(object sender, EventArgs e){this.Close();}结账界面:public partial class frmJZ : Form{public frmJZ(){InitializeComponent();}public string Rname;public string price;public string bjf;private void frmJZ_Load(object sender, EventArgs e){this.Text = Rname + "结账";groupBox1.Text = "当前桌台-" + Rname;SqlConnection conn = BaseClass.DBConn.CyCon();SqlDataAdapter sda = new SqlDataAdapter("select foodname,foodsum,foodallprice,waitername,beizhu,zhuotai,datatime from tb_GuestFood where zhuotai='" + Rname + "'order by ID desc", conn);DataSet ds = new DataSet();sda.Fill(ds);dgvRecord.DataSource = ds.Tables[0];conn.Open();SqlCommand cmd = new SqlCommand("select sum(foodallprice) from tb_GuestFood where zhuotai='" + Rname + "'", conn);price = Convert.ToString(cmd.ExecuteScalar());if (price == ""){lblprice.Text = "0";btnJZ.Enabled = false;}else{cmd = new SqlCommand("select RoomBJF from tb_Room where RoomName='"+Rname+"'", conn);bjf = cmd.ExecuteScalar().ToString();if (bjf == "0"){btnJZ.Enabled = true;lblprice.Text = price + "*95%"+"+"+bjf+"="+ (Convert.ToDecimal(Convert.ToDouble(price) * Convert.ToDouble(0.95))).ToString("C");}else{btnJZ.Enabled = true;lblprice.Text = price + "*95%"+"+"+bjf+"="+ (Convert.ToDecimal(Convert.ToDouble(price) * Convert.ToDouble(0.95)) + Convert.ToDecimal(bjf)).ToString("C");}conn.Close();}}private void txtmoney_KeyPress(object sender, KeyPressEventArgs e){if((e.KeyChar != 8 && !char.IsDigit(e.KeyChar)) && e.KeyChar != 13){MessageBox.Show("请输入数字");e.Handled = true;}}private void txtmoney_TextChanged(object sender, EventArgs e){if (price == ""){lbl0.Text = "0";}else{if (txtmoney.Text == ""){txtmoney.Text = "0";lbl0.Text = "0";}else{lbl0.Text = Convert.ToDecimal(Convert.ToDouble(txtmoney.Text.Trim()) - Convert.ToDouble(price) * Convert.ToDouble(0.95) - Convert.ToDouble(bjf)).ToString("C");}}}private void btnJZ_Click(object sender, EventArgs e){if (txtmoney.Text == ""||lbl0.Text=="0"){MessageBox.Show("请先结账");return;}else{if (lbl0.Text.Substring(1, 1) == "-"){MessageBox.Show("金额不足");return;}else{SqlConnection conn = BaseClass.DBConn.CyCon();conn.Open();SqlCommand cmd = new SqlCommand("delete from tb_GuestFood where zhuotai='" + Rname + "'", conn);cmd.ExecuteNonQuery();cmd = new SqlCommand("update tb_Room set RoomZT='待用',Num=0,WaiterName='' where RoomName='" + Rname + "'", conn);cmd.ExecuteNonQuery();conn.Close();this.Close();}}}private void btnExit_Click(object sender, EventArgs e){this.Close();}。

相关文档
最新文档