From b8f586a68e2886b7708442aee53566be0d0bf222 Mon Sep 17 00:00:00 2001 From: frankiecao Date: Mon, 11 Dec 2023 14:14:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A1=B9=E7=9B=AE=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PrintManager.cs | 149 ++++++ .../Properties/AssemblyInfo.cs | 36 ++ .../SlnMesnac.LabelPrint.BarTender.csproj | 70 +++ .../equip/GasLabelPrintEquip.cs | 42 ++ .../equip/LabelPrintEquip.cs | 37 ++ .../equip/PrintEquip.cs | 96 ++++ SlnMesnac.LabelPrint.Common/JsonChange.cs | 112 +++++ .../Properties/AssemblyInfo.cs | 36 ++ .../SlnMesnac.LabelPrint.Common.csproj | 63 +++ SlnMesnac.LabelPrint.Common/packages.config | 5 + .../FileHelper.cs | 101 +++++ .../Properties/AssemblyInfo.cs | 36 ++ .../SlnMesnac.LabelPrint.FileOperate.csproj | 65 +++ .../packages.config | 4 + .../Seagull.BarTender.Print.dll | Bin 0 -> 392248 bytes SlnMesnac.LabelPrint.Log4net/LogHelper.cs | 147 ++++++ .../Properties/AssemblyInfo.cs | 36 ++ .../SlnMesnac.LabelPrint.Log4net.csproj | 57 +++ .../config/log4net.config | 153 +++++++ SlnMesnac.LabelPrint.Log4net/packages.config | 4 + SlnMesnac.LabelPrint.Model/BaseLabelInfo.cs | 40 ++ .../Properties/AssemblyInfo.cs | 36 ++ .../SlnMesnac.LabelPrint.Model.csproj | 48 ++ .../Properties/AssemblyInfo.cs | 36 ++ .../SlnMesnac.LabelPrint.TaskQueue.csproj | 54 +++ SlnMesnac.LabelPrint.TaskQueue/TaskHelper.cs | 68 +++ SlnMesnac.LabelPrint.sln | 61 +++ SlnMesnac.LabelPrint/App.config | 6 + SlnMesnac.LabelPrint/App.xaml | 14 + SlnMesnac.LabelPrint/App.xaml.cs | 17 + SlnMesnac.LabelPrint/Icon.png | Bin 0 -> 1153 bytes SlnMesnac.LabelPrint/MainWindow.xaml | 93 ++++ SlnMesnac.LabelPrint/MainWindow.xaml.cs | 32 ++ .../Properties/AssemblyInfo.cs | 55 +++ .../Properties/Resources.Designer.cs | 70 +++ .../Properties/Resources.resx | 117 +++++ .../Properties/Settings.Designer.cs | 29 ++ .../Properties/Settings.settings | 7 + .../SlnMesnac.LabelPrint.csproj | 155 +++++++ SlnMesnac.LabelPrint/packages.config | 5 + SlnMesnac.LabelPrint/templates/icon/Icon.png | Bin 0 -> 1153 bytes .../templates/image/background.jpg | Bin 0 -> 48856 bytes .../templates/style/resourceStyle.xaml | 424 ++++++++++++++++++ .../viewModel/MainWindowViewModel.cs | 216 +++++++++ 44 files changed, 2832 insertions(+) create mode 100644 SlnMesnac.LabelPrint.BarTender/PrintManager.cs create mode 100644 SlnMesnac.LabelPrint.BarTender/Properties/AssemblyInfo.cs create mode 100644 SlnMesnac.LabelPrint.BarTender/SlnMesnac.LabelPrint.BarTender.csproj create mode 100644 SlnMesnac.LabelPrint.BarTender/equip/GasLabelPrintEquip.cs create mode 100644 SlnMesnac.LabelPrint.BarTender/equip/LabelPrintEquip.cs create mode 100644 SlnMesnac.LabelPrint.BarTender/equip/PrintEquip.cs create mode 100644 SlnMesnac.LabelPrint.Common/JsonChange.cs create mode 100644 SlnMesnac.LabelPrint.Common/Properties/AssemblyInfo.cs create mode 100644 SlnMesnac.LabelPrint.Common/SlnMesnac.LabelPrint.Common.csproj create mode 100644 SlnMesnac.LabelPrint.Common/packages.config create mode 100644 SlnMesnac.LabelPrint.FileOperate/FileHelper.cs create mode 100644 SlnMesnac.LabelPrint.FileOperate/Properties/AssemblyInfo.cs create mode 100644 SlnMesnac.LabelPrint.FileOperate/SlnMesnac.LabelPrint.FileOperate.csproj create mode 100644 SlnMesnac.LabelPrint.FileOperate/packages.config create mode 100644 SlnMesnac.LabelPrint.Library/Seagull.BarTender.Print.dll create mode 100644 SlnMesnac.LabelPrint.Log4net/LogHelper.cs create mode 100644 SlnMesnac.LabelPrint.Log4net/Properties/AssemblyInfo.cs create mode 100644 SlnMesnac.LabelPrint.Log4net/SlnMesnac.LabelPrint.Log4net.csproj create mode 100644 SlnMesnac.LabelPrint.Log4net/config/log4net.config create mode 100644 SlnMesnac.LabelPrint.Log4net/packages.config create mode 100644 SlnMesnac.LabelPrint.Model/BaseLabelInfo.cs create mode 100644 SlnMesnac.LabelPrint.Model/Properties/AssemblyInfo.cs create mode 100644 SlnMesnac.LabelPrint.Model/SlnMesnac.LabelPrint.Model.csproj create mode 100644 SlnMesnac.LabelPrint.TaskQueue/Properties/AssemblyInfo.cs create mode 100644 SlnMesnac.LabelPrint.TaskQueue/SlnMesnac.LabelPrint.TaskQueue.csproj create mode 100644 SlnMesnac.LabelPrint.TaskQueue/TaskHelper.cs create mode 100644 SlnMesnac.LabelPrint.sln create mode 100644 SlnMesnac.LabelPrint/App.config create mode 100644 SlnMesnac.LabelPrint/App.xaml create mode 100644 SlnMesnac.LabelPrint/App.xaml.cs create mode 100644 SlnMesnac.LabelPrint/Icon.png create mode 100644 SlnMesnac.LabelPrint/MainWindow.xaml create mode 100644 SlnMesnac.LabelPrint/MainWindow.xaml.cs create mode 100644 SlnMesnac.LabelPrint/Properties/AssemblyInfo.cs create mode 100644 SlnMesnac.LabelPrint/Properties/Resources.Designer.cs create mode 100644 SlnMesnac.LabelPrint/Properties/Resources.resx create mode 100644 SlnMesnac.LabelPrint/Properties/Settings.Designer.cs create mode 100644 SlnMesnac.LabelPrint/Properties/Settings.settings create mode 100644 SlnMesnac.LabelPrint/SlnMesnac.LabelPrint.csproj create mode 100644 SlnMesnac.LabelPrint/packages.config create mode 100644 SlnMesnac.LabelPrint/templates/icon/Icon.png create mode 100644 SlnMesnac.LabelPrint/templates/image/background.jpg create mode 100644 SlnMesnac.LabelPrint/templates/style/resourceStyle.xaml create mode 100644 SlnMesnac.LabelPrint/viewModel/MainWindowViewModel.cs diff --git a/SlnMesnac.LabelPrint.BarTender/PrintManager.cs b/SlnMesnac.LabelPrint.BarTender/PrintManager.cs new file mode 100644 index 0000000..d1ab2c1 --- /dev/null +++ b/SlnMesnac.LabelPrint.BarTender/PrintManager.cs @@ -0,0 +1,149 @@ +using Seagull.BarTender.Print; +using SlnMesnac.LabelPrint.Bartender.equip; +using SlnMesnac.LabelPrint.BarTender.equip; +using SlnMesnac.LabelPrint.Log4net; +using SlnMesnac.LabelPrint.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SlnMesnac.LabelPrint.BarTender +{ + public class PrintManager + { + private LogHelper logHelper = LogHelper.Instance; + #region 单例实现 + private static readonly Lazy lazy = new Lazy(() => new PrintManager()); + + public static PrintManager Instance + { + get + { + return lazy.Value; + } + } + #endregion + + public PrintManager() { } + + /// + /// 标签打印 + /// + /// + public bool Print(BaseLabelInfo labelInfo) + { + bool result = false; + try + { + if (labelInfo.productType == "Gas" || labelInfo.productType == "TF") + { + result = this.PrintGasLabel(labelInfo); + }else if(labelInfo.productType == "Drum") + { + result = this.PrintDrumLabel(labelInfo); + }else if(labelInfo.productType == "Unit") + { + result = this.PrintUnitLabel(labelInfo); + }else if(labelInfo.productType == "Pallet") + { + result = this.PrintPalletLabel(labelInfo); + } + else + { + logHelper.Info("产品类型未匹配到对应的模板"); + } + + #region 测试代码 + /*Engine btEngine = new Engine(); + + // 启动Bartender引擎 + btEngine.Start(); + + // 打开打印模板 + LabelFormatDocument btFormat = btEngine.Documents.Open(@"C:\Path\To\Your\Template.btw"); + + // 设置模板中的变量值 + btFormat.SubStrings["VariableName"].Value = "Value"; + + // 打印模板 + btFormat.Print(); + + // 关闭模板 + btFormat.Close(SaveOptions.DoNotSaveChanges); + + // 关闭Bartender引擎 + btEngine.Stop();*/ + #endregion + + result = true; + } + catch (Exception ex) + { + logHelper.Error("标签打印异常", ex); + } + + return result; + } + + /// + /// 气体、不锈钢标签打印 + /// + /// + private bool PrintGasLabel(BaseLabelInfo labelInfo) + { + bool result = false; + PrintEquip equip = new GasLabelPrintEquip(); + equip.tempPath = "C:\\Users\\Administrator\\Desktop\\模板01.btw"; + equip.ParaClass = labelInfo; + equip.Open(); + result = equip.print(); + equip.Colse(); + return result; + } + + /// + /// + /// + /// + private bool PrintDrumLabel(BaseLabelInfo labelInfo) + { + bool result = false; + PrintEquip equip = new LabelPrintEquip(); + equip.tempPath = "C:\\Users\\Administrator\\Desktop\\模板01.btw"; + equip.ParaClass = labelInfo; + equip.Open(); + result = equip.print(); + equip.Colse(); + + return result; + } + + private bool PrintUnitLabel(BaseLabelInfo labelInfo) + { + bool result = false; + PrintEquip equip = new LabelPrintEquip(); + equip.tempPath = "C:\\Users\\Administrator\\Desktop\\模板01.btw"; + equip.ParaClass = labelInfo; + equip.Open(); + result = equip.print(); + equip.Colse(); + + return result; + } + + private bool PrintPalletLabel(BaseLabelInfo labelInfo) + { + bool result = false; + PrintEquip equip = new LabelPrintEquip(); + equip.tempPath = "C:\\Users\\Administrator\\Desktop\\模板01.btw"; + equip.ParaClass = labelInfo; + equip.Open(); + result = equip.print(); + equip.Colse(); + + return result; + } + } +} diff --git a/SlnMesnac.LabelPrint.BarTender/Properties/AssemblyInfo.cs b/SlnMesnac.LabelPrint.BarTender/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..ee27811 --- /dev/null +++ b/SlnMesnac.LabelPrint.BarTender/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("SlnMesnac.LabelPrint.BarTender")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SlnMesnac.LabelPrint.BarTender")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("6a110611-3f4c-46c2-a981-23a0145b1e9f")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/SlnMesnac.LabelPrint.BarTender/SlnMesnac.LabelPrint.BarTender.csproj b/SlnMesnac.LabelPrint.BarTender/SlnMesnac.LabelPrint.BarTender.csproj new file mode 100644 index 0000000..29c8508 --- /dev/null +++ b/SlnMesnac.LabelPrint.BarTender/SlnMesnac.LabelPrint.BarTender.csproj @@ -0,0 +1,70 @@ + + + + + Debug + AnyCPU + {6A110611-3F4C-46C2-A981-23A0145B1E9F} + Library + Properties + SlnMesnac.LabelPrint.BarTender + SlnMesnac.LabelPrint.BarTender + v4.7.2 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + x64 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\SlnMesnac.LabelPrint.Library\Seagull.BarTender.Print.dll + + + + + + + + + + + + + + + + + + + + {7232269D-60AF-45F0-B614-8F9C4061C529} + SlnMesnac.LabelPrint.Common + + + {FD6AA76E-79B1-4A0C-9CEA-6CE09CCBDF9D} + SlnMesnac.LabelPrint.Log4net + + + {B68E5B08-F3E3-4AC0-A6ED-C31646956A0C} + SlnMesnac.LabelPrint.Model + + + + \ No newline at end of file diff --git a/SlnMesnac.LabelPrint.BarTender/equip/GasLabelPrintEquip.cs b/SlnMesnac.LabelPrint.BarTender/equip/GasLabelPrintEquip.cs new file mode 100644 index 0000000..da89a5b --- /dev/null +++ b/SlnMesnac.LabelPrint.BarTender/equip/GasLabelPrintEquip.cs @@ -0,0 +1,42 @@ +using SlnMesnac.LabelPrint.Bartender.equip; +using SlnMesnac.LabelPrint.Common; +using SlnMesnac.LabelPrint.Log4net; +using SlnMesnac.LabelPrint.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SlnMesnac.LabelPrint.BarTender.equip +{ + public class GasLabelPrintEquip : PrintEquip + { + private readonly LogHelper logHelper = LogHelper.Instance; + private readonly JsonChange jsonChange = JsonChange.Instance; + + public override bool AddPara() + { + var para = base.ParaClass as BaseLabelInfo; + if (para != null) + { + try + { + logHelper.Info($"打印标签信息:{jsonChange.ModeToJson(para)}"); + base.EngineFormat.SubStrings["barcode"].Value = para.column_A.ToString(); + return true; + } + catch (Exception e) + { + Console.WriteLine(e.ToString()); + return false; + } + + } + else + { + return false; + } + } + } +} diff --git a/SlnMesnac.LabelPrint.BarTender/equip/LabelPrintEquip.cs b/SlnMesnac.LabelPrint.BarTender/equip/LabelPrintEquip.cs new file mode 100644 index 0000000..fb7acc9 --- /dev/null +++ b/SlnMesnac.LabelPrint.BarTender/equip/LabelPrintEquip.cs @@ -0,0 +1,37 @@ +using SlnMesnac.LabelPrint.Common; +using SlnMesnac.LabelPrint.Log4net; +using SlnMesnac.LabelPrint.Model; +using System; + +namespace SlnMesnac.LabelPrint.Bartender.equip +{ + public class LabelPrintEquip : PrintEquip + { + private readonly LogHelper logHelper = LogHelper.Instance; + private readonly JsonChange jsonChange = JsonChange.Instance; + public override bool AddPara() + { + var para = base.ParaClass as BaseLabelInfo; + if (para != null) + { + try + { + logHelper.Info($"打印标签信息:{jsonChange.ModeToJson(para)}"); + base.EngineFormat.SubStrings["barcode"].Value = para.column_A.ToString(); + return true; + } + catch (Exception e) + { + Console.WriteLine(e.ToString()); + return false; + } + + } + else + { + return false; + } + } + + } +} diff --git a/SlnMesnac.LabelPrint.BarTender/equip/PrintEquip.cs b/SlnMesnac.LabelPrint.BarTender/equip/PrintEquip.cs new file mode 100644 index 0000000..e390468 --- /dev/null +++ b/SlnMesnac.LabelPrint.BarTender/equip/PrintEquip.cs @@ -0,0 +1,96 @@ +using Seagull.BarTender.Print; +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; + +namespace SlnMesnac.LabelPrint.Bartender.equip +{ + public abstract class PrintEquip + { + protected Engine engine = new Engine(true); + protected LabelFormatDocument EngineFormat; + + public object ParaClass; + + //模板名称 + public string tempPath = ""; + + + + public string findModePath() + { + + //string filePath =Common.Instance.TempBasePath; + //filePath = filePath + tempPath; + + string filePath = tempPath; + Console.WriteLine("打印路径:" + filePath); + return filePath; + + } + + public abstract bool AddPara(); + + public bool Open() + { + bool result = false; + try + { + string modePath = findModePath(); + if (File.Exists(modePath)) + { + EngineFormat = engine.Documents.Open(modePath); + result = true; + Console.WriteLine("文件打开成功" + modePath); + } + else + { + Console.WriteLine("未找到文件" + modePath); + } + } + catch (Exception e) + { + Console.WriteLine("文件打开失败"); + result = false; + } + + return result; + } + + public bool print() + { + bool result = false; + if (EngineFormat != null) + { + if (AddPara()) + { + Result re = EngineFormat.Print(); + result = re == Result.Success ? true : false; + string st = re == Result.Success ? "成功" : "失败"; + Console.WriteLine("文件打印" + st + re.ToString()); + } + else + { + Console.WriteLine("下传参数失败"); + } + } + return result; + } + + + public void Colse() + { + try + { + EngineFormat.Close(SaveOptions.DoNotSaveChanges);//不保存对打开模板的修改 + engine.Stop(); + } + catch + { } + } + + + + } +} diff --git a/SlnMesnac.LabelPrint.Common/JsonChange.cs b/SlnMesnac.LabelPrint.Common/JsonChange.cs new file mode 100644 index 0000000..502b136 --- /dev/null +++ b/SlnMesnac.LabelPrint.Common/JsonChange.cs @@ -0,0 +1,112 @@ +using Nancy.Json; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using SlnMesnac.LabelPrint.Log4net; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SlnMesnac.LabelPrint.Common +{ + public class JsonChange + { + private static readonly Lazy lazy = new Lazy(() => new JsonChange()); + public static JsonChange Instance + { + get + { + return lazy.Value; + } + } + + private LogHelper log = LogHelper.Instance; + + private JsonChange() { } + + /// + /// Model 实体转json + /// + /// 可以是单个实体,也可是实体集(即:ToList()) + /// + public string ModeToJson(object Model) + { + string str = ""; + JavaScriptSerializer serializer = new JavaScriptSerializer(); + try + { + str = serializer.Serialize(Model); + } + catch (Exception ex) + { + log.Error("Model转Json异常", ex); + } + return str; + } + + /// + /// json实体转Model + /// + /// + /// + /// + public T JsonToMode(string jsonStr) + { + T info = default(T); + JavaScriptSerializer serializer = new JavaScriptSerializer(); + try + { + info = serializer.Deserialize(jsonStr); + } + catch (Exception ex) + { + log.Error("Json转Model异常", ex); + } + return info; + } + + /// + /// object转dictionary + /// + /// + /// + public Dictionary objectToDictionary(string jsonData) + { + Dictionary result = new Dictionary(); + + var inf = JsonConvert.DeserializeObject>(jsonData); + + foreach (KeyValuePair item in inf) + { + if (item.Value != null) + { + var type = item.Value.GetType(); + if (type == typeof(JObject)) + { + var info = objectToDictionary(JsonConvert.SerializeObject(item.Value)); + foreach (KeyValuePair ite in info) + { + result.Add(ite.Key, ite.Value); + } + continue; + } + else if (type == typeof(JArray)) + { + JArray array = (JArray)item.Value; + var info = objectToDictionary(JsonConvert.SerializeObject(array[0])); + foreach (KeyValuePair ite in info) + { + result.Add(item.Key + ite.Key, ite.Value); + } + continue; + } + } + + result.Add(item.Key, item.Value); + } + + return result; + } + } +} diff --git a/SlnMesnac.LabelPrint.Common/Properties/AssemblyInfo.cs b/SlnMesnac.LabelPrint.Common/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..2285a17 --- /dev/null +++ b/SlnMesnac.LabelPrint.Common/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("SlnMesnac.LabelPrint.Common")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SlnMesnac.LabelPrint.Common")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("7232269d-60af-45f0-b614-8f9c4061c529")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/SlnMesnac.LabelPrint.Common/SlnMesnac.LabelPrint.Common.csproj b/SlnMesnac.LabelPrint.Common/SlnMesnac.LabelPrint.Common.csproj new file mode 100644 index 0000000..689aad1 --- /dev/null +++ b/SlnMesnac.LabelPrint.Common/SlnMesnac.LabelPrint.Common.csproj @@ -0,0 +1,63 @@ + + + + + Debug + AnyCPU + {7232269D-60AF-45F0-B614-8F9C4061C529} + Library + Properties + SlnMesnac.LabelPrint.Common + SlnMesnac.LabelPrint.Common + v4.7.2 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Nancy.2.0.0\lib\net452\Nancy.dll + + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + + + + + + + + + + + + + + + + {FD6AA76E-79B1-4A0C-9CEA-6CE09CCBDF9D} + SlnMesnac.LabelPrint.Log4net + + + + + + + \ No newline at end of file diff --git a/SlnMesnac.LabelPrint.Common/packages.config b/SlnMesnac.LabelPrint.Common/packages.config new file mode 100644 index 0000000..42eb93c --- /dev/null +++ b/SlnMesnac.LabelPrint.Common/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/SlnMesnac.LabelPrint.FileOperate/FileHelper.cs b/SlnMesnac.LabelPrint.FileOperate/FileHelper.cs new file mode 100644 index 0000000..d0c00d0 --- /dev/null +++ b/SlnMesnac.LabelPrint.FileOperate/FileHelper.cs @@ -0,0 +1,101 @@ +using MiniExcelLibs; +using SlnMesnac.LabelPrint.Log4net; +using SlnMesnac.LabelPrint.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SlnMesnac.LabelPrint.FileOperate +{ + public class FileHelper + { + + private readonly LogHelper logHelper = LogHelper.Instance; + #region 单例实现 + private static readonly Lazy lazy = new Lazy(() => new FileHelper()); + + public static FileHelper Instance + { + get + { + return lazy.Value; + } + } + #endregion + + private FileHelper() { } + + /// + /// 读取Excel内容 + /// + /// + public List ReadExceFile(string filePath) + { + List result = null; + try + { + var sheetNames = MiniExcel.GetSheetNames(filePath); + + if (sheetNames != null) + { + + result = new List(); + + foreach (string sheetName in sheetNames) + { + //根据sheet读取文档内容 + List info = MiniExcel.Query(filePath, sheetName: sheetName).ToList(); + + if (info != null) + { + for (int i = 1; i < info.Count; i++) + { + //解析数据 + dynamic labelDynamic = info[i]; + BaseLabelInfo labelInfo = new BaseLabelInfo(); + labelInfo.label = labelDynamic; + labelInfo.productType = sheetName; + if(labelDynamic.A == null) + { + continue; + } + labelInfo.column_A = labelDynamic.A; + if (sheetName == "Pallet") + { + labelInfo.recordTime = DateTime.Now; + result.Add(labelInfo); + continue; + } + labelInfo.column_B = labelDynamic.B; + labelInfo.column_C = labelDynamic.C; + labelInfo.column_D = labelDynamic.D; + labelInfo.column_E = labelDynamic.E; + if (sheetName == "Unit") + { + labelInfo.recordTime = DateTime.Now; + result.Add(labelInfo); + continue; + } + labelInfo.column_F = labelDynamic.F; + labelInfo.column_G = labelDynamic.G; + labelInfo.column_H = labelDynamic.H; + labelInfo.column_I = labelDynamic.I; + labelInfo.column_J = labelDynamic.J; + labelInfo.recordTime = DateTime.Now; + result.Add(labelInfo); + } + } + } + } + } + catch (Exception ex) + { + logHelper.Error("Excel文件读取异常", ex); + } + + return result; + } + } +} diff --git a/SlnMesnac.LabelPrint.FileOperate/Properties/AssemblyInfo.cs b/SlnMesnac.LabelPrint.FileOperate/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..cdbe5ef --- /dev/null +++ b/SlnMesnac.LabelPrint.FileOperate/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("SlnMesnac.LabelPrint.FileOperate")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SlnMesnac.LabelPrint.FileOperate")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("9358487f-5988-4839-bbe9-6755807ef339")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/SlnMesnac.LabelPrint.FileOperate/SlnMesnac.LabelPrint.FileOperate.csproj b/SlnMesnac.LabelPrint.FileOperate/SlnMesnac.LabelPrint.FileOperate.csproj new file mode 100644 index 0000000..050b92c --- /dev/null +++ b/SlnMesnac.LabelPrint.FileOperate/SlnMesnac.LabelPrint.FileOperate.csproj @@ -0,0 +1,65 @@ + + + + + Debug + AnyCPU + {9358487F-5988-4839-BBE9-6755807EF339} + Library + Properties + SlnMesnac.LabelPrint.FileOperate + SlnMesnac.LabelPrint.FileOperate + v4.7.2 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\MiniExcel.1.31.2\lib\net45\MiniExcel.dll + + + + + + + + + + + + + + + + + + {FD6AA76E-79B1-4A0C-9CEA-6CE09CCBDF9D} + SlnMesnac.LabelPrint.Log4net + + + {B68E5B08-F3E3-4AC0-A6ED-C31646956A0C} + SlnMesnac.LabelPrint.Model + + + + + + + \ No newline at end of file diff --git a/SlnMesnac.LabelPrint.FileOperate/packages.config b/SlnMesnac.LabelPrint.FileOperate/packages.config new file mode 100644 index 0000000..9a13a6e --- /dev/null +++ b/SlnMesnac.LabelPrint.FileOperate/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/SlnMesnac.LabelPrint.Library/Seagull.BarTender.Print.dll b/SlnMesnac.LabelPrint.Library/Seagull.BarTender.Print.dll new file mode 100644 index 0000000000000000000000000000000000000000..7c6c701431fe52e3cf7eff14054ae299f1427d59 GIT binary patch literal 392248 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 HWj$qDRAvhg+{5h91F@eN>yDb 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 KfqwrY8Z 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 TS?YQUl%3w1#dT9_50U>1dpDJ_ literal 0 HcmV?d00001 diff --git a/SlnMesnac.LabelPrint.Log4net/LogHelper.cs b/SlnMesnac.LabelPrint.Log4net/LogHelper.cs new file mode 100644 index 0000000..743068d --- /dev/null +++ b/SlnMesnac.LabelPrint.Log4net/LogHelper.cs @@ -0,0 +1,147 @@ +using log4net.Config; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SlnMesnac.LabelPrint.Log4net +{ + public class LogHelper + { + private static readonly Lazy lazy = new Lazy(() => new LogHelper()); + public static LogHelper Instance + { + get + { + return lazy.Value; + } + } + + private readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo"); + private readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror"); + private readonly log4net.ILog logView = log4net.LogManager.GetLogger("viewlog"); + private readonly log4net.ILog sqllog = log4net.LogManager.GetLogger("sqllog"); + private readonly log4net.ILog semaphorelog = log4net.LogManager.GetLogger("semaphorelog"); + private readonly log4net.ILog logPlc = log4net.LogManager.GetLogger("plclog"); + private readonly log4net.ILog logRfid = log4net.LogManager.GetLogger("rfidlog"); + + /** + * 配置文件路径 + * + */ + //private readonly string fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log4net.config"); + private readonly string fileName = "C:\\项目代码\\RFID标签打印项目\\SlnMesnac.LabelPrint\\SlnMesnac.LabelPrint.Log4net\\config\\log4net.config"; + + private LogHelper() + { + if (File.Exists(fileName)) + { + XmlConfigurator.Configure(new FileInfo(fileName)); + } + } + + /// + /// 记录Info日志 + /// + /// + /// + public void Info(string msg) + { + if (loginfo.IsInfoEnabled) + { + loginfo.Info(msg); + } + } + + /// + /// 记录PLC日志 + /// + /// + public void PlcLog(string msg) + { + if (logPlc.IsInfoEnabled) + { + logPlc.Info(msg); + } + } + + /// + /// 记录Rfid日志 + /// + /// + public void RfidLog(string msg) + { + if (logRfid.IsInfoEnabled) + { + logRfid.Info(msg); + } + } + + /// + /// 界面日志 + /// + /// + public void ViewLog(string msg) + { + if (logView.IsInfoEnabled) + { + logView.Info(msg); + } + } + + public void SqlLog(string msg) + { + if (sqllog.IsInfoEnabled) + { + sqllog.Info(msg); + } + } + + public void SemaphoreLog(string msg) + { + if (semaphorelog.IsInfoEnabled) + { + semaphorelog.Info(msg); + } + } + + /// + /// 记录Error日志 + /// + /// + /// + public void Error(string info, Exception ex = null) + { + if (!string.IsNullOrEmpty(info) && ex == null) + { + logerror.ErrorFormat("【附加信息】 : {0}
", new object[] { info }); + } + else if (!string.IsNullOrEmpty(info) && ex != null) + { + string errorMsg = BeautyErrorMsg(ex); + logerror.ErrorFormat("【附加信息】 : {0}
{1}", new object[] { info, errorMsg }); + } + else if (string.IsNullOrEmpty(info) && ex != null) + { + string errorMsg = BeautyErrorMsg(ex); + logerror.Error(errorMsg); + } + } + + /// + /// 美化错误信息 + /// + /// 异常 + /// 错误信息 + private string BeautyErrorMsg(Exception ex) + { + string errorMsg = string.Format("【异常类型】:{0}
【异常信息】:{1}
【堆栈调用】:{2}", new object[] { ex.GetType().Name, ex.Message, ex.StackTrace }); + errorMsg = errorMsg.Replace("\r\n", "
"); + errorMsg = errorMsg.Replace("位置", "位置"); + return errorMsg; + } + + } +} diff --git a/SlnMesnac.LabelPrint.Log4net/Properties/AssemblyInfo.cs b/SlnMesnac.LabelPrint.Log4net/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7783379 --- /dev/null +++ b/SlnMesnac.LabelPrint.Log4net/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("SlnMesnac.LabelPrint.Log4net")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SlnMesnac.LabelPrint.Log4net")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("fd6aa76e-79b1-4a0c-9cea-6ce09ccbdf9d")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/SlnMesnac.LabelPrint.Log4net/SlnMesnac.LabelPrint.Log4net.csproj b/SlnMesnac.LabelPrint.Log4net/SlnMesnac.LabelPrint.Log4net.csproj new file mode 100644 index 0000000..42b9ef6 --- /dev/null +++ b/SlnMesnac.LabelPrint.Log4net/SlnMesnac.LabelPrint.Log4net.csproj @@ -0,0 +1,57 @@ + + + + + Debug + AnyCPU + {FD6AA76E-79B1-4A0C-9CEA-6CE09CCBDF9D} + Library + Properties + SlnMesnac.LabelPrint.Log4net + SlnMesnac.LabelPrint.Log4net + v4.7.2 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\log4net.2.0.15\lib\net45\log4net.dll + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SlnMesnac.LabelPrint.Log4net/config/log4net.config b/SlnMesnac.LabelPrint.Log4net/config/log4net.config new file mode 100644 index 0000000..a9d7efb --- /dev/null +++ b/SlnMesnac.LabelPrint.Log4net/config/log4net.config @@ -0,0 +1,153 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SlnMesnac.LabelPrint.Log4net/packages.config b/SlnMesnac.LabelPrint.Log4net/packages.config new file mode 100644 index 0000000..4da49bf --- /dev/null +++ b/SlnMesnac.LabelPrint.Log4net/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/SlnMesnac.LabelPrint.Model/BaseLabelInfo.cs b/SlnMesnac.LabelPrint.Model/BaseLabelInfo.cs new file mode 100644 index 0000000..02c0e09 --- /dev/null +++ b/SlnMesnac.LabelPrint.Model/BaseLabelInfo.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SlnMesnac.LabelPrint.Model +{ + public class BaseLabelInfo + { + public dynamic label { get; set; } + + /// + /// 产品类型 + /// + public string productType { get; set; } + + public object column_A { get; set; } + + public object column_B { get; set; } + + public object column_C { get; set; } + + public object column_D { get; set; } + + public object column_E { get; set; } + + public object column_F { get; set; } + + public object column_G { get; set; } + + public object column_H { get; set; } + + public object column_I { get; set; } + + public object column_J { get; set; } + + public DateTime recordTime { get; set; } + } +} diff --git a/SlnMesnac.LabelPrint.Model/Properties/AssemblyInfo.cs b/SlnMesnac.LabelPrint.Model/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..6c4a886 --- /dev/null +++ b/SlnMesnac.LabelPrint.Model/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("SlnMesnac.LabelPrint.Model")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SlnMesnac.LabelPrint.Model")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("b68e5b08-f3e3-4ac0-a6ed-c31646956a0c")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/SlnMesnac.LabelPrint.Model/SlnMesnac.LabelPrint.Model.csproj b/SlnMesnac.LabelPrint.Model/SlnMesnac.LabelPrint.Model.csproj new file mode 100644 index 0000000..6e8d6b9 --- /dev/null +++ b/SlnMesnac.LabelPrint.Model/SlnMesnac.LabelPrint.Model.csproj @@ -0,0 +1,48 @@ + + + + + Debug + AnyCPU + {B68E5B08-F3E3-4AC0-A6ED-C31646956A0C} + Library + Properties + SlnMesnac.LabelPrint.Model + SlnMesnac.LabelPrint.Model + v4.7.2 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SlnMesnac.LabelPrint.TaskQueue/Properties/AssemblyInfo.cs b/SlnMesnac.LabelPrint.TaskQueue/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..0d3ada5 --- /dev/null +++ b/SlnMesnac.LabelPrint.TaskQueue/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("SlnMesnac.LabelPrint.TaskQueue")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SlnMesnac.LabelPrint.TaskQueue")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("44b60510-5d95-4c48-949b-973b9b29dba6")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/SlnMesnac.LabelPrint.TaskQueue/SlnMesnac.LabelPrint.TaskQueue.csproj b/SlnMesnac.LabelPrint.TaskQueue/SlnMesnac.LabelPrint.TaskQueue.csproj new file mode 100644 index 0000000..e858847 --- /dev/null +++ b/SlnMesnac.LabelPrint.TaskQueue/SlnMesnac.LabelPrint.TaskQueue.csproj @@ -0,0 +1,54 @@ + + + + + Debug + AnyCPU + {44B60510-5D95-4C48-949B-973B9B29DBA6} + Library + Properties + SlnMesnac.LabelPrint.TaskQueue + SlnMesnac.LabelPrint.TaskQueue + v4.7.2 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + {B68E5B08-F3E3-4AC0-A6ED-C31646956A0C} + SlnMesnac.LabelPrint.Model + + + + \ No newline at end of file diff --git a/SlnMesnac.LabelPrint.TaskQueue/TaskHelper.cs b/SlnMesnac.LabelPrint.TaskQueue/TaskHelper.cs new file mode 100644 index 0000000..e6e1a2e --- /dev/null +++ b/SlnMesnac.LabelPrint.TaskQueue/TaskHelper.cs @@ -0,0 +1,68 @@ +using SlnMesnac.LabelPrint.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SlnMesnac.LabelPrint.TaskQueue +{ + public class TaskHelper + { + + #region 单例实现 + private static readonly Lazy lazy = new Lazy(() => new TaskHelper()); + + public static TaskHelper Instance + { + get + { + return lazy.Value; + } + } + #endregion + + #region 委托事件 + /// + /// 清除标签信息 + /// + /// + public delegate void ClearLabelInfoDataGrid(BaseLabelInfo baseLabelInfo); + public event ClearLabelInfoDataGrid ClearLabelInfoDataGridEvent; + #endregion + + public TaskHelper() { } + + private List labelTask = new List(); + + /// + /// 添加标签任务 + /// + /// + public void AddTask(List labelInfos) + { + if (labelInfos == null) return; + labelTask.AddRange(labelInfos); + } + + /// + /// 获取标签任务,根据时间返回第一个不同的标签 + /// + /// + public BaseLabelInfo GetTask() + { + return labelTask.OrderBy(x => x.recordTime).FirstOrDefault(); + } + + /// + /// 删除标签任务,打印完成后删除队列中的任务 + /// + /// + public void RemoveTask(BaseLabelInfo item) + { + labelTask.Remove(item); + ClearLabelInfoDataGridEvent?.Invoke(item); + } + + } +} diff --git a/SlnMesnac.LabelPrint.sln b/SlnMesnac.LabelPrint.sln new file mode 100644 index 0000000..1f0d433 --- /dev/null +++ b/SlnMesnac.LabelPrint.sln @@ -0,0 +1,61 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.34031.81 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SlnMesnac.LabelPrint", "SlnMesnac.LabelPrint\SlnMesnac.LabelPrint.csproj", "{B55D0578-0611-47D8-828B-81A3445C18A1}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SlnMesnac.LabelPrint.BarTender", "SlnMesnac.LabelPrint.BarTender\SlnMesnac.LabelPrint.BarTender.csproj", "{6A110611-3F4C-46C2-A981-23A0145B1E9F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SlnMesnac.LabelPrint.Model", "SlnMesnac.LabelPrint.Model\SlnMesnac.LabelPrint.Model.csproj", "{B68E5B08-F3E3-4AC0-A6ED-C31646956A0C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SlnMesnac.LabelPrint.FileOperate", "SlnMesnac.LabelPrint.FileOperate\SlnMesnac.LabelPrint.FileOperate.csproj", "{9358487F-5988-4839-BBE9-6755807EF339}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SlnMesnac.LabelPrint.Common", "SlnMesnac.LabelPrint.Common\SlnMesnac.LabelPrint.Common.csproj", "{7232269D-60AF-45F0-B614-8F9C4061C529}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SlnMesnac.LabelPrint.Log4net", "SlnMesnac.LabelPrint.Log4net\SlnMesnac.LabelPrint.Log4net.csproj", "{FD6AA76E-79B1-4A0C-9CEA-6CE09CCBDF9D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SlnMesnac.LabelPrint.TaskQueue", "SlnMesnac.LabelPrint.TaskQueue\SlnMesnac.LabelPrint.TaskQueue.csproj", "{44B60510-5D95-4C48-949B-973B9B29DBA6}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B55D0578-0611-47D8-828B-81A3445C18A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B55D0578-0611-47D8-828B-81A3445C18A1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B55D0578-0611-47D8-828B-81A3445C18A1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B55D0578-0611-47D8-828B-81A3445C18A1}.Release|Any CPU.Build.0 = Release|Any CPU + {6A110611-3F4C-46C2-A981-23A0145B1E9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6A110611-3F4C-46C2-A981-23A0145B1E9F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6A110611-3F4C-46C2-A981-23A0145B1E9F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6A110611-3F4C-46C2-A981-23A0145B1E9F}.Release|Any CPU.Build.0 = Release|Any CPU + {B68E5B08-F3E3-4AC0-A6ED-C31646956A0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B68E5B08-F3E3-4AC0-A6ED-C31646956A0C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B68E5B08-F3E3-4AC0-A6ED-C31646956A0C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B68E5B08-F3E3-4AC0-A6ED-C31646956A0C}.Release|Any CPU.Build.0 = Release|Any CPU + {9358487F-5988-4839-BBE9-6755807EF339}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9358487F-5988-4839-BBE9-6755807EF339}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9358487F-5988-4839-BBE9-6755807EF339}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9358487F-5988-4839-BBE9-6755807EF339}.Release|Any CPU.Build.0 = Release|Any CPU + {7232269D-60AF-45F0-B614-8F9C4061C529}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7232269D-60AF-45F0-B614-8F9C4061C529}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7232269D-60AF-45F0-B614-8F9C4061C529}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7232269D-60AF-45F0-B614-8F9C4061C529}.Release|Any CPU.Build.0 = Release|Any CPU + {FD6AA76E-79B1-4A0C-9CEA-6CE09CCBDF9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FD6AA76E-79B1-4A0C-9CEA-6CE09CCBDF9D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FD6AA76E-79B1-4A0C-9CEA-6CE09CCBDF9D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FD6AA76E-79B1-4A0C-9CEA-6CE09CCBDF9D}.Release|Any CPU.Build.0 = Release|Any CPU + {44B60510-5D95-4C48-949B-973B9B29DBA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {44B60510-5D95-4C48-949B-973B9B29DBA6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {44B60510-5D95-4C48-949B-973B9B29DBA6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {44B60510-5D95-4C48-949B-973B9B29DBA6}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {86E1A9DC-391D-43D2-8EE2-676C848A4990} + EndGlobalSection +EndGlobal diff --git a/SlnMesnac.LabelPrint/App.config b/SlnMesnac.LabelPrint/App.config new file mode 100644 index 0000000..56efbc7 --- /dev/null +++ b/SlnMesnac.LabelPrint/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SlnMesnac.LabelPrint/App.xaml b/SlnMesnac.LabelPrint/App.xaml new file mode 100644 index 0000000..cb67474 --- /dev/null +++ b/SlnMesnac.LabelPrint/App.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/SlnMesnac.LabelPrint/App.xaml.cs b/SlnMesnac.LabelPrint/App.xaml.cs new file mode 100644 index 0000000..9ad8198 --- /dev/null +++ b/SlnMesnac.LabelPrint/App.xaml.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; + +namespace SlnMesnac.LabelPrint +{ + /// + /// App.xaml 的交互逻辑 + /// + public partial class App : Application + { + } +} diff --git a/SlnMesnac.LabelPrint/Icon.png b/SlnMesnac.LabelPrint/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1560465576f3ed6859851e46cbfaa7f36a29088e GIT binary patch literal 1153 zcmV-{1b+L8P)OHlTZy?6%WCU`gDotWBe3;0SuzI`SI+anTAQ@!Wo}KY<3?+}Xw z|Gw_)zRzQEg}Ex=$_rRsZ09eCqxPJSborN!>k|2KI*tdMYb=jk2P>z<9x5#)W7SG| zmyr)X=l8)Ae9>NKmCJRoa*Azx_jc$y0xNEXffIpyS}IITLbuu{rXVjHu1(Y%Gnl^C zZW$uHFA_iX(_8f=-i~@JpAe!7kZSJBf|MkvZGatH^~MalK8AuE8KS8JUf3cd3NZyl z;`!I0y-tS6EeQl!x>$|~?~62s$=={EFzWSZ%zN?_rxO;D9a;yDfP{FsF-ZCh@C6C@!wcCf18Zw`OSy}PRI4cS?uE_kYYoCq{^!iKf*_+wC64LyDEz8gPf?*9aL>c9~YX&XkOwM*HU zsey2ez_b*2_Z2y!Vh{8W<0mw@VfQDreAS4@5ilQ^t!aYRR>HESY7oXZga+4gc-L-W z%=WR#5nu|;s5ht9W2$e8wVC_V|7Ig%X#7n6b8m+3MK zrXIdI2)~9*#n2^I(AdJ{!8YDds@>+pXBym*{tZ1Ukd)wA zKA#-;j^Va$K8+=y{F*pkPfaG~ytVz3RA}Qe{n$1O&YmMtTlkFJ^UzV9r0u*XssR1S zFSRp#J~D{H-|&cSv3a4*M!9}0NcU;i#lc3K^CzHyErfD1$W! z4eTO}++y2}xMTsjCALfHHZNxohRNQPkD-J(mN)OSh6!Qb1k5)3AhTsb?d7_yQ+t6X zQLRZ>vR#CraU)~YYh7QJIcFB?d$q0JYDP#zGjPAofWz?%DGJZhtOEWo906TDcBaBKH|1nm1!}rzEdBiS^w_C7fiq>sL@D;H%CdSTAYTHSxdi?JAB`KK ToJ%gE00000NkvXXu0mjfn6xJD literal 0 HcmV?d00001 diff --git a/SlnMesnac.LabelPrint/MainWindow.xaml b/SlnMesnac.LabelPrint/MainWindow.xaml new file mode 100644 index 0000000..5ca83e3 --- /dev/null +++ b/SlnMesnac.LabelPrint/MainWindow.xaml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + +