You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
247 lines
14 KiB
C#
247 lines
14 KiB
C#
using System.Data;
|
|
using System.Text;
|
|
|
|
namespace Estsh.Client
|
|
{
|
|
public class Printer
|
|
{
|
|
private static string BarTenderPath =
|
|
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"App_Data\Bartend\bartend.exe");
|
|
|
|
private static string LabelPath =
|
|
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"App_Data\LabelFile");
|
|
|
|
private static object _lock_print_object = new object();
|
|
|
|
private const char TAB = '\t';
|
|
|
|
private const string NEW_LINE = "\r\n";
|
|
/// <summary>
|
|
/// 过程条码
|
|
/// </summary>
|
|
/// <param name="snData"></param>
|
|
/// <param name="labelFileName"></param>
|
|
/// <param name="dataFileName"></param>
|
|
/// <returns></returns>
|
|
|
|
public static bool PrintSerialNumber(DataRow snData, string labelFileName, string dataFileName)
|
|
{
|
|
string LabelTemplatePath = Path.Combine(LabelPath, labelFileName);
|
|
string LabelTextPath = Path.Combine(LabelPath, dataFileName);
|
|
|
|
if (snData == null)
|
|
return false;
|
|
|
|
StringBuilder PrintContent = new StringBuilder();
|
|
|
|
PrintContent.Append(snData["serial_number"].ToString()); PrintContent.Append(TAB);//1
|
|
PrintContent.Append(snData["type_desc"].ToString()); PrintContent.Append(TAB); //2
|
|
PrintContent.Append(snData["model_name"].ToString()); PrintContent.Append(TAB); //3
|
|
PrintContent.Append(snData["part_spec"].ToString()); PrintContent.Append(TAB); //4
|
|
PrintContent.Append(snData["part_no_3c"].ToString()); PrintContent.Append(TAB); //5
|
|
PrintContent.Append(snData["enum_desc"].ToString()); PrintContent.Append(TAB); //6
|
|
PrintContent.Append(snData["car_no"].ToString()); PrintContent.Append(TAB); //7
|
|
PrintContent.Append(snData["cust_part_no"].ToString() + snData["part_class"].ToString()); PrintContent.Append(TAB); //8 简码+颜色代码
|
|
PrintContent.Append(snData["part_no"].ToString()); PrintContent.Append(TAB); //9
|
|
PrintContent.Append(snData["number_T"].ToString()); PrintContent.Append(TAB); //10
|
|
PrintContent.Append(snData["part_T"].ToString()); PrintContent.Append(TAB); //11
|
|
PrintContent.Append(snData["part_class"].ToString()); PrintContent.Append(TAB); //12 part_class
|
|
|
|
lock (_lock_print_object)
|
|
{
|
|
//BarTenderPrinter.WriteFile(LabelTextPath, null, Encoding.UTF8, false);
|
|
//BarTenderPrinter.WriteFile(LabelTextPath, PrintContent.ToString(), Encoding.UTF8, false);
|
|
//BarTenderPrinter.Print(BarTenderPath, LabelTemplatePath);
|
|
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
|
|
public static bool YYPrintSerialNumber(DataRow snData, string Bcode, string txtBcode)
|
|
{
|
|
string LabelFilePath = Path.Combine(LabelPath, Bcode);
|
|
string LabelTextPath = Path.Combine(LabelPath, txtBcode);
|
|
|
|
if (snData == null)
|
|
return false;
|
|
StringBuilder PrintContent = new StringBuilder();
|
|
|
|
PrintContent.Append(snData["csn"].ToString()); PrintContent.Append(TAB); //1
|
|
PrintContent.Append(snData["dates"].ToString()); PrintContent.Append(TAB); //2
|
|
PrintContent.Append(snData["part_no_3c"].ToString()); PrintContent.Append(TAB); //3
|
|
PrintContent.Append(snData["cust_part_no"].ToString()); PrintContent.Append(TAB); //4
|
|
PrintContent.Append(snData["part_spec"].ToString()); PrintContent.Append(TAB); //5
|
|
PrintContent.Append(snData["part_spec2"].ToString()); PrintContent.Append(TAB); //5
|
|
PrintContent.Append(snData["part_no"].ToString()); PrintContent.Append(TAB); //6
|
|
PrintContent.Append(snData["order_seq"].ToString()); PrintContent.Append(TAB); //7
|
|
PrintContent.Append(snData["car_no"].ToString()); PrintContent.Append(TAB); //8
|
|
PrintContent.Append(snData["part_location"].ToString()); PrintContent.Append(TAB); //9
|
|
PrintContent.Append(snData["seq"].ToString()); PrintContent.Append(TAB); //10
|
|
PrintContent.Append(snData["label_type"].ToString()); PrintContent.Append(TAB); //11
|
|
PrintContent.Append(snData["model_code"].ToString()); PrintContent.Append(TAB); //13
|
|
PrintContent.Append(snData["enum_alias"].ToString()); PrintContent.Append(TAB); //14
|
|
PrintContent.Append(snData["model_name"].ToString()); PrintContent.Append(TAB); //15
|
|
PrintContent.Append(snData["type_name"].ToString()); PrintContent.Append(TAB); //16
|
|
|
|
PrintContent.Append(Environment.NewLine);
|
|
lock (_lock_print_object)
|
|
{
|
|
//BarTenderPrinter.WriteFile(LabelTextPath, PrintContent.ToString(), Encoding.UTF8, false);
|
|
//BarTenderPrinter.Print(BarTenderPath, LabelFilePath);
|
|
////BarTenderPrinter.WriteFile(LabelTextPath, null, Encoding.UTF8, false);
|
|
}
|
|
return true;
|
|
|
|
}
|
|
/// <summary>
|
|
/// 合格证
|
|
/// </summary>
|
|
/// <param name="snData"></param>
|
|
/// <param name="labelFileName"></param>
|
|
/// <param name="dataFileName"></param>
|
|
/// <returns></returns>
|
|
public static bool PrintCSN(DataRow snData, string labelFileName, string dataFileName)
|
|
{
|
|
string LabelTemplatePath = Path.Combine(LabelPath, labelFileName);
|
|
string LabelTextPath = Path.Combine(LabelPath, dataFileName);
|
|
|
|
if (snData == null)
|
|
return false;
|
|
|
|
StringBuilder PrintContent = new StringBuilder();
|
|
|
|
//PrintContent.Append(snData["csn"].ToString()); PrintContent.Append(TAB);//1
|
|
//PrintContent.Append(snData["type_name"].ToString()); PrintContent.Append(TAB); //2
|
|
//PrintContent.Append(snData["model_name"].ToString()); PrintContent.Append(TAB); //3
|
|
//PrintContent.Append(snData["part_spec"].ToString()); PrintContent.Append(TAB); //4
|
|
//PrintContent.Append(snData["part_no_3c"].ToString()); PrintContent.Append(TAB); //5
|
|
//PrintContent.Append(snData["enum_desc"].ToString()); PrintContent.Append(TAB); //6
|
|
//PrintContent.Append(snData["car_no"].ToString()); PrintContent.Append(TAB); //7
|
|
//PrintContent.Append(snData["cust_part_no"].ToString() + snData["part_class"].ToString()); PrintContent.Append(TAB); //8 简码+颜色代码
|
|
//PrintContent.Append(snData["part_no"].ToString()); PrintContent.Append(TAB);//9
|
|
//PrintContent.Append(snData["number_T"].ToString()); PrintContent.Append(TAB); //10
|
|
|
|
|
|
|
|
PrintContent.Append(snData["csn"].ToString()); PrintContent.Append(TAB); //1
|
|
PrintContent.Append(snData["type_desc"].ToString()); PrintContent.Append(TAB); //2
|
|
PrintContent.Append(snData["model_name"].ToString()); PrintContent.Append(TAB); //3
|
|
PrintContent.Append(snData["part_spec"].ToString()); PrintContent.Append(TAB); //4
|
|
PrintContent.Append(snData["serial_number"].ToString()); PrintContent.Append(TAB); //5
|
|
PrintContent.Append(snData["create_time"].ToString()); PrintContent.Append(TAB); //6
|
|
PrintContent.Append(snData["order_seq"].ToString()); PrintContent.Append(TAB); //7
|
|
PrintContent.Append(snData["number_T"].ToString()); PrintContent.Append(TAB);
|
|
PrintContent.Append(snData["part_T"].ToString()); PrintContent.Append(TAB);
|
|
//盐城改过8
|
|
PrintContent.Append(snData["part_no"].ToString()); PrintContent.Append(TAB); //8
|
|
PrintContent.Append(snData["car_no"].ToString()); PrintContent.Append(TAB); //9
|
|
PrintContent.Append(snData["part_no"].ToString()); PrintContent.Append(TAB); //10
|
|
PrintContent.Append(snData["part_spec2"].ToString()); PrintContent.Append(TAB); //11
|
|
PrintContent.Append(snData["part_location"].ToString()); PrintContent.Append(TAB); //12
|
|
PrintContent.Append(snData["cust_part_no"].ToString()); PrintContent.Append(TAB); //13
|
|
PrintContent.Append(snData["part_class"].ToString()); PrintContent.Append(TAB); //14
|
|
PrintContent.Append(snData["label_type"].ToString()); PrintContent.Append(TAB); //15
|
|
PrintContent.Append(snData["part_no_3c"].ToString()); PrintContent.Append(TAB); //16
|
|
PrintContent.Append(snData["model_code"].ToString()); PrintContent.Append(TAB); //17
|
|
PrintContent.Append(snData["model_alias"].ToString()); PrintContent.Append(TAB); //18
|
|
PrintContent.Append(snData["enum_desc"].ToString()); PrintContent.Append(TAB); //19
|
|
PrintContent.Append(snData["prod_type"].ToString()); PrintContent.Append(TAB); //20
|
|
PrintContent.Append(snData["model_name"].ToString()); PrintContent.Append(TAB); //21
|
|
PrintContent.Append(snData["type_name"].ToString()); PrintContent.Append(TAB); //22
|
|
|
|
lock (_lock_print_object)
|
|
{
|
|
//BarTenderPrinter.WriteFile(LabelTextPath, null, Encoding.UTF8, false);
|
|
//BarTenderPrinter.WriteFile(LabelTextPath, PrintContent.ToString(), Encoding.UTF8, false);
|
|
//BarTenderPrinter.Print(BarTenderPath, LabelTemplatePath);
|
|
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
///// <summary>
|
|
///// 打印所有的条码
|
|
///// </summary>
|
|
///// <param name="snData">条码数据</param>
|
|
///// <returns></returns>
|
|
//public static bool PrintSerialNumber(DataTable snData, string labelFileName, string dataFileName)
|
|
//{
|
|
// string LabelTemplatePath = Path.Combine(LabelPath, labelFileName);
|
|
// string LabelTextPath = Path.Combine(LabelPath, dataFileName);
|
|
|
|
// if (snData == null)
|
|
// return false;
|
|
|
|
// StringBuilder PrintContent = new StringBuilder();
|
|
|
|
// foreach (DataRow dr in snData.Rows)
|
|
// {
|
|
// PrintContent.Append(dr["serial_number"].ToString()); PrintContent.Append(TAB);//1
|
|
// PrintContent.Append(dr["type_name"].ToString()); PrintContent.Append(TAB); //2
|
|
// PrintContent.Append(dr["model_name"].ToString()); PrintContent.Append(TAB); //3
|
|
// PrintContent.Append(dr["part_spec"].ToString()); PrintContent.Append(TAB); //4
|
|
// PrintContent.Append(dr["part_no_3c"].ToString()); PrintContent.Append(TAB); //5
|
|
// PrintContent.Append(dr["enum_desc"].ToString()); PrintContent.Append(TAB); //6
|
|
// PrintContent.Append(dr["car_no"].ToString()); PrintContent.Append(TAB); //7
|
|
// PrintContent.Append(dr["cust_part_no"].ToString() + dr["part_class"].ToString()); PrintContent.Append(TAB); //8 简码+颜色代码
|
|
|
|
// PrintContent.Append(Environment.NewLine);
|
|
// }
|
|
|
|
// lock (_lock_print_object)
|
|
// {
|
|
// BarTenderPrinter.WriteFile(LabelTextPath, PrintContent.ToString(), Encoding.UTF8, false);
|
|
// BarTenderPrinter.Print(BarTenderPath, LabelTemplatePath);
|
|
// BarTenderPrinter.WriteFile(LabelTextPath, null, Encoding.UTF8, false);
|
|
// }
|
|
|
|
// return true;
|
|
//}
|
|
|
|
public static bool PrintPackageBarcode(DataRow snData, string labelFileName, string dataFileName)
|
|
{
|
|
string LabelTemplatePath = Path.Combine(LabelPath, labelFileName);
|
|
string LabelTextPath = Path.Combine(LabelPath, dataFileName);
|
|
|
|
if (snData == null)
|
|
return false;
|
|
|
|
//打出来的条码段中间没有用“-”分开
|
|
string sn = snData["type_code"].ToString() + snData["car_body_code"].ToString()
|
|
+ snData["decoration_code"].ToString() + snData["car_color_code"].ToString()
|
|
+ snData["sn_suffix"].ToString();
|
|
|
|
////打出来的条码段中间用“-”分开
|
|
//string sn = snData["type_code"].ToString() + "-" + snData["car_body_code"].ToString() + "-"
|
|
// + snData["decoration_code"].ToString() + "-" + snData["car_color_code"].ToString() + "-"
|
|
// + snData["sn_suffix"].ToString();
|
|
|
|
StringBuilder PrintContent = new StringBuilder();
|
|
PrintContent.Append(snData["type_name"].ToString()); PrintContent.Append(TAB);
|
|
PrintContent.Append(snData["type_code"].ToString()); PrintContent.Append(TAB);
|
|
PrintContent.Append(snData["car_body_name"].ToString()); PrintContent.Append(TAB);
|
|
PrintContent.Append(snData["car_body_code"].ToString()); PrintContent.Append(TAB);
|
|
PrintContent.Append(snData["decoration_name"].ToString()); PrintContent.Append(TAB);
|
|
PrintContent.Append(snData["decoration_code"].ToString()); PrintContent.Append(TAB);
|
|
PrintContent.Append(snData["car_color_name"].ToString()); PrintContent.Append(TAB);
|
|
PrintContent.Append(snData["car_color_code"].ToString()); PrintContent.Append(TAB);
|
|
PrintContent.Append(snData["tray_no"].ToString()); PrintContent.Append(TAB);
|
|
PrintContent.Append(snData["check_result"].ToString()); PrintContent.Append(TAB);
|
|
PrintContent.Append(sn); PrintContent.Append(TAB);
|
|
|
|
lock (_lock_print_object)
|
|
{
|
|
//BarTenderPrinter.WriteFile(LabelTextPath, null, Encoding.UTF8, false);
|
|
//BarTenderPrinter.WriteFile(LabelTextPath, PrintContent.ToString(), Encoding.UTF8, false);
|
|
//BarTenderPrinter.Print(BarTenderPath, LabelTemplatePath);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
}
|
|
}
|