.-餐饮管理系统1、绪论近年来,随着人们生活水平的不断提高,餐饮业的消费持续增长,竞争越来越激烈。然而,传统餐饮企业的日常运作是靠人工管理,从原材料入库到客人点单,再到结账基本上由人工完场记录,这样不仅耗费人力资源而且容易导致记录丢失或重复等错误,造成管理水平低下。2、需求分析本系统应用计算机对餐饮企业信息进行管理,具有手工管理所无法比拟多的优点,极大地提高了信息管理的效率。本系统运用MicrosoftSQLServer2005为后台数据库,以C#为前台开发工具,系统实现了前台管理、食物类型管理、食物管理、桌台管理、开台信息、点菜、结账的功能。餐厅管理部分:实现菜单类别管理、菜式管理、桌台管理和预订管理。菜单类别管理:实现食物类别的添加和删除,删除时要将此食物类别下的食物一并删除(给出用户提示);菜式管理:实现菜式的添加和删除;3、设计3.1数据库设计数据表设计用户表W_user表:列名:类型说明备注UseridNvarchar(50)用户ID主键UsernameNvarchar(50)用户名UseridentityNvarchar(50)身份证User_birthdayDate生日PhoneNvarchar(50)电话GenderInt性别UseraddressNvarchar(50)地址UsertypeInt用户类型0为普通用户,1为超级管理员PwdNvarchar(50)用户密码.-桌子表W_table表列名:类型说明备注TidNvarchar(50)桌子编号主键TnameNvarchar(50)餐桌名PositionNvarchar(100)餐桌位置DescribeNvarchar(500)描述Statusint1正在使用,0为空闲开台记录(用餐记录)W_orders表列名:类型说明备注OrderedInt订单ID主键_timeNvarchar(50)用餐时间或者预定用餐时间NumbersInt用餐人数TidNvarchar(50)外键,来自w_tableUseridNvarchar(50)接待人员外键,来自W_USERAmountDecimal(18,2)实收金额用户信息W_user用户ID地址用户名性别电话用户类型用户密码身份证生日桌子信息w_table桌子编号餐桌名餐桌位置餐桌状态描述.-客户用餐明细W_guestfood表列名:类型说明备注IdInt自增主键FoodidInt外键,来自w_foodNumberint数量RemarkNvarchar(50)备注Orderedint订单IDLinepriceDecimal(18,2)行计算价UseridNvarchar(50)服务人员食物类型W_foodtype表列名:类型说明备注TypeidInt食物类别ID主键FoodtypeNvarchar(50)食物类别名客户用餐明细信息W_guestfood食物编号系统编号数量订单号备注服务人员行计价开台记录W_orders用餐时间用餐人数订单ID实收金额接待人员桌台号.-餐厅食物W_food表列名:类型说明备注FoodidInt食物ID主键TypeidInt食物类别IDFoodnameNvarchar(50)名称FoodpriceNvarchar(50)价格UniteNvarchar(50)单位食物类别信息表w_foodtype类别名食物类别餐厅食物W_food食物ID单位食物类别IDI名称价格.-图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;iparameters.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;iparameters.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(删