//using System;
//using System.Collections.Generic;
//using System.Text;
//using System.Data;
//using System.IO;
//using Com.Estsh.MES.App;
//namespace Estsh.Core.Util
//{
// public class Printer
// {
// ///
// /// Bartender 程序存放的路径
// ///
// 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 string LabelTemplatePath = Path.Combine(LabelPath, "LableDemo2.btw");
// ///
// /// 数据源(TXT)的文件全名
// ///
// private static string LabelTextPath = Path.Combine(LabelPath, "gcd.txt");
// ///
// /// 共享锁对象,用于线程并发处理
// ///
// private static object _lock_print_object = new object();
// ///
// /// TAB 字符
// ///
// private const char TAB = '\t';
// ///
// /// 回车+换行 字符
// ///
// private const string NEW_LINE = "\r\n";
// ///
// /// 打印一张过程条码,数据源的域以 TAB 字符分割
// ///
// ///
// ///
// public static bool PrintSerialNumber(DataRow snData)
// {
// if (snData == null)
// {
// return false;
// }
// StringBuilder PrintContent = new StringBuilder();
// PrintContent.Append(TAB);
// PrintContent.Append(snData["serial_number"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(snData["part_no"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(snData["type"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(snData["model_code"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(snData["part_spec"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(snData["part_location"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(TAB);
// PrintContent.Append(TAB);
// PrintContent.Append(snData["create_ymd"].ToString());
// PrintContent.Append(" ");
// PrintContent.Append(snData["create_hms"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(snData["model_type"].ToString());
// 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 String PrintSerialNumber(DataTable snData)
// {
// if (snData == null)
// {
// return "Fail";
// }
// StringBuilder PrintContent = new StringBuilder();
// foreach (DataRow dr in snData.Rows)
// {
// PrintContent.Append(dr["carton_no"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(dr["part_no"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(dr["part_spec"]); PrintContent.Append(TAB);
// PrintContent.Append(dr["qty"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(dr["lot_no"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(dr["vendor_name"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(dr["carton_no"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(dr["order_no"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(Environment.NewLine);
// }
// lock (_lock_print_object)
// {
// try
// {
// BarTenderPrinter.WriteFile(LabelTextPath, PrintContent.ToString(), Encoding.UTF8, false);
// BarTenderPrinter.Print(BarTenderPath, LabelTemplatePath);
// BarTenderPrinter.WriteFile(LabelTextPath, null, Encoding.UTF8, false);
// }
// catch (Exception e)
// {
// return e.message;
// }
// }
// return "OK";
// }
// ///
// /// 打印所有的物料条码
// ///
// /// 条码数据
// ///
// public static String PrintSerialData(DataTable snData)
// {
// if (snData == null)
// {
// return "Fail";
// }
// StringBuilder PrintContent = new StringBuilder();
// //string OldPN = snData.Rows[0]["part_no"].ToString();
// //// 标签序号,同一个零件号的箱子进行累加
// //int Seq = 1;
// //int MaxSeq = snData.Select("part_no='" + OldPN + "'").Length;
// foreach (DataRow dr in snData.Rows)
// {
// // 如果零件号出现变化,序号重置
// //if (OldPN != dr["part_no"].ToString())
// //{
// // OldPN = dr["part_no"].ToString();
// // Seq = 1;
// // MaxSeq = snData.Select("part_no='" + OldPN + "'").Length;
// //}
// PrintContent.Append(dr["carton_no"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(dr["part_no"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(dr["part_spec"]); PrintContent.Append(TAB);
// PrintContent.Append(dr["qty"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(dr["lot_no"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(dr["vendor_name"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(dr["carton_no"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(dr["order_no"].ToString()); PrintContent.Append(TAB);
// PrintContent.Append(Environment.NewLine);
// //PrintContent.Append(dr["locate_name"].ToString()); PrintContent.Append(TAB);
// //PrintContent.Append(dr["receive_time"].ToString()); PrintContent.Append(TAB);
// //PrintContent.Append(string.Format("{0}/{1}", Seq, MaxSeq)); PrintContent.Append(TAB);
// //PrintContent.Append(dr["print_time"].ToString()); PrintContent.Append(TAB);
// //PrintContent.Append(dr["pack_type"].ToString()); PrintContent.Append(TAB);
// //PrintContent.Append(TAB); // 备注,暂时留空
// //PrintContent.Append(dr["part_spec"]); PrintContent.Append(TAB);
// //PrintContent.Append(dr["part_no"].ToString()); PrintContent.Append(TAB);
// //PrintContent.Append(dr["order_no"].ToString()); PrintContent.Append(TAB);
// //PrintContent.Append(dr["locate_name"].ToString()); PrintContent.Append(TAB);
// //PrintContent.Append(dr["receive_time"].ToString()); PrintContent.Append(TAB);
// //PrintContent.Append(string.Format("{0}/{1}",Seq, MaxSeq)); PrintContent.Append(TAB);
// //PrintContent.Append(dr["print_time"].ToString()); PrintContent.Append(TAB);
// //PrintContent.Append(dr["qty"].ToString()); PrintContent.Append(TAB);
// //PrintContent.Append(dr["pack_type"].ToString()); PrintContent.Append(TAB);
// //PrintContent.Append(TAB); // 备注,暂时留空
// //PrintContent.Append(dr["carton_no"].ToString()); PrintContent.Append(TAB);
// //PrintContent.Append(dr["vendor_name"].ToString()); PrintContent.Append(TAB);
// //PrintContent.Append(Environment.NewLine);
// // 累加序号
// //Seq++;
// }
// lock (_lock_print_object)
// {
// BarTenderPrinter.WriteFile(LabelTextPath, PrintContent.ToString(), Encoding.UTF8, false);
// BarTenderPrinter.Print(BarTenderPath, LabelTemplatePath);
// BarTenderPrinter.WriteFile(LabelTextPath, null, Encoding.UTF8, false);
// }
// return "OK";
// }
// }
//}