|
|
|
|
using PrintBarCode.Helper;
|
|
|
|
|
using PrintBarCode.Model;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace PrintBarCode.Business
|
|
|
|
|
{
|
|
|
|
|
public class PrintBusiness
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
private DebugConfig debugConfig = DebugConfig.Instance;
|
|
|
|
|
private static string basePath = AppDomain.CurrentDomain.BaseDirectory;
|
|
|
|
|
|
|
|
|
|
PrintHelper PrintH = new PrintHelper();
|
|
|
|
|
|
|
|
|
|
private RawPrinterHelper zplp = new RawPrinterHelper();
|
|
|
|
|
public PrintBusiness()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 打印原材料条码方法
|
|
|
|
|
/// </summary>
|
|
|
|
|
public void PrintRawBarCodeInfo(RawBarCodeInfo rawBarCodeInfo)
|
|
|
|
|
{
|
|
|
|
|
// 拼接成目标文件的完整路径
|
|
|
|
|
string path = Path.Combine(basePath, "templates", "rawTemplate.prn");
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
string[] args = new string[]
|
|
|
|
|
{
|
|
|
|
|
rawBarCodeInfo.MaterialName,
|
|
|
|
|
rawBarCodeInfo.MaterialCode,
|
|
|
|
|
rawBarCodeInfo.MaterialSpec,
|
|
|
|
|
rawBarCodeInfo.BatchCode,
|
|
|
|
|
rawBarCodeInfo.PoNo,
|
|
|
|
|
rawBarCodeInfo.SaleOrderCode,
|
|
|
|
|
rawBarCodeInfo.Barcode,
|
|
|
|
|
rawBarCodeInfo.QrCode,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 将属性值用 "~" 连接起来,不带前缀
|
|
|
|
|
string TempStr = $"{rawBarCodeInfo.MaterialName}~{rawBarCodeInfo.MaterialCode}~{rawBarCodeInfo.MaterialSpec}~{rawBarCodeInfo.BatchCode}~{rawBarCodeInfo.PoNo}~{rawBarCodeInfo.SaleOrderCode}~{rawBarCodeInfo.Barcode}~{rawBarCodeInfo.QrCode}";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
string ZplStr = PrintH.GetPrintString(path, TempStr);//替换后字符串
|
|
|
|
|
|
|
|
|
|
bool pringFlag = zplp.SendStringToPrinter(debugConfig.PrintName, ZplStr);
|
|
|
|
|
if (pringFlag == false)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine("打印错误,检查后请重新操作!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 打印成品条码方法
|
|
|
|
|
/// </summary>
|
|
|
|
|
public void PrintProductBarCodeInfo(ProductBarCodeInfo productBarCodeInfo)
|
|
|
|
|
{
|
|
|
|
|
// 拼接成目标文件的完整路径
|
|
|
|
|
string path = Path.Combine(basePath, "templates", "productTemplate.prn");
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
string[] args = new string[]
|
|
|
|
|
{
|
|
|
|
|
productBarCodeInfo.MaterialName,
|
|
|
|
|
productBarCodeInfo.MaterialCode,
|
|
|
|
|
productBarCodeInfo.MaterialSpec,
|
|
|
|
|
productBarCodeInfo.ProductPlanCode,
|
|
|
|
|
productBarCodeInfo.SaleOrderCode,
|
|
|
|
|
productBarCodeInfo.BarCode,
|
|
|
|
|
productBarCodeInfo.Qty,
|
|
|
|
|
productBarCodeInfo.QrCode,
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
string TempStr = $"{productBarCodeInfo.MaterialName}~{productBarCodeInfo.MaterialCode}~{productBarCodeInfo.MaterialSpec}~{productBarCodeInfo.ProductPlanCode}~{productBarCodeInfo.SaleOrderCode}~{productBarCodeInfo.BarCode}~{productBarCodeInfo.Qty}~{productBarCodeInfo.QrCode}";
|
|
|
|
|
|
|
|
|
|
string ZplStr = PrintH.GetPrintString(path, TempStr);//替换后字符串
|
|
|
|
|
|
|
|
|
|
bool pringFlag = zplp.SendStringToPrinter(debugConfig.PrintName, ZplStr);
|
|
|
|
|
if (pringFlag == false)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine("打印错误,检查后请重新操作!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 打印配对码方法
|
|
|
|
|
/// </summary>
|
|
|
|
|
public void PrintBindBarCodeInfo(BindBarCodeInfo bindBarCodeInfo)
|
|
|
|
|
{
|
|
|
|
|
// 拼接成目标文件的完整路径
|
|
|
|
|
string path = Path.Combine(basePath, "templates", "bindTemplate.prn");
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
string[] args = new string[]
|
|
|
|
|
{
|
|
|
|
|
bindBarCodeInfo.MaterialName,
|
|
|
|
|
bindBarCodeInfo.MaterialCode,
|
|
|
|
|
bindBarCodeInfo.MaterialSpec,
|
|
|
|
|
bindBarCodeInfo.BatchCode,
|
|
|
|
|
bindBarCodeInfo.PoNo,
|
|
|
|
|
bindBarCodeInfo.SaleOrderCode,
|
|
|
|
|
bindBarCodeInfo.Barcode,
|
|
|
|
|
bindBarCodeInfo.QrCode,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 将属性值用 "~" 连接起来,不带前缀
|
|
|
|
|
string TempStr = $"{bindBarCodeInfo.MaterialName}~{bindBarCodeInfo.MaterialCode}~{bindBarCodeInfo.MaterialSpec}~{bindBarCodeInfo.BatchCode}~{bindBarCodeInfo.PoNo}~{bindBarCodeInfo.SaleOrderCode}~{bindBarCodeInfo.Barcode}~{bindBarCodeInfo.QrCode}";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
string ZplStr = PrintH.GetPrintString(path, TempStr);//替换后字符串
|
|
|
|
|
|
|
|
|
|
bool pringFlag = zplp.SendStringToPrinter(debugConfig.PrintName, ZplStr);
|
|
|
|
|
if (pringFlag == false)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine("打印错误,检查后请重新操作!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 打印小条码库位码方法
|
|
|
|
|
/// </summary>
|
|
|
|
|
public void PrintSmallBarCodeInfo(SmallCodeInfo smallCodeInfo)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
// 拼接成目标文件的完整路径
|
|
|
|
|
string path = Path.Combine(basePath, "templates", "smallTemplate.prn");
|
|
|
|
|
|
|
|
|
|
string[] args = new string[]
|
|
|
|
|
{
|
|
|
|
|
smallCodeInfo.QrCode,
|
|
|
|
|
smallCodeInfo.Text,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 将属性值用 "~" 连接起来,不带前缀
|
|
|
|
|
string TempStr = $"{smallCodeInfo.QrCode}~{smallCodeInfo.Text}";
|
|
|
|
|
|
|
|
|
|
string ZplStr = PrintH.GetPrintString(path, TempStr);//替换后字符串
|
|
|
|
|
|
|
|
|
|
bool pringFlag = zplp.SendStringToPrinter(debugConfig.PrintName, ZplStr);
|
|
|
|
|
if (pringFlag == false)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine("打印错误,检查后请重新操作!");
|
|
|
|
|
}
|
|
|
|
|
}catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine("打印错误,检查后请重新操作!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 打印空白页
|
|
|
|
|
/// </summary>
|
|
|
|
|
public void PrintBlankPage()
|
|
|
|
|
{
|
|
|
|
|
string ZplStr = "^XA^MMT^FS ^LH0,0^FO50,50^ADN,36,20^FDTest Page^FS^FO50,350^GB700,10,10^FS^XZ";//空白页
|
|
|
|
|
|
|
|
|
|
bool pringFlag = zplp.SendStringToPrinter(debugConfig.PrintName, ZplStr);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|