init: 潍柴发动机线 中央控制程序 项目首次入库

This commit is contained in:
XingCheng3
2026-06-08 12:05:16 +08:00
commit 196c66b9ff
547 changed files with 379162 additions and 0 deletions

View File

@@ -0,0 +1,257 @@
namespace ExternalDataSync
{
partial class F_StationManage
{
/// <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(F_StationManage));
this.btn_Station_Add = new System.Windows.Forms.Button();
this.btn_Station_Update = new System.Windows.Forms.Button();
this.btn_Station_Delete = new System.Windows.Forms.Button();
this.dgv_Station = new System.Windows.Forms.DataGridView();
this.cmb_Area = new System.Windows.Forms.ComboBox();
this.label1 = new System.Windows.Forms.Label();
this.ID = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.MES = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.PLC = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
((System.ComponentModel.ISupportInitialize)(this.dgv_Station)).BeginInit();
this.SuspendLayout();
//
// btn_Station_Add
//
this.btn_Station_Add.Font = new System.Drawing.Font("宋体", 10F);
this.btn_Station_Add.Location = new System.Drawing.Point(239, 6);
this.btn_Station_Add.Name = "btn_Station_Add";
this.btn_Station_Add.Size = new System.Drawing.Size(53, 28);
this.btn_Station_Add.TabIndex = 47;
this.btn_Station_Add.Text = "增加";
this.btn_Station_Add.UseVisualStyleBackColor = true;
this.btn_Station_Add.Click += new System.EventHandler(this.btn_Station_Add_Click);
//
// btn_Station_Update
//
this.btn_Station_Update.Font = new System.Drawing.Font("宋体", 10F);
this.btn_Station_Update.Location = new System.Drawing.Point(298, 6);
this.btn_Station_Update.Name = "btn_Station_Update";
this.btn_Station_Update.Size = new System.Drawing.Size(53, 28);
this.btn_Station_Update.TabIndex = 47;
this.btn_Station_Update.Text = "修改";
this.btn_Station_Update.UseVisualStyleBackColor = true;
this.btn_Station_Update.Click += new System.EventHandler(this.btn_Station_Update_Click);
//
// btn_Station_Delete
//
this.btn_Station_Delete.Font = new System.Drawing.Font("宋体", 10F);
this.btn_Station_Delete.Location = new System.Drawing.Point(357, 7);
this.btn_Station_Delete.Name = "btn_Station_Delete";
this.btn_Station_Delete.Size = new System.Drawing.Size(53, 28);
this.btn_Station_Delete.TabIndex = 47;
this.btn_Station_Delete.Text = "删除";
this.btn_Station_Delete.UseVisualStyleBackColor = true;
this.btn_Station_Delete.Click += new System.EventHandler(this.btn_Station_Delete_Click);
//
// dgv_Station
//
this.dgv_Station.AllowUserToAddRows = false;
this.dgv_Station.AllowUserToDeleteRows = false;
this.dgv_Station.AllowUserToResizeColumns = false;
this.dgv_Station.AllowUserToResizeRows = false;
this.dgv_Station.BackgroundColor = System.Drawing.SystemColors.ControlLightLight;
this.dgv_Station.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgv_Station.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.ID,
this.,
this.,
this.,
this.MES,
this.,
this.,
this.PLC,
this.,
this.});
this.dgv_Station.Location = new System.Drawing.Point(8, 41);
this.dgv_Station.Name = "dgv_Station";
this.dgv_Station.ReadOnly = true;
this.dgv_Station.RowHeadersVisible = false;
this.dgv_Station.RowTemplate.Height = 23;
this.dgv_Station.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dgv_Station.Size = new System.Drawing.Size(1076, 572);
this.dgv_Station.TabIndex = 52;
this.dgv_Station.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgv_Station_CellClick);
//
// cmb_Area
//
this.cmb_Area.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_Area.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cmb_Area.FormattingEnabled = true;
this.cmb_Area.Location = new System.Drawing.Point(85, 8);
this.cmb_Area.Name = "cmb_Area";
this.cmb_Area.Size = new System.Drawing.Size(125, 24);
this.cmb_Area.TabIndex = 56;
this.cmb_Area.SelectedIndexChanged += new System.EventHandler(this.cmb_Area_SelectedIndexChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.Location = new System.Drawing.Point(12, 12);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(75, 16);
this.label1.TabIndex = 55;
this.label1.Text = "区域代码";
//
// ID
//
this.ID.DataPropertyName = "ID";
this.ID.HeaderText = "ID";
this.ID.Name = "ID";
this.ID.ReadOnly = true;
this.ID.Visible = false;
//
// 工位代码
//
this..DataPropertyName = "工位代码";
this..HeaderText = "工位代码";
this..Name = "工位代码";
this..ReadOnly = true;
this..Visible = false;
this..Width = 80;
//
// 工位号
//
this..DataPropertyName = "工位号";
this..HeaderText = "工位号";
this..Name = "工位号";
this..ReadOnly = true;
this..Width = 80;
//
// 工位名称
//
this..DataPropertyName = "工位名称";
this..HeaderText = "工位名称";
this..Name = "工位名称";
this..ReadOnly = true;
this..Width = 200;
//
// 是否启用MES
//
this.MES.DataPropertyName = "是否启用MES";
this.MES.HeaderText = "是否启用MES";
this.MES.Name = "是否启用MES";
this.MES.ReadOnly = true;
//
// 工序号
//
this..DataPropertyName = "工序号";
this..HeaderText = "工序号";
this..Name = "工序号";
this..ReadOnly = true;
this..Width = 80;
//
// 工序名称
//
this..DataPropertyName = "工序名称";
this..HeaderText = "工序名称";
this..Name = "工序名称";
this..ReadOnly = true;
this..Width = 200;
//
// PLC
//
this.PLC.DataPropertyName = "PLC";
this.PLC.HeaderText = "PLC";
this.PLC.Name = "PLC";
this.PLC.ReadOnly = true;
//
// 区域代码
//
this..DataPropertyName = "区域代码";
this..HeaderText = "区域代码";
this..Name = "区域代码";
this..ReadOnly = true;
this..Width = 150;
//
// 机床类型
//
this..DataPropertyName = "机床类型";
this..HeaderText = "机床类型";
this..Name = "机床类型";
this..ReadOnly = true;
//
// F_StationManage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1091, 621);
this.Controls.Add(this.cmb_Area);
this.Controls.Add(this.label1);
this.Controls.Add(this.btn_Station_Add);
this.Controls.Add(this.dgv_Station);
this.Controls.Add(this.btn_Station_Update);
this.Controls.Add(this.btn_Station_Delete);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(2);
this.MaximizeBox = false;
this.Name = "F_StationManage";
this.ShowIcon = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "工位管理";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormMain_FormClosing);
this.Load += new System.EventHandler(this.Form_MoveSqlTable_Load);
((System.ComponentModel.ISupportInitialize)(this.dgv_Station)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button btn_Station_Add;
private System.Windows.Forms.Button btn_Station_Update;
private System.Windows.Forms.Button btn_Station_Delete;
private System.Windows.Forms.DataGridView dgv_Station;
private System.Windows.Forms.ComboBox cmb_Area;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.DataGridViewTextBoxColumn ID;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn MES;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn PLC;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
}
}

