Commit 1e2af832 LN

增加上传测试功能

1 个父辈 85ea501a
......@@ -100,6 +100,12 @@
<Compile Include="FrmLabelEdit.Designer.cs">
<DependentUpon>FrmLabelEdit.cs</DependentUpon>
</Compile>
<Compile Include="FrmUploadTest.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FrmUploadTest.Designer.cs">
<DependentUpon>FrmUploadTest.cs</DependentUpon>
</Compile>
<Compile Include="FrmLabelSettings.cs">
<SubType>Form</SubType>
</Compile>
......@@ -163,6 +169,9 @@
<EmbeddedResource Include="FrmLabelEdit.resx">
<DependentUpon>FrmLabelEdit.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FrmUploadTest.resx">
<DependentUpon>FrmUploadTest.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FrmLabelSettings.resx">
<DependentUpon>FrmLabelSettings.cs</DependentUpon>
</EmbeddedResource>
......
......@@ -45,6 +45,7 @@ namespace AutoScanAndLabel
this.关于ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.退出ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.lastFile = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.btn_releaserightshelf = new System.Windows.Forms.Button();
this.btn_maulstart = new System.Windows.Forms.Button();
......@@ -62,7 +63,7 @@ namespace AutoScanAndLabel
this.listView1 = new System.Windows.Forms.ListView();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.panel1 = new System.Windows.Forms.Panel();
this.lastFile = new System.Windows.Forms.Label();
this.btnUploadTest = new System.Windows.Forms.Button();
this.menuStrip1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.groupBox4.SuspendLayout();
......@@ -203,6 +204,7 @@ namespace AutoScanAndLabel
//
// tabPage1
//
this.tabPage1.Controls.Add(this.btnUploadTest);
this.tabPage1.Controls.Add(this.lastFile);
this.tabPage1.Controls.Add(this.groupBox4);
this.tabPage1.Controls.Add(this.groupBox3);
......@@ -217,6 +219,14 @@ namespace AutoScanAndLabel
this.tabPage1.Text = "状体";
this.tabPage1.UseVisualStyleBackColor = true;
//
// lastFile
//
this.lastFile.AutoSize = true;
this.lastFile.Location = new System.Drawing.Point(14, 435);
this.lastFile.Name = "lastFile";
this.lastFile.Size = new System.Drawing.Size(0, 21);
this.lastFile.TabIndex = 11;
//
// groupBox4
//
this.groupBox4.Controls.Add(this.btn_releaserightshelf);
......@@ -406,13 +416,16 @@ namespace AutoScanAndLabel
this.panel1.Size = new System.Drawing.Size(1029, 619);
this.panel1.TabIndex = 6;
//
// lastFile
// btnUploadTest
//
this.lastFile.AutoSize = true;
this.lastFile.Location = new System.Drawing.Point(14, 435);
this.lastFile.Name = "lastFile";
this.lastFile.Size = new System.Drawing.Size(0, 21);
this.lastFile.TabIndex = 11;
this.btnUploadTest.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnUploadTest.Location = new System.Drawing.Point(390, 391);
this.btnUploadTest.Name = "btnUploadTest";
this.btnUploadTest.Size = new System.Drawing.Size(105, 37);
this.btnUploadTest.TabIndex = 12;
this.btnUploadTest.Text = "File Test";
this.btnUploadTest.UseVisualStyleBackColor = true;
this.btnUploadTest.Click += new System.EventHandler(this.btnUploadTest_Click);
//
// Form1
//
......@@ -483,6 +496,7 @@ namespace AutoScanAndLabel
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.Label lastFile;
private System.Windows.Forms.Button btnUploadTest;
}
}
......@@ -802,5 +802,11 @@ namespace AutoScanAndLabel
tabControl1.TabPages[tc - i].Parent = null;
}
}
private void btnUploadTest_Click(object sender, EventArgs e)
{
FrmUploadTest frmUploadTest = new FrmUploadTest();
frmUploadTest.ShowDialog();
}
}
}
\ No newline at end of file
namespace AutoScanAndLabel
{
partial class FrmUploadTest
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmUploadTest));
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.btnUpload = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.txtRI = new System.Windows.Forms.TextBox();
this.txtPN = new System.Windows.Forms.TextBox();
this.txtQTY = new System.Windows.Forms.TextBox();
this.lblPath = new System.Windows.Forms.Label();
this.lblMsg = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label2
//
this.label2.Location = new System.Drawing.Point(50, 168);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(106, 20);
this.label2.TabIndex = 2;
this.label2.Text = "PartNumber:";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// label1
//
this.label1.Location = new System.Drawing.Point(50, 115);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(106, 20);
this.label1.TabIndex = 2;
this.label1.Text = "ReelID:";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// btnUpload
//
this.btnUpload.Location = new System.Drawing.Point(97, 274);
this.btnUpload.Name = "btnUpload";
this.btnUpload.Size = new System.Drawing.Size(107, 31);
this.btnUpload.TabIndex = 1;
this.btnUpload.Text = "Upload";
this.btnUpload.UseVisualStyleBackColor = true;
this.btnUpload.Click += new System.EventHandler(this.btnUpload_Click);
//
// btnCancel
//
this.btnCancel.Location = new System.Drawing.Point(226, 273);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(107, 31);
this.btnCancel.TabIndex = 3;
this.btnCancel.Text = "Cancel";
this.btnCancel.UseVisualStyleBackColor = true;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// label3
//
this.label3.Location = new System.Drawing.Point(50, 221);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(106, 20);
this.label3.TabIndex = 4;
this.label3.Text = "InitialQuantity:";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// txtRI
//
this.txtRI.Location = new System.Drawing.Point(162, 111);
this.txtRI.Name = "txtRI";
this.txtRI.Size = new System.Drawing.Size(168, 23);
this.txtRI.TabIndex = 5;
//
// txtPN
//
this.txtPN.Location = new System.Drawing.Point(162, 165);
this.txtPN.Name = "txtPN";
this.txtPN.Size = new System.Drawing.Size(168, 23);
this.txtPN.TabIndex = 6;
//
// txtQTY
//
this.txtQTY.Location = new System.Drawing.Point(162, 219);
this.txtQTY.Name = "txtQTY";
this.txtQTY.Size = new System.Drawing.Size(168, 23);
this.txtQTY.TabIndex = 7;
//
// lblPath
//
this.lblPath.Location = new System.Drawing.Point(45, 21);
this.lblPath.Name = "lblPath";
this.lblPath.Size = new System.Drawing.Size(326, 20);
this.lblPath.TabIndex = 8;
this.lblPath.Text = "Path:";
this.lblPath.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// lblMsg
//
this.lblMsg.ForeColor = System.Drawing.Color.Red;
this.lblMsg.Location = new System.Drawing.Point(45, 58);
this.lblMsg.Name = "lblMsg";
this.lblMsg.Size = new System.Drawing.Size(326, 20);
this.lblMsg.TabIndex = 9;
this.lblMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// FrmUploadTest
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(444, 339);
this.Controls.Add(this.lblMsg);
this.Controls.Add(this.lblPath);
this.Controls.Add(this.txtQTY);
this.Controls.Add(this.txtPN);
this.Controls.Add(this.txtRI);
this.Controls.Add(this.label3);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnUpload);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmUploadTest";
this.Text = "UploadTest";
this.Load += new System.EventHandler(this.FrmUploadTest_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button btnUpload;
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox txtRI;
private System.Windows.Forms.TextBox txtPN;
private System.Windows.Forms.TextBox txtQTY;
private System.Windows.Forms.Label lblPath;
private System.Windows.Forms.Label lblMsg;
}
}
\ No newline at end of file
using ConfigHelper;
using DeviceLibrary;
using OnlineStore;
using OnlineStore.Common;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AutoScanAndLabel
{
public partial class FrmUploadTest : Form
{
public FrmUploadTest()
{
InitializeComponent();
RobotManage.LoadFinishEvent += RobotManage_LoadFinishEvent;
crc.LanguageProcess(this, this.GetType().Name);
RobotManage_LoadFinishEvent(true,"");
}
private void RobotManage_LoadFinishEvent(bool state, string msg)
{
}
private void cb_printerselect_SelectedIndexChanged(object sender, EventArgs e)
{
Config.Set(Setting_Init.PrinterName, (sender as ComboBox).Text);
RobotManage.LoadPrintSetting();
}
private void cb_labelselect_SelectedIndexChanged(object sender, EventArgs e)
{
Config.Set(Setting_Init.LabelName, (sender as ComboBox).Text);
RobotManage.LoadPrintSetting();
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
}
private void FrmUploadTest_Load(object sender, EventArgs e)
{
lblMsg.Text = "";
lblPath.Text = DataUploadUtil.smb_path;
if (DataUploadUtil.CanUpload())
{
btnUpload.Visible = true;
}
else
{
btnUpload.Visible = false;
lblMsg.Text = "Invalid shared directory, unable to upload";
}
}
private void btnUpload_Click(object sender, EventArgs e)
{
try
{
string ri=txtRI.Text;
string pn=txtPN.Text;
string qty=txtQTY.Text;
Dictionary<string, string> map = new Dictionary<string, string>();
map.Add(DataUploadUtil.title_pn, pn);
map.Add(DataUploadUtil.title_ri,ri);
map.Add(DataUploadUtil.title_qty, qty);
DialogResult result = MessageBox.Show("Sure Upload ?", "Tip", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if(result.Equals(DialogResult.Yes))
{
DataUploadUtil.LabelUpload(map);
}
}catch(Exception ex)
{
LogUtil.error(ex.ToString());
MessageBox.Show(ex.ToString());
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAABILAAASCwAAAAAAAAAA
AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8Am2IdBZhfHAP///8A////AP///wD///8A////AKZvIgKfZx8Hll0bAf//
/wD///8A////AJZdHAOQVhkGiE0VAP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wC6hSoEtX8oZq95Jk////8AjFIXHYpP
FoeJThZXtYAoH696Jo6eZR6XjVMXmYlOFkWyfCcSp3AibZ1lHqmTWRqci1AWSYlOFQT///8A////ALeC
KTCudyWcnmYfrZBWGYeJThYjwIwuBKdwI1CbYx6hjlQYrItQFnuveSZ0rnglcKZuIQn///8AilAWUIlO
FnyrdSRLsn0ngat1JBQ+AAAAi1AXV4pPFo2KTxYY////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AuoUqCLV/
KK+weiaIl18dBZBVGIqLUBb/iU4WlrV/KDaveibvn2cfqY1SF4SNUhdCsXsmi6lyI++eZR60kVcZy4tQ
FuSKTxZI////AP///wC2gSlPr3ommZ1lHoCOVBjlik8Wm7J9J1KpcyTpnGUew45UGI6KTxaNrHYkja13
JeSiayBilVsbS4tQF8eJThWus30na7J8J+CtdyQiklgZM41SF9+KTxbxik8WKv///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////ALqFKgi1fyiusHomhJphHUaSWRrfi1AW8olOFpW1fyg2sHom6qJrIGuJThYlrnglKrJ9
J9mrdSSPoGgfCY5TGB2KTxbMik8Wo4pPFgL///8At4IpCK13JRSbYh1SjlQY44tQFp20fiioq3Ul0aFq
IB////8Abi8KBLB7JjCrdSTioWog4pVcG9WMURf4h0wVYLiDKV6yfCffp3EiNJZcG6uOUxjsik8W6YpP
Fir///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wC6hSoItX8ora54JaGdZR6/lVsboIpPFryJThaYtYAoNq96
JvGeZh/ejVIXtaFpIFKzfSfjrXclYv///wCKTxYBik8Ws4pPFsGKTxYF////ALeCKRisdiSnnmYf7JBW
GbqNUxc2tH8ovK13JbebZB0D////AP///wCzfigHqnMjrKRsIaiSWBl6jFIX24JGEyC4gylfsnwn4KNs
IZKZYBzRjVIXiYpPFuSKTxYr////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AuoUqCLV/KKusdSTxoGgfzJVc
Gy6KTxayiU4WmbV/KDaweibqomsgaolOFiWrdCQlsnwn0Kt0JKigZx8ej1QYNYpPFteKTxaZik8WAf//
/wC2gSlXrngl+KFqIHyPVRgUjFIXC7N+KIqrdCThoGggP4pPFgmKTxYTZCQHAqhxIl2iaiDXlVsa0o1T
GJ////8At4IpYLF7JvikbSHrnGQebIpPFlOKTxbmik8WK////wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALqF
Kgi1fyisrHYk+KNsIVuGSxQJik8WtIlOFpm1gCg2r3om8J9mH8qNUhezik8WP7J8J2eocSPqnmUe1ZJY
GeGLUBbSik8WNP///wD///8AtoIpO613JeGfZx/EjlQYq4lOFmKzfSgnqHIjwpxkHt2OVBi5ik8WpohN
FRiocSIfoGgf1pZcG/qOVBhV////ALeCKWCweyb/pm8is6NsIA2KTxZRik8W54pPFiv///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wC6hSoDtX8oQa13JVGmbyIJh0sUA4pPFkSJThY5tYAoFK96JlueZR5jjVMYZIlO
FiLCjy4Ep28iQp1kHnmTWRpxi1AXLYBEEQD///8A////ALqGKwOrdCQ9nmUfeY9VGHyKTxYz////AKVv
Ih+aYh1njlQYgIpPFlyKTxYKsnsmAp9nH0WXXRtYkFYZEf///wC3gikksXsmX6hyIyn///8Aik8WH4pP
FlaKTxYQ////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALN+KAGxeyYlrnglaKx2
JIqqcyOCpnAjS6BvIhD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AqHEjEqJq
IEybYh1uk1oaaI1SFzWJTRUF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALaB
KQWzfihisXsn1694Jf2sdiT/qnMj/6ZwIvWibiGwlm8gL////wD///8A////AP///wD///8A////AP//
/wD///8AsHomJqpzJLCjayD1m2Id/pNZGv6MURfmik8WdIpPFgb///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALF8JxaveSZbrXcli6p0
JI6ocSNypm8iLaNsIAL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wC1gChMtH4o7LF7J/+veCX/rHYk/6pzI/+ncCL/pG0h/5xsIMSLbx8f////AP//
/wD///8A////AP///wD///8At4IpDrJ8J6esdiShoWkegZphHPaTWRnJi1EWbopPFsqKTxZS////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALR+
KC6yfCe5r3om+a13Jf+qdCT/qHEi/qVuId2kbCFkoWkfBv///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wC4gikMtoEps7R+KP+xeyf/r3gl/6x2JP+qcyP/p3Ai/6Rt
If+haiD/mmofkpplHgb///8A////AP///wD///8A////ALeBKUOzfSjFrnciH72STzezh03rqXtKprGM
awmKTxV3ik8WoYpPFgb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////ALaBKBq0fyi/snwn/696Jv+tdyX/qnQk/6hxIv+lbiH/o2sg7aFpIFX///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AsoMrLrWBKeS0fij/sXsn/694
Jf+sdiT/qnMj/6dwIv+kbSH/omog/59nH/CdZR5b////AP///wD///8A////AP///wC3gilgs30o6Ktz
IXvBllOp38uu/8Wniu+RWSNyik4VrYpPFr2KTxYR////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wC2gSlntH8o+7J8J/+veib/rXcl/6p0JP+ocSL/pW4h/6Nr
IP+gaB/Rn2cfLP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AJyH
MkSwgiv3tH4o/7F7J/+veCX/rHYk/6pzI/+ncCL/pG0h/6JqIP+fZx//nWQe2ZtjHTP///8A////AP//
/wD///8At4IpTbN9J/arcyP/r3w07smnedutglbmjVQb/IpPFv+KTxa2ik8WDf///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wC5hCoEt4Ipn7V/KP+yfCf/r3om/613
Jf+qdCT/qHEi/6VuIf+jayD/oGgf/55mH6ycZB4S////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wBdlEh+pIQv/7V+J/+xeyf/r3gl/6x2JP+qcyP/p3Ai/6RtIf+iaiD/n2cf/51k
Hv+aYh20mGAcFf///wD///8A////ALeBKRqyfCfJq3Qk/6RsIJa1iEsdk1ogW4tRF/OKTxb+ik8Wdv//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AuIMpBreC
KaW1fyj/snwn/696Jv+tdyX/qnQk/6hxIv+lbiH/o2sg/6BoH/+eZh76nGMefplfHAT///8A////AP//
/wD///8A////AP///wD///8A////AP///wA3nFoVPJpUxoaKOf+1fif/sXsn/694Jf+sdiT/qnMj/6dw
Iv+kbSH/omog/59nH/+dZB7/mmEd/JhfHIOWWxsF////AP///wD///8AsXomTqp0JOCkbCG4mmIcTJFX
GYWMURfzik8Wq4pPFhn///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wC3gimStX8o/7J8J/+veib/rXcl/6p0JP+ocSL/pW4h/6NrIP+gaB//nmYe/5tj
HeyaYR1P////AP///wD///8A////AP///wD///8A////AP///wD///8AOJxaSTibVvNQlEr/oYIt/7J7
Jv+veCX/rHYk/6pzI/+ncCL/pG0h/6JqIP+fZx//nWQe/5phHf+YXxzullwbVf///wD///8A////ALR9
JwGpciM3omsgkJtiHbaTWRqujFIXa4lOFhb///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8AtoEpTbR/KPCyfCf/r3om/613Jf+qdCT/qHEi/6Vu
If+jayD/oGgf/55mHv+bYx3/mWAczpdeHCf///8A////AP///wD///8A////AP///wD///8AOKBmAjid
W5U5m1b/OJlR/2aOPv+rfCj/r3gl/6x2JP+qcyP/p3Ai/6RtIf+iaiD/n2cf/51kHv+aYR3/mF4c/5Vc
G9WTWhou////AP///wD///8A////AKBoHwGaYh0ElFsaA45UGAD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALaBKAi0fyiTsnwn/q96
Jv+tdyX/qnQk/6hxIv+lbiH/o2sg/6BoH/+eZh7/m2Md/5lgHP+WXRumlVsaD////wD///8A////AP//
/wD///8A////ADieXyI4nVzXOZtW/zmZUf88lkr/fIc1/654Jf+sdiT/qnMj/6dwIv+kbSH/omog/59n
H/+dZB7/mmEd/5heHP+VWxv/k1kar5FXGRL///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8AtH4nHrJ8J8Gveib/rXcl/6p0JP+ocSL/pW4h/6NrIP+gaB//nmYe/5tjHf+ZYBz/ll0b+ZRb
GniPVxkD////AP///wD///8A////AP///wA4nmBdOJ1c+zmbVv85mVH/OJdL/0WSQv+OgC3/rXUk/6pz
I/+ncCL/pG0h/6JqIP+fZx//nWQe/5phHf+YXhz/lVsb/5NZGvqRVxl9jVMXBP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wCxfCdAr3om4a13Jf+qdCT/qHEi/6VuIf+jayD/oGgf/55m
Hv+bYx3/mWAc/5ZdG/+UWhrqklgZSf///wD///8A////AP///wA4oWcHOJ9hrDidXP85m1b/OZlR/zmX
S/84lUX/U406/515J/+rciP/p3Ai/6RtIf+iaiD/n2cf/51kHv+aYR3/mF4c/5VbG/+TWRr/kFYZ7I5U
GE////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AtYIoAa95JmutdyX0qnQk/6hx
Iv+lbiH/o2sg/6BoH/+eZh7/m2Md/5lgHP+WXRv/k1oa/5FXGcmQVRgj////AP///wD///8AOKBlMTif
YuU4nVz/OZtW/zmZUf85l0v/OZVF/zmTP/9nhjH/pXQk/6dwIv+kbSH/omog/59nH/+dZB7/mmEd/5he
HP+VWxv/k1ka/5BWGf+OUxjQjFEXK////wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wCveSULrXYlmqp0JP+ocSL/pW4h/6NrIP+gaB//nmYe/5tjHf+ZYBz/ll0b/5RaGv+RVxn/j1QYoI1S
Fw7///8A////ADigZnY4n2L/OJ1c/zmbVv85mVH/OZdL/zmVRf85kz//PpA4/3p+Kv+ncCL/pG0h/6Jq
IP+fZx//nWQe/5phHf+YXhz/lVsb/5NZGv+QVhn/jlMY/4tQF6mJThYQ////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AKx2JCOqcyTGqHEi/6VuIf+jayD/oGgf/55mHv+bYx3/mWAc/5Zd
G/+UWhr/kVcZ/45UGPiNUhdy7wAAATejbRE4oWe/OJ9i/zidXP85m1b/OZlR/zmXS/85lUX/OpM//zmR
Of9GjDH+jXYl+KVtIf+iaiD/n2cf/51kHv+aYR3/mF4c/5VbG/+TWRr/kFYZ/45TGP+LUBf4ik8Wd4pP
FgP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AqnMkRKhxIuWlbiH/o2sg/6Bo
H/+eZh7/m2Md/5lgHP+WXRv/lFoa/5FXGf+OVBj/jFEX5o9MEkE2pG5AOKFo8TifYv84nVz/OZtW/zmZ
Uf85l0v/OZVF/zqTP/86kTn/OY8z+WWAKpSlbCHeomog/59nH/+dZB7/mmEd/5heHP+VWxv/k1ka/5BW
Gf+OUxj/i1AX/4pPFuiKTxZL////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AK53
JQKncCJwpW4h9qNrIP+gaB//nmYe/5tjHf+ZYBz/ll0b/5RaGv+RVxn/jlQY/4xRF/+LTxbCSJJcqDei
af84n2L/OJ1c/zmbVv85mVH/OZdL/zmVRf86kz//OpE5/zqPM9c8jTAipmwhaaJqIPafZx//nWQe/5ph
Hf+YXhz/lVsb/5NZGv+QVhn/jlMY/4tQF/+KTxb/ik8WzIpPFij///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8Ap3AiDKVuIaCjayD/oGgf/55mHv+bYx3/mWAc/5ZdG/+UWhr/kVcZ/45U
GP+MURf/i08V/WpvN/w8nmX/OJ9i/zidXP85m1b/OZlR/zmXS/85lUX/OpM//zqROf86jzSVAposAaVs
IQuhaiCZn2cf/51kHv+aYR3/mF4c/5VbG/+TWRr/kFYZ/45TGP+LUBf/ik8W/4pPFv+KTxahik8WDP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wClbSEmo2sgy6BoH/+eZh7/m2Md/5lg
HP+WXRv/lFoa/5FXGf+OVBj/jFEX/4tPFv+HUhn/Wn5F/zifYv84nVz/OZtW/zmZUf85l0v/OZVF/zqT
P/86kTn0OpA1S////wD///8AoWkgH59nH8OdZB7/mmEd/5heHP+VWxv/k1ka/5BWGf+OUxj/i1AX/4pP
Fv+KTxb/ik8W94pPFnGKTxYC////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AKJq
IEmgaB/onmYe/5tjHf+ZYBz/ll0b/5RaGv+RVxn/jlQY/4xRF/+KTxb/i04V/4BZH/9LjFD/N55d/zmb
Vv85mVH/OZdL/zmVRf86kz//OpE6xjqQNhX///8A////AP///wCeZh9BnWQe5ZpiHf+YXhz/lVsb/5NZ
Gv+QVhn/jlMY/4tQF/+KTxb/ik8W/4pPFv+KTxbmik8WRv///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wCjayEDoGgfdZ5mHvmbYx3/mWAc/5ZdG/+UWhr/kVcZ/45UGP+MURf/ik8W/4pP
Fv+LThX/dmIo/0GUVP84nFf/OZlR/zmXS/85lUX/OpM//zqROoD///8A////AP///wD///8AoGghApxj
HXGaYR33mF4c/5VbG/+TWRr/kFYZ/45TGP+LUBf/ik8W/4pPFv+KTxb/ik8W/4pPFsiKTxYk////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AKBoHw6dZR6mm2Md/5lgHP+WXRv/lFoa/5FX
Gf+OVBj/jFEX/4pPFv+KTxb/ik8W/4pPFv9obzL/PJhU/zmZUf85l0v/OZVF/zqTP+o6kjw4////AP//
/wD///8A////AP///wCcZB0NmmEcn5hfHP+VWxv/k1ka/5BWGf+OUxj/i1AX/4pPFv+KTxb/ik8W/4pP
Fv+KTxb/ik8Wm4pPFgr///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AnGQeKpti
HdCZYBz/ll0b/5RaGv+RVxn/jlQY/4xRF/+KTxb/ik8W/4pPFv+KTxb/h1IY/1l9PP85mVH/OZdL/zmV
Rf86k0C0OpI7C////wD///8A////AP///wD///8A////AJlgHCOYXhzHlVsb/5NZGv+QVhn/jlMY/4tQ
F/+KTxb/ik8W/4pPFv+KTxb/ik8W/4pPFvaKTxZm////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wCbYh1PmF8c6pZdG/+UWhr/kVcZ/45UGP+MURf/ik8W/4pPFv+KTxb/ik8W/4tO
Ff9/WR7/S4hD/ziYTP85lUX9OZRBaP///wD///8A////AP///wD///8A////AP///wD///8Al10bR5Vb
G+eTWRr/kFYZ/45TGP+LUBf/ik8W/4pPFv+KTxb/ik8W/4pPFv+KTxb/ik8WzYpPFhj///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8AnWQeA5hfHHyWXRv6lFoa/5FXGf+OVBj/jFEX/4pP
Fv+KTxb/ik8W/4pPFv+KTxb/i04V/3RjJf8/kUb/OZZG3TmUQij///8A////AP///wD///8A////AP//
/wD///8A////AJhfHAOUWxp2k1ka+ZBWGf+OUxj/i1AX/4pPFv+KTxb/ik8W/4pPFv+KTxb/ik8W/4pP
FvKKTxZC////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wCXXxwRllwbq5Ra
Gv+RVxn/jlQY/4xRF/+KTxb/ik8W/4pPFv+KTxb/ik8W/4pPFv+JUBf/Vn03/ziXR545kz8E////AP//
/wD///8A////AP///wD///8A////AP///wD///8AlFoaEJJYGaSQVhn/jlMY/4tQF/+KTxb/ik8W/4pP
Fv+KTxb/ik8W/4pPFv+KTxb3ik8WVv///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AJVcGi+TWhrTkVcZ/45UGP+MURf/ik8W/4pPFv+KTxb/ik8W/4pPFv+KTxb/i04W/2pr
Kvc5lkdR////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wCSWBknkFYZy45T
GP+LUBf/ik8W/4pPFv+KTxb/ik8W/4pPFv+KTxb/ik8W7YpPFjf///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8Ak1kaVJFXGe2OVBj/jFEX/4pPFv+KTxb/ik8W/4pP
Fv+KTxb/ik8W/4pPFv92YSPPO5RHGv///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AI9VGE6OUxjri1AX/4pPFv+KTxb/ik8W/4pPFv+KTxb/ik8W/4pPFrmKTxYQ////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AJNaGQWRVhmCjlQY+4xR
F/+KTxb/ik8W/4pPFv+KTxb/ik8W/4pPFv+JTxb/fVsemwDdfAH///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wCQVhkDjVIXd4tQF/WKTxb/ik8W/4pPFv+KTxb/ik8W/4pP
FuGKTxZF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8AkFYZFY1VGbSMURf/ik8W/4pPFv+KTxb/ik8W/4pPFv+KTxb/iFEX8IFYHEf///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AI1SFwuKTxZnik8W0opP
FvOKTxb3ik8W74pPFryKTxZHik8WAv///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wCJVxwyi1IY0opPFv+KTxb/ik8W/4pPFv+KTxb/iVAX+YZT
GYZ3YSMH////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8Aik8WAopPFhyKTxY/ik8WUYpPFjiKTxYR////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AIpSGDGKUBejik8W5opP
FvOKTxbyiVAX0YhRGHCEVRsM////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8AiFEYCYpPFiqKTxZCik8WO4dRGBqIURgC////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////////////////////////////////////////////////////////////////////////
//////////////////////////////////////8+OP/////EAAwAEAf//8AADAAAB///wAAEAgAH///A
AIQDAAf//8AABAAEB///wAAMAAQH///AAAwQBEf//////////////////////////////////////wH/
gf/////+AP8A//+A//4AfgD//wB//AA+AH/+AH/8AD4Af/4AP/wAHgB//AAf/AAOAP/8AA/4AAcA//4A
D/gABwH//gAH8AADw//+AAPwAAH///8AAfAAAP///4AB4AAA////gADgAAB////AAGAAAD///+AAAAAA
H///8AAAAAAf///wAAAAAA////gAAAAAB////AAABgAD///+AAAHAAP///4AAA8AAf///wAAD4AA////
gAAPwAD////AAB/gAH///8AAH+AAf///4AAf8AB////wAD/4AH////gAP/wAf///+AA//AD////8AH/+
AP////4Af/8D/////wD/////////gf//////////////////////////////////////////////////
//////////////////////////////////////////////////8=
</value>
</data>
</root>
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Runtime.InteropServices;
......@@ -31,11 +32,20 @@ namespace OnlineStore
/// <returns></returns>
public bool IsValidConnection()
{
bool cRet = false;
using (var network = new NetworkConnection($"{networkPath}", networkCredential))
{
var result = network.Connect();
return result == 0;
cRet = result == 0;
}
if (!cRet)
{
if (Directory.Exists(networkPath))
{
return true;
}
}
return cRet;
}
/// <summary>
/// 创建文件
......
......@@ -125,7 +125,7 @@ namespace DeviceLibrary
Msg.add(msg, MsgLevel.warning);
return;
}
if (LabelMoveInfo.MoveParam.codeInfos==null&&LabelMoveInfo.MoveParam.codeInfos.Count==0)
if (LabelMoveInfo.MoveParam.codeInfos == null || LabelMoveInfo.MoveParam.codeInfos.Count == 0)
{
break;
}
......
......@@ -11,14 +11,14 @@ namespace DeviceLibrary
{
public class DataUploadUtil
{
private static string smb_path = ConfigAppSettings.GetValue(Setting_Init.SMB_Path);
public static string smb_path = ConfigAppSettings.GetValue(Setting_Init.SMB_Path);
private static string smb_uname = ConfigAppSettings.GetValue(Setting_Init.SMB_UserName);
private static string smb_pwd =ConfigAppSettings.GetValue(Setting_Init.SMB_Pwd);
private static string title_ri = ConfigAppSettings.GetValue(Setting_Init.FileTitle_RID);
private static string title_pn = ConfigAppSettings.GetValue(Setting_Init.FileTitle_PN);
private static string title_qty = ConfigAppSettings.GetValue(Setting_Init.FileTitle_QTY);
private static string storage_value = ConfigAppSettings.GetValue(Setting_Init.SMB_StorageUnitValue);
public static string title_ri = ConfigAppSettings.GetValue(Setting_Init.FileTitle_RID);
public static string title_pn = ConfigAppSettings.GetValue(Setting_Init.FileTitle_PN);
public static string title_qty = ConfigAppSettings.GetValue(Setting_Init.FileTitle_QTY);
public static string storage_value = ConfigAppSettings.GetValue(Setting_Init.SMB_StorageUnitValue);
//[2024-06-18 23:23:24,907][24] INFO 调用 PrintLabel 打印标签 StartPrintLabel
// ,[PON=101003292, POL=00050, QTY=10000, MPN=CL05B104KP5NNNC,
// MPG=SAMSUNG EM, D/C=31.01.20, P/N=1012004106, S/N=20230901, SHP=00052120, LOT=Y233466517, NB=SA001256] 开始
......@@ -71,14 +71,22 @@ namespace DeviceLibrary
}
return defV;
}
public static void LabelUpload(Dictionary<string, string> data )
public static bool CanUpload()
{
if (fileContainer != null && fileContainer.IsValidConnection())
{
return true;
}
return false;
}
public static void LabelUpload(Dictionary<string, string> data )
{
Task.Factory.StartNew(() =>
{
try
{
if (fileContainer != null)
if (fileContainer==null)
{
}
......@@ -98,20 +106,20 @@ namespace DeviceLibrary
int col = titleArray.Length;
for (int index = 0; index < col; index++)
{
string tilte = titleArray[index];
if (title == "ReelID")
string thisTitle = titleArray[index];
if (thisTitle== "ReelID")
{
rows.Add(rid);
}
else if (title == "PartNumber")
else if (thisTitle == "PartNumber")
{
rows.Add(pn);
}
else if (title == "InitialQuantity")
else if (thisTitle == "InitialQuantity")
{
rows.Add(qty);
}
else if (title == "StorageUnit")
else if (thisTitle == "StorageUnit")
{
rows.Add(storage_value);
}
......@@ -124,7 +132,7 @@ namespace DeviceLibrary
string con = title + "\r\n" + line;
fileContainer.CreateFile(fileName, con);
lastFileInfo="["+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "]: " + fileName+"\t"+line;
LogUtil.error($"共享文件夹{smb_path} 创建文件{fileName}完成 ");
LogUtil.error($"共享文件夹{smb_path} 创建文件{fileName}完成 ");
}
else
......@@ -142,7 +150,7 @@ namespace DeviceLibrary
{
LogUtil.error("LabelDataProcess 出错:" + ex.ToString());
}
});
});
}
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!