餐饮管理系统

更新时间:2024-01-09 11:29:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

内 容 摘 要

本论文主要针对中小型饭店餐饮管理中的一些问题,将其与计算机信息管理系统结合起来,实现中小型饭店管理信息计算机化、系统化,将中小型饭店管理中的工作流转化成比较科学化、规范化的业务流程,使管理基础数据更加准确化,管理人员摆脱了事务性工作,转而从事管理专业工作,为经营决策提供了快捷和强大的数据支持。把计算机用于餐饮企业管理,可在很大程度上提高管理者分析和决策的科学性,提高经营管职水平,带来更多的顾客,使企业取得更好的经济效益。

关键词:面向对象, Delphi,餐饮管理系统,模块,SQL

中国最大的论文知识平台www.lwxiezuo.com

ABSTRACT

For the situation we talk about, this paper is try to study a new computer information management system, that can solve many questions of traditional handwork management in middle and small restaurant, such as,it can provide adequate decision data for manager and can manage many dishes and tables and so on. It will be convenience for the manager and scientific. It can also raise working efficiency and be more beneficial for the middle and small restaurant.

KEYWORDS: Object-Oriented, DELPHI, Restaurant Management

System, Mold, SQL

中国最大的论文知识平台www.lwxiezuo.com

正文目录

第一章 引言 ................................................................................................................................... 1

第一节 选题背景 ................................................... 1 第二节 选题内容 ................................................... 1

第二章 技术解析 ........................................................................................................................ 2

第一节 C/S体系结构简介 ........................................... 2 第二节 DELPHI介绍 ................................................ 2 第三节 DELPHI7新特征 ............................................. 2 第四节 SQL SERVER 2000介绍 ....................................... 3 一、SQL概述 ................................................... 3 二、SQL的特点 ................................................. 4

第三章 系统分析 ........................................................................................................................ 6

第一节 需求分析 .................................................. 6 第二节 系统用例分析 .............................................. 7 第三节 系统的逻辑模型 ............................................. 7 一、数据流程分析 ................................................ 7 二、数据字典 ................................................... 10

第四章 系统设计 ...................................................................................................................... 13

第一节 系统的概要设计 ........................................... 13 第二节 系统详细设计 .............................................. 14 一、数据库设计 ................................................. 14 二、关键技术 ................................................... 20 三、界面设计 ................................................... 23

第五章 系统实施 ...................................................................................................................... 34

第一节 编程 ...................................................... 34 第二节 系统测试 .................................................. 53 第三节 系统不足之处 .............................................. 57

【参考文献】 .............................................................................................................................. 58 致谢 ..................................................................................................................... 错误!未定义书签。

中国最大的论文知识平台www.lwxiezuo.com

第一章 引言

第一节 选题背景

在信息高度发达的今天,随着人们生活水平的不断提高,餐饮业的种类在千变万化之中,餐饮业消费持续增长,同行业之间的竞争越来越激烈。为了提高工作效率,这就迫切需要引入准确、高效的计算机管理方式。该软件使用计算机对餐饮信息进行管理,目的在于让许多餐饮企业可以拥有崭新的收银管理体验,具有手工管理所无法比拟的优点,例如检索速度快、可靠性高、存储量大、成本低等,能够极大地提高运营管理的效率。由于软件中添加了用户可以在服务器端通过摄像头对客户进行监控的设置,使得本软件扩大了企业的管理范围。

餐饮业务涉及的各个工作环节已不再仅仅是传统的管理、结算业务,而是更广、更全面的服务性行业代表。特别是近年来我国的餐饮业面临更加激烈的同业竞争,如何提供更多的工作流程和更优质的服务,如何吸引更多的顾客,如何利用计算机技术加强顾客账户信息管理、进行顾客业务再造,提高员工的工作效率和业务竞争能力是摆在各家饮食广场面前的一个迫切需要解决的问题。饮食广场作为一个服务性行业、从选餐、结算等,整个过程应该能够体现以人为中心,提供快捷、方便的服务,给顾客感受一种顾客至上的享受,提高管理水平,简化各种复杂操作,在最合理最短时间内完成业务规范操作,这样才能令客舒适难忘,增加顾客回头率。

餐饮行业发展态势明显,主要体现在连锁经营、品牌培育、技术创新、管理科学化为代表的现代餐饮企业,大众化消费越来越成为餐饮消费市场的主体;饮食文化已经成为餐饮品牌培育和餐饮企业竞争的核心,现代科学技术、科学的经营管理、现代营养理念在餐饮行业的应用已经越来越广泛。本课题所要设计的是东方美食广场消费管理系统,该系统设计的重点在于结算,分为一般顾客的结算、会员结算;同时会员还分为一般会员和员工会员;通过对业务的实际开发需求的分析,开发餐饮管理系统提高服务水平提升企业形象,工作效率已迫切需要。