View File

@@ -0,0 +1,247 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using static DataLinkMesWork.SQLCommon;
using System.Windows.Forms;
using SlMesDbIterface;
using MesToMs;
using System.Reflection;
using ConverterBytesAndStruct;
using MesWork;
using DC_A95;
using NPOI.SS.Formula.Functions;
using System.Security.Cryptography;
namespace ExternalDataSync
{
/// <summary>
///
/// </summary>
public partial class F_StationManage : Form
{
/// <summary>
///
/// </summary>
private static string Curr_Station_AID = "";
/// <summary>
///
/// </summary>
private static string Curr_工位代码 = "";
/// <summary>
///
/// </summary>
private static string Curr_StationName = "";
/// <summary>
///
/// </summary>
private static string Curr_工位名称 = "";
/// <summary>
///
/// </summary>
private static string Curr_工序号 = "";
/// <summary>
///
/// </summary>
private static string Curr_工序名称 = "";
/// <summary>
///
/// </summary>
private static string Curr_PLC = "";
/// <summary>
///
/// </summary>
private static string Curr_区域代码 = "";
/// <summary>
///
/// </summary>
private static string Curr_机床类型 = "";
/// <summary>
///
/// </summary>
private static string Curr_是否启用MES = "";
/// <summary>
///
/// </summary>
public F_StationManage()
{
InitializeComponent();
var sql_area = $" SELECT [区域代码] FROM [MES_计划BOM_工位与名称] group by [区域代码]";
SqlOperation.ExecuteSql(sql_area, out DataTable dt_area, out string error);
DataRow emptyRow = dt_area.NewRow();
emptyRow[0] = "";
dt_area.Rows.InsertAt(emptyRow, 0);
this.cmb_Area.ValueMember = "区域代码";
this.cmb_Area.DisplayMember = "区域代码";
this.cmb_Area.DataSource = dt_area;
Refresh_Station();
}
private void Form_MoveSqlTable_Load(object sender, EventArgs e)
{
}
private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
{
//if (MessageBox.Show("确认要退出吗?", "", MessageBoxButtons.YesNo) == DialogResult.Yes)
//{
//}
//else
//{
// e.Cancel = true;
//}
}
#region
private void btn_Station_Add_Click(object sender, EventArgs e)
{
var dlg = new D_Station(From_Opera.Insert, Curr_StationName, Curr_工位名称, Curr_工序号, Curr_工序名称, Curr_PLC
, Curr_区域代码, Curr_机床类型, Curr_是否启用MES
);
if (dlg.ShowDialog() == DialogResult.OK)
{
var D_StationName = dlg.D_StationName;
var D_工位名称 = dlg.D_工位名称;
var D_工序号 = dlg.D_工序号;
var D_工序名称 = dlg.D_工序名称;
var D_PLC = dlg.D_PLC;
var D_区域代码 = dlg.D_区域代码;
var D_机床类型 = dlg.D_机床类型;
var D_是否启用MES = dlg.D_是否启用MES;
var name = "Event_工位_增加";
var sqlParameter = new SqlParameter[] {
new SqlParameter("@工位号", D_StationName),
new SqlParameter("@工位名称", D_工位名称),
new SqlParameter("@工序号", D_工序号),
new SqlParameter("@工序名称", D_工序名称),
new SqlParameter("@PLC", D_PLC),
new SqlParameter("@区域代码", D_区域代码),
new SqlParameter("@机床类型", D_机床类型),
new SqlParameter("@是否启用MES", D_是否启用MES)
};
SqlOperation.ExecuteStoredProcedure(name, sqlParameter, out string error);
Refresh_Station();
}
}
private void btn_Station_Update_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(Curr_StationName))
{
MessageBox.Show("请选择一个工位!");
return;
}
var dlg = new D_Station(From_Opera.Update, Curr_StationName, Curr_工位名称, Curr_工序号, Curr_工序名称, Curr_PLC
, Curr_区域代码, Curr_机床类型, Curr_是否启用MES);
if (dlg.ShowDialog() == DialogResult.OK)
{
var D_StationName = dlg.D_StationName;
var D_工位名称 = dlg.D_工位名称;
var D_工序号 = dlg.D_工序号;
var D_工序名称 = dlg.D_工序名称;
var D_PLC = dlg.D_PLC;
var D_区域代码 = dlg.D_区域代码;
var D_机床类型 = dlg.D_机床类型;
var D_是否启用MES = dlg.D_是否启用MES;
var name = "Event_工位_修改";
var sqlParameter = new SqlParameter[] {
new SqlParameter("@工位号", D_StationName),
new SqlParameter("@工位名称", D_工位名称),
new SqlParameter("@工序号", D_工序号),
new SqlParameter("@工序名称", D_工序名称),
new SqlParameter("@PLC", D_PLC),
new SqlParameter("@区域代码", D_区域代码),
new SqlParameter("@机床类型", D_机床类型),
new SqlParameter("@是否启用MES", D_是否启用MES)
};
SqlOperation.ExecuteStoredProcedure(name, sqlParameter, out string error);
Refresh_Station();
}
}
private void btn_Station_Delete_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(Curr_StationName))
{
MessageBox.Show("请选择一个工位!");
return;
}
if (MessageBox.Show($"确认删除工位?工位号:{Curr_StationName}", "", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
if (MessageBox.Show($"再次 确认删除工位?工位号:{Curr_StationName}", "", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
//SELECT[AID],[产品名称],[机型号],[机型名称],[操作时间],[备注] FROM[配方_大柴_机型]
//SELECT[AID],[机型号],[区域代码],[工位号],[配方号],[操作时间],[备注] FROM[配方_大柴_机型配方]
var name = "Event_工位_删除";
var sqlParameter = new SqlParameter[] {
new SqlParameter("@工位号", Curr_StationName)
};
SqlOperation.ExecuteStoredProcedure(name, sqlParameter, out string error);
Refresh_Station();
}
}
}
#endregion
private void Refresh_Station()
{
var sql = $@" SELECT [ID],[工位代码],[工位号],[工位名称],[工序号],[工序名称],[是否启用MES],[PLC],[区域代码],[机床类型] ";
sql += "FROM [MES_计划BOM_工位与名称] ";
sql += cmb_Area.Text!=""? $"Where 区域代码='{cmb_Area.Text}' ":"";
sql += " ORDER BY [工位号]";
SqlOperation.ExecuteSql(sql, out DataTable dt, out string error);
dgv_Station.DataSource = dt;
}
private void dgv_Station_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex > -1)
{
Curr_Station_AID = dgv_Station.CurrentRow.Cells["ID"].Value.ToString();
Curr_工位代码 = dgv_Station.CurrentRow.Cells["工位代码"].Value.ToString();
Curr_StationName = dgv_Station.CurrentRow.Cells["工位号"].Value.ToString();
Curr_工位名称 = dgv_Station.CurrentRow.Cells["工位名称"].Value.ToString();
Curr_工序号 = dgv_Station.CurrentRow.Cells["工序号"].Value.ToString();
Curr_工序名称 = dgv_Station.CurrentRow.Cells["工序名称"].Value.ToString();
Curr_PLC = dgv_Station.CurrentRow.Cells["PLC"].Value.ToString();
Curr_区域代码 = dgv_Station.CurrentRow.Cells["区域代码"].Value.ToString();
Curr_机床类型 = dgv_Station.CurrentRow.Cells["机床类型"].Value.ToString();
Curr_是否启用MES = dgv_Station.CurrentRow.Cells["是否启用MES"].Value.ToString();
}
}
private void cmb_Area_SelectedIndexChanged(object sender, EventArgs e)
{
StationList_Binding(cmb_Area.SelectedValue.ToString());
}
private void StationList_Binding(string areaname)
{
Refresh_Station();
}
}
}

