Browse Source

视界产测工具对接

yhluo 3 months ago
parent
commit
f8ab017fa2

+ 478 - 0
UAS_MES_JWS/FunctionCode/Make/Make_ProductTest.Designer.cs

@@ -0,0 +1,478 @@
+namespace UAS_MES_NEW.Make
+{
+    partial class Make_ProductTest
+    {
+        /// <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(Make_ProductTest));
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.snDetail = new System.Windows.Forms.GroupBox();
+            this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
+            this.prodNameVal = new System.Windows.Forms.Label();
+            this.prodVal = new System.Windows.Forms.Label();
+            this.snVal = new System.Windows.Forms.Label();
+            this.prodName_lab = new System.Windows.Forms.Label();
+            this.prod_lab = new System.Windows.Forms.Label();
+            this.sn_lab = new System.Windows.Forms.Label();
+            this.wo_lab = new System.Windows.Forms.Label();
+            this.woVal = new System.Windows.Forms.Label();
+            this.panel3 = new System.Windows.Forms.Panel();
+            this.dgv = new System.Windows.Forms.DataGridView();
+            this.GetSNCode_Label = new System.Windows.Forms.Label();
+            this.panel4 = new System.Windows.Forms.Panel();
+            this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.dataGridViewTextBoxColumn5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Query = new UAS_MES_NEW.CustomControl.ButtonUtil.NormalButton();
+            this.GetSNCode = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.SnCollectionBox();
+            this.OperatResult = new UAS_MES_NEW.CustomControl.RichText.RichTextAutoBottom();
+            this.Clean = new UAS_MES_NEW.CustomControl.ButtonUtil.NormalButton();
+            this.MacDetail = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.testNameChinese = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.isCheck = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.testName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.result = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.panel1.SuspendLayout();
+            this.snDetail.SuspendLayout();
+            this.tableLayoutPanel1.SuspendLayout();
+            this.panel3.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgv)).BeginInit();
+            this.panel4.SuspendLayout();
+            this.SuspendLayout();
+            // 
+            // panel1
+            // 
+            this.panel1.Controls.Add(this.snDetail);
+            this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
+            this.panel1.Location = new System.Drawing.Point(0, 0);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(1578, 218);
+            this.panel1.TabIndex = 132;
+            // 
+            // snDetail
+            // 
+            this.snDetail.Controls.Add(this.tableLayoutPanel1);
+            this.snDetail.Font = new System.Drawing.Font("微软雅黑", 12F);
+            this.snDetail.Location = new System.Drawing.Point(12, 22);
+            this.snDetail.Name = "snDetail";
+            this.snDetail.Size = new System.Drawing.Size(1872, 158);
+            this.snDetail.TabIndex = 0;
+            this.snDetail.TabStop = false;
+            this.snDetail.Text = "工单信息";
+            // 
+            // tableLayoutPanel1
+            // 
+            this.tableLayoutPanel1.ColumnCount = 8;
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 7F));
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 14F));
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 7F));
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 18F));
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 7F));
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 18F));
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 7F));
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 22F));
+            this.tableLayoutPanel1.Controls.Add(this.prodNameVal, 7, 0);
+            this.tableLayoutPanel1.Controls.Add(this.prodVal, 5, 0);
+            this.tableLayoutPanel1.Controls.Add(this.snVal, 3, 0);
+            this.tableLayoutPanel1.Controls.Add(this.prodName_lab, 6, 0);
+            this.tableLayoutPanel1.Controls.Add(this.prod_lab, 4, 0);
+            this.tableLayoutPanel1.Controls.Add(this.sn_lab, 2, 0);
+            this.tableLayoutPanel1.Controls.Add(this.wo_lab, 0, 0);
+            this.tableLayoutPanel1.Controls.Add(this.woVal, 1, 0);
+            this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 35);
+            this.tableLayoutPanel1.Name = "tableLayoutPanel1";
+            this.tableLayoutPanel1.RowCount = 1;
+            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
+            this.tableLayoutPanel1.Size = new System.Drawing.Size(1866, 120);
+            this.tableLayoutPanel1.TabIndex = 0;
+            // 
+            // prodNameVal
+            // 
+            this.prodNameVal.Anchor = System.Windows.Forms.AnchorStyles.Left;
+            this.prodNameVal.AutoSize = true;
+            this.prodNameVal.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.prodNameVal.Location = new System.Drawing.Point(1455, 44);
+            this.prodNameVal.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.prodNameVal.Name = "prodNameVal";
+            this.prodNameVal.Size = new System.Drawing.Size(0, 31);
+            this.prodNameVal.TabIndex = 66;
+            // 
+            // prodVal
+            // 
+            this.prodVal.Anchor = System.Windows.Forms.AnchorStyles.Left;
+            this.prodVal.AutoSize = true;
+            this.prodVal.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.prodVal.Location = new System.Drawing.Point(990, 44);
+            this.prodVal.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.prodVal.Name = "prodVal";
+            this.prodVal.Size = new System.Drawing.Size(0, 31);
+            this.prodVal.TabIndex = 65;
+            // 
+            // snVal
+            // 
+            this.snVal.Anchor = System.Windows.Forms.AnchorStyles.Left;
+            this.snVal.AutoSize = true;
+            this.snVal.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.snVal.Location = new System.Drawing.Point(525, 44);
+            this.snVal.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.snVal.Name = "snVal";
+            this.snVal.Size = new System.Drawing.Size(0, 31);
+            this.snVal.TabIndex = 64;
+            // 
+            // prodName_lab
+            // 
+            this.prodName_lab.Anchor = System.Windows.Forms.AnchorStyles.None;
+            this.prodName_lab.AutoSize = true;
+            this.prodName_lab.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.prodName_lab.Location = new System.Drawing.Point(1327, 29);
+            this.prodName_lab.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.prodName_lab.Name = "prodName_lab";
+            this.prodName_lab.Size = new System.Drawing.Size(117, 62);
+            this.prodName_lab.TabIndex = 61;
+            this.prodName_lab.Text = "产品名称 :";
+            // 
+            // prod_lab
+            // 
+            this.prod_lab.Anchor = System.Windows.Forms.AnchorStyles.None;
+            this.prod_lab.AutoSize = true;
+            this.prod_lab.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.prod_lab.Location = new System.Drawing.Point(862, 29);
+            this.prod_lab.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.prod_lab.Name = "prod_lab";
+            this.prod_lab.Size = new System.Drawing.Size(117, 62);
+            this.prod_lab.TabIndex = 62;
+            this.prod_lab.Text = "产品编号 :";
+            // 
+            // sn_lab
+            // 
+            this.sn_lab.Anchor = System.Windows.Forms.AnchorStyles.None;
+            this.sn_lab.AutoSize = true;
+            this.sn_lab.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.sn_lab.Location = new System.Drawing.Point(406, 44);
+            this.sn_lab.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.sn_lab.Name = "sn_lab";
+            this.sn_lab.Size = new System.Drawing.Size(99, 31);
+            this.sn_lab.TabIndex = 38;
+            this.sn_lab.Text = "序列号 :";
+            // 
+            // wo_lab
+            // 
+            this.wo_lab.Anchor = System.Windows.Forms.AnchorStyles.None;
+            this.wo_lab.AutoSize = true;
+            this.wo_lab.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.wo_lab.Location = new System.Drawing.Point(15, 44);
+            this.wo_lab.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.wo_lab.Name = "wo_lab";
+            this.wo_lab.Size = new System.Drawing.Size(99, 31);
+            this.wo_lab.TabIndex = 37;
+            this.wo_lab.Text = "工单号 :";
+            // 
+            // woVal
+            // 
+            this.woVal.Anchor = System.Windows.Forms.AnchorStyles.Left;
+            this.woVal.AutoSize = true;
+            this.woVal.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.woVal.Location = new System.Drawing.Point(134, 44);
+            this.woVal.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.woVal.Name = "woVal";
+            this.woVal.Size = new System.Drawing.Size(0, 31);
+            this.woVal.TabIndex = 63;
+            // 
+            // panel3
+            // 
+            this.panel3.Controls.Add(this.Query);
+            this.panel3.Controls.Add(this.dgv);
+            this.panel3.Controls.Add(this.GetSNCode);
+            this.panel3.Controls.Add(this.GetSNCode_Label);
+            this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.panel3.Location = new System.Drawing.Point(0, 218);
+            this.panel3.Name = "panel3";
+            this.panel3.Size = new System.Drawing.Size(979, 650);
+            this.panel3.TabIndex = 134;
+            // 
+            // dgv
+            // 
+            this.dgv.AllowUserToAddRows = false;
+            this.dgv.AllowUserToDeleteRows = false;
+            this.dgv.BackgroundColor = System.Drawing.SystemColors.Control;
+            this.dgv.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+            this.dgv.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.MacDetail,
+            this.testNameChinese,
+            this.isCheck,
+            this.testName,
+            this.result});
+            this.dgv.Dock = System.Windows.Forms.DockStyle.Top;
+            this.dgv.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
+            this.dgv.Location = new System.Drawing.Point(0, 0);
+            this.dgv.Name = "dgv";
+            this.dgv.ReadOnly = true;
+            this.dgv.RowHeadersWidth = 62;
+            this.dgv.RowTemplate.Height = 30;
+            this.dgv.Size = new System.Drawing.Size(979, 567);
+            this.dgv.TabIndex = 136;
+            // 
+            // GetSNCode_Label
+            // 
+            this.GetSNCode_Label.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left)));
+            this.GetSNCode_Label.AutoSize = true;
+            this.GetSNCode_Label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.GetSNCode_Label.Location = new System.Drawing.Point(20, 587);
+            this.GetSNCode_Label.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.GetSNCode_Label.Name = "GetSNCode_Label";
+            this.GetSNCode_Label.Size = new System.Drawing.Size(86, 31);
+            this.GetSNCode_Label.TabIndex = 134;
+            this.GetSNCode_Label.Text = "序列号";
+            // 
+            // panel4
+            // 
+            this.panel4.Controls.Add(this.OperatResult);
+            this.panel4.Controls.Add(this.Clean);
+            this.panel4.Dock = System.Windows.Forms.DockStyle.Right;
+            this.panel4.Location = new System.Drawing.Point(979, 218);
+            this.panel4.Name = "panel4";
+            this.panel4.Size = new System.Drawing.Size(599, 650);
+            this.panel4.TabIndex = 138;
+            // 
+            // dataGridViewTextBoxColumn1
+            // 
+            this.dataGridViewTextBoxColumn1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
+            this.dataGridViewTextBoxColumn1.HeaderText = "MAC";
+            this.dataGridViewTextBoxColumn1.MinimumWidth = 8;
+            this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
+            this.dataGridViewTextBoxColumn1.Width = 150;
+            // 
+            // dataGridViewTextBoxColumn2
+            // 
+            this.dataGridViewTextBoxColumn2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
+            this.dataGridViewTextBoxColumn2.HeaderText = "测试项目";
+            this.dataGridViewTextBoxColumn2.MinimumWidth = 8;
+            this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";
+            this.dataGridViewTextBoxColumn2.Width = 150;
+            // 
+            // dataGridViewTextBoxColumn3
+            // 
+            this.dataGridViewTextBoxColumn3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
+            this.dataGridViewTextBoxColumn3.HeaderText = "测试结果";
+            this.dataGridViewTextBoxColumn3.MinimumWidth = 8;
+            this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3";
+            this.dataGridViewTextBoxColumn3.Width = 116;
+            // 
+            // dataGridViewTextBoxColumn4
+            // 
+            this.dataGridViewTextBoxColumn4.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
+            this.dataGridViewTextBoxColumn4.HeaderText = "测试结果";
+            this.dataGridViewTextBoxColumn4.MinimumWidth = 8;
+            this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4";
+            this.dataGridViewTextBoxColumn4.Width = 116;
+            // 
+            // dataGridViewTextBoxColumn5
+            // 
+            this.dataGridViewTextBoxColumn5.HeaderText = "是否检测";
+            this.dataGridViewTextBoxColumn5.MinimumWidth = 8;
+            this.dataGridViewTextBoxColumn5.Name = "dataGridViewTextBoxColumn5";
+            this.dataGridViewTextBoxColumn5.Width = 150;
+            // 
+            // Query
+            // 
+            this.Query.AllPower = null;
+            this.Query.BackColor = System.Drawing.Color.Transparent;
+            this.Query.Cursor = System.Windows.Forms.Cursors.Hand;
+            this.Query.DownImage = ((System.Drawing.Image)(resources.GetObject("Query.DownImage")));
+            this.Query.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.Query.Image = null;
+            this.Query.IsShowBorder = true;
+            this.Query.Location = new System.Drawing.Point(607, 584);
+            this.Query.Margin = new System.Windows.Forms.Padding(4);
+            this.Query.MoveImage = ((System.Drawing.Image)(resources.GetObject("Query.MoveImage")));
+            this.Query.Name = "Query";
+            this.Query.NormalImage = ((System.Drawing.Image)(resources.GetObject("Query.NormalImage")));
+            this.Query.Power = null;
+            this.Query.Size = new System.Drawing.Size(155, 37);
+            this.Query.TabIndex = 137;
+            this.Query.Tag = "IfRead";
+            this.Query.Text = "获取测试结果";
+            this.Query.UseVisualStyleBackColor = true;
+            this.Query.Click += new System.EventHandler(this.Query_Click);
+            // 
+            // GetSNCode
+            // 
+            this.GetSNCode.AllPower = null;
+            this.GetSNCode.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left)));
+            this.GetSNCode.BackColor = System.Drawing.Color.White;
+            this.GetSNCode.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.GetSNCode.ID = null;
+            this.GetSNCode.Location = new System.Drawing.Point(131, 585);
+            this.GetSNCode.Margin = new System.Windows.Forms.Padding(4);
+            this.GetSNCode.Name = "GetSNCode";
+            this.GetSNCode.Power = null;
+            this.GetSNCode.Size = new System.Drawing.Size(412, 35);
+            this.GetSNCode.Str = null;
+            this.GetSNCode.Str1 = null;
+            this.GetSNCode.Str2 = null;
+            this.GetSNCode.TabIndex = 135;
+            this.GetSNCode.Tag = "Read";
+            this.GetSNCode.KeyDown += new System.Windows.Forms.KeyEventHandler(this.GetSNCode_KeyDown);
+            // 
+            // OperatResult
+            // 
+            this.OperatResult.AcceptsTab = true;
+            this.OperatResult.Dock = System.Windows.Forms.DockStyle.Top;
+            this.OperatResult.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.OperatResult.Location = new System.Drawing.Point(0, 0);
+            this.OperatResult.Margin = new System.Windows.Forms.Padding(4);
+            this.OperatResult.Name = "OperatResult";
+            this.OperatResult.Size = new System.Drawing.Size(599, 567);
+            this.OperatResult.TabIndex = 133;
+            this.OperatResult.Text = "";
+            // 
+            // Clean
+            // 
+            this.Clean.AllPower = null;
+            this.Clean.BackColor = System.Drawing.Color.Transparent;
+            this.Clean.Cursor = System.Windows.Forms.Cursors.Hand;
+            this.Clean.DownImage = ((System.Drawing.Image)(resources.GetObject("Clean.DownImage")));
+            this.Clean.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.Clean.Image = null;
+            this.Clean.IsShowBorder = true;
+            this.Clean.Location = new System.Drawing.Point(252, 582);
+            this.Clean.Margin = new System.Windows.Forms.Padding(4);
+            this.Clean.MoveImage = ((System.Drawing.Image)(resources.GetObject("Clean.MoveImage")));
+            this.Clean.Name = "Clean";
+            this.Clean.NormalImage = ((System.Drawing.Image)(resources.GetObject("Clean.NormalImage")));
+            this.Clean.Power = null;
+            this.Clean.Size = new System.Drawing.Size(104, 38);
+            this.Clean.TabIndex = 132;
+            this.Clean.Tag = "IfRead";
+            this.Clean.Text = "清除";
+            this.Clean.UseVisualStyleBackColor = true;
+            this.Clean.Click += new System.EventHandler(this.Clean_Click);
+            // 
+            // MacDetail
+            // 
+            this.MacDetail.HeaderText = "MAC信息";
+            this.MacDetail.MinimumWidth = 8;
+            this.MacDetail.Name = "MacDetail";
+            this.MacDetail.ReadOnly = true;
+            this.MacDetail.Width = 150;
+            // 
+            // testNameChinese
+            // 
+            this.testNameChinese.HeaderText = "测试项目名称";
+            this.testNameChinese.MinimumWidth = 8;
+            this.testNameChinese.Name = "testNameChinese";
+            this.testNameChinese.ReadOnly = true;
+            this.testNameChinese.Width = 150;
+            // 
+            // isCheck
+            // 
+            this.isCheck.HeaderText = "是否检测";
+            this.isCheck.MinimumWidth = 8;
+            this.isCheck.Name = "isCheck";
+            this.isCheck.ReadOnly = true;
+            this.isCheck.Width = 150;
+            // 
+            // testName
+            // 
+            this.testName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
+            this.testName.HeaderText = "测试项目";
+            this.testName.MinimumWidth = 8;
+            this.testName.Name = "testName";
+            this.testName.ReadOnly = true;
+            this.testName.Width = 116;
+            // 
+            // result
+            // 
+            this.result.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
+            this.result.HeaderText = "测试结果";
+            this.result.MinimumWidth = 8;
+            this.result.Name = "result";
+            this.result.ReadOnly = true;
+            this.result.Width = 116;
+            // 
+            // Make_ProductTest
+            // 
+            this.AllowDrop = true;
+            this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(1578, 868);
+            this.Controls.Add(this.panel3);
+            this.Controls.Add(this.panel4);
+            this.Controls.Add(this.panel1);
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
+            this.Name = "Make_ProductTest";
+            this.Text = "Make_WirelessTest";
+            this.Load += new System.EventHandler(this.Make_WirelessTest_Load);
+            this.panel1.ResumeLayout(false);
+            this.snDetail.ResumeLayout(false);
+            this.tableLayoutPanel1.ResumeLayout(false);
+            this.tableLayoutPanel1.PerformLayout();
+            this.panel3.ResumeLayout(false);
+            this.panel3.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgv)).EndInit();
+            this.panel4.ResumeLayout(false);
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+        private System.Windows.Forms.Label wo_lab;
+        private System.Windows.Forms.Label sn_lab;
+        private System.Windows.Forms.Label prodName_lab;
+        private System.Windows.Forms.Label prod_lab;
+        private System.Windows.Forms.Panel panel1;
+        private CustomControl.RichText.RichTextAutoBottom OperatResult;
+        private System.Windows.Forms.Panel panel3;
+        private CustomControl.TextBoxWithIcon.SnCollectionBox GetSNCode;
+        private System.Windows.Forms.Label GetSNCode_Label;
+        private System.Windows.Forms.DataGridView dgv;
+        private CustomControl.ButtonUtil.NormalButton Query;
+        private System.Windows.Forms.Panel panel4;
+        private CustomControl.ButtonUtil.NormalButton Clean;
+        private System.Windows.Forms.GroupBox snDetail;
+        private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
+        private System.Windows.Forms.Label woVal;
+        private System.Windows.Forms.Label snVal;
+        private System.Windows.Forms.Label prodVal;
+        private System.Windows.Forms.Label prodNameVal;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5;
+        private System.Windows.Forms.DataGridViewTextBoxColumn MacDetail;
+        private System.Windows.Forms.DataGridViewTextBoxColumn testNameChinese;
+        private System.Windows.Forms.DataGridViewTextBoxColumn isCheck;
+        private System.Windows.Forms.DataGridViewTextBoxColumn testName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn result;
+    }
+}

