/** * * */ private void SetData() { List <PrintRecordItem> pRi_new = PrintRecord.ReadAllRecord(); if (Records.Count == pRi_new.Count) { } else { this.Records.Clear(); foreach (PrintRecordItem pri in pRi_new) { this.Records.Add(pri); } } }
/// <summary> /// 添加 /// </summary> /// <param name="pr">实体</param> /// <returns>返回执行结果 true or false</returns> public static bool InsertPrint(PrintRecord pr) { bool rbool = false; using (DCCarManagementDataContext dc = new DCCarManagementDataContext()) { try { rbool = LinQBaseDao.InsertOne <PrintRecord>(dc, pr); } catch { rbool = false; } finally { dc.Connection.Close(); } } return(rbool); }
/// <summary> /// 记录打印记录 /// </summary> private void AddPrintRecord() { try { string strsql = " select SortNumberInfo_ID from SortNumberInfo where SortNumberInfo_SmallTicket_ID in (select SmallTicket_ID from SmallTicket where SmallTicket_CarInfo_ID='" + carinfoid + "') order by SortNumberInfo_ID desc "; prdObj = LinQBaseDao.GetSingle(strsql); //记录打印 PrintRecord prd = new PrintRecord(); prd.PrintRecord_Time = CommonalityEntity.GetServersTime(); prd.PrintRecord_Remark = ""; prd.PrintRecord_Operate = CommonalityEntity.USERNAME; if (!string.IsNullOrEmpty(prdObj.ToString())) { prd.PrintRecord_SortNumberInfo_ID = int.Parse(prdObj.ToString()); } PrintInfoDAL.InsertPrint(prd); printPreviewDialog.Close(); } catch (Exception) { } }
private static void ReadAllSubmitRecord() { String Root = PrintRecord.GetRootPath(); DirectoryInfo d = new DirectoryInfo(Root); if (!d.Exists) { return; } ArrayList Flst = GetAllSubmitFile(d); foreach (Object a in Flst) { if (a.GetType() == typeof(String)) { List <PrintRecordItem> Lpri = PrintRecordItem.ReadXml((String)a); foreach (PrintRecordItem pti in Lpri) { Add(pti); } } } }
public void PrintDetail() { PrintRecord.DoPrintRecord(this, _refreshDateTime, 4, "DeliveryRegisterReportName".GetUiTranslation(), "DeliveryRegisterReportName".GetUiTranslation(), Model.RegisterId); }
public static void PrintOrder(this PrintDbContext printDbContext, ShopDbContext db, ShopOrder shopOrder, string shopname) { try { if (shopOrder == null) { throw new Exception("订单错误"); } List <ShopOrderItem> items = db.Query <ShopOrderItem>() .Where(m => !m.IsDel) .Where(m => m.ShopOrderId == shopOrder.Id) .ToList(); if (items.Count == 0) { return; } List <OrderInfo> orderInfo = items.Select(s => new OrderInfo() { Name = $"{s.CommodityName}({s.SkuSummary})", Price = Math.Round(s.SalePrice / 100d, 2), Count = s.Count }).ToList(); string stringorderlist = JsonConvert.SerializeObject(orderInfo); List <Printer> printers = printDbContext.Query <Printer>() .Where(s => !s.IsDel) .Where(s => s.ShopID == shopOrder.ShopId && s.IsEnable).ToList(); if (printers.Count == 0) { return; } PrintParameter parameter = GetPrintParameter(db, shopOrder); parameter.ShopName = shopname; parameter.List = orderInfo; foreach (var item in printers) { //StringBuilder postData = new StringBuilder("sn=" + item.SN); parameter.SN = item.SN; parameter.Times = item.Times + ""; PrintModel model = printDbContext.Query <PrintModel>().FirstOrDefault(s => s.ID == item.ModelID); if (model == null) { model = printDbContext.Set <PrintModel>().Find(2); } parameter.ModelContent = model.ModelContent; PrinterBase @base = PrinterFactory.Create(item.PrinterType);//) string temp = @base.PrinterRequest(parameter, item); #region 数据库操作 PrintRecord record = new PrintRecord(); //处理接口返回数据 Dictionary <string, object> dic = JsonConvert.DeserializeObject <Dictionary <string, object> >(temp); //实体赋值 record.SN = item.SN; record.OrderID = @base.GetOrderID(temp);// dic.ContainsKey("data") && dic["msg"].Equals("ok") ? dic["data"].ToString() : "未能成功打印"; record.Title = parameter.Title; record.OrderList = stringorderlist; record.TotalMoney = (float)parameter.TotalMoney; record.Address = parameter.Address; record.OrderName = parameter.OrderName; record.Mobile = parameter.Mobile; record.OrderTime = Convert.ToDateTime(parameter.OrderTime); record.QRAddress = parameter.QRAddress; record.Remark = shopOrder.Remark; printDbContext.AddTo(record); #endregion } shopOrder.IsPrint = true; } catch (Exception e) { //_logger.LogError("打印机错误:{0}", e.Message); } }
public static void PrintOrder(PrintDbContext printDbContext, ShopDbContext db, ShopOrder shopOrder, string shopname, ILogger _logger) { _logger.LogInformation($"Remark{shopOrder.Remark}"); if (shopOrder.IsPrint) { return; } try { List <ShopOrderItem> items = db.Query <ShopOrderItem>() .Where(m => !m.IsDel) .Where(m => m.ShopOrderId == shopOrder.Id) .ToList(); if (items.Count == 0) { return; } List <OrderInfo> orderInfo = items.Select(s => new OrderInfo() { Name = $"{s.CommodityName}({s.SkuSummary})", Price = Math.Round(s.SalePrice / 100d, 2), Count = s.Count, ComboConten = GetPrintComboContenParameter(db, s, _logger) }).ToList(); string stringorderlist = JsonConvert.SerializeObject(orderInfo); List <Printer.Data.Printer> printers = printDbContext.Query <Printer.Data.Printer>() .Where(s => !s.IsDel) .Where(s => s.ShopID == shopOrder.ShopId && s.IsEnable).ToList(); if (printers.Count == 0) { return; } PrintParameter parameter = GetPrintParameter(db, shopOrder); parameter.ShopName = shopname; parameter.List = orderInfo; parameter.IsTakeOut = shopOrder.IsTakeOut; //获取优惠 if (shopOrder.MoneyOffRuleId != null && shopOrder.MoneyOffRuleId != 0) { var shopOrderMoneyOffRules = db.ShopOrderMoneyOffRules.Find(shopOrder.MoneyOffRuleId); parameter.ShopOrderMoneyOffRule = new ShopOrderMoneyOffRuleModel() { Discount = Math.Round(shopOrderMoneyOffRules.Discount / 100d, 2), FullAmount = Math.Round(shopOrderMoneyOffRules.FullAmount / 100d, 2), MoneyOffId = shopOrderMoneyOffRules.MoneyOffId, MoneyOffName = db.ShopOrderMoneyOffs.Find(shopOrderMoneyOffRules.MoneyOffId).Name }; } //获取其他费用 if (shopOrder.OtherFeeId != null && shopOrder.OtherFeeId != 0) { var shopOrderMoneyOffs = db.ShopOrderOtherFees.Find(shopOrder.OtherFeeId); parameter.ShopOrderOtherFee = new Dictionary <string, double>() { { "餐盒费", Math.Round(shopOrderMoneyOffs.BoxFee / 100d, 2) }, { "配送费", Math.Round(shopOrderMoneyOffs.DeliveryFee / 100d, 2) } }; if (TakeWay.自提.ToString().Equals(parameter.TakeWay)) { parameter.ShopOrderOtherFee.Remove("配送费"); } } if (shopOrder.ShopOrderSelfHelpId.HasValue) //自助点餐 { var selfHelp = db.GetSingle <ShopOrderSelfHelp>(shopOrder.ShopOrderSelfHelpId.Value); if (selfHelp != null) { parameter.SelfHelpPrintParameter = new SelfHelpPrintParameter() { SelfHelpNumber = selfHelp.Number, DingingWay = selfHelp.IsTakeOut ? "外带" : "堂食" }; } } foreach (var item in printers) { //StringBuilder postData = new StringBuilder("sn=" + item.SN); parameter.SN = item.SN; parameter.Times = item.Times + ""; PrintModel model = printDbContext.Query <PrintModel>().FirstOrDefault(s => s.ID == item.ModelID); if (model == null) { model = printDbContext.Set <PrintModel>().Find(2); } parameter.ModelContent = model.ModelContent; PrinterBase @base = PrinterFactory.Create(item.PrinterType);//) string temp = @base.PrinterRequest(parameter, item); #region 数据库操作 PrintRecord record = new PrintRecord(); //处理接口返回数据 Dictionary <string, object> dic = JsonConvert.DeserializeObject <Dictionary <string, object> >(temp); //实体赋值 record.SN = item.SN; record.OrderID = @base.GetOrderID(temp);// dic.ContainsKey("data") && dic["msg"].Equals("ok") ? dic["data"].ToString() : "未能成功打印"; record.Title = parameter.Title; record.OrderList = stringorderlist; record.TotalMoney = (float)parameter.TotalMoney; record.Address = parameter.Address; record.OrderName = parameter.OrderName; record.Mobile = parameter.Mobile; record.OrderTime = Convert.ToDateTime(parameter.OrderTime); record.QRAddress = parameter.QRAddress; record.Remark = shopOrder.Remark; printDbContext.AddTo(record); #endregion } shopOrder.IsPrint = true; } catch (Exception e) { _logger.LogError("打印机错误:{0}", e.Message); } }
public APIResult Print([FromBody] PrintParameter parameter) { if (string.IsNullOrEmpty(parameter.Title)) { return(Error("标题是必须的内容")); } if (parameter.List.Count == 0) { return(Error("订单列表格式有误,[{Name:'xxxx',Price:10,Count:1},{}]")); } if (parameter.ShopID == 0 && string.IsNullOrEmpty(parameter.ShopFlag)) { return(Error("商铺编号是必须的,ID Flag必须存在其一")); } Shop shop = parameter.ShopID != 0 ? shopDb.GetSingle <Shop>(parameter.ShopID) : shopDb.Shops.FirstOrDefault(s => s.Flag == parameter.ShopFlag); if (shop == null) { return(Error("商铺不存在")); } List <OrderInfo> orderlist = parameter.List; //JsonConvert.DeserializeObject<List<OrderInfo>>(parameter.List); //根据集合填充内容 if (parameter.List == null || orderlist.Count == 0) { return(Error("无任何订单,无需打印")); } string stringorderlist = JsonConvert.SerializeObject(orderlist); foreach (OrderInfo item in orderlist) { parameter.TotalMoney += item.Money; } List <Data.Printer> printers = printDb.Printer.Where(s => s.ShopID == parameter.ShopID && s.IsEnable && s.IsSuccess).ToList(); if (printers.Count == 0) { return(Error("暂未添加相关打印机")); } // string[] snarry = parameter.SN.TrimEnd('#').Split('#'); StringBuilder result = new StringBuilder("["); foreach (Data.Printer item in printers) { //StringBuilder postData = new StringBuilder("sn=" + item.SN); parameter.SN = item.SN; PrinterBase @base = PrinterFactory.Create(item.PrinterType);//) string temp = @base.PrinterRequest(parameter, item); #region 数据库操作 PrintRecord record = new PrintRecord(); //处理接口返回数据 Dictionary <string, object> dic = JsonConvert.DeserializeObject <Dictionary <string, object> >(temp); //实体赋值 record.SN = item.SN; record.OrderID = @base.GetOrderID(temp);// dic.ContainsKey("data") && dic["msg"].Equals("ok") ? dic["data"].ToString() : "未能成功打印"; record.Title = parameter.Title; record.OrderList = stringorderlist; record.TotalMoney = (float)parameter.TotalMoney; record.Address = parameter.Address; record.OrderName = parameter.OrderName; record.Mobile = parameter.Mobile; record.OrderTime = Convert.ToDateTime(parameter.OrderTime); record.QRAddress = parameter.QRAddress; record.Remark = parameter.Remark; printDb.PrintRecord.Add(record); result.Append(temp); #endregion } result.Append("]"); return(Success(result.ToString())); }