第二节 选题内容

通过在一些中型酒店的餐饮管理系统实施中,学习餐饮行业的业务知识,了解餐饮企业的用户需求,参照其他大型完善的酒店管理系统软件,为中小型餐饮企业提供系统解决方案。

本系统采用DELPHI 7.0 作为前端的开发的工具,使用SQL server 2000作为后台的数据库。DELPHI7.0采用面向对象和可视化的图形界面,提供强大的数据库开发功能,能快速的开发出功能完善、可靠性高的系统。

中国最大的论文知识平台www.lwxiezuo.com

第二章 技术解析

第一节 C/S体系结构简介

最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,称为应用服务器,一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户程序运行在用户自己的电脑上,对应于服务器电脑,可称为客户电脑。当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果。

在典型的C/S数据库应用中,数据的储存管理功能,是由服务器程序独立进行的,并且通常把那些不同的(不管是已知还是未知的)前台应用所不能违反的规则,在服务器程序中集中实现,例如访问者的权限,编号不准重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)这背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序可以变的非常“瘦小”,麻烦的事情,都交给了服务器和网络。在C/S体系的下,数据库真正变成了公共、专业化的仓库,受到独立的专门管理。

第二节 Delphi介绍

Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。作为一种Windows系统下的可视化开发工具,自Borland公司1995年3月推出Delphi1.0以来,它就以优秀的集成开发环境、可视化的面向对象编程、良好的数据库应用支持、功能齐全的VCL组件和高效的编译器,为程序开发人员提供了在基于Object Pascal语言的可视化开发平台上快速开发遵循Windows标准的应用程序的开发工具,得到广大Windows程序开发人员的喜爱。Delphi7作为Delphi家族中的较新版本,不但可以作为新一代商务系统的快速开发工具,也可以作为客户机/服务器和Web方式的应用程序开发工具。

第三节 Delphi7新特征

Delphi7的最显著的特点是增加了对.NET的支持,它具有以下新特征: (1) 可定制化的View视窗。在Delphi7中,编辑器新增加了图表编辑页面(digagram page),可以编辑应用程序中各种可视化的组件。

中国最大的论文知识平台www.lwxiezuo.com

(2)集成了跨平台开发库(CLX)。在Delphi中开发的程序能在Windows或Linux中编译。为程序员在Windows下开发Linux程序提供了很大的方便。

(3) IntraWeb应用。使用AtoZed软件增加了对IntraWeb的支持,并可通过Apache2技术来开发Web Broker、WebSnop和Soap的应用。

(4) DataSnap技术。可通过新增的DataSnap技术快速开发客户/服务器的多层应用。

(5) Windows.NET的支持。增加了全新的组件支持Windows.net。 (6) Windows XP的支持。增加了对Windows xp 风格的支持,可以创建Windows XP风格界面。

(7) Rave Reports。使用Rave Report 组件集替代了以前的Qreports、Rave Reports,通过该组件可以以可视化的方式设计出风格的报表。

(8) 编译器。的Delphi7的编译器增加了一个新的编译功能“Usafe”,开发者可以通过它编写支持.NET平台的程序。

第四节 SQL Server 2000介绍

一.SQL概述

SQL一词是Structured Query Language(结构式查询语言)的缩写,是用来对存放在计算机中的数据库进行组织、管理和检索的语言。SQL语言是一个综合的、通用的、功能极强的关系数据库语言,它包括数据定义、数据操纵、数据管理、存取保护和处理控制等多种功能。利用表(table)、索引(index)、码(keys)、行(rows)、列(columns)等来确定存储位置。SQL语言本身并不是一个很完整的编程语言,一般他都与其他编程语言结合起来使用。

SQL Server 2000是Microsoft公司推出的基于SQL语言的关系数据库管理系统,它功能强大、操作简便、广泛用于数据库后台。SQL Server2000提供了在服务器系统上运行的服务器软件和在客户端运行的客户端软件,连接客户和服务器计算机的网络软件则由Windows NT/2000/XP提供。其中,SQL Server2000数据库系统的服务器运行在Windows NT/2000/XP系统上,负责创建、维护数据库、表和索引等数据库对象,确保数据的完整性和安全性,能够在出现各种错误时恢复数据。SQL Server2000数据库系统的客户端应用程序可以运行在Windows NT/2000/XP系统上,完成所有的用户交互操作,将数据从服务器检索出来后,可以生成拷贝,以便在本地保留,也可以进行操作。

一般的,一个前端的应用程序与后台SQL Server2000组成的数据库应用系统包括两部分:一是系统前端,一般存在于应用程序和界面中,其中包括应用程序和界面显示、请求事件对应的SQL语句;另一个是系统后端,由SQL Server2000

中国最大的论文知识平台www.lwxiezuo.com

组成,它给前端提供的各种服务,接受前端提交的SQL语句,并执行该SQL语句,将执行结果返回到前端。SQL Server2000基本结构如图2-1所示。

