コード例 #1
0
        /**
         *
         *
         */
        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);
                }
            }
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
 /// <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)
     {
     }
 }
コード例 #4
0
        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);
                    }
                }
            }
        }
コード例 #5
0
 public void PrintDetail()
 {
     PrintRecord.DoPrintRecord(this, _refreshDateTime, 4, "DeliveryRegisterReportName".GetUiTranslation(),
                               "DeliveryRegisterReportName".GetUiTranslation(), Model.RegisterId);
 }
コード例 #6
0
        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);
            }
        }
コード例 #7
0
        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);
            }
        }
コード例 #8
0
        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()));
        }