private void SaveItem() { tm_Printer entity = new tm_Printer(); if (action == "edit") { entity = Core.Container.Instance.Resolve <IServicePrinter>().GetEntity(_id);; } entity.PrinterName = labPrinterName.Text.Trim(); entity.Width = ddlWidth.SelectedValue; entity.PrinterType = radioPrinterType.SelectedValue; entity.IsSinging = radioIsSinging.SelectedValue; entity.IP = txbIP.Text.Trim(); entity.Port = Int32.Parse(numPort.Text); entity.Address = radioAddress.SelectedValue; entity.IsOpenCashbox = radioIsOpenCashbox.SelectedValue; entity.IsPrintslabels = radioIsPrintslabels.SelectedValue; entity.SerialNumber = txbSerialNumber.Text.Trim(); entity.Deploy = String.Join(",", ckeDeploy.SelectedValueArray); if (action == "edit") { Core.Container.Instance.Resolve <IServicePrinter>().Update(entity); } else { Core.Container.Instance.Resolve <IServicePrinter>().Create(entity); } }
/// <summary> /// 打印美团单 /// </summary> /// <param name="groupName"></param> /// <param name="printer"></param> /// <param name="custmerNO"></param> /// <param name="tabie"></param> public void Printeg(string groupName, tm_Printer printer, int custmerNO, string tabie, int type) { var p = new NetPrintHelper(); var batai = p.GetPrint(printer.IP, printer.Port);//获得吧台打印机 var liunull = p.BuildStream();//初始化一个网络访问数据流 try { var liu = p.GetStream(batai, liunull);//获得通讯打印流 string title = ""; p.SetFontSize(liu, 2);//字体变大 if (type == 4) { p.SetFontSize(liu, 3);//字体变大 title = "####点菜单(走菜)####"; } if (type == 1) { p.SetFontSize(liu, 3);//字体变大 title = "美团单"; } p.SetBold(liu, 1);//加粗 p.PrintText(liu, tabie + "\n");//打印文字 p.PrintText(liu, title + "\n\n");//打印文字 p.SetBold(liu, 0);//取消加粗 p.SetFontSize(liu, 0); p.SetDuiQi(liu, 0); p.PrintText(liu, DateTime.Now.ToString() + " 客数:" + custmerNO + "\n");//打印文字 p.PrintText(liu, "------------------------------------------------\n");//打印文字 p.SetFontSize(liu, 1); int length = 40 - groupName.Length; p.PrintText(liu, groupName.PadRight(length) + 1 + " " + "份\n");//打印文字 p.SetFontSize(liu, 0); p.PrintText(liu, "------------------------------------------------\n");//打印文字 p.PrintText(liu, "服务员:002 打印机:" + printer.PrinterName + "\n\n\n\n\n\n");//打印文字 p.QieZhi(liu);//切纸 } catch { //打印机缺纸或者纸匣打开时,不会出现异常,不用特殊代码判断,数据不会丢失. } finally { p.DiposeStreamClient(batai, liunull);//释放资源 } }
public string GetPrintName(string id) { if (int.Parse(id) > 0) { tm_Printer objType = Core.Container.Instance.Resolve <IServicePrinter>().GetEntity(int.Parse(id)); return(objType.PrinterName); } return(""); }
protected void btnSave_Click(object sender, EventArgs e) { //获取退菜菜品信息 tm_TabieDishesInfo tabieDishesInfo = Core.Container.Instance.Resolve <IServiceTabieDishesInfo>().GetEntity(DishesID); if (tabieDishesInfo != null) { //获取开台信息 tm_TabieUsingInfo usingEnitty = Core.Container.Instance.Resolve <IServiceTabieUsingInfo>().GetEntity(tabieDishesInfo.TabieUsingID); tm_Tabie objTabie = Core.Container.Instance.Resolve <IServiceTabie>().GetEntity(usingEnitty.TabieID); //获取菜品信息 tm_Dishes dish = Core.Container.Instance.Resolve <IServiceDishes>().GetEntity((int)tabieDishesInfo.DishesID); //创建退菜菜品信息 tm_TabieDishesInfo backEntity = new tm_TabieDishesInfo(); backEntity.DishesID = tabieDishesInfo.DishesID; backEntity.DishesCount = -decimal.Parse(numCount.Text); backEntity.Price = dish.SellPrice; backEntity.Moneys = backEntity.DishesCount * tabieDishesInfo.Price; backEntity.DishesType = "2"; backEntity.IsFree = "0"; backEntity.IsDiscount = dish.IsDiscount; backEntity.TabieUsingID = tabieDishesInfo.TabieUsingID; backEntity.UnitName = GetSystemEnumValue("CPDW", dish.DishesUnit.ToString()); backEntity.DishesName = dish.DishesName; backEntity.PrintID = dish.PrinterID; backEntity.IsPrint = 1; Core.Container.Instance.Resolve <IServiceTabieDishesInfo>().Create(backEntity); //更新开台总价 usingEnitty.Moneys += backEntity.Moneys; usingEnitty.FactPrice += backEntity.Moneys; Core.Container.Instance.Resolve <IServiceTabieUsingInfo>().Update(usingEnitty); //打印退菜单据 tm_Printer objPrinter = Core.Container.Instance.Resolve <IServicePrinter>().GetEntity(tabieDishesInfo.PrintID); bool isPrint = bool.Parse(ConfigurationManager.AppSettings["IsPrint"]); if (isPrint) { //判断是否是后厨打印单据 if (objPrinter.PrinterType.Equals("2")) { //后厨打印单据 new NetPrintHelper().Printeg(backEntity.DishesName, backEntity.DishesCount, backEntity.UnitName, (int)usingEnitty.Population, objPrinter, 3, objTabie.TabieName); } //前台打印单据 LocalPrint(backEntity, usingEnitty);//默认打印机 } } PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); }
private void Bind() { tm_Printer entity = Core.Container.Instance.Resolve <IServicePrinter>().GetEntity(_id); labPrinterName.Text = entity.PrinterName; ddlWidth.SelectedValue = entity.Width; radioPrinterType.SelectedValue = entity.PrinterType; radioIsSinging.SelectedValue = entity.IsSinging; txbIP.Text = entity.IP; numPort.Text = entity.Port.ToString(); radioAddress.SelectedValue = entity.Address; radioIsOpenCashbox.SelectedValue = entity.IsOpenCashbox; radioIsPrintslabels.SelectedValue = entity.IsPrintslabels; txbSerialNumber.Text = entity.SerialNumber; string[] list = entity.Deploy.Split(','); ckeDeploy.SelectedValueArray = list; }
/// <summary> /// 单个打印点菜单 /// </summary> /// <param name="dishesName">菜品名称</param> /// <param name="dishesCount">菜品数量</param> /// <param name="unitName">菜品单位</param> /// <param name="custmerNO">客数</param> /// <param name="printer">打印机信息</param> /// <param name="type">单子类型</param> /// <param name="tabieName">餐台名称</param> public void Printeg(string dishesName, decimal dishesCount, string unitName, int custmerNO, tm_Printer printer, int type, string tabieName) { var p = new NetPrintHelper(); var batai = p.GetPrint(printer.IP, printer.Port);//获得吧台打印机 var liunull = p.BuildStream();//初始化一个网络访问数据流 try { var liu = p.GetStream(batai, liunull);//获得通讯打印流 string title = ""; if (type == 1) { p.SetFontSize(liu, 2);//字体变大 title = "点菜单(留存)"; } if (type == 9) { p.SetFontSize(liu, 2);//字体变大 title = "点菜单(上菜)"; } if (type == 2) { p.SetFontSize(liu, 2);//字体变大 title = "----叫菜单(留存)----"; } if (type == 8) { p.SetFontSize(liu, 2);//字体变大 title = "----叫菜单(上菜)----"; } if (type == 3) { p.SetFontSize(liu, 3);//字体变大 title = "####退菜单####"; } p.SetBold(liu, 1);//加粗 p.PrintText(liu, tabieName + "\n");//打印文字 p.PrintText(liu, title + "\n\n");//打印文字 p.SetBold(liu, 0);//取消加粗 p.SetFontSize(liu, 0); p.SetDuiQi(liu, 0); //tm_TabieUsingInfo entity = Core.Container.Instance.Resolve<IServiceTabieUsingInfo>().GetEntity(dishesInfo.TabieUsingID); p.PrintText(liu, DateTime.Now.ToString() + " 客数:" + custmerNO + "\n");//打印文字 p.PrintText(liu, "------------------------------------------------\n");//打印文字 p.SetFontSize(liu, 1); int length = 40 - dishesName.Length; p.PrintText(liu, dishesName.PadRight(length) + Math.Abs(dishesCount) + " " + unitName + "\n");//打印文字 //dishesInfo.IsPrint = 1; //Core.Container.Instance.Resolve<IServiceTabieDishesInfo>().Update(dishesInfo); p.SetFontSize(liu, 0); p.PrintText(liu, "------------------------------------------------\n");//打印文字 p.PrintText(liu, "服务员:002 打印机:" + printer.PrinterName + "\n\n\n\n\n\n");//打印文字 p.QieZhi(liu);//切纸 } catch { //打印机缺纸或者纸匣打开时,不会出现异常,不用特殊代码判断,数据不会丢失. } finally { p.DiposeStreamClient(batai, liunull);//释放资源 } }
/// <summary> /// 批量打印点菜单 /// </summary> /// <param name="list"></param> /// <param name="printer"></param> /// <param name="type"></param> /// <param name="tabie"></param> public void Printeg(IList<tm_TabieDishesInfo> list, tm_Printer printer, int type, string tabie) { var p = new NetPrintHelper(); var batai = p.GetPrint(printer.IP, printer.Port);//获得吧台打印机 var liunull = p.BuildStream();//初始化一个网络访问数据流 try { var liu = p.GetStream(batai, liunull);//获得通讯打印流 string title = ""; if (type == 1) { p.SetFontSize(liu, 2);//字体变大 title = "点菜单"; } else if (type == 2) { p.SetFontSize(liu, 2);//字体变大 title = "加菜单"; } else { p.SetFontSize(liu, 3);//字体变大 title = "#退菜单#"; } p.SetBold(liu, 1);//加粗 p.PrintText(liu, tabie + "\n");//打印文字 p.PrintText(liu, title + "\n\n");//打印文字 p.SetBold(liu, 0);//取消加粗 p.SetFontSize(liu, 0); p.SetDuiQi(liu, 0); tm_TabieUsingInfo entity = Core.Container.Instance.Resolve<IServiceTabieUsingInfo>().GetEntity(list[0].TabieUsingID); p.PrintText(liu, DateTime.Now.ToString() + " 客数:" + entity.Population + "\n");//打印文字 p.PrintText(liu, "------------------------------------------------\n");//打印文字 p.SetFontSize(liu, 1); foreach (tm_TabieDishesInfo item in list) { int length = 40 - item.DishesName.Length; p.PrintText(liu, item.DishesName.PadRight(length) + item.DishesCount + " " + item.UnitName + "\n");//打印文字 item.IsPrint = 1; Core.Container.Instance.Resolve<IServiceTabieDishesInfo>().Update(item); } p.SetFontSize(liu, 0); p.PrintText(liu, "------------------------------------------------\n");//打印文字 p.PrintText(liu, "服务员:002 打印机:" + printer.PrinterName + "\n\n\n\n\n\n");//打印文字 p.QieZhi(liu);//切纸 } catch { //打印机缺纸或者纸匣打开时,不会出现异常,不用特殊代码判断,数据不会丢失. } finally { p.DiposeStreamClient(batai, liunull);//释放资源 } }