摘要随着经济的发展社会的进步,去饭店过节聚会成为了一种新的时尚。
因此每逢过年过节,饭店都会迎来大量的顾客,随之而来的就是大量的预定和结算信息将会使得饭店的工作人员不堪重负,并且不可避免的会出现这样或那样的错误。
餐饮信息管理软件的诞生可以为他们提供便捷的管理服务。
并且几乎为零的错误率也使得餐馆可以更好的为顾客服务。
它不仅可以为餐馆降低人力资源的付出,节省了成本,而且也可以提升自身的形象,使餐厅迎来更多的食客。
本系统使用了Visual Studio2010,SQLserver2008使用本系统,员工将可以快速地编辑顾客资料信息,并且为客户提供订餐打折和充值服务。
管理员使用本系统,既可以完成员工的所有工作,又可以更好地管理员工,精准地了解员工账面的资金情况。
除了这些,管理员还可以设定餐厅的菜单信息和折扣程度,从而使得管理员对餐厅的运营情况可以全面掌控。
一.需求分析1.1开发背景鉴于传统的人工管理方式的种种缺陷,我设计了方便中小级别餐饮企业使用的应用程序,通过它,管理者可以基本解决以上所遇到的种种问题,并且更加科学的对老客户进行打折,而且添加了主顾权限的不同设计使得它更加方便雇主对雇员的管理与监督。
1.2 开发工具和相关技术简介开发工具:硬件:笔记本软件:Windows7、Microsoft Visual Studio、 2010Microsoft SQL Server 2008 由于我们开发的事面向中小型,界面看起来温馨舒适,功能不是很多。
1.3需求分析员工使用本餐饮信息管理系统应可以实现以下功能:1.添加修改查询客户会员信息(修改客户信息需客户确认)2.查询菜单3.添加查询预定信息,为老顾客打折4.客户可以在自己的会员账户里充值5.顾客可以用现金买单也可以从会员账户里扣取管理员使用本餐饮信息管理系统应可以实现以下功能:1.添加修改查询客户会员信息(修改客户信息需客户确认)2.添加修改查询菜单信息,最好能看到菜品图片3.添加查询预定信息,为老顾客打折4.客户可以在自己的会员账户里充值5.顾客可以用现金买单也可以从会员账户里扣取6.设定具体的打折方法7.添加职员信息,权限也可以定为管理员。
8.可以查询使用者的现金收款金额二.概念结构设计2.1 系统功能模块的划分登录后管理员和员工的权限不同,管理员可以进入任何子菜单,二员工不可以进入职工管理和销售额统计。
系统流程分析流程图简介:员工登录系统后为客户添加基本信息,客户可以根据需要在开通的账户里充值(增加用户的收款金额)。
客户通过餐饮信息管理系统进行订餐(老用户在此环节中可能会享受打折服务)。
客户用完餐后来到服务台买单,用户可以选择使用现金或者从用户余额里扣除,支付成功会增加客户的已消费金额。
若余额不足,系统将会提示,那么客户只能使用现金支付。
使用现金支付的话会增加用户的收款金额。
管理员登录的话可以使用员工的所有功能,而且可以设定为客户打折的折扣程度和添加菜单,以及管理员工账户。
三.逻辑结构设计3.1 ER图设计图3 用户E-R图主要存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息图4 客户E-R图主要存储一些客户信息,如客户的账号、联系方式和消费情况等等,主要用于客户订餐、充值和结算,使用于添加预定。
图5 食谱E-R图主要存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。
图6 预定E-R图主要存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。
图7 折扣E-R图存储管理员设定的打折信息,用来计算打折后的应付金额,使用在添加预定时打折。
3.2 数据表的设计四.数据库物理设计1.整个界面Imports System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClockPublic Class Form1Private Sub 退出ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 退出ToolStripMenuItem.ClickMe.Close()End SubPrivate Sub 系统ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 系统ToolStripMenuItem.ClickEnd SubPrivate Sub 登录ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 登录ToolStripMenuItem.ClickForm2.Show()End SubPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadMe.菜单信息ToolStripMenuItem.Enabled = FalseMe.充值管理ToolStripMenuItem.Enabled = FalseMe.结账买单ToolStripMenuItem.Enabled = FalseMe.客户信息ToolStripMenuItem.Enabled = FalseMe.预订管理ToolStripMenuItem.Enabled = FalseMe.职工管理ToolStripMenuItem.Enabled = FalseEnd SubPrivate Sub 客户信息ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 客户信息ToolStripMenuItem.ClickForm3.Show()End SubPrivate Sub 菜单信息ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 菜单信息ToolStripMenuItem.ClickForm4.Show()End SubPrivate Sub 预订管理ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 预订管理ToolStripMenuItem.ClickForm5.Show()End SubPrivate Sub 充值管理ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 充值管理ToolStripMenuItem.ClickForm6.Show()End SubPrivate Sub 职工管理ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 职工管理ToolStripMenuItem.ClickForm8.Show()End SubPrivate Sub 结账买单ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 结账买单ToolStripMenuItem.ClickForm7.Show()End SubPrivate Sub 帮助ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 帮助ToolStripMenuItem.ClickForm9.Show()End SubPrivate Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.TickLabel3.Text = Now()End SubEnd Class2.登录Imports System.DataImports System.Data.SqlClientPublic Class Form2Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.ClickMe.Close()End SubPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.ClickIf TextBox3.Text.Trim = "" Or TextBox4.Text.Trim = "" ThenMsgBox("请填写用户名和密码", MsgBoxStyle.Exclamation)Exit SubEnd If'connectSQL()Dim conn As SqlConnection = New SqlConnection("Server=(local);uid=sa;pwd=sa;Database=D:\新建文件夹\EATFOODS.MDF") conn.Open()Dim str As Stringstr = "select * from ruser where user_id ='" + TextBox3.Text + "' and passcode= '" + TextBox4.Text + "' and style= '" + ComboBox2.Text + "'"Dim scom = New SqlClient.SqlCommand(str, conn)mandType = CommandType.TextDim sexe = scom.ExecuteReader()If (sexe.Read()) ThenMe.Visible = FalseMessageBox.Show("登陆成功", "提示")Me.Visible = FalseIf ComboBox2.Text = "管理员" ThenMsgBox("欢迎您:" & ComboBox2.Text, rmation)Form1.帮助ToolStripMenuItem.Enabled = TrueForm1.菜单信息ToolStripMenuItem.Enabled = TrueForm1.充值管理ToolStripMenuItem.Enabled = TrueForm1.客户信息ToolStripMenuItem.Enabled = TrueForm1.系统ToolStripMenuItem.Enabled = TrueForm1.结账买单ToolStripMenuItem.Enabled = TrueForm1.预订管理ToolStripMenuItem.Enabled = TrueForm1.职工管理ToolStripMenuItem.Enabled = TrueForm1.Text = "欢迎领导"End IfIf ComboBox2.Text = "员工" ThenMsgBox("欢迎您:" & ComboBox2.Text, rmation)Form1.帮助ToolStripMenuItem.Enabled = TrueForm1.菜单信息ToolStripMenuItem.Enabled = TrueForm1.充值管理ToolStripMenuItem.Enabled = TrueForm1.客户信息ToolStripMenuItem.Enabled = TrueForm1.系统ToolStripMenuItem.Enabled = TrueForm1.结账买单ToolStripMenuItem.Enabled = TrueForm1.预订管理ToolStripMenuItem.Enabled = TrueForm1.Text = "欢迎您"End If' MessageBox.Show("登陆成功", "提示")ElseMessageBox.Show("用户名或密码不正确!", "警告")End IfMe.Close()conn.Close()End SubEnd Class3.顾客信息添加删除照片Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickIf OpenFileDialog1.ShowDialog() = DialogResult.OK Then PictureBox3.Load(OpenFileDialog1.FileName)MsgBox("添加照片成功,关闭")EndEnd SubPrivate Sub PictureBox3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox3.ClickEnd SubPrivate Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.ClickPictureBox4.Image = NothingMsgBox("成功删除")End SubPrivate Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As ponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOkOpenFileDialog1.Filter = "Text Files (.jpg)|*.jpg|All Files (*.*)|*.*"End Sub信息添加删除修改Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickIf (Me.TextBox10.Text <> "" And Me.TextBox11.Text <> "" And Me.TextBox12.Text <> "" And Me.TextBox13.Text <> "") ThenDim conn As SqlConnection = New SqlConnection("Server=(local);uid=sa;pwd=sa;Database=D:\新建文件夹\EATFOODS.MDF")conn.Open()Dim mysql As Stringmysql = "insert into rcustomer(name,call,passcode,id,addtime,userid) values('"mysql += Me.TextBox10.Text.ToString()mysql += "','"mysql += Me.TextBox11.Text.ToString()mysql += "','"mysql += Me.TextBox12.Text.ToString()mysql += "','"mysql += Me.TextBox1.Text.ToString()mysql += "','"mysql += Me.TextBox2.Text.ToString()mysql += "','"mysql += Me.TextBox3.Text.ToString()mysql += "')"Dim sql As SqlCommandsql = New SqlCommand(mysql, conn)If Me.TextBox12.Text.ToString <> Me.TextBox13.Text.ToString ThenMessageBox.Show("密码不一致,重新输入", "提示")ReturnEnd IfIf (sql.ExecuteNonQuery() > 0) ThenMessageBox.Show("添加成功", "提示")End Ifconn.Close()ElseMessageBox.Show("请核对信息是否完整!", "提示")End IfEnd SubPrivate Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.ClickDim conn As SqlConnection = New SqlConnection("Server=(local);uid=sa;pwd=sa;Database=D:\新建文件夹\EATFOODS.MDF")conn.Open()Dim mysql As Stringmysql = "delete from ruser where name='"mysql += Me.TextBox6.Textmysql += "'"Dim sql As SqlCommandsql = New SqlCommand(mysql, conn)If (sql.ExecuteNonQuery() > 0) ThenMessageBox.Show("删除成功", "提示")End Ifconn.Close()End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickIf (Me.TextBox1.Text <> "" And Me.TextBox2.Text <> "" And Me.TextBox3.Text <> "" And Me.TextBox4.Text <> "") ThenDim conn As SqlConnection = New SqlConnection("Server=(local);uid=sa;pwd=sa;Database=D:\新建文件夹\EATFOODS.MDF")conn.Open()Dim mysql As Stringmysql = "update food set name=' "mysql += Me.TextBox1.Textmysql += "',price='"mysql += Me.TextBox2.Textmysql += "',formula='"mysql += Me.TextBox3.Textmysql += "',effect='"mysql += Me.TextBox4.Textmysql += "'"Dim sql As SqlCommandsql = New SqlCommand(mysql, conn)If (sql.ExecuteNonQuery() > 0) ThenMessageBox.Show("修改成功!", "提示")conn.Close()ElseTryCatch ex As ExceptionMessageBox.Show(ex.Message)End TryEnd IfElseMessageBox.Show("信息未填完整", "提示")End IfEnd Sub将信息显示到表格Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.ClickDim conn As SqlConnection = New SqlConnection("Server=(local);uid=sa;pwd=sa;Database=D:\新建文件夹\EATFOODS.MDF") Tryconn.Open()Catch ex As ExceptionMessageBox.Show(ex.Message)End TryDim command As New SqlCommand("select * from rcustomer where name like '%" + TextBox14.Text + "%'")mandType = CommandType.Textcommand.Connection = connDim dr As New SqlDataAdapterdr.SelectCommand = commandDim ds As New DataSetds = New DataSet()dr.Fill(ds, "name")DataGridView1.DataSource = dsDataGridView1.DataMember = "name"conn.Close()End SubPrivate Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load'TODO: 这行代码将数据加载到表“EatfoodsDataSet.rcustomer”中。