+ 365 - 0
UAS_MES_JWS/FunctionCode/Make/Make_ProductTest.cs

@@ -0,0 +1,365 @@
+using DevExpress.Printing.Core.PdfExport.Metafile;
+using NPOI.SS.Formula.Eval;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Configuration.Assemblies;
+using System.Data;
+using System.Diagnostics;
+using System.Drawing;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using System.Xml;
+using UAS_MES_NEW.DataOperate;
+using UAS_MES_NEW.Entity;
+using UAS_MES_NEW.PublicMethod;
+
+namespace UAS_MES_NEW.Make
+{
+    public partial class Make_ProductTest : Form
+    {
+
+        StringBuilder sql = new StringBuilder();
+
+        DataHelper dh = new DataHelper();
+        DataTable dt = new DataTable();
+
+        string assemblyPath, assemblyDirectory;
+
+        string apkPath, adbPath;
+        string outPath, fullPath, macPath;
+
+        string output = "", error = "";
+        string SN,MAC,WO = "";
+
+        List<TestItem> TestObj = new List<TestItem> { };
+
+        public Make_ProductTest()
+        {
+            InitializeComponent();
+        }
+
+        private void Make_WirelessTest_Load(object sender, EventArgs e)
+        {
+            assemblyPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
+            assemblyDirectory = Path.GetDirectoryName(assemblyPath);
+
+            apkPath = Path.Combine(assemblyDirectory, "AutoProdTest_1.0.apk");
+            adbPath = Path.Combine(assemblyDirectory, "adb.exe");
+            outPath = "C:\\Users\\MI\\Desktop";
+
+            TestObj.Add(new TestItem() { ChineseName = "SN信息测试" , Name = "SN_Info_FP" });
+            TestObj.Add(new TestItem() { ChineseName = "WiFi测试", Name = "WiFi_FP" });
+            TestObj.Add(new TestItem() { ChineseName = "Type-C网线口测试", Name = "Ethernet_FP" });
+            TestObj.Add(new TestItem() { ChineseName = "灯带效果测试", Name = "LED_FP" });
+            TestObj.Add(new TestItem() { ChineseName = "功率测试", Name = "Power_FP" });
+            TestObj.Add(new TestItem() { ChineseName = "存储测试", Name = "Storage_FP" });
+            TestObj.Add(new TestItem() { ChineseName = "恢复出厂测试", Name = "FactoryReset_FP" });
+            TestObj.Add(new TestItem() { ChineseName = "算法测试", Name = "Algorithm_FP" });
+            TestObj.Add(new TestItem() { ChineseName = "HDMI显示测试", Name = "HDMI_FP" });
+            TestObj.Add(new TestItem() { ChineseName = "蓝牙测试", Name = "Bluetooth_FP" });
+            TestObj.Add(new TestItem() { ChineseName = "摄像头成像测试", Name = "Camera_FP" });
+            TestObj.Add(new TestItem() { ChineseName = "风扇测试", Name = "Fan_FP" });
+        }
+
+        private void GetSNCode_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.KeyCode == Keys.Enter)
+            {
+                if (GetSNCode.Text == "")
+                {
+                    ShowMsg(0, "序列号不允许为空");
+                    ClearSnDetail();
+                    return;
+                }
+
+                string oStatus, ErrorMessage = "";
+                if (LogicHandler.GetMakeInfo(GetSNCode.Text.Trim(), out WO, out oStatus, out ErrorMessage))
+                {
+                    sql.Clear();
+                    sql.Append($@"SELECT ms_sncode,ma_code,ms_prodcode,pr_detail
+                                FROM makeserial,make,product WHERE ms_sncode = '{GetSNCode.Text.Trim()}' 
+                                AND ms_makecode = ma_code AND ma_prodcode = pr_code");
+                    dt = (DataTable)dh.ExecuteSql(sql.ToString(), "select");
+                    if (dt.Rows.Count > 0)
+                    {
+                        SetSndetail(dt);
+                    }
+                }
+                else
+                {
+                    ShowMsg(0, "序列号不存在");
+                    ClearSnDetail();
+                    return;
+                }
+                SN = GetSNCode.Text.Trim();
+
+                GetSNCode.Focus();
+                GetSNCode.SelectAll();
+            }
+        }
+        
+        private void Query_Click(object sender, EventArgs e)
+        {
+            if (GetSNCode.Text == "")
+            {
+                ShowMsg(0, "序列号不允许为空");
+                return;
+            }
+
+            //if (!File.Exists(apkPath))
+            //{
+            //    ShowMsg(0, $"测试apk文件不存在 - {apkPath}");
+            //    return;
+            //}
+
+            if (!File.Exists(adbPath))
+            {
+                ShowMsg(0, $"adb命令文件不存在 - {adbPath}");
+                return;
+            }
+
+            if (!Directory.Exists(outPath))
+            {
+                Directory.CreateDirectory(outPath);
+            }
+
+            string dateFolderName = DateTime.Now.ToString("yyyyMMdd");
+            fullPath = Path.Combine(outPath, dateFolderName);
+            if (!Directory.Exists(fullPath))
+            {
+                Directory.CreateDirectory(fullPath);
+            }
+
+
+            if (CheckConnected(adbPath, out string ConnectStr))
+            {
+                ShowMsg(0, $"设备连接异常: {ConnectStr}".Replace("\r\n", " - "));
+                return;
+            }
+
+            /*string install = $"install -r {apkPath}";
+            ExecuteAdbCommand(adbPath, install, ref output, ref error);
+            if (!output.ToUpper().Contains("SUCCESS"))
+            {
+                return;
+            }*/
+
+            string readMac = "shell cat /sys/class/net/wlan0/address";
+            ExecuteAdbCommand(adbPath, readMac, ref output, ref error);
+            if (!string.IsNullOrEmpty(error))
+            {
+                ShowMsg(0, $"获取MAC异常: {error}");
+                return;
+            }
+
+            MAC = output.Replace("\r\n", "").Replace(":", "").ToUpper();
+            macPath = Path.Combine(fullPath, MAC);
+            if (!Directory.Exists(macPath))
+            {
+                Directory.CreateDirectory(macPath);
+            }
+
+            string command = $"pull sdcard/Download/FactoryTest_result.xml {macPath}";
+            ExecuteAdbCommand(adbPath, command, ref output, ref error);
+            if (!string.IsNullOrEmpty(error))
+            {
+                ShowMsg(0, $"提取测试记录异常: {error}");
+                return;
+            }
+            string path = Path.Combine(macPath, "FactoryTest_result.xml");
+            ParseXml(path);
+        }
+
+        private void ParseXml(string path)
+        {
+            if (!File.Exists(path))
+            {
+                ShowMsg(0, $"未产生检测结果,请重新检测");
+                return;
+            }
+
+            string fileContent = File.ReadAllText(path, Encoding.UTF8);
+            fileContent = fileContent.Trim();
+
+            if (fileContent.Length == 0)
+            {
+                ShowMsg(0, $"输出无测试结果,请在AnLink执行测试");
+                return;
+            }
+
+            int beginIndex = fileContent.IndexOf("<?xml");
+            if (beginIndex < 0)
+            {
+                ShowMsg(0, $"xml文件没有声明,格式有误,请重新操作");
+                return;
+            }
+            int endIndex = fileContent.LastIndexOf("</map>");
+            if (endIndex < 0)
+            {
+                ShowMsg(0, $"xml文件结束标签,格式有误,请重新操作");
+                return;
+            }
+            string xmlContent = fileContent.Substring(beginIndex, endIndex - beginIndex + 6);
+
+            XmlDocument doc = new XmlDocument();
+            try 
+            {
+                Dictionary<string, string> DataList = new Dictionary<string, string>();
+                doc.LoadXml(xmlContent);
+                XmlNodeList stringNodes = doc.SelectNodes("//string");
+                foreach (XmlNode node in stringNodes)
+                {
+                    string name = node.Attributes["name"].Value;
+                    string value = node.InnerText;
+                    DataList.Add(name, value);
+                }
+
+                dgv.Rows.Clear();
+
+
+                string testvValue = "",isHave = "否";
+                foreach (var testItem in TestObj)
+                {
+                    foreach (var item in DataList)
+                    {
+                        if (testItem.Name == item.Key)
+                        {
+                            isHave = "是";
+                            testvValue = item.Value.ToUpper() == "PASS" ? "OK" : "NG";
+                        }
+
+                    }
+
+                    DataGridViewRow dr = new DataGridViewRow();
+                    dr.CreateCells(dgv);
+                    dr.Cells[0].Value = MAC;
+                    dr.Cells[1].Value = testItem.ChineseName;
+                    dr.Cells[2].Value = isHave;
+                    dr.Cells[3].Value = testItem.Name;
+                    dr.Cells[4].Value = testvValue;
+                    dgv.Rows.Add(dr);
+
+                   /* sql.Clear();
+                    sql.Append($@"INSERT into steptestdetail SELECT steptestdetail_seq.NEXTVAL std_id,{SN} std_sn,{WO} std_makecode,
+                                 '成品产测信息' std_class,SYSDATE std_date,SYSDATE std_indate,{User.UserSourceCode} std_rescode,
+                                {testItem.ChineseName} std_subclass1,{testvValue} std_value1 FROM dual");
+                    dh.ExecuteSql(sql.ToString(), "insert");*/
+                }
+
+                //sql.Clear();
+                //sql.Append($@"UPDATE makeserial SET ms_mac = '{MAC}' WHERE ms_sncode = '{SN}'");
+                //dh.ExecuteSql(sql.ToString(), "update");
+
+                ShowMsg(1, $"MAC绑定成功,已上传测试结果");
+            }
+            catch (XmlException ex)
+            {
+                ShowMsg(0, ex.Message);
+            }
+            
+        }
+
+        public void ExecuteAdbCommand(string adbPath, string command, ref string output, ref string error)
+        {
+            output = string.Empty;
+            error = string.Empty;
+            try
+            {
+                using (Process process = new Process())
+                {
+                    process.StartInfo.FileName = adbPath;
+                    process.StartInfo.Arguments = command;
+                    process.StartInfo.UseShellExecute = false;
+                    process.StartInfo.RedirectStandardOutput = true;
+                    process.StartInfo.RedirectStandardError = true;
+                    process.StartInfo.CreateNoWindow = true;
+
+                    process.Start();
+
+                    output = process.StandardOutput.ReadToEnd();
+                    error = process.StandardError.ReadToEnd();
+
+                    process.WaitForExit();
+                    string msg = output ?? error;
+                    ShowMsg(1, $"执行ADB成功: {msg.Replace("\r\n", "")}");
+                }
+            }
+            catch (Exception ex)
+            {
+                ShowMsg(0, $"执行ADB时异常: {ex.Message}");
+            }
+        }
+
+
+        private void Clean_Click(object sender, EventArgs e)
+        {
+            OperatResult.Clear();
+        }
+
+        private void SetSndetail(DataTable dt)
+        {
+            snVal.Text = dt.Rows[0]["ms_sncode"].ToString();
+            woVal.Text = dt.Rows[0]["ma_code"].ToString();
+            prodVal.Text = dt.Rows[0]["ms_prodcode"].ToString();
+            prodNameVal.Text = dt.Rows[0]["pr_detail"].ToString();
+        }
+
+        private void ClearSnDetail()
+        {
+            snVal.Text = "";
+            woVal.Text = "";
+            prodVal.Text = "";
+            prodNameVal.Text = "";
+        }
+
+
+        private void ShowMsg(int type, string msg)
+        {
+            string fullDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+            if (type == 0)
+            {
+                OperatResult.AppendText($"{fullDateTime}: {msg}\n", Color.Red);
+            }
+            else if (type == 1)
+            {
+                OperatResult.AppendText($"{fullDateTime}: {msg}\n", Color.Black);
+            }
+        }
+
+        public class TestItem
+        {
+            public string Name { get; set; }
+            public string ChineseName { get; set; }
+        }
+
+        public bool CheckConnected(string adbPath,out string ConnectStr)
+        {
+            try
+            {
+                using (Process process = new Process())
+                {
+                    process.StartInfo.FileName = adbPath;
+                    process.StartInfo.Arguments = "devices";
+                    process.StartInfo.UseShellExecute = false;
+                    process.StartInfo.RedirectStandardOutput = true;
+                    process.StartInfo.CreateNoWindow = true;
+
+                    process.Start();
+                    ConnectStr = process.StandardOutput.ReadToEnd();
+                    process.WaitForExit();
+
+                    return output.Contains("device") && !output.Contains("List of devices attached");
+                }
+            }
+            catch(Exception ex)
+            {
+                ConnectStr = ex.Message;
+                return false;
+            }
+        }
+    }
+}