提交SQL语句应用程序界面结果返回客户端客户端(前)服务端(后)SQL Server 2000

图2-1 SQL Server 2000 客户/服务器端基本结构

二.SQL的特点

SQL语言之所以能够为用户和业界所接受,成为国际标准,是因为它是一个综合的、通用的、功能极强、同时又简洁易学的语言。SQL数据查询(data query)、数据操纵、数据定义和数据控制功能于一体,充分体现了关系数据语言的特点和优点。其主要特点包括:

(1)综合统一

SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式、录入数据以建立数据库、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,这就为数据库应用系统开发提供了良好的环境,例如用户在数据库投入运行后,还可根据需要随时地逐步地修改模式,并不影响数据库的运行,从而使系统具有良好的可扩充性。

(2)高度非过程化

非关系数据模型的数据操纵语言是面向过程的语言,用其完成某项请求,必须指定存取路径。而用SQL语言进行数据操作,用户只需提出“做什么”,而不必指明“怎么做”,因此用户无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。

(3)面向集合的操作方式

SQL语言采用集合操作方式,不仅查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。

中国最大的论文知识平台www.lwxiezuo.com

非关系数据模型采用的是面向记录的操作方式,任何一个操作其对象都是一条记录。例如查询所有平均成绩在80分以上的学生姓名,用户必须说明完成该请求的具体处理过程,即如何用循环结构按照某条路径一条一条地把满足条件的学生记录读出来。

(4)以同一种语法结构提供两种使用方式 SQL语言既是自含式语言,又是嵌入式语言。

作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作。作为嵌入式语言,SQL语句能够嵌入到高级语言(例如C、PB)程序中,供程序员设计程序时使用。而在两种不同的使用方式下,SQL语言的语法结构基本上是一致的。这种以统一的语法结构提供两种不同的使用方式的作法,为用户提供了极大的灵活性与方便性。

(5)语言简洁,易学易用

SQL语言非常简洁。虽然SQL语言功能很强,但它只有为数不多的几条指令,另外SQL语言也非常简单,它很接近英语自然语言,因此容易学习、掌握。

中国最大的论文知识平台www.lwxiezuo.com

第三章 系统分析

随着我国国民经济的稳定增长,城镇居民可支配收入不断增加,人们已不再以“温饱”为满足,更加注重饮食的质量和档次。面对当前餐饮业普遍的产业化程度低,管理手段、管理技术落后等问题,使用计算机管理在很大程度上可以帮助餐饮企业克服这些困难。计算机管理系统可以提高餐饮企业的管理水平,节省大量人力、物力和财力,使经验管理更加科学有序、经营物流清晰,经营状况详实、准确。

第一节 需求分析

本系统就是利用计算机信息技术提高中小型餐饮企业的管理水平,主要对点菜收银、库房进行管理,同事具有营业分析功能。点菜收银管理可实现点菜、转台、并台、结账、清台。库房管理可记录商品入库、出库情况。营业分析可对客人点菜情况、房台营业情况、酒菜销售情况、销售收入等进行分析。点菜收银、营业分析、库房管理有机结合,可为酒店经营方向提供依据,为酒店餐馆的发展提供重要保证。

根据在平时的酒店餐饮系统实施的过程中发现,系统的主要功能包括: (1)前台管理:开台管理、客人买单、结账数据分析。

(2)财务管理:日结算管理、月结算管理、费用单据管理、公司资金管理。 (3)数据分析:月营业分析、点菜分析、酒水分析、年度营业分析。 (4)库存管理:库存信息管理、库存分析统计。

(5)出入库管理:进货凭证管理、出货凭证管理、进货信息统计、出货信息统计。

(6)员工管理:员工信息管理,员工工资管理。

(7)基础信息管理:餐具信息设置、酒水信息设置、菜谱信息设置、房间台号管理、商品基础信息登记。

(8)数据初始化:餐饮部门设置、房间台号类型设置、酒水类别设置、菜系信息设置、餐具类别设置、员工类别设置、仓库信息设置、信息打印管理。

(9)系统管理:系统维护向导、权限管理、数据备份、帮助说明、关于本软件。

中国最大的论文知识平台www.lwxiezuo.com

第二节 系统用例分析

中小型餐饮系统的用例图如图3-1所示:

系统管理 数据初始化 基础信息管理 前台管理 登入 管理员 财务管理 收银员 员工管理 数据分析 财务 出入库管理 库存管理 仓管员

图3-1 中小型餐饮系统用例图

该用例图标记了所有的用例,从中可以得知,该餐饮系统的角色就可分为管理员,收银员,财务,仓管员。

管理员:登录系统,系统管理、基础信息管理、数据初始化、基础信息管理。 收银员:前台管理。

财务:员工管理,财务管理,数据分析。 仓管员:出入库管理,库存管理。