View File

@@ -0,0 +1,230 @@
<?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>
<metadata name="ID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="工位代码.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="工位号.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="工位名称.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="是否启用MES.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="工序号.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="工序名称.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PLC.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="区域代码.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="机床类型.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>25</value>
</metadata>
<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>
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAODg4AP///wAAAAAEAAAAAWRkZAALCwsAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjo6OAAAAACAgICBkR0dHllpaWqtPT0+fLCwsdAAA
ADIAAAACAAAAAAkJCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAMAAA
ADIAAAAxAAAAMgAAADIAAAAyAAAAMgAAADEAAAA0AQEBFAAAAAYgICBlenp61sPDw/7k5OT/7Ozs/+jo
6P/Q0ND/kpKS6Dc3N4oAAAAXCAgIABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AA8AAABwAAAArQAAAGQAAABWAAAAVQAAAFUAAABZAAAAnQAAAJQAAAAsMzMzfqqqqvjy8vL/xMTD/5WS
jv+OiIL/kY2H/7KxsP/t7u7/ycnJ/1JSUq8AAAAXAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABSAAAAUQAAACgAAABQAAAAPgAAAC4AAAB2AAAACRoaGlanp6f18PHx/5GN
iv+Xh3T/zLSY/9zCpP/Uup3/qZaA/4N9dv/c3Nz/z8/P/z09PY4AAAAEAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAB3AAAAMQAAAEYAAAA3AAAAZwAAADkAAAAQZmZmx+/v
7/+Uko//rJiB//DUtP/x1bX/8NS0//LWtf/nzK3/vKaM/4B6cv/r6+z/lJSU6wICAkIAAAAAAAAAAAAA
AAgAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAADAAAAHMAAAAlAAAABQEBAQsAAAB3AAAAHQgI
CEqtra331tbW/4+Bcv/u0rL/79Oz/+/Ts//nzKz/3MKl/4h4Zv/Kspf/r5uE/66tq//X2Nj/NjY2lAAA
AAUAAABRAAAAeQAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAkwAAAIIAAAB2AAAAeA4O
DqFAQUC1NDU009HR0f+urav/t6KJ//LWtf/x1LT/uqWN/4F5b/9oXlP/sZyE//HVtP/YvqH/j4mE/+vr
6/9UVFTHAAAANgAAAG4AAAARAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAALAAAADAAA
AA0AAAAKoKKgOL3AvfB3eHf/2NjY/6Ognf/ErZP/8tW1/+/Ts/+NgHH/tLW3/354cf/ix6j/8NS0/+LH
qP+LhHz/6+zs/11dXdUAAABOAAAAVwAAABEAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAA
ABUAAAAVAAAAFQAAABN8fnw3t7q353d4d//Nzc3/srGw/7Oehv/y1rb/8NS0/8ewlv9iWlL/pJJ9/+/T
s//x1LT/1bue/5GMh//q6uv/UVFRwgAAAE8AAACSAAAAawAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAA
AG0AAABtAAAAbQAAAG0AAABtAAAAbAwMDHNmZ2baWlta/6Ojo//d3d7/i39x/+zQsP/w1LT/8NS0/4p6
Z//Uu57/8dW0//LWtf+lkn3/t7a1/9DQ0P8tLS2LAAAATQAAAEoAAAAAAAAAAQAAAAIAAAACAAAAAgAA
AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAMXIxX+4u7j/d3h3/+vr7P+npaP/o5F8/+zQ
sP/y1rX/s56G/+DGqP/y1rX/v6iO/42Igv/w8fH/hoaG4wAAADYAAABNAAAARwAAAAAAAABEAAAAYQAA
AGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABeNDU0g3l7efFTVFP/j4+P//X2
9v+fnZv/iHtt/7iiiv/Lspf/waqQ/5WGc/+JhYD/6enp/7+/v/0uLi58AAAAAQAAAE0AAABGAAAAHQAA
AHUAAAApAAAAKAAAACcAAAAlAAAAJQAAACgAAAAnAAAAJQAAACUAAAAoAAAAJgAAACUAAAAjhYeGeams
qfiBg4D/mZmZ/+3t7f/V1dX/p6ak/5aTj/+gnZv/xsbF//Dw8P+0tLT9Pz8/mQAAAA0AAAAAAAAATQAA
AEUAAAAlAAAAXwAAAAACAgUAAgMHLg0QKXkKDCBqAAAADAQFDDYOESx7CQobYgAAAAcFBhBDDxEufAUH
FVqNjoYSdnh7u2psef9SU1b/eXl4/6+vr//X19f/4uLi/9vb3P++vr77eXl51iUlJXEAAAAOAAAAAAQE
BAAAAABNAAAARQAAACUAAABhAAAAAA4QKwAJChtqNT+m/ygvfucAAAAiDhEtejlDsP8iKGvWAAAAFBQX
PZY6Rbb/HCBWyAAAABETF0OtN0K3/1BUdP6ytbD/lpiW/21ubf9gYWD/dHZ0/yQlJLEAAAAd8vLyAAAA
AAACAgIAAAAAAAAAAE0AAABFAAAAJQAAAGEAAAAADA4lAAgJGGUsNIv6Iihp3QAAACAQEzF7P0rD/yYt
dtcAAAAVFxxJlUZS2f8hJ2bGAAAAEhofUq5FUtr/NDlqyb/Cu4jO0c7GmJuY6YOFg/OxtLHvLS4tkLe6
twAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAEUAAAAlAAAAYQAAAAABAgQAAQEDGwQFDUgDBAs+AAAABgYH
ElEWGUOzDRAqkAAAAA0WGkWYQU3L/x8kYMkAAAASGh9RrkZS2P8cIVquAAAAA////wxCQ0JTODk4cnV3
dUIJCQl1AAAAAQAAAAAAAAAAAAAAAAAAAAAAAABNAAAARQAAACUAAABhAAAAAAICBQABAQMABgcUAAQF
DQAAAAAAEBMxAAAAAAEAAAABICZlAAkLHGQZHk+1DA8nhQAAAA0aH1KwRlPb/x4jXLAAAAAFLCwsAAAA
ADYAAABQAAAAGQAAAHADAwMCAAAAAAAAAAAAAAAAAAAAAAAAAE0AAABFAAAAJQAAAGEAAAAAAAAAAAAA
AAAAAAAuAAAAZwAAAF8AAABWAAAASQAAACwAAAEOAAAAAQAAAAEAAAACAAAABBEUNKEsNIn1ExY7oQAA
AAQAAAAAAAAAOAAAAFIAAAAbAAAAcAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAATQAAAEUAAAAlAAAAYQAA
AAAAAAAAAAAAAAAAAAsAAAAhAAAALAAAADYAAABFAAAAYwAAAHQAAABoAAAAQgAAAAsAAAAAAAAAHwAA
ADMAAAAgAgIFAAAAAAAAAAA4AAAAUgAAABsAAABwAAAAAgAAAAAAAAAAAAAAAAAAAAAAAABNAAAARQAA
ACUAAABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAACsAAABeAAAAeAAA
ADMBAQQAAQEEAAEBAwAAAAAAAAAAAAAAADgAAABSAAAAGwAAAHAAAAACAAAAAAAAAAAAAAAAAAAAAAAA
AE0AAABFAAAAJQAAAGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAjAAAAbQAAAGQAAAAZAAAAAAAAAAAAAAAAAAAAOAAAAFIAAAAbAAAAcAAAAAIAAAAAAAAAAAAA
AAAAAAAAAAAATQAAAEUAAAAlAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAADAAAAPQAAAEYAAAABAAAAAAAAAAAAAAA3AAAAUgAAABsAAABwAAAAAgAA
AAAAAAAAAAAAAAAAAAAAAABNAAAARQAAACQAAABmAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAA
AAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAACAAAABAAAAAQAAAAEAAAAAQAAAD8AAABSAAAAGwAA
AHAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAE0AAABGAAAACgAAAG0AAABuAAAAbAAAAG0AAABtAAAAbQAA
AG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABtAAAAbQAAAG0AAABsAAAAbQAAAG0AAABsAAAAeQAA
ACoAAAAcAAAAcQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAARAAAAF8AAAAAAAAABgAAABMAAAATAAAAEwAA
ABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAA
ABQAAAAMAAAAAAAAADAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAcQAAAGwAAABgAAAAYAAA
AGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAA
AGAAAABgAAAAYAAAAGAAAABkAAAAegAAACsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAJAAA
ACkAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAA
ACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA///AAf4AAAD+AAAA/gAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAHAAAABwAAAAcAAAAHAAAABwPAAAcAAAAHAAAABwAA
AAcAAAAHAAAABwAAAAcAAAAH//////////8=
</value>
</data>
</root>