餐饮管理之开台

开台主要有两个功能,对已开台的管理和新增开台,

一 开台表的设计

此表名为‘开台表‘,属性有编号,名称,服务员,人数,日期.编号是每台桌子的编号,唯一不为空,设置为主键,需从桌台管理表中查询,名称,相当于每台桌子的位置,服务员,在开台时可指派服务员,须从服务员对应的表中查询,人数为此桌有多少人,日期可自己制定,默认为当前时间.

表格显示效果如下:

在主界面的开台菜单下可选择进入开台表界面或开台

效果如下:

二 新增开台

界面设计

开台需要添加桌号,服务员和人数信息,桌号和服务员都有下拉框,在开台页面初始化的过程中会将空闲桌号加入到桌号下拉框中,服务员的下拉框一样,便于用户操作.

初始化的过程代码

 1 private void OpenForm_Load(object sender, EventArgs e)
 2         {
 3             string strConn = @"Data Source=.;Initial Catalog=Restaurant;Integrated Security=SSPI; ";
 4             SqlConnection conn = new SqlConnection(strConn);
 5             conn.Open();
 6             String sqlcommond = String.Format(@"select * from 桌台信息 where 状态 =‘空闲‘");
 7             SqlCommand cmd = new SqlCommand(sqlcommond, conn);
 8             //对SQL或存储过程执行后返回的“结果”进行操作
 9             SqlDataAdapter da = new SqlDataAdapter();
10             da.SelectCommand = cmd;
11
12             SqlDataReader dr = cmd.ExecuteReader();
13             while (dr.Read())
14             {
15                 comboBox1.Items.Add(dr["编号"].ToString());
16             }
17             dr.Close();
18
19
20             String sqlcommondwork = String.Format(@"select * from 员工信息");
21             SqlCommand cmdwork = new SqlCommand(sqlcommondwork, conn);
22             //对SQL或存储过程执行后返回的“结果”进行操作
23             SqlDataAdapter dawork = new SqlDataAdapter();
24             da.SelectCommand = cmdwork;
25
26             SqlDataReader drwork = cmdwork.ExecuteReader();
27             while (drwork.Read())
28             {
29                 comboBox2.Items.Add(drwork["员工姓名"].ToString());
30             }
31             drwork.Close();
32
33
34             conn.Close();
35         }

加入数据库

确认添加后数据会加入开台表中,代码如下

1 string strConn = @"Data Source=.;Initial Catalog=Restaurant;Integrated Security=SSPI; ";
2             SqlConnection conn = new SqlConnection(strConn);
3             conn.Open();
4
5             String strcout = comboBox1.Text;
6             String strpeoname = comboBox2 .Text;
7             String strpeocout = textBox2.Text;
8             String strdate = "";

连接数据库,并将插入的信息保存在字符串中.

 1 if (strcout == "")
 2             {
 3                 MessageBox.Show("请输入要开台的编号!");
 4             }
 5             else if (strpeoname == "")
 6             {
 7                 MessageBox.Show("请输入服务员姓名!");
 8             }
 9             else