第三节 系统的逻辑模型

一、数据流程分析

数据流程中的数据流的设计继承了管理业务流程中的相关设计思想,如对于能用电子化方式表达及传递的数据流尽量采用电子化的方式进行。

数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。数据流程图具有抽象性和概括性。抽象性表现在它完全舍去了具体的物质,只剩下数据的流动、

中国最大的论文知识平台www.lwxiezuo.com

加工处理和存储;概括性表现在它可以把信息中的各种不同业务处理过程联系起来,形成一个整体。

数据流程图由图3-2所示的四种符号表示,即外部实体、数据流、处理(功能)与数据存储。

外部实体指本系统之外的人或单位。它们和本系统有信息传递关系,在绘制库存管理模块的数据流程图时,凡是属本模块之外的人,也都被列为外部实体。如图3-3-1所示。

数据流表示流动着的数据。它可以是一项数据,也可以是一组数据(如本模块中的出库单、入库单等),也可用来表示对数据文件的存储操作。通常在数据流符号上方标明数据流的名称。

处理又称功能。它用一个长方形来表示处理逻辑,图形下部填写处理的名字,上部填写与该处理有惟一对应关系的标志。

数据存储是指通过数据文件、文件夹或账本等存储数据。本系统中的数据主要是存入数据库相应的表中。

外部实体 处理 数据流 数据存储

图3-2 流程图符号

(1) 顶层数据流程图:

D3菜品单 管理员 D4 菜品清单 P2 菜品定义 F2 菜品表

图3-3顶层数据流图

(2) 第二层数据流程图:

中国最大的论文知识平台www.lwxiezuo.com

D1点菜单 顾客 P1 点餐 D2订单 F1 订单表 D5订单号 图3-4 第二层数据流程图

(3) 底层数据流程图:

F3 房台信息表 D8买单信息 D6选房 D5 登记 客人 D7房间状态 P3 开台管理 P4 买单管理 F4 日点单信息 D9挂账信息 D2订单 厨房 F1 订单表 F5 挂账表 P7 财务管理 D10消耗量 P5 库房 挂账管理 D14结算数据 财务人员 D12 在库量 D13 入库单 仓管员 D11商品信息

P6 仓库管理 F6 P8 账务管理 单证表 图3-5 底层数据流程图

中国最大的论文知识平台www.lwxiezuo.com

二、数据字典

1、数据项 编号:I1 名称:菜品编号 简述:菜品的识别编号 类型:字符型 宽度:4位 编号:I2 名称:订单编号 简述:订单的识别编号 类型:字符型 宽度:10位

2、数据处理

编号:P1 名称:订餐 输入:点菜单 处理:汇总点菜单 输出:订单

编号:P2 名称:菜品定义 输入:菜品信息 处理:菜品信息汇总 输出:菜单

3、数据流

编号:D1 名称:点菜单

www.lwxiezuo.com

中国最大的论文知识平台 简述:返回前台点菜信息 组成:编号+名称 来源:顾客 去向:前台管理

编号:D2 名称:订单 简述:汇总的点餐表 组成:编号+菜品+数量 来源:前台模块 去向:数据分析模块

编号:D3 名称:菜品单 简述:菜品的详细信息

组成:编号+菜品名称+菜品详情+菜品价格 来源:管理员

去向:基础信息处理模块

编号:D4 名称:菜品清单 简述:汇总菜品的信息

组成:菜品编号+菜品名称++菜品详情+菜品价格+菜料数量 来源:基础信息管理模块 去向:顾客

编号:D5 名称:订单号

简述:订单表里生成订单号码 组成:订单号 来源:订单表 去向:顾客

4、数据存储

中国最大的论文知识平台www.lwxiezuo.com

数据字典是在数据流程图的基础上,对数据流程图中的每一个成分,即每个外部实体、数据流、数据处理、文件或数据存储的详细描述集合。下面对本系统部分数据字典内容进行介绍。

编号:F1 名称:订单表 简述:储存订单的信息

组成:编号+订餐人+菜品+价格+订餐时间+包厢号+总价格 关键字:编号+订餐人

编号:F2 名称:菜品表 简述:所有菜品信息

组成:编号+菜品名称+价格+简介+检索码 关键字:编号+检索码

5、外部实体

编号:S1 名称:顾客 简述:订餐的发起者 输入的数据流:点菜单 输出的数据流:无

编号:S2 名称:管理员

简述:更新菜品和管理订单的部门 输入的数据流:菜品信息 输出的数据流:无

中国最大的论文知识平台www.lwxiezuo.com

第四章 系统设计

第一节 系统的概要设计

根据一般酒店的业务情况,该系统共分为数据初始化、基础信息管理、前台管理、财务管理、数据分析、出入库管理、系统管理、库存管理、员工管理等9个模块,计划有37个完整的功能。系统结构如图4-1所示。

