//接收要打印的菜品信息 private void ReceiveFood() { System.Messaging.MessageQueue queue = new System.Messaging.MessageQueue(queuePath); queue.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] {typeof(AppExt.CAppExt.FoodInfo)}); foreach (System.Messaging.Message msg in queue) { AppExt.CAppExt.FoodInfo Food = (AppExt.CAppExt.FoodInfo) msg.Body; switch (Food.OperateCode) { case 0: //传菜 Label9.Text = "正在接收并打印 传菜单......"; Label9.Refresh(); //对该菜品进行 传菜 打印处理 PrintFood(Food.OperateCode.ToString(), Food.Billno, Food.Tableno, Food.PsnCount, Food.FoodName, Food.unit, Food.quantity, Food.operandi, Food.taste, Food.operatorid, Food.BarCode); ListBox1.Items.Add(DateTime.Now + " 已成功接收并处理来自 " + Food.Tableno + " 号桌台,单据号为 " + Food.Billno + " 的传菜单,菜品名称:" + Food.FoodName + " 数量:" + Food.quantity + " -> 操作员:" + Food.operatorid); ListBox1.Refresh(); break; case 1: //催菜 Label9.Text = "正在接收并打印 催菜单......"; Label9.Refresh(); //对该菜品进行 催菜 打印处理 PrintFood(Food.OperateCode.ToString(), Food.Billno, Food.Tableno, Food.PsnCount, Food.FoodName, Food.unit, Food.quantity, Food.operandi, Food.taste, Food.operatorid, Food.BarCode); ListBox1.Items.Add(DateTime.Now + " 已成功接收并处理来自 " + Food.Tableno + " 号桌台的 催菜单,菜品名称:" + Food.FoodName + " 数量:" + Food.quantity + " -> 操作员:" + Food.operatorid); ListBox1.Refresh(); break; case 2: //缓菜 Label9.Text = "正在接收并打印 退菜单......"; Label9.Refresh(); //对该菜品进行 缓菜 打印处理 PrintFood(Food.OperateCode.ToString(), Food.Billno, Food.Tableno, Food.PsnCount, Food.FoodName, Food.unit, Food.quantity, Food.operandi, Food.taste, Food.operatorid, Food.BarCode); ListBox1.Items.Add(DateTime.Now + " 已成功接收并处理来自 " + Food.Tableno + " 号桌台的 缓菜单,菜品名称:" + Food.FoodName + " 数量:" + Food.quantity + " -> 操作员:" + Food.operatorid); ListBox1.Refresh(); break; case 3: //退菜 Label9.Text = "正在接收并打印 退菜单......"; Label9.Refresh(); //对该菜品进行 退菜 打印处理 PrintFood(Food.OperateCode.ToString(), Food.Billno, Food.Tableno, Food.PsnCount, Food.FoodName, Food.unit, Food.quantity, Food.operandi, Food.taste, Food.operatorid, Food.BarCode); ListBox1.Items.Add(DateTime.Now + " 已成功接收并处理来自 " + Food.Tableno + " 号桌台的 退菜单,菜品名称:" + Food.FoodName + " 数量:" + Food.quantity + " ,退菜原因:" + Food.CancelRsn + " -> 操作员:" + Food.operatorid); ListBox1.Refresh(); break; } queue.ReceiveById(msg.Id); } Label9.Text = "状态:空闲"; Label9.Refresh(); }