餐饮管理系统(1)界面图+源代码_第1页
餐饮管理系统(1)界面图+源代码_第2页
餐饮管理系统(1)界面图+源代码_第3页
餐饮管理系统(1)界面图+源代码_第4页
餐饮管理系统(1)界面图+源代码_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 餐饮管理系统设计报告餐饮管理系统1、前言在餐饮业务竞争越来越激烈的今天,如何提高服务质量,其管理能力显的越来越重要.尤其是对一些大的餐饮店,餐饮店内部服务项目越多,管理难度越大,既要处理前台又要处理后台的工作,所以一个好的管理系统可以提高酒店的管理水平也可以大幅度提高酒店服务水平.1。1 目的随着当今社会信息化的日新月异的发展,计算机应用已经渗透到日常工作的许多方面无论是其自身还是所发挥的作用,计算机都标志着一种高科技、高效率和高水平.为了企业创先进、争一流,为了企业的发展一套好的系统必不可少.现在餐饮业发展速度飞快,要想在激烈的社会竞争有一席之地,好的服务是最基本在服务上提高自己的效率,使

2、自的保障,此次开发的餐饮管理系统就是针对现代化社会管理和要求,己的公司立于不败之地.1.2 定义餐饮管理系统,SQL,ER 图1。3 参考资料数据库应用系统开发技术 朱如龙 刘焰机械出版社2004 年 8 月2004 年 8 月VC+与 SQL2000 开发技术汪晓平 钟军人民邮电出版社2、系统设计2.1 系统目标设计餐饮管理系统的主要目标是实现对酒店内部各种管理的电子化、自动化,提高各个模块之间的办公效率,为高质量餐饮服务提供保证。2。2 开发设计思想餐厅系统是按照国内餐饮行业最新要求开发的全心概念的信息管理系统。该系统将餐厅收银、往来帐务结算及销售情况统计工作在单计算机或网络系统中完成。主

3、要特点包括:代码菜谱编制,方便统计,方便输入;*开单、改单、结算、打印、用户界面方便友好;*系统专设往来账、内部账,结算方式灵活多样,结算消息详尽;系统可同前台系统衔接,查询客人信贷情况,往前台客人帐户转账;报表真实,实用性强,如:收银报表汇总收银、支票、信用卡、转帐等情况;菜肴销售报表汇总各种菜肴的日、月销售量;员工销售统计表,可打印值台人员销售业绩核实报表提供依据.*账务系统共讷讷感的完整性。一旦该系统正式运行,餐厅每日的营业账和全部往来客户1 餐饮管理系统设计报告的账务操作结算都将依靠计算机,该系统面对当前餐厅餐饮业各种负复杂的结算要求应具有很强的应变能力。为此本系统为适应拥护的要求,设

4、计了完整的转帐功能.*帐务系统的可扩充性.由于餐厅业务的扩展,势必要求帐务结算系统随之扩展,在不修改程序的前提下,本系统可在相当可观的范围内,由用户扩展其营业项目和结算手段。帐务操作数据的可校验性。本系统提供了多种方便的查询,校核和统计功能,共帐务操作人员和专职人员自校对帐务数据。如当班收银员下班的时候直接统计当班期间的输单、收银情况。为餐饮企业管理人员提供及时准确的经营状况和帐务信贷系统情况。餐厅系统需要完成的功能有以下几点:定餐管理:定餐修改、定餐取消、定金处理、定餐统计、定餐查询、定餐报表。收款管理:立帐、校费明细录入、特色菜自定义、追加消费、消费修改、消费取消、加位、更改台号、折扣设定