10             {
11                 String sqlcommond = string.Format(@"select * from 桌台信息 where 编号 =‘" + strcout + "‘");
12                 SqlCommand cmd = new SqlCommand(sqlcommond, conn);
13
14                 //对SQL或存储过程执行后返回的“结果”进行操作
15                 SqlDataAdapter da = new SqlDataAdapter();
16                 da.SelectCommand = cmd;
17
18                 SqlDataReader dr = cmd.ExecuteReader();
19
20                 if (!dr.Read())
21                 {
22                     MessageBox.Show("没有该桌号!");
23                 }
24                 else if (dr["状态"].ToString().Equals("占用"))
25                 {
26                     MessageBox.Show("该桌号非空闲");
27                 }
28                 else
29                 {
30                     String strname = dr["名称"].ToString();
31                     strdate = DateTime.Now.ToString();
32                     dr.Close();
33                     String sqlcommond2 = string.Format(@"insert into 开台表(编号,名称,服务员,人数,日期) values(‘" + strcout + "‘,‘" + strname + "‘,‘" + strpeoname + "‘,‘" + strpeocout + "‘,‘" + strdate + "‘)");
34                     SqlCommand cmd2 = new SqlCommand(sqlcommond2, conn);
35                     cmd2.ExecuteNonQuery();
36                     String sqlcommond3 = string.Format(@"update 桌台信息 set 状态=‘占用‘ where 编号=‘" + strcout + "‘");
37                     SqlCommand cmd3 = new SqlCommand(sqlcommond3, conn);
38                     cmd3.ExecuteNonQuery();
39                     MessageBox.Show(strcout + "号开台成功");
40                 }
41                 conn.Close();

需要对插入的信息进行判断是否合格,都合格后插入开台表,并更新‘桌台信息‘表中该桌台的状态为占用.插入成功后需要跳出插入成功的提示.最后要关闭数据库.

1 Order ord = new Order();
2                 ord.desknum = comboBox1.Text.Trim();
3                 ord.servername = comboBox2.Text.Trim();
4                 ord.peocount = Convert.ToInt32(textBox2.Text.Trim());
5                 ord.time = strdate;
6
7
8                 ord.Show();

成功开台后,跳到选菜的界面.

三 开台表界面

开台界面的主要功能有显示开台信息,查询,删除等,开台表中的编号栏也有下拉框,其中的信息为所有已开台的编号.

开台表初始化代码

 1  private void Opentable_Load(object sender, EventArgs e)
 2         {
 3             string strConn = @"Data Source=.;Initial Catalog=Restaurant;Integrated Security=SSPI; ";
 4             SqlConnection conn = new SqlConnection(strConn);
 5             conn.Open();
 6             String sqlcommond = "select * from 开台表";
 7             SqlCommand cmd = new SqlCommand(sqlcommond, conn);
 8
 9             //对SQL或存储过程执行后返回的“结果”进行操作
10             SqlDataAdapter da = new SqlDataAdapter();
11             da.SelectCommand = cmd;
12
13             SqlDataReader dr = cmd.ExecuteReader();
14             listView1.Items.Clear();//再次
15             comboBox1.Items.Clear();
16             while (dr.Read())
17             {
18                 //MessageBox.Show("1111");
19                 //构建一个ListView的数据,存入数据库数据,以便添加到listView1的行数据中
20                 ListViewItem it = new ListViewItem();
21                 it.Text = dr["编号"].ToString();
22
23                 it.SubItems.Add(dr["名称"].ToString());
24
25                 it.SubItems.Add(dr["服务员"].ToString());
26
27                 it.SubItems.Add(dr["人数"].ToString());
28
29                 it.SubItems.Add(dr["日期"].ToString());
30
31
32                 //将lt数据添加到listView1控件中
33                 listView1.Items.Add(it);
34
35                 comboBox1.Items.Add(dr["编号"].ToString());
36             }
37             conn.Close();
38         }

搜索开台表将所有开台的编号加入到下拉框中,最后关闭数据库.

查询操作的显示及代码

开台界面的查询操作是在所有已开台的桌子中进行查询,查到相应桌子后需要对开台表中对应的一栏进行标蓝便于用户看见,效果如下图

查询操作的相应代码如下

 1  private void button3_Click(object sender, EventArgs e)
 2         {
 3
 4                 Boolean flag = false;
 5                 for(int i=0;i<listView1.Items.Count;i++)
 6                 {
 7                     if (listView1.Items[i].SubItems[0].Text.IndexOf(comboBox1.Text.Trim()) >= 0)
 8                     {
 9                         flag = true;
10                         listView1.Items[i].Selected = true;
11                         listView1.Items[i].EnsureVisible();
12                         listView1.Items[oldread].BackColor = Color.White;
13                         listView1.Items[i].BackColor = Color.Blue;
14                         oldread = i;
15                         break;
16                     }
17                 }
18                 if(!flag)
19                 {
20                     MessageBox.Show("未找到该桌号");
21                 }
22
23
24         }

此操作无需查询数据库,在该开台界面显示的开台表中查询即可,若未找到会报出相应的提示.

取消开台及刷新

取消开台不仅仅是在该开台表中删除相应开台信息,还涉及其他表的一些信息的改变,如桌台信息表中该编号相应的状态信息要进行更新操作.

取消开台的代码如下:

 1 private void button4_Click_1(object sender, EventArgs e)
 2         {
 3
 4             if (listView1.SelectedItems.Count > 0)
 5             {
 6                 string desknum = listView1.SelectedItems[0].SubItems[0].Text;
 7                 string strConn = @"Data Source=.;Initial Catalog=Restaurant;Integrated Security=SSPI; ";
 8                 SqlConnection conn = new SqlConnection(strConn);
 9                 conn.Open();
10                 //删除桌台表中的相关信息
11                 string sqlcommondkaitai = string.Format(@"delete from 开台表 where 编号 = ‘" + desknum + "‘");
12                 SqlCommand cmd = new SqlCommand(sqlcommondkaitai, conn);
13                 SqlDataReader sr =  cmd.ExecuteReader();
14                 sr.Close();
15
16                 //删除点菜信息中的相关信息
17                 string sqlcommondorder = string.Format(@"delete from 点菜信息 where 桌台位置 = ‘" + desknum + "‘");
18                 SqlCommand cmdorder = new SqlCommand(sqlcommondorder, conn);
19                 SqlDataReader srorder = cmdorder.ExecuteReader();
20                 srorder.Close();
21
22                 //删除具体点菜信息中的相关信息
23                 string sqlcommondorder1 = string.Format(@"delete from 具体点菜信息 where 桌台位置 = ‘" + desknum + "‘");
24                 SqlCommand cmdorder1 = new SqlCommand(sqlcommondorder1, conn);
25                 SqlDataReader srorder1 = cmdorder.ExecuteReader();
26                 srorder1.Close();
27
28                 //修改桌台信息表中相应的信息由占用到空闲
29                 int desk = Convert.ToInt32(desknum);
30                 String sqlcommond3 = string.Format(@"update 桌台信息 set 状态=‘空闲‘ where 编号= ‘"+desk+"‘ ");
31                 SqlCommand cmd3 = new SqlCommand(sqlcommond3, conn);
32                 SqlDataReader sr3 = cmd3.ExecuteReader();
33                 sr3.Close();
34
35
36
37
38                 conn.Close();
39
40
41                 //删除选择项
42                 int lisnum = listView1.Items.IndexOf(listView1.FocusedItem);
43                 listView1.Items.Remove(listView1.Items[lisnum]);
44
45             }
46             else
47             {
48                 MessageBox.Show("请选择你要删除的桌台!");
49
50             }
51
52         }

刷新操作的代码如下

 1  private void button1_Click(object sender, EventArgs e)
 2         {
 3             string strConn = @"Data Source=.;Initial Catalog=Restaurant;Integrated Security=SSPI; ";
 4             SqlConnection conn = new SqlConnection(strConn);
 5             conn.Open();
 6             String sqlcommond = "select * from 开台表";
 7             SqlCommand cmd = new SqlCommand(sqlcommond, conn);
 8
 9             //对SQL或存储过程执行后返回的“结果”进行操作
10             SqlDataAdapter da = new SqlDataAdapter();
11             da.SelectCommand = cmd;
12
13             SqlDataReader dr = cmd.ExecuteReader();
14             listView1.Items.Clear();//再次
15             comboBox1.Items.Clear();
16             while (dr.Read())
17             {
18                 //MessageBox.Show("1111");
19                 //构建一个ListView的数据,存入数据库数据,以便添加到listView1的行数据中
20                 ListViewItem it = new ListViewItem();
21                 it.Text = dr["编号"].ToString();
22
23                 it.SubItems.Add(dr["名称"].ToString());
24
25                 it.SubItems.Add(dr["服务员"].ToString());
26
27                 it.SubItems.Add(dr["人数"].ToString());
28
29                 it.SubItems.Add(dr["日期"].ToString());
30
31
32                 //将lt数据添加到listView1控件中
33                 listView1.Items.Add(it);
34
35                 comboBox1.Items.Add(dr["编号"].ToString());
36             }
37             conn.Close();
38
39         }
40      
时间: 2024-10-10 22:19:08

餐饮管理之开台的相关文章

口碑点单如何支持开台默认商品

1. 口碑点单支持开台默认商品吗? 口碑支持,口碑掌柜可以设置,接口口碑还没开放,我们还没承接 操作流程:口碑掌柜--全部应用--菜品管理--默认菜--添加默认菜--选择适用范围(门店)--完成 原文地址:https://www.cnblogs.com/yhbc-blibao/p/9896241.html

餐饮管理软件代理商之痛

导读:餐饮管理软件代理商从"坐等"获利进入辛勤"打单"的薄利时期,这一现象竟是传统管理软件厂商一手造成的.是逆来顺受等待它们"良心发现",还是寻求突破把命运掌握自己手里?当下管理软件市场中新兴起的品牌和产品是如何拯救代理商? 正文:如今国内各行业管理软件市场早已进入成熟期,其中餐饮管理软件代理商们已从"坐等"获利进入辛勤"打单"的薄利时期,不但面临着新老软件代理商间不断压缩着市场份额,还要应对餐饮商家对餐饮

餐饮管理之结账

结账模块的设计 结账设计的是从开台模块中选择餐桌,连接数据库,选择餐桌的具体点菜信息,算出总价并显示,然后在数据库中添加实付列,找零列. 首先选择餐桌编号,然后点击结账按钮. 代码如下: pay_name = comboBox1.Text;//选择餐桌编号 if(pay_name!="")//选择时候的情况 { string strConn = @"Data Source=.;Initial Catalog=Restaurant;Integrated Security=SSP

餐饮管理之菜品管理

一.有关菜品的数据库的设计 菜品主要涉及菜系.菜名.价格.折扣这些属性. 在实际情况中很有可能新加入一种菜系,但是不能即时的增加相应的菜名,故而将菜系单独的作为一个基本表——菜系表.具体的菜系表如下(主键:菜系编号) 根据菜品的属性,设计的菜单信息表如下(主键:菜号) 二.菜品的增加 界面如下: 其中菜系使用的是下拉框combobox控件,里面的内容是在界面的初始化时访问菜系表加载进去的,代码如下: private void Menu_Load(object sender, EventArgs

yii2-basic后台管理功能开发之二:创建CRUD增删改查

昨天实现了后台模板的嵌套,今天我们可以试着创建CRUD模型啦 刚开始的应该都是“套用”,不再打算细说,只把关键的地方指出来. CRUD即数据库增删改查操作.可以理解为yii2为我们做了一个组件,来实现基本的增删改查视图和操作. 1.创建数据库表 2.用gii生成model模型 3.用gii生成CRUD 需要注意的是CRUD生成的控制器的namespace,要和当前所在目录保持一致.否组路由会报错,找不到该页面等信息.

餐饮管理系统

作为一个团队一起完成一个项目,总框架的设计是必不可少的,框架设计完成之后,就是根据实际情况对人力资源的分配,各自完成各自的模块. 系统框架 对于餐饮管理系统这个项目来说,技术的关键就是对于数据库的操作(增删改查).因此数据库是本系统的最低层也是最为核心的部分,无论是哪个角色.哪一个模块都会有对数据库的操作.具体的框架如下: 系统结构图 在餐饮管理系统中,根据实际餐饮情况及团队人员及其各自的能力将这个系统分成了四个大的模块,分别为桌台管理.员工管理.菜单管理.开台点菜.详细的模块情况如下: 各个模

深圳开餐饮费发票(申请表)

深圳开餐饮票据申请表 开发票电话微信:[15914158529林经理QQ;599987798]------ 公司经 营项目:劳务费,住宿费,餐饮费,手撕定额费,印刷费,医药医疗费, 出租车,加油费,材料费,工程费,服务费,培训费,设计费,咨询费,运输费, 房屋租赁费,制作费,策划费,宣传费,广告费,机动车,增值税普通, 纳税人识别号: 纳税人名称:                                                    编号: 货物或应税劳务名称 单位 数量 单价

餐饮小程序管理+盈利系统开发

餐饮小程序是在为餐饮行业开启新的营销之路. 餐饮小程序技术开发公司找何经理[188-2646-6502 微/电]餐饮小程序发.餐饮小程序开发公司等. 1.传统的餐饮生意,商家不知道消费者是谁,也没有与消费者建立紧密联系和有效触达, 2.消费者离店以后,商家与消费者就处于失联状态,商家要想拉新,更多只能通过第三方平台继续做拼团或者团购, 3.最终拉回来有可能拉回来的还是老客户.商家如果建立起基于微信中心化的平台和会员体系,积累存量会员和客户,形成商家自有的流量洼地:如果餐饮行业能把会员环节做好,生

step byt step之餐饮管理系统一

之前写过2015年的工作计划,其中有一项就是写一套管理系统,一来可以练练手,二来可以加强自己的学习,三来可以多园友多交流,共同进步.所以从今天开始把写系统的过程记录下来.先需求分析开始. 第一部分 引言 一.编写目的 1.此分析说明书整理餐饮收银系统中的需求,为后面的系统设计作准备,也就是描述了项目设计的要求. 二.背景 1.名称:餐饮管理系统,英文缩写名:RMS(restaurant manager system). 2.任务提出者:LZ 开发者:LZ, 本系统将实现客人进入餐饮邢台,点菜,传