public PrintLabel GetLabelFile(int eCommerceShipmentId, string LabelType) { PrintLabel file = new PrintLabel(); file = new eCommerceShipmentRepository().GetLabelFile(eCommerceShipmentId, LabelType); return(file); }
private void PrintCompetitor(PrintPageEventArgs ev, Structs.Competitor competitor, int serie, PrintLabel label) { Trace.WriteLine("Competitor: " + _competitors[_currentCompetitor].CompetitorId + "\r\nSerie: " + _currentCompetitorSeries); var shooter = _commonCode.GetShooter(competitor.ShooterId); var y = label.Y + label.MarginalTop; var x = label.X + label.MarginalLeft; ev.Graphics.DrawString( shooter.Surname + " " + shooter.Givenname + " (" + shooter.CardNr + ")", _printFont, Brushes.Black, x, y, new StringFormat()); y += _printFont.Height; ev.Graphics.DrawString( "Lag " + competitor.PatrolId + ", Serie " + (serie + 1), _printFont, Brushes.Black, x, y, new StringFormat()); y += _printFont.Height; ev.Graphics.DrawString( _competition.Name + ", " + _competition.StartTime.ToShortDateString(), _printFont, Brushes.Black, x, y, new StringFormat()); y += _printFont.Height; }
private void printTest04(PrintPageEventArgs ev) { PrintLabelDocument doc = CommonCode.Settings.PrinterSettings.LabelResultDocument; doc.DocumentSizeXPixels = ev.PageBounds.Width; doc.DocumentSizeYPixels = ev.PageBounds.Height; addTextLine(ev, "Test 4: Detta test visar hur WinShooter skriver ut resultatetiketter."); addTextLine(ev, "På papperet finns två rader med etiketter, fyra stycken på varje rad."); addTextLine(ev, ""); addTextLine(ev, "Förutsättningen är att papperet är A4, dvs " + doc.DocumentSizeXmm.ToString() + " mm x " + doc.DocumentSizeYmm.ToString() + " mm."); addTextLine(ev, "Varje etikett är " + doc.LabelXSizeMm.ToString() + " x " + doc.LabelYSizeMm.ToString() + " mm."); addTextLine(ev, "Första etiketten börjar " + doc.LeftMarginMm + " mm in. " + "Mellan varje etikett finns en marginal på " + doc.HorizontalInnerMarginMm + " i höjd."); int startLabel = 1 * doc.NrOfLabelsX; int endlabel = doc.NrOfLabelsX * doc.NrOfLabelsY; for (int i = startLabel; i < endlabel; i++) { PrintLabel label = doc.GetLabel(i); printLabelBorders(ev, label); printCompetitor(ev, label, i - startLabel); } }
private void printBtn_Click(object sender, EventArgs e) { String waybill_no = waybillNOTextBox.Text.Trim(); String product_reg_code = productRegCodeTextBox.Text.Trim(); String endRegNo = endRegNoTextBox.Text.Trim(); List <ProductRegInfo> productRegNo = WhApi.GetProductRegNo(waybill_no, product_reg_code, endRegNo); //打印商品登记号,每次打印两个 if (productRegNo != null && productRegNo.Count > 0) { for (int i = 0; i < productRegNo.Count; i += 2) { ProductRegInfo leftProductReg = productRegNo[i]; string rightNum = ""; string rightComCode = ""; string leftNum = leftProductReg.product_reg_code; string leftComCode = leftProductReg.company_product_code; if (i < productRegNo.Count - 1) { ProductRegInfo rightProductReg = productRegNo[i + 1]; rightComCode = productRegNo[i + 1].company_product_code; rightNum = productRegNo[i + 1].product_reg_code; } PrintLabel.ProductRegNoBarcodePrint(leftNum, rightNum, leftComCode, rightComCode); } PrintLabel.ProductRegNoBarcodePrint("", "", "", ""); } MessageBox.Show("条码打印完成。"); Init(); }
public async Task <ActionResult> Save(PrintLabelViewModel model) { using (PrintLabelServiceClient client = new PrintLabelServiceClient()) { PrintLabel obj = new PrintLabel() { Key = model.Code.ToUpper(), Name = model.Name.ToUpper(), Content = model.Content, Type = model.Type, IsUsed = model.IsUsed, Editor = User.Identity.Name, EditTime = DateTime.Now, CreateTime = DateTime.Now, Creator = User.Identity.Name }; MethodReturnResult rst = await client.AddAsync(obj); if (rst.Code == 0) { rst.Message = string.Format(FMMResources.StringResource.PrintLabel_Save_Success , model.Name); } return(Json(rst)); } }
public PrintLabel GeneratePacakgelabel(int eCommerceShipmentId, int Id, string LabelType) { PrintLabel file = new PrintLabel(); file = new eCommerceShipmentRepository().GeneratePacakgelabel(eCommerceShipmentId, Id, LabelType); return(file); }
private void printLabelBorders(PrintPageEventArgs ev, PrintLabel label) { Pen pen = new Pen(Brushes.Black, 1); ev.Graphics.DrawLine(pen, label.X, label.Y, label.X, label.Y + label.SizeY); ev.Graphics.DrawLine(pen, label.X, label.Y + label.SizeY, label.X + label.SizeX, label.Y + label.SizeY); ev.Graphics.DrawLine(pen, label.X + label.SizeX, label.Y + label.SizeY, label.X + label.SizeX, label.Y); ev.Graphics.DrawLine(pen, label.X + label.SizeX, label.Y, label.X, label.Y); }
private void PrintButton_Click(object sender, RoutedEventArgs e) { locationstr = null; StringBuilder sb = new StringBuilder(); if (GroupCompany == null && GroupCompanyName == null) { sb.AppendLine("請輸入公司名稱!"); } if (m_NTList.Count <= 0) { sb.AppendLine("沒有填寫內容!"); } if (sb.Length > 0) { MessageBox.Show(sb.ToString(), "注意", MessageBoxButton.OK, MessageBoxImage.Warning); return; } if (GroupCompany != null) { companyStr = GroupCompany.Name; switch (locations) { case 0: locationstr = "石牌"; break; case 1: locationstr = "蘆洲"; break; case 2: locationstr = "內湖"; break; } } else { companyStr = GroupCompanyName.Trim(); } foreach (NTItem item in m_NTList) { PrintLabel pl = null; if (item.Number > 0) { pl = new PrintLabel((short)item.Number, companyStr, locationstr, item); } } if ((bool)Result_Addone.IsChecked) { PrintLabel pl = new PrintLabel((short)1, companyStr, locationstr, null); } }
//获取打印标签信息 public PrintLabel GetLabel(string labelCode) { PrintLabel label = null; using (PrintLabelServiceClient client = new PrintLabelServiceClient()) { MethodReturnResult <PrintLabel> result = client.Get(labelCode); if (result.Code <= 0) { label = result.Data; } } return(label); }
private void printBtn_Click(object sender, EventArgs e) { String order_no = orderNoTextBox.Text.Trim(); String product_code = productCodeTextBox.Text.Trim(); List <String> productRegNo = WhApi.GetProductRegNo(order_no, product_code); //打印商品登记号,每次打印两个 if (productRegNo != null && productRegNo.Count > 0) { for (int i = 0; i < productRegNo.Count; i += 2) { string rightNum = ""; string leftNum = productRegNo[i]; if (i < productRegNo.Count - 1) { rightNum = productRegNo[i + 1]; } PrintLabel.BarcodePrint(leftNum, rightNum); } } }
private void printCompetitor(PrintPageEventArgs ev, PrintLabel label, int i) { Font printFont = new Font("Times New Roman", 12); float y = label.Y + label.MarginalTop; float x = label.X + label.MarginalLeft; string shooterClass = "A" + i.ToString(); ev.Graphics.DrawString( shooterClass, printFont, Brushes.Black, x, y, new StringFormat()); float indent = ev.Graphics.MeasureString("RES", printFont).Width; x = x + indent; ev.Graphics.DrawString( "Skytt nr " + i.ToString(), printFont, Brushes.Black, x, y, new StringFormat()); y += printFont.Height; ev.Graphics.DrawString( "PSK Test", printFont, Brushes.Black, x, y, new StringFormat()); y += printFont.Height; string resultString = "6/12"; ev.Graphics.DrawString( resultString, printFont, Brushes.Black, x, y, new StringFormat()); y += printFont.Height; }
private static void PrintLabel(Fill selectedFill) { var printControl = new PrintLabel(selectedFill); printControl.Width = 8.27 * 96; printControl.Height = 11.69 * 96; //Create a fixed Document and Print the document FixedDocument fixedDoc = new FixedDocument(); PageContent pageContent = new PageContent(); FixedPage fixedPage = new FixedPage(); fixedPage.Height = 11.69 * 96; fixedPage.Width = 8.27 * 96; fixedPage.Children.Add(printControl); ((System.Windows.Markup.IAddChild)pageContent).AddChild(fixedPage); fixedDoc.Pages.Add(pageContent); PrintDialog dialog = new PrintDialog(); if (dialog.ShowDialog() == true) { //dialog.PrintVisual(_PrintCanvas, "My Canvas"); dialog.PrintDocument(fixedDoc.DocumentPaginator, "Print label"); } }
public Form1() { InitializeComponent(); PrintDlegateFunc = new PrintLabel(PrintFunc); }
private void printCompetitor(PrintPageEventArgs ev, Structs.Competitor competitor, PrintLabel label) { Trace.WriteLine("Competitor: " + competitor.CompetitorId); ResultsReturn result = CommonCode.ResultsGetCompetitor(competitor); float y = label.Y + label.MarginalTop; float x = label.X + label.MarginalLeft; string shooterClass = getShooterClassString( CommonCode.GetCompetitor(result.CompetitorId)); ev.Graphics.DrawString( shooterClass, printFont, Brushes.Black, x, y, new StringFormat()); float indent = ev.Graphics.MeasureString("RES", printFont).Width; x = x + indent; ev.Graphics.DrawString( result.ShooterName, printFont, Brushes.Black, x, y, new StringFormat()); y += printFont.Height; Structs.Club club = CommonCode.GetClub( result.ClubId); ev.Graphics.DrawString( club.Name, printFont, Brushes.Black, x, y, new StringFormat()); y += printFont.Height; string resultString = ""; switch (CommonCode.CompetitionCurrent.Type) { case Structs.CompetitionTypeEnum.Field: resultString = getResultStringField(result); break; case Structs.CompetitionTypeEnum.MagnumField: resultString = getResultStringField(result); break; case Structs.CompetitionTypeEnum.Precision: resultString = result.HitsTotal.ToString() + " p"; break; } ev.Graphics.DrawString( resultString, printFont, Brushes.Black, x, y, new StringFormat()); y += printFont.Height; }
public ActionResult Save(NameplatePrintViewModel model) { System.DateTime dateStartTime; System.DateTime dateEndTime; TimeSpan tSpan; string lotNumber = ""; MethodReturnResult result = new MethodReturnResult(); try { dateStartTime = System.DateTime.Now; dateEndTime = System.DateTime.Now; //获取批值。 lotNumber = model.LotNumber.ToUpper(); result = GetLot(lotNumber); if (result.Code > 0) { return(Json(result)); } Lot obj = (result as MethodReturnResult <Lot>).Data; //获取打印机名称 ClientConfig printer = null; if (!string.IsNullOrEmpty(model.PrinterName)) { using (ClientConfigServiceClient client = new ClientConfigServiceClient()) { MethodReturnResult <ClientConfig> rst = client.Get(model.PrinterName); if (rst.Code > 0) { return(Json(rst)); } printer = rst.Data; } } //获取打印条码内容 PrintLabel label = null; if (!string.IsNullOrEmpty(model.PrintLabelCode)) { using (PrintLabelServiceClient client = new PrintLabelServiceClient()) { MethodReturnResult <PrintLabel> rst = client.Get(model.PrintLabelCode); if (rst.Code > 0) { return(Json(rst)); } label = rst.Data; } } //获取IV测试数据及其对应的分档数据。 IVTestData ivtest = null; using (IVTestDataServiceClient client = new IVTestDataServiceClient()) { PagingConfig cfg = new PagingConfig() { IsPaging = false, Where = string.Format(@"Key.LotNumber='{0}' AND IsDefault=1" , model.LotNumber), OrderBy = "Key.TestTime Desc" }; MethodReturnResult <IList <IVTestData> > rst = client.Get(ref cfg); if (rst.Code > 0) { return(Json(rst)); } if (rst.Data.Count <= 0) { LogHelper.WriteLogInfo(string.Format("GetIVDataError>{0}IV测试数据不存在。", model.LotNumber)); rst.Message = string.Format("{0} IV测试数据不存在。", model.LotNumber); rst.Code = 1000; return(Json(rst)); } ivtest = rst.Data[0]; } //获取工单分档规则 WorkOrderPowerset wop = null; using (WorkOrderPowersetServiceClient client = new WorkOrderPowersetServiceClient()) { MethodReturnResult <WorkOrderPowerset> rst = client.Get(new WorkOrderPowersetKey() { Code = ivtest.PowersetCode, ItemNo = ivtest.PowersetItemNo ?? -1, OrderNumber = obj.OrderNumber, MaterialCode = obj.MaterialCode }); if (rst.Code > 0) { return(Json(rst)); } wop = rst.Data; } //根据物料编码获取物料数据,进一步获取产品类型。 Material material = null; using (MaterialServiceClient client = new MaterialServiceClient()) { MethodReturnResult <Material> rst = client.Get(obj.MaterialCode); if (rst.Code > 0) { return(Json(rst)); } material = rst.Data; } #region //检查打印铭牌的LOG日志 using (IVTestDataPrintLogServiceClient client = new IVTestDataPrintLogServiceClient()) { int itemNo = 1; if (model.IsRepeatPrint == false) { MethodReturnResult <IVTestDataPrintLog> rst = client.Get(new IVTestDataPrintLogKey() { LotNumber = ivtest.Key.LotNumber, EquipmentCode = ivtest.Key.EquipmentCode, TestTime = ivtest.Key.TestTime, ItemNo = itemNo }); if (rst.Code == 0 && rst.Data != null) { //表示重复打印过 result = new MethodReturnResult() { Code = 1001, Message = string.Format("批次({0})已打印铭牌。", ivtest.Key.LotNumber) }; return(Json(result)); } } } #endregion //End 检查打印铭牌的LOG日志 bool bSuccess = true; //打印动态内容。 if (printer != null && label != null) { //获取工单打印规则 WorkOrderPrintSet woprint = null; using (WorkOrderPrintSetServiceClient client = new WorkOrderPrintSetServiceClient()) { MethodReturnResult <WorkOrderPrintSet> rst = client.Get(new WorkOrderPrintSetKey() { OrderNumber = obj.OrderNumber, MaterialCode = obj.MaterialCode, LabelCode = model.PrintLabelCode }); if (rst.Code > 0) { return(Json(rst)); } woprint = rst.Data; } dynamic d = new ExpandoObject(); d.PrintQty = woprint.Qty; d.LotNumber = lotNumber; d.PM = ivtest.CoefPM; d.ISC = ivtest.CoefISC; d.VOC = ivtest.CoefVOC; d.IPM = ivtest.CoefIPM; d.VPM = ivtest.CoefVPM; d.FF = ivtest.CoefFF; d.StandardPower = string.Format("{0:0.0}", wop.StandardPower); d.StandardFuse = wop.StandardFuse; d.StandardIsc = wop.StandardIsc; d.StandardVoc = wop.StandardVoc; d.StandardVPM = wop.StandardVPM; d.StandardIPM = wop.StandardIPM; d.PowerName = wop.PowerName; d.PowerDifference = wop.PowerDifference; d.ProductType = string.Format("JNM{1}{2}-{0}" , wop == null ? string.Empty : Convert.ToString(wop.StandardPower) , material.Key.StartsWith("1201") ? "M" : "P" , material.MainRawQtyPerLot); d.ProductSpec = material.Spec.Replace("*", "x"); dateEndTime = System.DateTime.Now; tSpan = dateEndTime - dateStartTime; dateStartTime = dateEndTime; LogHelper.WriteLogInfo(string.Format(@"BeforePrintLabel{3}>从{0:yyyy-MM-dd HH:mm:ss} 到 {1:yyyy-MM-dd HH:mm:ss} ,时间间隔{2}", dateStartTime.ToString(), dateEndTime.ToString(), tSpan.TotalMilliseconds, lotNumber ) ); //根据打印机类型,调用不同的打印方法。 using (IPrintHelper helper = PrintHelperFactory.CreatePrintHelper(label.Content)) { if (printer.ClientType == EnumClientType.NetworkPrinter) { string[] vals = printer.IPAddress.Split(':'); string port = "9100"; if (vals.Length > 1) { port = vals[1]; } bSuccess = helper.NetworkPrint(vals[0], port, label.Content, d); } else if (printer.ClientType == EnumClientType.RawPrinter) { bSuccess = helper.RAWPrint(printer.IPAddress, label.Content, d); } else { bSuccess = false; result.Code = 1001; result.Message = "打印失败,打印机类型不正确。"; return(Json(result)); } } if (bSuccess) { #region //Add Print Log using (IVTestDataPrintLogServiceClient client = new IVTestDataPrintLogServiceClient()) { int itemNo = 1; IVTestDataPrintLog ivdpl = new IVTestDataPrintLog() { CoefFF = ivtest.CoefFF, CoefIPM = ivtest.CoefIPM, CoefISC = ivtest.CoefISC, CoefPM = ivtest.CoefPM, CoefVOC = ivtest.CoefVOC, CoefVPM = ivtest.CoefVPM, CreateTime = DateTime.Now, Creator = User.Identity.Name, CTM = ivtest.CTM, LabelCode = model.PrintLabelCode, PowersetCode = ivtest.PowersetCode, PowersetItemNo = ivtest.PowersetItemNo.Value, PowersetSubCode = ivtest.PowersetSubCode, PrintTime = DateTime.Now, Key = new IVTestDataPrintLogKey() { LotNumber = ivtest.Key.LotNumber, EquipmentCode = ivtest.Key.EquipmentCode, TestTime = ivtest.Key.TestTime, ItemNo = itemNo } }; client.Add(ivdpl); } #endregion } } else { bSuccess = false; } //返回打印结果。 StringBuilder sbMessage = new StringBuilder(); if (bSuccess == false) { result.Code = 1001; sbMessage.AppendFormat("批次 {0} 打印操作失败。<br/>", model.LotNumber); } else { sbMessage.AppendFormat("批次 {0} 打印操作成功。<br/>", model.LotNumber); } sbMessage.Append("<table border='1px' width='100%'><tr><td>"); sbMessage.AppendFormat("<font size='14px' color='red'>档位:{0}</font>", wop.PowerName); sbMessage.Append("</td><td>"); sbMessage.AppendFormat("<font size='14px' color='red'>子档位:{0}</font> ", ivtest.PowersetSubCode); sbMessage.AppendFormat("<img src='/ZPVM/WorkOrderPowersetDetail/ShowPicture?OrderNumber={0}&MaterialCode={1}&Code={2}&ItemNo={3}&SubCode={4}&TimeStamp={5}' width='150px'/>" , obj.OrderNumber , obj.MaterialCode , ivtest.PowersetCode , ivtest.PowersetItemNo , ivtest.PowersetSubCode , DateTime.Now.Ticks); sbMessage.Append("</td><td>"); sbMessage.AppendFormat("<font size='14px' color='blue'>花色:{0}</font><br/>", obj.Color); sbMessage.Append("</td><td>"); sbMessage.AppendFormat("<br/><font size='14px' color='blue'>等级:{0}</font><br/>", obj.Grade); sbMessage.Append("</td><tr></table>"); sbMessage.AppendFormat("<font size='10px' color='blue'>功率:{0}</font><br/>", ivtest.CoefPM); sbMessage.AppendFormat("<font size='10px' color='blue'>ISC:{0}</font><br/>", ivtest.CoefISC); sbMessage.AppendFormat("<font size='10px' color='blue'>IPM:{0}</font><br/>", ivtest.CoefIPM); sbMessage.AppendFormat("<font size='10px' color='blue'>VOC:{0}</font><br/>", ivtest.CoefVOC); sbMessage.AppendFormat("<font size='10px' color='blue'>VPM:{0}</font><br/>", ivtest.CoefVPM); result.Message = sbMessage.ToString(); } catch (Exception ex) { LogHelper.WriteLogError(string.Format(@"PrintLabel{0}失败", lotNumber), ex); result.Code = 1000; result.Message = ex.Message; result.Detail = ex.ToString(); } // 如果我们进行到这一步时某个地方出错,则重新显示表单 return(Json(result)); }
//在线打印 private Boolean OnlineLogic() { var product_order_no = numTextBox.Text.Trim(); string jpExpSecId = null; string expressCompany = null; string store = null; //获取订单详情 var orderInfo = WhApi.PostOrderInfos(product_order_no); var pacIndex = 0; //不能打印出库状态的订单 if (orderInfo.delivery_state.Equals("24")) { MessageBox.Show("打印出库失败。(订单状态错误)"); InitControl(); return(false); } if (orderInfo.IsNull()) { InitControl(); } else if (orderInfo.products.IsNull() || orderInfo.products.Count == 0) { MessageBox.Show("没查询到订单的商品信息。"); } else { //判断是否有日本号,如果有直接打印,如果没有先分配日本号再打印 if (orderInfo.jp_express_no.IsNullOrEmpty()) { //判断是否有默认快递公司 if (orderInfo.jp_express_section_id.IsNullOrEmpty() || orderInfo.products.Count > 1) { if (jpExpSecId.IsNullOrEmpty() && expressDataGrid.SelectedRows.Count == 0) { MessageBox.Show("请选择快递公司再进行操作。"); return(false); } else { if (expressDataGrid.SelectedRows.Count != 0) { jpExpSecId = expressDataGrid.SelectedRows[0].Cells[0].Value.ToString(); store = expressDataGrid.SelectedRows[0].Cells[3].Value.ToString(); expressCompany = expressDataGrid.SelectedRows[0].Cells[1].Value.ToString(); } if (WhApi.DistributionJpNo(product_order_no, jpExpSecId)) { orderInfo = WhApi.PostOrderInfos(product_order_no); } } } else { if (WhApi.DistributionJpNo(product_order_no, orderInfo.jp_express_section_id)) { orderInfo = WhApi.PostOrderInfos(product_order_no); expressCompany = orderInfo.jp_express_company; store = orderInfo.city_code; } } } else { store = orderInfo.city_code; expressCompany = orderInfo.jp_express_company; } for (int c = 0; c < orderInfo.products.Count; c++) { if (orderInfo.products[c].check_flag.Equals("N")) { MessageBox.Show("商品[" + orderInfo.products[c].product_code + "],未审查派送公司。操作失败!"); return(false); } } //添加额外信息 AddExtraInfo(orderInfo, store); switch (expressCompany) { case "SAGAWA": PrintLabel.OWHSagawaLablePrint(orderInfo, pacIndex); break; case "JP_EMS": PrintLabel.JapanEmsPrint(orderInfo, pacIndex); break; case "JP_EMS_SMALL": PrintLabel.JapanEmsSmallPrint(orderInfo, pacIndex); break; case "SAGAWA_HIKIYAKU": PrintLabel.SagawaHikiyakuPrint(orderInfo, pacIndex); break; case "YAMATO": PrintLabel.YamatoLablePrint(orderInfo, pacIndex); break; } } return(true); }
public ActionResult Save(BoxPrintViewModel model) { MethodReturnResult result = new MethodReturnResult(); try { model.BoxNo1 = model.BoxNo1 != null?model.BoxNo1.Trim().ToUpper() : model.BoxNo1; model.BoxNo = model.BoxNo != null?model.BoxNo.Trim().ToUpper() : model.BoxNo; //获取包装数据。 result = GetBox(model); if (result.Code > 0) { return(Json(result)); } //获取打印机名称 ClientConfig printer = null; using (ClientConfigServiceClient client = new ClientConfigServiceClient()) { MethodReturnResult <ClientConfig> rst = client.Get(model.PrinterName); if (rst.Code > 0) { return(Json(rst)); } printer = rst.Data; } //获取打印条码内容 PrintLabel label = null; using (PrintLabelServiceClient client = new PrintLabelServiceClient()) { MethodReturnResult <PrintLabel> rst = client.Get(model.PrintLabelCode); if (rst.Code > 0) { return(Json(rst)); } label = rst.Data; } IList <Package> lst = (result as MethodReturnResult <IList <Package> >).Data; //打印动态内容。 dynamic d = new ExpandoObject(); d.PrintQty = model.PrintQty; bool bSuccess = false; //根据打印机类型,调用不同的打印方法。 using (IPrintHelper helper = PrintHelperFactory.CreatePrintHelper(label.Content)) { if (printer.ClientType == EnumClientType.NetworkPrinter) { string[] vals = printer.IPAddress.Split(':'); string port = "9100"; if (vals.Length > 1) { port = vals[1]; } foreach (Package obj in lst) { if (SetPrintObject(obj, ref d) == false) { continue; } bSuccess = helper.NetworkPrint(vals[0], port, label.Content, d); } } else if (printer.ClientType == EnumClientType.RawPrinter) { foreach (Package obj in lst) { if (SetPrintObject(obj, ref d) == false) { continue; } bSuccess = helper.RAWPrint(printer.IPAddress, label.Content, d); } } else { result.Code = 1001; result.Message = "打印失败,打印机类型不正确。"; return(Json(result)); } } //返回打印结果。 if (bSuccess == false) { result.Code = 1001; result.Message = string.Format("电池箱 {0}-{1} 标签打印失败。", model.BoxNo, model.BoxNo1); } else { result.Message = string.Format("电池箱 {0}-{1} 标签打印操作成功。", model.BoxNo, model.BoxNo1); } } catch (Exception ex) { result.Code = 1000; result.Message = ex.Message; result.Detail = ex.ToString(); } // 如果我们进行到这一步时某个地方出错,则重新显示表单 return(Json(result)); }
/// <summary> /// Update /// </summary> public override void update() { CswNbtMetaDataObjectClass PrintLabelOc = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(CswNbtMetaDataObjectClass.NbtObjectClass.PrintLabelClass); CswNbtMetaDataObjectClassProp ControlTypeOcp = _CswNbtSchemaModTrnsctn.createObjectClassProp(new CswNbtWcfMetaDataModel.ObjectClassProp(PrintLabelOc) { PropName = CswNbtObjClassPrintLabel.PropertyName.ControlType, FieldType = CswNbtMetaDataFieldType.NbtFieldType.List, ListOptions = CswNbtObjClassPrintLabel.ControlTypes.Options.ToString(), IsRequired = true }); _CswNbtSchemaModTrnsctn.MetaData.SetObjectClassPropDefaultValue(ControlTypeOcp, ControlTypeOcp.getFieldTypeRule().SubFields.Default.Name, CswNbtObjClassPrintLabel.ControlTypes.jZebra); foreach (CswNbtObjClassPrintLabel PrintLabel in PrintLabelOc.getNodes(forceReInit: true, includeSystemNodes: false)) { if (null != PrintLabel) { PrintLabel.ControlType.Value = CswNbtObjClassPrintLabel.ControlTypes.jZebra; PrintLabel.postChanges(ForceUpdate: false); } } _CswNbtSchemaModTrnsctn.MetaData.SetObjectClassPropDefaultValue(ControlTypeOcp, ControlTypeOcp.getFieldTypeRule().SubFields.Default.Name, CswNbtObjClassPrintLabel.ControlTypes.jZebra); _CswNbtSchemaModTrnsctn.createObjectClassProp(new CswNbtWcfMetaDataModel.ObjectClassProp(PrintLabelOc) { PropName = CswNbtObjClassPrintLabel.PropertyName.LabelName, FieldType = CswNbtMetaDataFieldType.NbtFieldType.Text, SetValOnAdd = true }); foreach (CswNbtObjClassPrintLabel PrintLabel in PrintLabelOc.getNodes(forceReInit: true, includeSystemNodes: false)) { if (null != PrintLabel) { PrintLabel.ControlType.Value = CswNbtObjClassPrintLabel.ControlTypes.jZebra; } } CswNbtMetaDataNodeType PrintLabelNt = PrintLabelOc.getLatestVersionNodeTypes().FirstOrDefault(); if (null != PrintLabelNt) { CswNbtObjClassPrintLabel PrintLabel = _CswNbtSchemaModTrnsctn.Nodes.makeNodeFromNodeTypeId(PrintLabelNt.NodeTypeId, CswNbtNodeCollection.MakeNodeOperation.WriteNode, OverrideUniqueValidation: false); if (null != PrintLabel) { PrintLabel.ControlType.Value = CswNbtObjClassPrintLabel.ControlTypes.jZebra; //Whitespace is treated literally PrintLabel.EplText.Text = @"I8,1,001 q664 S2 OD JF WN D7 ZB Q300,37 N B41,85,0,3,3,8,50,N,""{Barcode}"" A41,140,0,3,1,1,N,""{Barcode}"" P1"; try { PrintLabel.LabelName.Text = "Default Barcode Label"; } catch (Exception Ex) { CswNbtMetaDataNodeTypeProp LabelNameNtp = PrintLabelNt.getNodeTypeProp("Label Name"); if (null != LabelNameNtp) { PrintLabel.Node.Properties[LabelNameNtp].AsText.Text = "Default Barcode Label"; } } CswNbtMetaDataObjectClass ContainerOc = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass(CswNbtMetaDataObjectClass.NbtObjectClass.ContainerClass); foreach (Int32 ContainerId in ContainerOc.getNodeTypeIds()) { PrintLabel.NodeTypes.SelectedNodeTypeIds.Add(ContainerId.ToString()); } PrintLabel.postChanges(ForceUpdate: false); } } } //Update()
// Sub procedure: Print barcode, by generating a text file in shared folder and let another application print it private void printBarcode(string dir, string id, string m_model, DataGridView dgv1, ref DataGridView dgv2, ref TextBox txt) { PrintLabel tf = new PrintLabel(); tf.createBoxidFiles(dir, id, m_model, dgv1, ref dgv2, ref txt); }
private MethodReturnResult PrintPrivate(BoxViewModel model) { MethodReturnResult result = new MethodReturnResult(); //不需要进行标签打印。 if (model.PrintQty <= 0 || string.IsNullOrEmpty(model.PrinterName) || string.IsNullOrEmpty(model.PrintLabelCode)) { return(result); } //获取打印机名称 ClientConfig printer = null; using (ClientConfigServiceClient client = new ClientConfigServiceClient()) { MethodReturnResult <ClientConfig> rst = client.Get(model.PrinterName); if (rst.Code > 0) { return(rst); } printer = rst.Data; } //获取打印条码内容 PrintLabel label = null; using (PrintLabelServiceClient client = new PrintLabelServiceClient()) { MethodReturnResult <PrintLabel> rst = client.Get(model.PrintLabelCode); if (rst.Code > 0) { return(rst); } label = rst.Data; } //获取箱数据 Package box = new Package(); using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { MethodReturnResult <Package> rst = client.Get(model.BoxNo); if (rst.Code <= 0 && rst.Data != null) { box = rst.Data; } else { result = rst; if (result.Code == 1002) { result.Message = string.Format("箱 {0} 数据不存在。", model.BoxNo); } return(result); } } if (box.Quantity <= 0) { result.Code = 2001; result.Message = string.Format("箱 {0} 中数量为零,请确认。", model.BoxNo); return(result); } //获取箱第一包的数据 string packageNo = string.Empty; PackageInfo obj = new PackageInfo(); using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { PagingConfig cfg = new PagingConfig() { PageNo = 0, PageSize = 1, Where = string.Format("Key.PackageNo='{0}' AND Key.ObjectType='{1}'" , model.BoxNo , Convert.ToInt32(EnumPackageObjectType.Packet)), OrderBy = "ItemNo" }; MethodReturnResult <IList <PackageDetail> > rst = client.GetDetail(ref cfg); if (rst.Code <= 0 && rst.Data != null && rst.Data.Count > 0) { packageNo = rst.Data[0].Key.ObjectNumber; } } if (!string.IsNullOrEmpty(packageNo)) { using (PackageInfoServiceClient client = new PackageInfoServiceClient()) { MethodReturnResult <PackageInfo> rst = client.Get(packageNo); if (rst.Code <= 0 && rst.Data != null) { obj = rst.Data; } else { result = rst; return(result); } } } //根据打印数量设置打印机模板。 using (IPrintHelper helper = PrintHelperFactory.CreatePrintHelper(label.Content)) { //打印动态内容。 dynamic d = new ExpandoObject(); d.CartonNo = model.BoxNo.ToUpper(); d.Color = obj.Color; d.Date = box.CreateTime.Value.ToString("yyyy.MM.dd"); d.Eff = obj.EfficiencyName; d.Grade = obj.Grade; d.PartNo = obj.ConfigCode; d.PNType = obj.PNType; d.ProdID = obj.ProductId; d.Qty = string.Format("{0}PCS", box.Quantity); d.PrintQty = model.PrintQty; bool bSuccess = false; //根据打印机类型,调用不同的打印方法。 if (printer.ClientType == EnumClientType.NetworkPrinter) { string[] vals = printer.IPAddress.Split(':'); string port = "9100"; if (vals.Length > 1) { port = vals[1]; } bSuccess = helper.NetworkPrint(vals[0], port, label.Content, d); } else if (printer.ClientType == EnumClientType.RawPrinter) { bSuccess = helper.RAWPrint(printer.IPAddress, label.Content, d); } else { result.Code = 1001; result.Message = "打印失败,打印机类型不正确。"; return(result); } //返回打印结果。 if (bSuccess == false) { result.Code = 1001; result.Message = "箱标签打印失败。"; return(result); } } return(result); }
public void When([FromBody] PrintLabel cmd) { appService.When(cmd); }
private MethodReturnResult PrintPrivate(LotCreateDetailViewModel model) { MethodReturnResult result = new MethodReturnResult(); //不需要进行标签打印。 if (model.PrintQty <= 0 || string.IsNullOrEmpty(model.PrinterName) || string.IsNullOrEmpty(model.PrintLabelCode)) { return(result); } char splitChar = ','; //获取批次号值。 string[] lotNumbers = Request["LotNumber"].ToUpper().Split(splitChar); //获取打印机名称 ClientConfig printer = null; using (ClientConfigServiceClient client = new ClientConfigServiceClient()) { MethodReturnResult <ClientConfig> rst = client.Get(model.PrinterName); if (rst.Code > 0) { return(rst); } printer = rst.Data; } //获取打印条码内容 PrintLabel label = null; using (PrintLabelServiceClient client = new PrintLabelServiceClient()) { MethodReturnResult <PrintLabel> rst = client.Get(model.PrintLabelCode); if (rst.Code > 0) { return(rst); } label = rst.Data; } //根据打印数量设置打印机模板。 using (IPrintHelper helper = PrintHelperFactory.CreatePrintHelper(label.Content)) { foreach (string lotNumber in lotNumbers) { //打印动态内容。 dynamic d = new ExpandoObject(); d.LotNumber = lotNumber; d.PrintQty = model.PrintQty; bool bSuccess = false; //根据打印机类型,调用不同的打印方法。 if (printer.ClientType == EnumClientType.NetworkPrinter) { string[] vals = printer.IPAddress.Split(':'); string port = "9100"; if (vals.Length > 1) { port = vals[1]; } bSuccess = helper.NetworkPrint(vals[0], port, label.Content, d); } else if (printer.ClientType == EnumClientType.RawPrinter) { bSuccess = helper.RAWPrint(printer.IPAddress, label.Content, d); } else { result.Code = 1001; result.Message = "打印失败,打印机类型不正确。"; return(result); } //返回打印结果。 if (bSuccess == false) { result.Code = 1001; result.Message = "批次标签打印失败。"; return(result); } } } return(result); }
//打印标签 private void OnlineLogic() { //更新当前包裹号对应包裹信息 var waybillNo = numTextBox.Text.Trim(); string jpExpSecId = null; string excludePackaged = "N"; string expressCompany = null; string store = null; var packageInfo = new PackageInfo(); if (printLabelCheckBox.Checked && expressDataGrid.RowCount > 0 && expressDataGrid.SelectedRows[0] != null) { jpExpSecId = expressDataGrid.SelectedRows[0].Cells[0].Value.ToString(); expressCompany = expressDataGrid.SelectedRows[0].Cells[1].Value.ToString(); store = expressDataGrid.SelectedRows[0].Cells[3].Value.ToString(); } if (packageCheckBox.Checked) { packageInfo.waybill_id = waybillNo; packageInfo.package_id = "1"; packageInfo.package_size_l = lengthTextBox.Text; packageInfo.package_size_w = widthTextBox.Text; packageInfo.package_size_h = heightTextBox.Text; if (weightTextBox.Text.IsNullOrEmpty()) { MessageBox.Show("包裹尚未称重!"); InitControl(); return; } packageInfo.package_weight = weightTextBox.Text; } else { packageInfo = null; } //更新包裹数据,获取运单信息 var waybillInfo = SxApi.PostWaybillInfos(waybillNo, packageInfo, jpExpSecId, excludePackaged); if (waybillInfo.IsNull() || waybillInfo.packages.IsNull()) { MessageBox.Show("未查询到包裹信息!"); InitControl(); return; } //显示packages详情 packagesDataGrid.DataSource = waybillInfo.packages; if (printLabelCheckBox.Checked) { AddExtraInfo(waybillInfo, store); for (var pacIndex = 0; pacIndex < waybillInfo.packages.Count; pacIndex++) { switch (expressCompany) { case "SAGAWA": PrintLabel.SagawaLablePrint(waybillInfo, pacIndex); break; case "JP_EMS": PrintLabel.JapanEmsPrint(waybillInfo, pacIndex); break; case "JP_EMS_SMALL": PrintLabel.JapanEmsSmallPrint(waybillInfo, pacIndex); break; case "SAGAWA_HIKIYAKU": PrintLabel.SagawaHikiyakuPrint(waybillInfo, pacIndex); break; case "YAMATO": PrintLabel.YamatoLablePrint(waybillInfo, pacIndex); break; case "SAGAWA_BBC": PrintLabel.SagawaBBCLablePrint(waybillInfo, pacIndex); break; case "SAGAWA_SUK": PrintLabel.SagawaSUKLablePrint(waybillInfo, pacIndex); break; } packagesDataGrid.Rows[pacIndex].Selected = true; packagesDataGrid.Refresh(); } } //初始化控件,跳转焦点 InitControl(); }
public ActionResult Save(LotPrintViewModel model) { MethodReturnResult result = new MethodReturnResult(); try { //获取批值。 result = GetLot(model); if (result.Code > 0) { return(Json(result)); } //获取打印机名称 ClientConfig printer = null; using (ClientConfigServiceClient client = new ClientConfigServiceClient()) { MethodReturnResult <ClientConfig> rst = client.Get(model.PrinterName); if (rst.Code > 0) { return(Json(rst)); } printer = rst.Data; } //获取打印条码内容 PrintLabel label = null; using (PrintLabelServiceClient client = new PrintLabelServiceClient()) { MethodReturnResult <PrintLabel> rst = client.Get(model.PrintLabelCode); if (rst.Code > 0) { return(Json(rst)); } label = rst.Data; } IList <Lot> lst = (result as MethodReturnResult <IList <Lot> >).Data; //打印动态内容。 dynamic d = new ExpandoObject(); d.PrintQty = model.PrintQty; bool bSuccess = false; DateTime PrintStart = DateTime.Now; using (IPrintHelper helper = PrintHelperFactory.CreatePrintHelper(label.Content)) { //根据打印机类型,调用不同的打印方法。 if (printer.ClientType == EnumClientType.NetworkPrinter) { string[] vals = printer.IPAddress.Split(':'); string port = "9100"; if (vals.Length > 1) { port = vals[1]; } foreach (Lot obj in lst) { PrintStart = DateTime.Now; //打印开始时间 d.LotNumber = obj.Key.ToString().ToUpper().Trim(); bSuccess = helper.NetworkPrint(vals[0], port, label.Content, d); //打印日志 using (PrintLogServiceClient client = new PrintLogServiceClient()) { PrintLog logobj = new PrintLog() { LotNumber = obj.Key, //批次号 ClientName = Request.UserHostAddress, //客户端 PrintQty = model.PrintQty, //打印数量 PrintLabelCode = model.PrintLabelCode, //打印标签代码 PrinterName = model.PrinterName, //打印机名称 PrintType = printer.ClientType.GetDisplayName(), //打印机类型 IsSucceed = true, //打印是否成功 PrintData = "", //打印数据 Creator = User.Identity.Name, //创建人 CreateTime = PrintStart, //创建日期 FinishTime = DateTime.Now //编辑日期 }; result = client.Add(logobj); if (result.Code > 0) { return(Json(result)); } } } } else if (printer.ClientType == EnumClientType.RawPrinter) { foreach (Lot obj in lst) { PrintStart = DateTime.Now; //打印开始时间 d.LotNumber = obj.Key; bSuccess = helper.RAWPrint(printer.IPAddress, label.Content, d); //打印日志 using (PrintLogServiceClient client = new PrintLogServiceClient()) { PrintLog logobj = new PrintLog() { LotNumber = obj.Key.ToString().ToUpper().Trim(), //批次号 ClientName = Request.UserHostAddress, //客户端 PrintQty = model.PrintQty, //打印数量 PrintLabelCode = model.PrintLabelCode, //打印标签代码 PrinterName = model.PrinterName, //打印机名称 PrintType = printer.ClientType.GetDisplayName(), //打印机类型 IsSucceed = true, //打印是否成功 PrintData = "", //打印数据 Creator = User.Identity.Name, //创建人 CreateTime = PrintStart, //创建日期 FinishTime = DateTime.Now //编辑日期 }; result = client.Add(logobj); if (result.Code > 0) { return(Json(result)); } } } } else { result.Code = 1001; result.Message = "打印失败,打印机类型不正确。"; return(Json(result)); } } //返回打印结果。 if (bSuccess == false) { result.Code = 1001; result.Message = string.Format("批次 {0} - {1} 打印失败。", model.LotNumber, model.LotNumber1); } else { result.Message = string.Format("批次 {0} - {1} 打印操作成功。", model.LotNumber, model.LotNumber1); } } catch (Exception ex) { result.Code = 1000; result.Message = ex.Message; result.Detail = ex.ToString(); } // 如果我们进行到这一步时某个地方出错,则重新显示表单 return(Json(result)); }
public ActionResult Save(LotPrintViewModel model) { MethodReturnResult result = new MethodReturnResult(); try { //获取批值。 result = GetLot(model); if (result.Code > 0) { return(Json(result)); } //获取打印机名称 ClientConfig printer = null; using (ClientConfigServiceClient client = new ClientConfigServiceClient()) { MethodReturnResult <ClientConfig> rst = client.Get(model.PrinterName); if (rst.Code > 0) { return(Json(rst)); } printer = rst.Data; } //获取打印条码内容 PrintLabel label = null; using (PrintLabelServiceClient client = new PrintLabelServiceClient()) { MethodReturnResult <PrintLabel> rst = client.Get(model.PrintLabelCode); if (rst.Code > 0) { return(Json(rst)); } label = rst.Data; } IList <Lot> lst = (result as MethodReturnResult <IList <Lot> >).Data; //打印动态内容。 dynamic d = new ExpandoObject(); d.PrintQty = model.PrintQty; bool bSuccess = false; using (IPrintHelper helper = PrintHelperFactory.CreatePrintHelper(label.Content)) { //根据打印机类型,调用不同的打印方法。 if (printer.ClientType == EnumClientType.NetworkPrinter) { string[] vals = printer.IPAddress.Split(':'); string port = "9100"; if (vals.Length > 1) { port = vals[1]; } foreach (Lot obj in lst) { d.LotNumber = obj.Key; bSuccess = helper.NetworkPrint(vals[0], port, label.Content, d); } } else if (printer.ClientType == EnumClientType.RawPrinter) { foreach (Lot obj in lst) { d.LotNumber = obj.Key; bSuccess = helper.RAWPrint(printer.IPAddress, label.Content, d); } } else { result.Code = 1001; result.Message = "打印失败,打印机类型不正确。"; return(Json(result)); } } //返回打印结果。 if (bSuccess == false) { result.Code = 1001; result.Message = string.Format("批次 {0} - {1} 打印失败。", model.LotNumber, model.LotNumber1); } else { result.Message = string.Format("批次 {0} - {1} 打印操作成功。", model.LotNumber, model.LotNumber1); } } catch (Exception ex) { result.Code = 1000; result.Message = ex.Message; result.Detail = ex.ToString(); } // 如果我们进行到这一步时某个地方出错,则重新显示表单 return(Json(result)); }
private MethodReturnResult PrintPrivate(PackageViewModel model, PackageInfo obj) { MethodReturnResult result = new MethodReturnResult(); //不需要进行标签打印。 if (model.PrintQty <= 0 || string.IsNullOrEmpty(model.PrinterName) || string.IsNullOrEmpty(model.PrintLabelCode)) { return(result); } //获取打印机名称 ClientConfig printer = null; using (ClientConfigServiceClient client = new ClientConfigServiceClient()) { MethodReturnResult <ClientConfig> rst = client.Get(model.PrinterName); if (rst.Code > 0) { return(rst); } printer = rst.Data; } //获取打印条码内容 PrintLabel label = null; using (PrintLabelServiceClient client = new PrintLabelServiceClient()) { MethodReturnResult <PrintLabel> rst = client.Get(model.PrintLabelCode); if (rst.Code > 0) { return(rst); } label = rst.Data; } //根据打印数量设置打印机模板。 using (IPrintHelper helper = PrintHelperFactory.CreatePrintHelper(label.Content)) { //打印动态内容。 dynamic d = new ExpandoObject(); d.PackageNo = model.PackageNo.ToUpper(); d.ProdId = obj.ProductId; d.PartNo = obj.ConfigCode; d.Grade = obj.Grade; d.Color = obj.Color; d.PNType = obj.PNType; d.Eff = obj.EfficiencyName; d.Qty = string.Format("{0}PCS", model.Qty); d.PrintQty = model.PrintQty; bool bSuccess = false; //根据打印机类型,调用不同的打印方法。 if (printer.ClientType == EnumClientType.NetworkPrinter) { string[] vals = printer.IPAddress.Split(':'); string port = "9100"; if (vals.Length > 1) { port = vals[1]; } bSuccess = helper.NetworkPrint(vals[0], port, label.Content, d); } else if (printer.ClientType == EnumClientType.RawPrinter) { bSuccess = helper.RAWPrint(printer.IPAddress, label.Content, d); } else { result.Code = 1001; result.Message = "打印失败,打印机类型不正确。"; return(result); } //返回打印结果。 if (bSuccess == false) { result.Code = 1001; result.Message = "包装标签打印失败。"; return(result); } } return(result); }