餐饮酒店管理系统 数据初始化 基础信息管理 前台管理 财务管理 餐饮部门设置房间台号类型设置酒水类别设置菜系信息设置餐具类别设置员工类别设置仓库信息设置信息打印管理餐具信息设置酒水信息设置菜谱信息设置房间台号管理商品基础信息登记开台管理客人买单信息打印管理日结算管理月结算管理费用数据管理公司资金管理 系统管理 数据分析 出入库管理 系统维护向导权限管理数据备份帮助说明关于本软件月营业分析点菜分析酒水分析年度营业分析进货凭证管理 库存管理 员工管理 出货凭证管理进货信息统计出货信息统计库存信息管理库存分析统计员工信息管理员工工资管理

图4-1 餐饮酒店管理系统功能结构图

中国最大的论文知识平台www.lwxiezuo.com

根据餐饮行业的特点,系统的业务流程图如图4-2所示。

房台分析 其他费用 客人 开台 点菜 清台 结账营业分析 挂账 并台 转台 点菜分析 酒水分析

图4-2 餐饮酒店管理系统流程图

第二节 系统详细设计

一、数据库设计

(一)概念结构设计:

1、管理员实体

管理员 编号 姓名 员工类别 图4-3 管理员实体

密码 权限

2、菜谱实体

中国最大的论文知识平台www.lwxiezuo.com

菜谱 口味说明 编号 菜名 单位 价格 菜系类别

图4-4 菜谱实体

3、餐具实体

餐具 餐具说明 编号 餐具名称 单位 价格 餐具类别

图4-5 餐具实体

4、房台号实体

房台号 状态 编号 备注 房台名称 类型说明 餐饮部门 服务费

图4-6 房台号实体

5、点菜单实体

中国最大的论文知识平台www.lwxiezuo.com

点菜单 ID 结账编号 状态 结账日期 服务员编号 房间台号 类别 菜品编号 点菜日期

图4-7 点菜信息实体

6、员工实体

员工 聘用日期 编号 姓名 性别 身份证号 联系电话 住址 部门号

图4-8 员工实体

7、工资实体

工资 工资编号 员工编号 合计 是否发薪 扣除费用 基本工资 加班费 其他费用 奖金

图4-9 工资实体

8、仓库实体

中国最大的论文知识平台www.lwxiezuo.com

仓库 仓库编号 仓库名称 仓库说明

图4-10 仓库实体

9、库存实体

库存 仓库编号 商品编号 提醒下限 单位 进货日期 商品说明 数量

图4-11 库存实体

(二)实体关系图

M 客人 仓库 1 存放 M 商品 消耗 1 点菜 信息 点单 M 1 买单 1 现金 服务 1 员工 1 M 挂账 1 1 开台 M 房台

图4-12 实体关系图

中国最大的论文知识平台www.lwxiezuo.com

(三)逻辑结构设计

菜谱费用信息表用于保存菜谱费用相关信息。

表4-1 菜谱费用信息表

字段名称 cno cname Cdanwei ccost cshuoming ckouwei 字段类型 int char char money char char 长度 50 10 20 30

酒水费用信息表用于保存酒水费用信息。

表4-2 酒水费用信息表

字段名称 Jno jname jdanwei jcost jleibie jbeizhu 字段类型 int char char money char char 长度 20 10 20 50

餐具费用信息表用于保存餐具费用信息。

表4-2-3 餐具费用信息表

字段名称 cjno cjname cjdanwei cjcost cjleibie cjbeizhu

字段类型 int char char money char char 长度 20 10 20 50 房间台号信息表用于保存房间台号费用信息。

表4-4 房间台号信息表

字段名称 ftno ftname ftleixing ftfuwufei ftshuoming ftzhuangtai

字段类型 int char char money char char 长度 20 20 20 10 权限信息表用于保存设置权限信息。

表4-5 权限信息表

字段名称 YGno YGname 字段类型 int char 长度 10 中国最大的论文知识平台www.lwxiezuo.com

YGleibie ygkey ygquanxian

char char char 20 10 20 工资信息表用于保存员工工资信息。

表4-6 工资信息表

字段名称 gzno YGno jbgz jiangjin jiabanfei qitafeiyong koukuan Kfshuomin total shifoufaxin

字段类型 int int money money money money money Char money char 长度 30 10 日点菜信息表用于保存点菜信息。

表4-7 日点菜信息表

字段名称 id ftno cno cshuliang ccost total ddtime jdtime ygno Jzno jzzhuangtai 字段类型 uniqueidentifier int int int money money datetime datetime int int char 长度 10

库存信息表用于保存库存商品的相关信息。

表4-8 库存信息表

字段名称 no jname jshuliang jcost ckno Ckname txxiaxian xgtime 字段类型 int char int money int char int datetime 长度 20 20

中国最大的论文知识平台www.lwxiezuo.com