+ 218 - 0
UAS_MES_JWS/FunctionCode/Make/Make_ProductTest.resx

@@ -0,0 +1,218 @@
+<?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="tableLayoutPanel1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="tableLayoutPanel1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="Query.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFcSURBVFhH5di7UsJAFMbxtDT6QMI76IAFT0npIE0K
+        GcRORxHklpAIBHLfbILV8XxeNsMznJ35F5vu+82kWYuILD4N7oq75roCw27sb/x5WBdc27btntY64o/i
+        DnZjPxy4S6A0R6PHO1WUNHc9ep4uxIXd2D8eP/XZowWUThBG+n3p0stsKbbJ0qFDFFfscQuUbpzm9Pqx
+        Eh8c4PGLkuX0Nl+LDw4GJckUTRaO+OBQo+SKpitXfHAwKClfZuuN+OBgUDJV0NzxxAeHM5TFxhffGUpe
+        aFp5n+KDg0FRfHH8nfjgUKPoktztXnxwMCgFX7xdID441ChlRf7+ID44GBTNl21wFB8capSqot0xFB8c
+        /lE6Wa70IU5oH0Ziw/5cFebpoPUwHPbL04nCJKUgisWF3dgPB3gABc9v7fvBoBcnaVKdvkha2I39cPjx
+        oPrhusndcPinpIXd2N8gIusbTaFspKtR2SQAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="Query.MoveImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFzSURBVFhH5djNSgJRGMZxL2P2gTfQFbZvHSEZFBEW
+        CEIQBEIgVFiS9qXWoDmp4/fHzDmjM2a+vU/QqUVX0DvwXxxn9fwYXJwYEcXWNzIWt83dcq7AsBv7LXgA
+        ZI0r71/aaqjCJf8o7sFu7IcDFwdK4vimrv1oSZXRnArdQFzYjf3pQkOzRxIoVWc6X5X6M7ruBGIr9mbU
+        9MIVe9hAcXvBO125WnxwgMcXSpcPF20tPjgYlI5eUK6lxAcHg9Lmw3nTFx8cDEpLLSjr+OKDg0FpqojO
+        Gp744GBQ3vyITutT8cHBoDheRCe1ifjgYFBe+ZCxJ+KDg0GpT0NKv4zFBweDUpuEdFQdiQ8OBsXmw2Fl
+        JD44/KCM53TwNBQfHAzKMx/2Hgfig8M3SrXYUasUfz67DwOxYf9dV5urg+RWzta4aEnxn83OfV9c2I39
+        cIAHUOJceTNbUfmW94GX0sJu7IcDPH5fXCe4EvfXxe5/D7ux3yKi2CfkPhTy27lqkwAAAABJRU5ErkJg
+        gg==
+</value>
+  </data>
+  <data name="Query.NormalImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGVSURBVFhH5di7agJRFIXhDSKoYBQEC8FCECwEQRBE
+        4uUVEtTiPKVlom2wttM6IfF+15njXHRnL19jD/zFmanWV8zAEDNTp9OJS6/Sm2QUht3YH4cHtdvtF6k7
+        mUwG1tqd3FR3YTf2w0FKUVOu6XT68Xgw3+8PtWH/bDYbCkeLGo1Gz/d9JwzvrL0gCKx49KlerxtIBUGo
+        PjjAg2q1mqDc2fN99cEBHlStVk0oB+t56oMDPKhSqZggDNm1N/XBAR5ULpeNvGD46rrqgwM8qFQqGV8O
+        56ujPjjAg4rFosFL5ni5qA8O8KBCoWBuns/701l9cIAH5fN5QfF4dzipDw7woFwuZ+zN483+oD44wIOy
+        2azB52i13asPDvCgTCZjHGt5sdmqDw7woHQ6bRzX8ny1UR8c4EHJZNJc5fC7XKsPDvCgRCLR2x9Pzt9q
+        zT+Lpdqw/3A6W/HoUywWa32Nx8OL4zwffM8X6sJu7IcDPCgajaak7udoNNjsdgc81BZ2Yz8c4PH8cR2J
+        ROJSU3qXjMKwG/vjzEz/skOI3Zqgv7AAAAAASUVORK5CYII=
+</value>
+  </data>
+  <metadata name="MacDetail.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="testNameChinese.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="isCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="testName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="result.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <data name="Clean.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFcSURBVFhH5di7UsJAFMbxtDT6QMI76IAFT0npIE0K
+        GcRORxHklpAIBHLfbILV8XxeNsMznJ35F5vu+82kWYuILD4N7oq75roCw27sb/x5WBdc27btntY64o/i
+        DnZjPxy4S6A0R6PHO1WUNHc9ep4uxIXd2D8eP/XZowWUThBG+n3p0stsKbbJ0qFDFFfscQuUbpzm9Pqx
+        Eh8c4PGLkuX0Nl+LDw4GJckUTRaO+OBQo+SKpitXfHAwKClfZuuN+OBgUDJV0NzxxAeHM5TFxhffGUpe
+        aFp5n+KDg0FRfHH8nfjgUKPoktztXnxwMCgFX7xdID441ChlRf7+ID44GBTNl21wFB8capSqot0xFB8c
+        /lE6Wa70IU5oH0Ziw/5cFebpoPUwHPbL04nCJKUgisWF3dgPB3gABc9v7fvBoBcnaVKdvkha2I39cPjx
+        oPrhusndcPinpIXd2N8gIusbTaFspKtR2SQAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="Clean.MoveImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFzSURBVFhH5djNSgJRGMZxL2P2gTfQFbZvHSEZFBEW
+        CEIQBEIgVFiS9qXWoDmp4/fHzDmjM2a+vU/QqUVX0DvwXxxn9fwYXJwYEcXWNzIWt83dcq7AsBv7LXgA
+        ZI0r71/aaqjCJf8o7sFu7IcDFwdK4vimrv1oSZXRnArdQFzYjf3pQkOzRxIoVWc6X5X6M7ruBGIr9mbU
+        9MIVe9hAcXvBO125WnxwgMcXSpcPF20tPjgYlI5eUK6lxAcHg9Lmw3nTFx8cDEpLLSjr+OKDg0FpqojO
+        Gp744GBQ3vyITutT8cHBoDheRCe1ifjgYFBe+ZCxJ+KDg0GpT0NKv4zFBweDUpuEdFQdiQ8OBsXmw2Fl
+        JD44/KCM53TwNBQfHAzKMx/2Hgfig8M3SrXYUasUfz67DwOxYf9dV5urg+RWzta4aEnxn83OfV9c2I39
+        cIAHUOJceTNbUfmW94GX0sJu7IcDPH5fXCe4EvfXxe5/D7ux3yKi2CfkPhTy27lqkwAAAABJRU5ErkJg
+        gg==
+</value>
+  </data>
+  <data name="Clean.NormalImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGVSURBVFhH5di7agJRFIXhDSKoYBQEC8FCECwEQRBE
+        4uUVEtTiPKVlom2wttM6IfF+15njXHRnL19jD/zFmanWV8zAEDNTp9OJS6/Sm2QUht3YH4cHtdvtF6k7
+        mUwG1tqd3FR3YTf2w0FKUVOu6XT68Xgw3+8PtWH/bDYbCkeLGo1Gz/d9JwzvrL0gCKx49KlerxtIBUGo
+        PjjAg2q1mqDc2fN99cEBHlStVk0oB+t56oMDPKhSqZggDNm1N/XBAR5ULpeNvGD46rrqgwM8qFQqGV8O
+        56ujPjjAg4rFosFL5ni5qA8O8KBCoWBuns/701l9cIAH5fN5QfF4dzipDw7woFwuZ+zN483+oD44wIOy
+        2azB52i13asPDvCgTCZjHGt5sdmqDw7woHQ6bRzX8ny1UR8c4EHJZNJc5fC7XKsPDvCgRCLR2x9Pzt9q
+        zT+Lpdqw/3A6W/HoUywWa32Nx8OL4zwffM8X6sJu7IcDPCgajaak7udoNNjsdgc81BZ2Yz8c4PH8cR2J
+        ROJSU3qXjMKwG/vjzEz/skOI3Zqgv7AAAAAASUVORK5CYII=
+</value>
+  </data>
+</root>

