餐饮管理系统实训报告.docx
- 文档编号:5284343
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:20
- 大小:542.16KB
餐饮管理系统实训报告.docx
《餐饮管理系统实训报告.docx》由会员分享,可在线阅读,更多相关《餐饮管理系统实训报告.docx(20页珍藏版)》请在冰豆网上搜索。
餐饮管理系统实训报告
餐饮管理系统
1、绪论
近年来,随着人们生活水平的不断提高,餐饮业的消费持续增长,竞争越来越激烈。
然而,传统餐饮企业的日常运作是靠人工管理,从原材料入库到客人点单,再到结账基本上由人工完场记录,这样不仅耗费人力资源而且容易导致记录丢失或重复等错误,造成管理水平低下。
2、需求分析
本系统应用计算机对餐饮企业信息进行管理,具有手工管理所无法比拟多的优点,极大地提高了信息管理的效率.本系统运用MicrosoftSQLServer2005为后台数据库,以C#为前台开发工具,系统实现了前台管理、食物类型管理、食物管理、桌台管理、开台信息、点菜、结账的功能。
餐厅管理部分:
实现菜单类别管理、菜式管理、桌台管理和预订管理。
菜单类别管理:
实现食物类别的添加和删除,删除时要将此食物类别下的食物一并删除(给出用户提示);
菜式管理:
实现菜式的添加和删除;
3、设计
3.1数据库设计
数据表设计
用户表
W_user表:
列名:
类型
说明
备注
Userid
Nvarchar(50)
用户ID
主键
Username
Nvarchar(50)
用户名
Useridentity
Nvarchar(50)
身份证
User_birthday
Date
生日
Phone
Nvarchar(50)
电话
Gender
Int
性别
Useraddress
Nvarchar(50)
地址
Usertype
Int
用户类型
0为普通用户,1为超级管理员
Pwd
Nvarchar(50)
用户密码
桌子表
W_table表
列名:
类型
说明
备注
Tid
Nvarchar(50)
桌子编号
主键
Tname
Nvarchar(50)
餐桌名
Position
Nvarchar(100)
餐桌位置
Describe
Nvarchar(500)
描述
Status
int
1正在使用,0为空闲
开台记录(用餐记录)
W_orders表
列名:
类型
说明
备注
Ordered
Int
订单ID
主键
_time
Nvarchar(50)
用餐时间或者预定用餐时间
Numbers
Int
用餐人数
Tid
Nvarchar(50)
外键,来自w_table
Userid
Nvarchar(50)
接待人员
外键,来自W_USER
Amount
Decimal(18,2)
实收金额
客户用餐明细
W_guestfood表
列名:
类型
说明
备注
Id
Int
自增
主键
Foodid
Int
外键,来自w_food
Number
int
数量
Remark
Nvarchar(50)
备注
Ordered
int
订单ID
Lineprice
Decimal(18,2)
行计算价
Userid
Nvarchar(50)
服务人员
食物类型
W_foodtype表
列名:
类型
说明
备注
Typeid
Int
食物类别ID
主键
Foodtype
Nvarchar(50)
食物类别名
餐厅食物
W_food表
列名:
类型
说明
备注
Foodid
Int
食物ID
主键
Typeid
Int
食物类别ID
Foodname
Nvarchar(50)
名称
Foodprice
Nvarchar(50)
价格
Unite
Nvarchar(50)
单位
图1业务流程图
图2餐饮管理系统功能结构图
3.2前台设计
3.2.1登陆界面:
功能:
用户可以通过此界面登陆系统
图3.1登陆界面
3。
2。
2main界面的实现
功能:
前台管理,实现各种界面管理,可以通过图片信息查看桌子是否已使用,也可选中图标单击右键选择相应业务
图3。
2主界面
3.2.3食物类型管理
功能:
可自动添加食物类别,删除食物类别的同时也删除该类别下的食物
图3.3食物类型管理
3.2。
4食物管理
功能:
可添加删除食物
图3。
4食物管理
3.2。
5桌台信息
功能:
可查看桌子的具体信息及使用状态(0为空闲,1为使用)
图3。
5桌台管理
3。
2.6开台
功能:
此界面可也选择用餐人数及服务员和用餐时间
图3.6开台界面
3。
2。
7点菜
功能:
单击左边菜谱,输入数量选择服务人员,注明备注单击保存即完成点菜功能
图3。
7点菜界面
3.2。
8结账
功能:
根据订单号结账
图3。
8结账界面
4、具体实现
前台程序设计
4.1Cdb类:
实现C#与数据库连接,调用相应存储过程
publicclassCdb
{
privatestringappsettingk1=System。
Configuration。
ConfigurationManager.AppSettings[”k1"];
privateSqlConnectionconn=null;
publicCdb()
{
conn=newSqlConnection(appsettingk1);
}
publicDataSetgetDataset(Stringstorename,SqlParameter[]parameters)
{
SqlCommandcmd=newSqlCommand(storename,conn);
cmd。
CommandType=CommandType。
StoredProcedure;
SqlDataAdapterad=newSqlDataAdapter(cmd);
DataSetds=newDataSet();
if(parameters!
=null)
{
for(inti=0;i Length;i++) { cmd.Parameters。 Add(parameters[i]); } } ad.Fill(ds); returnds; } publicintExcuteStore(Stringstorename,SqlParameter[]parameters) { conn.Open(); SqlCommandcmd=newSqlCommand(storename,conn); cmd。 CommandType=CommandType。 StoredProcedure; if(parameters! =null) { for(inti=0;i〈parameters.Length;i++) { cmd.Parameters.Add(parameters[i]); } } try { cmd.ExecuteNonQuery(); return0; } catch(Exceptionk) { stringm=k。 Message; return—1; } finally { conn.Close(); } } } 4。 2登陆界面: publiclogin() { InitializeComponent(); } privatevoidbutton1_Click(objectsender,EventArgse) { if(textUid。 Text==”"||textPwd.Text=="”) { MessageBox。 Show("请输入用户名和密码”); return; } Business.CtablesAdmindb=new_1217.Business.CtablesAdmin(); if(db.login(textUid。 Text,textPwd。 Text)==1) { MessageBox.Show(”超级用户”); this。 Hide(); Mainm2=newMain(); m2。 ShowDialog(); } if(db.login(textUid。 Text,textPwd.Text)==0) { MessageBox.Show("普通用户,请通过PID登陆! ”); } if(db。 login(textUid。 Text,textPwd。 Text)==-1) { MessageBox。 Show(”对不起,您没有访问权限! "); } } privatevoidbutton2_Click(objectsender,EventArgse) { Application.Exit(); } 4。 3食物类型管理、食物管理、开台、结账 //添加食物类型 privatevoidbutton1_Click(objectsender,EventArgse) { if(textBox1。 Text=="”) { MessageBox。 Show(”不能为空! ”); return; } Business。 CtablesAdmintb=new_1217。 Business.CtablesAdmin(); if(tb.addfoodtype(textBox1.Text)==0) { MessageBox.Show(”添加成功"); bindGridView(); } } //删除食物类型 privatevoiddataGridView1_CellContentClick(objectsender,DataGridViewCellEventArgse) { if(e。 ColumnIndex==0) { if(MessageBox.Show(”确定要删除吗,若删除则会删除该类下所有的菜名! ”,"添加成功”MessageBoxButtons.OKCancel,MessageBoxIcon。 Warning)==DialogResult.Cancel) { return; } inttypeid=int。 Parse(dataGridView1.SelectedCells[1].Value.ToString()); Business。 CtablesAdmintb=new_1217。 Business.CtablesAdmin(); if(tb。 delfoodtype(typeid)==0) { MessageBox.Show(”删除成功! ”); bindGridView(); } else { MessageBox.Show("删除失败! ”); } } } //添加食物 privatevoidbutton1_Click(objectsender,EventArgse) { if(textname.Text=="”||textunite.Text==”"||foodtype.Text=="") { MessageBox。 Show("填写不完整,请重新输入! "); return; } Business。 CtablesAdmintb1=new_1217.Business.CtablesAdmin(); Business.CtablesAdmintb2=new_1217。 Business.CtablesAdmin(); intc=int。 Parse(tb2.atypeid(foodtype。 Text).Rows[0][0]。 ToString()); if(tb1.addfood(c,textname。 Text,textunite.Text,textprice。 ToString())==0) { MessageBox.Show("食物添加成功! ”); bindGridView1(); } else { MessageBox.Show(”食物添加失败! "); } } //删除食物? privatevoiddataGridView1_CellContentClick(objectsender,DataGridViewCellEventArgse) { dataGridView1.AutoGenerateColumns=false; if(MessageBox.Show(”确定要删除吗? ”,”提示”,MessageBoxButtons.OKCancel,MessageBoxIcon。 Warning)==DialogResult。 Cancel) { return; } else { intfoodid=int.Parse(dataGridView1.SelectedCells[1].Value。 ToString()); Business。 CtablesAdmintb=new_1217.Business。 CtablesAdmin(); if(tb。 delfoodtype(foodid)==0) { MessageBox。 Show(”删除成功”); bindGridView1(); } else { MessageBox.Show("删除失败"); } } } //开台 privatevoidbutton1_Click(objectsender,EventArgse) { if(numbers。 Text==”") { MessageBox。 Show("请输入用餐人数"); } intuid=int。 Parse(comboBox1。 SelectedValue。 ToString()); if(uid==0) { MessageBox。 Show(”请选择服务员"); return; } Business.CtablesAdmint=newCtablesAdmin(); t.usetable1(dateTimePicker1。 Text,int.Parse(numbers.Text),_tid,comboBox1。 SelectedValue。 ToString()); t.upstatus(_tid); MessageBox.Show(”保存成功”); this。 Close(); } privatevoid取消开台ToolStripMenuItem_Click(objectsender,EventArgse) { if(listView1.SelectedItems.Count! =1) { MessageBox.Show("请选择一张桌子”); return; } stringtid=listView1。 SelectedItems[0]。 SubItems[1]。 Text; Business。 CtablesAdmint=new_1217.Business。 CtablesAdmin(); if(t。 cancleusetable(tid)==0) { Business。 CtablesAdminb=newBusiness。 CtablesAdmin(); b.cancleusetable(tid); b。 updatestatus(tid); MessageBox.Show("取消成功"); } } 4。 4点菜、结账 //点菜 privatevoidbutton2_Click(objectsender,EventArgse) { if(textBox2。 Text=="”||textBox3.Text=="”||textBox4。 Text==””||textBox5.Text=="”) { MessageBox。 Show("请填写完整”); return; } if(comboBox1.Text=="请选择") { MessageBox.Show("请填写服务人员”); return; } Business.CtablesAdmint=new_1217.Business。 CtablesAdmin(); dataGridView1.DataSource=t.getorder(int。 Parse(this.id。 ToString())); common。 Cdbc=newcommon。 Cdb(); DataSetdt=c.getDataset(”getorder”,newSqlParameter[]{newSqlParameter(”@ordered",id)}); common。 Cdbss=newcommon。 Cdb(); intaa=int。 Parse(ss.getDataset(”addorder”,newSqlParameter[]{newSqlParameter(”@tid”,id)})。 Tables[0].Rows[0][0].ToString());//获取订单号? floatlineprice=float.Parse(textBox4.Text.ToString())*int.Parse(textBox5。 Text.ToString()); intfoodid=int。 Parse(treeView1.SelectedNode。 Tag.ToString()); stringud=comboBox1。 SelectedValue.ToString(); t。 guestfood(foodid,int.Parse(textBox5.Text),textBox6.Text,aa,lineprice.ToString(),ud); MessageBox.Show(”保存成功”); } //结账 privatevoidbutton1_Click(objectsender,EventArgse) { Business。 CtablesAdmint=newBusiness.CtablesAdmin(); ints=int。 Parse(t.selectordered(ttid).Rows[0][0].ToString()); decimalb=decimal。 Parse(t。 getsum(s)。 Rows[0][0].ToString()); Business.CtablesAdmintt=newBusiness.CtablesAdmin(); tt.updatestatus(ttid); tt。 jiezhang(b,s); MessageBox。 Show("结账成功! ”); } 5、总结 此餐饮管理系统经过三个周基本完成,实现了餐饮管理系统的基本功能,操作简便方便,基本实现了前台管理、食物类型管理、食物管理、开台信息、点菜、结账等基本功能。 经过这三周的实训,培养了我动手创新的能力,在实践中检验了我对知识的掌握能力以及运用能力。 同时通过本次实训课让我了解解决实际问题的过程,并提高了我的专业技能,使我把所学的理论知识与实际能力紧密的结合在一起。 最重要的是我初步具有了科研意识,我的查找资料,运用资料,完成工程的能力都有了一定提高,为我后继课程的学习打下了坚实的基础。 这次实训我的系统没有做到最完善,我认为是我对专业知识的掌握还不够,经过这次实训,我认识到自己的很多不足,需要以后加大努力,弥补缺陷。 以后我一定会努力,继续学习,是自己能够更加完善. 6、参考文献 《数据库技术及应用》中国石油大学出版社 《C#从入门到精通》清华大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 餐饮 管理 系统 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)