二、关键技术

(一)开发餐饮酒店管理系统的关键要素

与一般的工程相比,餐饮酒店管理系统开发及涉及环节比较多,业务关系比较复杂、管理因酒店的规模与经营方式不同而千差万别,目前还没有一套比教规范和公认的运营管理标准。根据餐饮行业的特点和日常实施中的经验,因重点在开发下面的业务。

1、接待业务。客人进店→选台(包厢)→开设会员帐户→明确折扣或优惠。在接待业务中,还可能出现转台、并台等业务,如何处理好转台、并台业务,是接待程序的开发重点。

2、点单业务。客人点单主要包括:点菜、加菜、换菜、退菜、赠送等。在点单业务中,对客人加、换、退、赠菜一定要处理好,否则会经营管理带来麻烦。

3、收银业务。客人收银业务主要包括现结、挂单、挂账、免单、退单等。在收银业务要把收银的各种情况考虑周全,挂单或挂账是重点。如果挂单或挂账,要自动生成挂账单据,并与历史挂账数据进行处理。

4、库存业务。库存业务主要包括消费品和消耗品的入库、出库、退货、报损、盘点等业务。在库存业务中,重点要处理好商品批量入库、出库,根据库存的上下限与保质期,通知进货和处理积压货品。

(二)如何实现开台与转台

在进行开台设计时,应注意房台当前所处的状态。应为房台存在各种状态,例如正在使用、维修或空闲等。所以开台时,首先考虑的是房台的状态,只有正常空闲的房台才允许开台,否则无法开台。

由于客人就餐习惯不同,可能会遇到这种情况,有些客人在就餐过程中要求转台。例如:客人要求换一个朝阳的包间或带电视的包厢等。这种情况下,程序首先找到原房台(客人就餐的房台),然后列出目标房台(正常空闲的房台),确认客人转台后,再对开台表的相应信息进行编辑。转台后,原房台的状态为空闲状态,目标房台的状态为营业状态。下面是实现转台的部分代码:(table1为房台信息表,Query为点菜临时表,test1.test为房台输入框,101为原房台。)

if table1.locate(’编号’,Strtoint(edit1.text),[locaseinsensitive]) then begin

if table1.fieldbyname(’状态’).Asstring:=’营业’; begin

showmessage(‘对不起,当前房台正在营业中!’);

中国最大的论文知识平台www.lwxiezuo.com

end else

begin

if messageDLG(‘确认将该台转到目标台位吗?’,mtcustom,[mbYes,mbNo],0)=mrYes then begin

table1.edit;

table1.fieldbyname(‘状态’).asstring:=’营业’; table1.Post; query1.close; query1.sql.clear;

query1.sql.add(‘update 点菜临时表’);

query1.sql.add(‘set 房间台号=:A where 房间台号=101’); query1.params[0].asinteger:=table1.fieldbyname(‘编号’).asinteger; query1.execsql;

table1.locate(‘编号‘,101,[locaseinsensirive]) table1.edit;

table1.fieldbyname(‘状态’).asstring:=’空闲’; table1.post;

showmessage(‘转换成功。’);

(三)query组件使用要点

Tquery组件和Ttable组件同样具有连接数据库的功能,两者在使用上很相似,ttable处理一个表很方便,不能进行处理多表。但Tquery组件可以进行多表处理,因为Tquery组件可以使用SQL语法作为获取数据源的根据,Tquery组件的核心是SQL语言,它通过执行SQL语句来实现程序功能。下面介绍Query组件在程序中使用SQL语句的一些要点:

1、清除SQL中赋值内容:添加SQL内容前,应使用SQL.CLEAR清除赋值内容。如:query1.sql.clear;

2、添加SQL内容:清除数据后,可以使用ADD方法来赋值。如:Query1.sql.add(‘select * from 库存’);

3、运行SQL:添加SQL内容后,还要运行SQL。方法有两种,OPEN和EXECSQL。

Open:对于返回数据集的语法(select语法,不包括Delete、update、insert等语法),Tquery组件提供了Open方法运行SQL,相当于将Tquery组件的Active属性设置为true.

中国最大的论文知识平台www.lwxiezuo.com

Execsql:对于不返回数据集的语法(delete、update、insert等语法),使用execsql.

4、加速SQL:为提高SQL语句的运作效率,可使用prepare方法将SQL语句的检查内容让远程的数据库先进行最佳化的处理。如:

Query1.sql.add(‘select * from 库存’); Query1.prepare; Query1.open;

5、区别变量和常量:Delphi提供(:)来识别变量和常量。如:query1.sql.add(‘delete * from 库存 where spbh=:A’);