5、、消费服务设定、帐单打印、现付结算和房帐转录.交班管理:统计当班数据、为下班操作做准备、当班帐务流水报表。系统报表:餐饮销售分析报表、每菜销售统计报表、营业收入报表、每菜销售统计日报表和当班特色菜报表。*系统维护:餐厅代码设定、餐台号码以及贵宾房设定特色分类设定、特色编码设定、折扣设定、货币设定、服务费率设定、营业统计项目设定、成本统计项目设定、使用者权限维护、系统备份、系统恢复。餐饮成本核算:成本统计项目设定、成本管理。2.3 系统功能模块设计在系统功能分析的基础上,考虑 Visual C+的编程特点,得到如下面功能模块图。图 11 为餐厅系统餐饮系统的功能模块图。餐饮系统定餐管理收款管理交

6、班管理系统报表成本核算餐饮系统功能图由上面的餐饮系统的功能分析,可以看出一个餐饮管理系统是一个复杂的系统工程,涉及到系统的各个方面.由于篇幅的问题就不具体的介绍了 .3、数据库设计在数据库系统开始设计的时候应该尽量考虑全面,尤其应该仔细考虑用户的各种需求,避免浪费不必要的人力和物力。3。1 数据库需求分析2 餐饮管理系统设计报告在仔细调查餐饮日产管理过程的基础上,得到本系统所处理的数据流程图如图12 所示。定餐交班管理收款管理消费查询餐饮管理数据流程图针对本市里,通过对餐饮系统管理系统的内容和数据流程分析,设计的数据项和数据结构如下.菜谱信息。包括的数据项有菜谱号、名称、所属价格、种类、描述等

7、。*值班员信息。包括数据项有值班员的姓名和口令。荣誉客户信息。包括的数据项有客户号、客户姓名、年龄、性别、职称、联系电话、工作单位等 。*定餐信息。包括的数据项有客户号、桌号、结算日期、打折情况和总计等。有了上面的数据结构、数据项和数据流程,就能进行下面的数据库设计.3.2 数据库概念设计本实例根据上面的设计规划出的实体有 :菜谱实体、值班员实体、客户实体、定餐实体和结算实体。各个实体具体的描叙 ER 图及其之间的关系描述如下。图 1-3 为菜谱实体 ER 图。结算信息桌号客户号打折情况结算日期菜谱实体 E-R 图图 1-4 为值班员实体 ER 图3 餐饮管理系统设计报告值班员信息值班员姓名密

8、码值班员实体 ER 图图 15 为客户实体 ER 图客户信息客户号、姓名个人信息单位信息联系方式客户实体 E-R 图图 16 为订餐信息实体 E-R 图定餐信息桌号菜号名称价格数量日期4 餐饮管理系统设计报告订餐信息实体 ER 图图 17 为结算信息实体 ER 图结算信息桌号客户号打折情况结算日期实体和实体之间的关系 ER 图如图 18 所示定餐M:N1:1客户结算菜谱M:NM:N实体之间的关系 ER3。3 数据库逻辑结构设计在 上面的实体以及实际实体之间关系的基础上,形成数据库中表格以及各个表格之间的关系。餐饮管理系统数据库中各个表格的设计结果如下面的几个表格所示.每个表格表示在数据库中的一

9、个表表 1-1 为值班员 ZSP表 1-1值班员表 ZSP列名数据类型VARCHAR2(20)可否为空说明ZSP_NAMENOT NULL值班员(主键)5 餐饮管理系统设计报告ZSP_PSWDVARCHAR2(10)NOT NULL口令表 12 为菜谱信息表 CP表 12菜谱信息表 CP列名数据类型说明VARCHAR2(10)VARCHAR2(20)VARCHAR2(20)NUMBER(10)VARCHAR2(50)菜谱号(主键)菜名称种类CP_NAMECP_KINDCP_PRICECP_DETAIL价格NULL描述表 1-3 为荣誉客户信息表 KH表 13荣誉客户信息表 KH列名数据类型可否