+ 9 - 0
UAS_MES_JWS/UAS_MES_JWS.csproj

@@ -739,6 +739,12 @@
     <Compile Include="FunctionCode\Make\Make_TestCollection_DCW.Designer.cs">
       <DependentUpon>Make_TestCollection_DCW.cs</DependentUpon>
     </Compile>
+    <Compile Include="FunctionCode\Make\Make_ProductTest.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="FunctionCode\Make\Make_ProductTest.Designer.cs">
+      <DependentUpon>Make_ProductTest.cs</DependentUpon>
+    </Compile>
     <Compile Include="FunctionCode\OQC\OQC_SamplingDataCollection_OffLine.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -1705,6 +1711,9 @@
     <EmbeddedResource Include="FunctionCode\Make\Make_TestCollection_DCW.resx">
       <DependentUpon>Make_TestCollection_DCW.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="FunctionCode\Make\Make_ProductTest.resx">
+      <DependentUpon>Make_ProductTest.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="FunctionCode\OQC\OQC_SamplingDataCollection_OffLine.resx">
       <DependentUpon>OQC_SamplingDataCollection_OffLine.cs</DependentUpon>
     </EmbeddedResource>

+ 25 - 0
UAS_MES_JWS/UAS_MES_JWS.sln

@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.14.36202.13 d17.14
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UAS_MES_JWS", "UAS_MES_JWS.csproj", "{AF54EC25-011C-4023-8236-A62C017B55D2}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{AF54EC25-011C-4023-8236-A62C017B55D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AF54EC25-011C-4023-8236-A62C017B55D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AF54EC25-011C-4023-8236-A62C017B55D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AF54EC25-011C-4023-8236-A62C017B55D2}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {BF745B63-6FED-4C8F-A5D0-072FD8FF36F8}
+	EndGlobalSection
+EndGlobal