6、赋值变量:使用Query最大的优点是它的灵活性,而使用变量进行动态查询是它的灵活性的最大体现。我们可以使用(:)来在SQL中设置变量,Tquery组件便会将这些变量存入Tparams中,Tparams以数组的形式保存变量。赋值的操作主要通过params或parambyname来实现。Params为变量在Tparams中的存放为止来进行赋值操作,parambyname为变量在Tparams中存放名称来进行赋值操作。通过params实现,如:

Query1.sql.add(‘update 点菜临时表’);

Query1.sql.add(‘set 房间台号=:A where 房间台号=:B’); Query1.params[0].Asinteger:=table1.fieldbyname(‘编号’).Asinteger; Query1.params[1].Asinteger:=table2.fieldbyname(‘编号’).Asinteger; 通过Parambyname实现:

Query1.sql.add(‘update 点菜临时表’);

Query1.sql.add(‘set 房间台号=:A where 房间台号=:B’);

Query1.params.parambyname(‘A’):=table1.fieldbyname(‘编号’).Asinteger; Query1.params.parambyname(‘B’):=table2.fieldbyname(‘编号’).Asinteger;

中国最大的论文知识平台www.lwxiezuo.com

三、界面设计

(1) 收银员用主要界面。 1、系统登入界面如图4-13。

图4-13 系统登入界面

2、用户登录后,系统的总界面如图4-14所示:

图4-14 用户登录总界面

3、前台管理中的开台管理界面如图4-15所示。

中国最大的论文知识平台www.lwxiezuo.com

图4-15 开台管理界面

4、客人开台后的点菜服务窗口,如图4-16所示:

中国最大的论文知识平台www.lwxiezuo.com

图4-16 点菜服务窗口

客人在用餐中途,又想点菜时,可以进入点菜信息管理界面加菜,该菜数量等操作。如图4-17所示。

图4-17 点菜信息管理窗口

5、转台界面窗口,如图4-18所示:

中国最大的论文知识平台www.lwxiezuo.com

图4-18 转台窗口

6、并台设置窗口,如图4-19所示:

图4-19 并台设置

7、客人买单窗口,如图4-20所示:

中国最大的论文知识平台www.lwxiezuo.com

图4-20 客人买单窗口

8、客人结账窗口,如图4-21所示:

图4-21 客人结账窗口

9、客人挂账窗口,如图4-22所示:

图4-22 客人挂账窗口

中国最大的论文知识平台www.lwxiezuo.com

(二)财务用主要界面

1、财务日结算和夜结算管理分别如图4-23和图4-24所示:

图4-23日结算管理

图4-24月结算管理

2、营业查询分析界面,如图4-25所示:

图4-25营业查询分析

3、费用单据管理窗口,如图4-26所示:

中国最大的论文知识平台www.lwxiezuo.com

图4-26 费用单据管理

4、公司资金管理窗口,如图4-27所示:

图4-27 公司资金管理窗口

5、年度营业统计分析窗口,如图4-28所示:

图4-28 年度营业分析窗口

中国最大的论文知识平台www.lwxiezuo.com

6、员工信息管理,可增加、删除、修改管理员信息,如图4-29所示:

图4-29 增加、删除员工信息窗口

7、员工工资信息管理窗口,如图4-30所示:

图4-30 工资信息窗口

(三)仓管员用主要界面

1、进货凭证管理窗口,如图4-31所示:

图4-31 进货凭证管理窗口

中国最大的论文知识平台www.lwxiezuo.com

2、库存信息管理窗口,如图4-32所示:

图4-32 库存信息窗口

(四)管理员用主要界面

1、房间台号信息管理窗口,如图4-33 所示:

图4-33 房间台号信息窗口

2、菜谱信息管理窗口,如图4-34所示:

中国最大的论文知识平台www.lwxiezuo.com

图4-34 菜谱信息窗口

3、酒水信息管理窗口,如图4-35所示:

图4-35 酒水信息窗口

4、数据初始化设置窗口,如图4-36所示:

图4-36 数据初始化设置窗口

中国最大的论文知识平台www.lwxiezuo.com

5、系统权限管理窗口,如图4-37所示:

图4-37系统权限管理窗口

6、系统维护向导窗口,如图4-38所示:

图4-38 系统维护向导窗口

中国最大的论文知识平台www.lwxiezuo.com

第五章 系统实施

第一节 编程

(1)登入界面。通过权限赋值,拥有不同权限的员工,进入系统所能操作的功能都是不一样的。代码如下:

Function TMainForm.EnabledKey(key:String):Boolean; //声明操作权限函数

begin

if Pos('A',key)>0 then //具有\类权限 begin

MainForm.N1.Enabled:=True;

MainForm.ToolButton2.Enabled:=True;//打开开台管理 MainForm.N8.Enabled:=True;

MainForm.ToolButton3.Enabled:=True; MainForm.N9.Enabled:=True; End Else

if Pos('B',key)>0 then //具有\类权限 begin