10、为空说明VARCHAR2(10)VARCHAR2(20)VARCHAR2(2)NUMBER(3)客户号(主键)姓名KH_NAMEKH_GENDERKH_YEARKH_JOB性别NULL年龄VARCHAR2(20)VARCHAR2(20)VARCHAR2(20)NULLKH_TELNULL联系电话工作单位KH_COMPANY表 1-4 为定餐信息表表 14NULL定餐信息表列名数据类型DC_DESKCP_NOVARCHAR2(20)VARCHAR2(10)VARCHAR2(20)NUMBER(3)DATECP_NAMEDC_NUMBERDC_DATENULLNULL定餐日期末(主键表 15 为结

11、算信息表 JS表 1-5结算信息表 JS列名数据类型KH_NODC_DESKJS_DZ客户号(主键)桌号NULLTOTALJS_DATENUMBER(5)DATENULLNOT NULL日期 drop the exist databaseif exists (select from dbo.sysdatabases where name = RMS)drop database RMSGO6 餐饮管理系统设计报告 drop exist tablesif exists (select from dbo.sysobjects where id = object_id (NREADERS)drop t

12、able CPif exists (select from dbo。sysobjects where id = object_id(NBOOKREADERS)if exists (select from dbo。sysobjects where id = object_id(NMANAGERS)TABLESPACE”USER_DATA”;CREATE TABLE“JD” .ZBY(TABLESPACEUSER_DATA;CREATE TABLE“JD” .KH(7 餐饮管理系统设计报告KH_NO VARCHAR2(10) NOT NULL,KH_NAME VARCHAR2(20) NULL,K

13、H_GENDER VARCHAR2(2) NULL,KH_YEAR VARCHAR (3) NULL,KH_JOB VARCHAR2(20) NULL,KH_TEL VARCHAR2(20) NULL,KH_COMPANY VARCHAR2(20) NULL,CONSTRAINT KH_NO_PK PRIMARY KEY (KH_NO)(DC_DESK VARCHAR2(10) NOT NULL,CP_NO VARCHAR2(10) NOT NULL,CP_NAME VARCHAR2(20) NULL,DC_NUMBER NUMBER(3) NULL,DC_DATE DATE NOT NULL

14、,CONSTRAINT DC_PKPRIMARY KEY(KH_NO,JS_DATE))TABLESPACE”USER_DATA;3.4 数据字典数据项数据项描述=数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系8 餐饮管理系统设计报告值班员数据项描述含 义 说与其它数据项的逻辑关系数据项别名 类型长度20可否为空取值含义明用户名密码唯一标识 名字 CharNOT NULLNOT NULLNOT NULLvarChar 10Varchar 50权限管理权力菜谱信息数据项描述取值含 与其它数据项义 的逻辑关系数据项含义说明 别名 数据类型 长度可否为空菜

15、谱编号 唯一标识 名字 Varchar2020201050价格NULL描述VarcharNULL荣誉客户信息数据项描述取值含 与其它数据项义 的逻辑关系唯一标识 名字 VarcharVarcharVarcharNumberVacharVacharVachar性别NULL年龄3NULL职务0NULL联系电话工作单位2020NULLNULL订餐信息数据项描述取值含 与其它数据项义 的逻辑关系桌号唯一标识唯一标识VarcharvarCharVarcharNumberDateNULL订餐日期 唯一标识NULL9 餐饮管理系统设计报告结算信息数据项描述取值含 与其它数据项义 的逻辑关系数据项含义说明 别

16、名 数据类型 长度可否为空客户号桌号唯一标识VarcharvarCharVarcharNumberDateNOT NULLNULLNULL5NULL日期NOT NULL用户数据结构描述数据结构名含义说明组成用户定义了一个用户的所有有关的信息姓名、性别、客户号、年龄、联系电话、工作单位等3。5 数据库物理结构设计数据库物理设计指确定数据库在物理设备上的存储结构与存取方法。确定数据库的物理结构:是否聚集存储,如何建立索引,数据的存放位置,确定系统配置等。介于本系统数据库的简单性,我们没有采用聚集存储之类的结构设计。4、功能模块设计4.1 设计登录和口令管理模块在未登录时,主对话框中的按钮,除了“登

17、录”“退出“帮助”“关于”等项,全是不可用的.为达到这一效果,在CRMSDlg:OnInitDialog()中加入如下代码:GetDlgItem(IDC_BTN_UPDPWD)EnableWindow(FALSE);GetDlgItem(IDC_BTN_DC)-EnableWindow(FALSE);GetDlgItem(IDC_BTN_JS)-EnableWindow(FALSE);GetDlgItem(IDC_BTN_KH)-EnableWindow(FALSE);GetDlgItem(IDC_BTN_CP)EnableWindow(FALSE);GetDlgItem(IDC_BTN_ZB

18、Y)EnableWindow(FALSE);GetDlgItem(IDC_BTN_VIEWDC)-EnableWindow(FALSE);然后在资源编辑器加入如图所示的登录对话框。10 餐饮管理系统设计报告功,则使所有的按钮变为可用,示意登录成功。void CRMSDlg:OnBtnLogin()CDlgLogin dlg;dlg。DoModal();tryZBY_PSWD=s”,dlg。m_name, dlg。m_pswd);_bstr_t sql = sql_;MessageBox(”登录成功!”);GetDlgItem(IDC_BTN_JS)-EnableWindow(TRUE);Mes

19、sageBox(登录失败!);pRst-Close();catch(_com_error e) 餐饮管理系统设计报告AfxMessageBox(e.ErrorMessage();void CRMSDlg:OnBtnUpdpwd()下面是一段 SQL 语句:这部分事务的处理代码和登录处理类时,只是更为繁琐。所以只给代码, 餐饮管理系统设计报告if (dlg.m_newpswd!=dlg.m_newpswd2)MessageBox(两次输入新密码不一致!”);return;tryCString sql_;sql_.Format ( ”SELECT ZBY_NAME FROM ZBY WHERE Z

20、BY_NAME= s ANDZBY_PSWD=s,dlg.m_name, dlg.m_oldpswd);_bstr_t sql = sql_;_RecordsetPtr pRst;pRst = m_DBCnt-Execute(sql, NULL, adCmdText);if (pRst-adoEOF)MessageBox(密码错误!);pRstClose();return;pRst-Close();sql_。Format(”Update ZBY SET ZBY_PSWD=%s WHERE ZBY_NAME=%s”,dlg。m_newpswd, dlg。m_name);sql = sql_;m_

21、DBCnt-Execute(sql, NULL, adCmdText);MessageBox(修改密码成功!”);catch(_com_error e)AfxMessageBox(e.ErrorMessage());return;4。2 设计值班员管理模块下面开始设计值班员表(ZBY0 的管理界面.在资源编辑器中加入一个对话框,用 ClassWizard 为这个对话框生成一个类,名为CDlgViewZBY.在 CRMSDlg 的按钮事件处理函数中加入这样的代码来激活这个对话框。void CRMSDlg::OnBtnZby()13 餐饮管理系统设计报告dlg。DoModal(); 餐饮管理系统设

22、计报告CDialog::OnInitDialog(); 餐饮管理系统设计报告m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT);return TRUE; / return TRUE unless you set the focus to a control/ EXCEPTION: OCX Property Pages should return FALSE使其中 m_list.SetExtendedStyl(e LVS_EX_FULLROWSELECT);一行,这一行使单击列表框时,使整行被选中而不是其中的某一格 .在单机到某一行的时候,程序处理这个单击

23、事件(NM_CLICK),把这一行的数据在下面的各个编辑框中显示出来。这是一个很常用的方法,所以把这部分代码列在下表:void CDlgViewCP:OnClickListCp(NMHDR pNMHDR, LRESULT* pResult)int i = m_list。GetSelectionMark();m_no = m_list.GetItemText(i,0);m_name = m_list。GetItemText(i,1);m_kind = m_list.GetItemText(i,2);m_price = (float)atof(m_list。GetItemText(i,3));m_

24、detail = m_list。GetItemText(i,4);UpdateData(FALSE);pResult = 0;这里程序将要实现查询菜谱功能:由用户选择查询的目标,然后填入查询内容,就能查到符合条件的菜谱。如果没有任何输入查询条件,则列出所有菜谱。使用ClassWizard 添加响应“查询”按钮的事件处理函数。void CDlgViewCP::OnBtnVcqry()CString qry;CString col;GetDlgItemText(IDC_EDIT_VCQRY, qry);GetDlgItemText(IDC_COMBO_VCCOL, col);if (qry。Get

25、Length()=0) | (col。GetLength()=0)RefreshData(SELECT * FROM CP”); elseCString sql;sql。Format(”SELECT FROM CP WHERE s=s”,col, qry);RefreshData(sql);16 餐饮管理系统设计报告CDialog:OnInitDialog(); 餐饮管理系统设计报告m_list。SetColumnWidth(2,wid/5);m_list。SetColumnWidth(3,wid/5);m_list.SetColumnWidth(4,wid/5);m_list。SetExte

26、ndedStyle(LVS_EX_FULLROWSELECT);m_date = CTime::GetCurrentTime( );UpdateData(FALSE);_RecordsetPtr pRst = NULL;IADORecordBindingExtensions)*picRs = NULL; /Interface Pointer declared。(VC+CCPRs rs;try_bstr_t strSQL(SELECT * FROM CP);pRst = m_DBCnt-Execute(strSQL, NULL, adCmdText);TESTHR(pRstQueryInterf

27、ace(_uuidof(IADORecordBinding),(LPVOID)picRs);TESTHR(picRsBindToRecordset(&rs);int i = 0;/ 清空 cpmapcpmap。clear();while (!pRst-adoEOF)m_nos。AddString(rs。m_sz_no);/ 向 cpmap 中添加一个菜谱号菜名映射cpmap.insert(CPMap::value_type(string(rs.m_sz_no), string(rs.m_sz_name));pRstMoveNext();picRsRelease();pRst-Close();c

28、atch(_com_error& e)AfxMessageBox(e。ErrorMessage();return TRUE;18 餐饮管理系统设计报告return TRUE; / return TRUE unless you set the focus to a control/ EXCEPTION: OCX Property Pages should return FALSE4.5 设计订餐管理模块订餐管理模块的设计和菜谱管理模块的界面设计基本相同,数组操控方法也 一样,所以二者的设计 基本可以同样处理.void CDlgDC::OnBtnDcadd()char buf128;m_list.

29、InsertItem(0, m_desk);m_nos。GetWindowText(buf, 128);m_list。SetItemText(0, 2, m_name); if (!UpdateData())m_list。SetItemText(0, 1, buf);return;if (m_desk。GetLength()=0)MessageBox(请输入桌号!);return;if (m_name。GetLength()=0)MessageBox(请选择一样菜!);return;sprintf(buf, %f, m_number); m_list.SetItemText(0, 3, buf

30、);_tmstr(m_date, buf);m_list.SetItemText(0, 4, buf);19 餐饮管理系统设计报告CDlgBeginJS dlg1;ShowWindow(SW_HIDE);dlg1。DoModal();if (dlg1。m_desk.GetLength()0) 餐饮管理系统设计报告CDlgJS dlg2;dlg2.DoModal();MessageBox(”请输入桌号!);ShowWindow(SW_SHOW);对象,然后显示这个对话框,如下所示:,BOOL CDlgJS::OnInitDialog()m_list。InsertColumn(0,桌号);m_li

31、st.InsertColumn(1,”菜谱号);m_list.InsertColumn(2,”菜名”);m_list.InsertColumn(3,菜价);m_list。InsertColumn(4,数量);m_list。InsertColumn(5,”订餐日期”); 餐饮管理系统设计报告RECT rect;m_list。GetWindowRect(rect);int wid = rect.right rect.left;m_list。SetColumnWidth(0,wid/6);m_list。SetColumnWidth(1,wid/6);m_list.SetColumnWidth(2,wid/6);m_list。SetColumnWidth(3,wid/6);m_list。SetColumnWidth(4,wid/6);m_list.SetColumnWidth(5,wid/6);m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT);m_date = CTi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论