MainForm.N58.Enabled:=True; MainForm.N5.Enabled:=True; MainForm.N48.Enabled:=True; MainForm.N52.Enabled:=True; MainForm.N51.Enabled:=True; MainForm.N14.Enabled:=True; MainForm.N24.Enabled:=True; MainForm.N15.Enabled:=True; MainForm.N12121.Enabled:=True; MainForm.N4.Enabled:=True; MainForm.N23.Enabled:=True; MainForm.N6.Enabled:=True; MainForm.N22.Enabled:=True; MainForm.N40.Enabled:=True; MainForm.N15.Enabled:=True; MainForm.N16.Enabled:=True; MainForm.N29.Enabled:=True; MainForm.N30.Enabled:=True;

中国最大的论文知识平台www.lwxiezuo.com

MainForm.N35.Enabled:=True; MainForm.N36.Enabled:=True; MainForm.N37.Enabled:=True; MainForm.N32.Enabled:=True; MainForm.N39.Enabled:=True; MainForm.N57.Enabled:=True; MainForm.N55.Enabled:=True; MainForm.N17.Enabled:=True; MainForm.N18.Enabled:=True; End Else

if Pos('C',key)>0 then //具有\类权限 begin

if Pos('D',key)>0 then //具有\类权限 begin

MainForm.N1.Enabled:=True;

MainForm.ToolButton2.Enabled:=True;//打开开台管理 MainForm.N8.Enabled:=True; end;

if Pos('E',key)>0 then //具有\类权限 begin

MainForm.N1.Enabled:=True;

MainForm.ToolButton3.Enabled:=True; MainForm.N9.Enabled:=True; end;

if Pos('F',key)>0 then //具有\类权限 begin

MainForm.N1.Enabled:=True;

MainForm.ToolButton1.Enabled:=True; MainForm.N11.Enabled:=True; end;

if Pos('G',key)>0 then //具有\类权限 begin

MainForm.N1.Enabled:=True;

MainForm.ToolButton11.Enabled:=True; MainForm.N28.Enabled:=True; end;

if Pos('J',key)>0 then //具有\类权限 begin

中国最大的论文知识平台www.lwxiezuo.com

MainForm.N1.Enabled:=True;

MainForm.ToolButton1.Enabled:=True; MainForm.N8.Enabled:=True;

MainForm.ToolButton11.Enabled:=True; MainForm.N9.Enabled:=True;

MainForm.ToolButton2.Enabled:=True; MainForm.N11.Enabled:=True;

MainForm.ToolButton3.Enabled:=True; MainForm.N28.Enabled:=True; end;

if Pos('H',key)>0 then //具有\类权限 begin

MainForm.N12121.Enabled:=True; MainForm.N5.Enabled:=True; MainForm.N48.Enabled:=True; MainForm.N52.Enabled:=True; MainForm.N51.Enabled:=True; MainForm.N33.Enabled:=True; MainForm.N24.Enabled:=True; MainForm.N23.Enabled:=True; MainForm.N7.Enabled:=True; MainForm.N4.Enabled:=True; MainForm.N6.Enabled:=True; MainForm.N22.Enabled:=True;

end; end; end;

(2)新建、删除、修改系统用户,分配权限代码如下: procedure TPowerSetup.BitBtn1Click(Sender: TObject); //添加新用户 begin

DBEdit1.Enabled:=True; DBEdit2.Enabled:=True; TLCYGLXT.Power.Append; GroupBox2.Visible:=True; DBEdit1.SetFocus;

DBGrid1.Enabled:=False; Panel1.Enabled:=False; end;

//修改用户信息

中国最大的论文知识平台www.lwxiezuo.com

procedure TPowerSetup.BitBtn3Click(Sender: TObject); begin

if TLCYGLXT.Power.FieldByName('编号').AsString='controller' then begin

TLCYGLXT.Power.Edit; DBEdit1.Enabled:=False; DBEdit2.Enabled:=False; GroupBox2.Visible:=True; DBEdit3.SetFocus;

DBGrid1.Enabled:=False; Panel1.Enabled:=False; End Else begin

DBEdit1.Enabled:=True; DBEdit2.Enabled:=True; TLCYGLXT.Power.Edit; GroupBox2.Visible:=True; DBEdit1.SetFocus; Panel1.Enabled:=False; DBGrid1.Enabled:=False; GroupBox1.Enabled:=False; end; end;

//保存数据添加

procedure TPowerSetup.BitBtn5Click(Sender: TObject); var ccc:String; begin Try

If (Length(DBEdit1.Text) = 0) Or (Length(DBEdit2.Text) = 0) Then begin

ShowMessage('编号和姓名不能为空'); End Else begin

if RadioButton1.Checked=True then ccc:='A' Else

if RadioButton2.Checked=True Then ccc:='B' Else

If RadioButton3.Checked = True Then

中国最大的论文知识平台www.lwxiezuo.com

本文来源:https://www.bwwdw.com/article/p3co.html

Top