瀏覽代碼

上料采集合并修改

callm 1 周之前
父節點
當前提交
e6f5dbbcf1

+ 14 - 0
UAS_MES_YDCY/FunctionCode/Make/Make_FeedingCollection.Designer.cs

@@ -82,6 +82,7 @@
             this.label1 = new System.Windows.Forms.Label();
             this.label1 = new System.Windows.Forms.Label();
             this.OpenPort = new UAS_MES_NEW.CustomControl.ButtonUtil.NormalButton();
             this.OpenPort = new UAS_MES_NEW.CustomControl.ButtonUtil.NormalButton();
             this.ms_bomversion = new System.Windows.Forms.Label();
             this.ms_bomversion = new System.Windows.Forms.Label();
+            this.label2 = new System.Windows.Forms.Label();
             ((System.ComponentModel.ISupportInitialize)(this.ClearSn_code)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.ClearSn_code)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.LabelDataGridView)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.LabelDataGridView)).BeginInit();
             this.SuspendLayout();
             this.SuspendLayout();
@@ -763,11 +764,23 @@
             this.ms_bomversion.TabIndex = 197;
             this.ms_bomversion.TabIndex = 197;
             this.ms_bomversion.Visible = false;
             this.ms_bomversion.Visible = false;
             // 
             // 
+            // label2
+            // 
+            this.label2.AutoSize = true;
+            this.label2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label2.Location = new System.Drawing.Point(906, 475);
+            this.label2.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(0, 41);
+            this.label2.TabIndex = 198;
+            this.label2.Visible = false;
+            // 
             // Make_FeedingCollection
             // Make_FeedingCollection
             // 
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(12F, 24F);
             this.AutoScaleDimensions = new System.Drawing.SizeF(12F, 24F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.ClientSize = new System.Drawing.Size(1796, 974);
             this.ClientSize = new System.Drawing.Size(1796, 974);
+            this.Controls.Add(this.label2);
             this.Controls.Add(this.ms_bomversion);
             this.Controls.Add(this.ms_bomversion);
             this.Controls.Add(this.OpenPort);
             this.Controls.Add(this.OpenPort);
             this.Controls.Add(this.label1);
             this.Controls.Add(this.label1);
@@ -877,5 +890,6 @@
         private System.Windows.Forms.Label label1;
         private System.Windows.Forms.Label label1;
         private CustomControl.ButtonUtil.NormalButton OpenPort;
         private CustomControl.ButtonUtil.NormalButton OpenPort;
         private System.Windows.Forms.Label ms_bomversion;
         private System.Windows.Forms.Label ms_bomversion;
+        private System.Windows.Forms.Label label2;
     }
     }
 }
 }

+ 3 - 3
UAS_MES_YDCY/FunctionCode/Make/Make_FeedingCollection.resx

@@ -195,7 +195,7 @@
         RudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WP
         RudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WP
         lR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+l
         lR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+l
         f65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeK
         f65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeK
-        j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDgAACw4BQL7hQQAACdNJREFUeF7t3dtOW4cW
+        j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDQAACw0B7QfALAAACdNJREFUeF7t3dtOW4cW
         heFe9VUibakv1/eoVGk/TFedps2hnCGAjTnYnAlgbGNzJpUqza2xgL2zmSlL4oqV8V98Fx2q190/YxwC
         heFe9VUibakv1/eoVGk/TFedps2hnCGAjTnYnAlgbGNzJpUqza2xgL2zmSlL4oqV8V98Fx2q190/YxwC
         30XEdwA8pQGAjzQA8JEGAD7SAMBHGgD4SAMAH2kA4CMNAHykAYCPNADwkQYAPtIAwEcaAPhIAwAfaQDg
         30XEdwA8pQGAjzQA8JEGAD7SAMBHGgD4SAMAH2kA4CMNAHykAYCPNADwkQYAPtIAwEcaAPhIAwAfaQDg
         Iw0AfKQBgI80APCRBgA+0gDARxoA+EgDAB9pAOAjDQB8pAGAjzQA8JEGAD7SAMBHGgD4SAMAH2kA4CMN
         Iw0AfKQBgI80APCRBgA+0gDARxoA+EgDAB9pAOAjDQB8pAGAjzQA8JEGAD7SAMBHGgD4SAMAH2kA4CMN
@@ -326,7 +326,7 @@
         RudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WP
         RudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WP
         lR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+l
         lR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+l
         f65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeK
         f65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeK
-        j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDgAACw4BQL7hQQAACdNJREFUeF7t3dtOW4cW
+        j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDQAACw0B7QfALAAACdNJREFUeF7t3dtOW4cW
         heFe9VUibakv1/eoVGk/TFedps2hnCGAjTnYnAlgbGNzJpUqza2xgL2zmSlL4oqV8V98Fx2q190/YxwC
         heFe9VUibakv1/eoVGk/TFedps2hnCGAjTnYnAlgbGNzJpUqza2xgL2zmSlL4oqV8V98Fx2q190/YxwC
         30XEdwA8pQGAjzQA8JEGAD7SAMBHGgD4SAMAH2kA4CMNAHykAYCPNADwkQYAPtIAwEcaAPhIAwAfaQDg
         30XEdwA8pQGAjzQA8JEGAD7SAMBHGgD4SAMAH2kA4CMNAHykAYCPNADwkQYAPtIAwEcaAPhIAwAfaQDg
         Iw0AfKQBgI80APCRBgA+0gDARxoA+EgDAB9pAOAjDQB8pAGAjzQA8JEGAD7SAMBHGgD4SAMAH2kA4CMN
         Iw0AfKQBgI80APCRBgA+0gDARxoA+EgDAB9pAOAjDQB8pAGAjzQA8JEGAD7SAMBHGgD4SAMAH2kA4CMN
@@ -457,7 +457,7 @@
         RudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WP
         RudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WP
         lR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+l
         lR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+l
         f65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeK
         f65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeK
-        j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDQAACw0B7QfALAAACdNJREFUeF7t3dtOW4cW
+        j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDAAACwwBP0AiyAAACdNJREFUeF7t3dtOW4cW
         heFe9VUibakv1/eoVGk/TFedps2hnCGAjTnYnAlgbGNzJpUqza2xgL2zmSlL4oqV8V98Fx2q190/YxwC
         heFe9VUibakv1/eoVGk/TFedps2hnCGAjTnYnAlgbGNzJpUqza2xgL2zmSlL4oqV8V98Fx2q190/YxwC
         30XEdwA8pQGAjzQA8JEGAD7SAMBHGgD4SAMAH2kA4CMNAHykAYCPNADwkQYAPtIAwEcaAPhIAwAfaQDg
         30XEdwA8pQGAjzQA8JEGAD7SAMBHGgD4SAMAH2kA4CMNAHykAYCPNADwkQYAPtIAwEcaAPhIAwAfaQDg
         Iw0AfKQBgI80APCRBgA+0gDARxoA+EgDAB9pAOAjDQB8pAGAjzQA8JEGAD7SAMBHGgD4SAMAH2kA4CMN
         Iw0AfKQBgI80APCRBgA+0gDARxoA+EgDAB9pAOAjDQB8pAGAjzQA8JEGAD7SAMBHGgD4SAMAH2kA4CMN

+ 882 - 0
UAS_MES_YDCY/FunctionCode/Make/Make_FeedingCollectionBadOnlyNEW.Designer.cs

@@ -0,0 +1,882 @@
+namespace UAS_MES_NEW.Make
+{
+    partial class Make_FeedingCollectionBadOnlyNEW
+    {
+        /// <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_FeedingCollectionBadOnlyNEW));
+            this.mcd_restqty_label = new System.Windows.Forms.Label();
+            this.mcd_inqty_label = new System.Windows.Forms.Label();
+            this.ma_qty_label = new System.Windows.Forms.Label();
+            this.ms_makecode_label = new System.Windows.Forms.Label();
+            this.pr_detail_label = new System.Windows.Forms.Label();
+            this.ma_prodcode_label = new System.Windows.Forms.Label();
+            this.Loading = new System.Windows.Forms.RadioButton();
+            this.UnLoading = new System.Windows.Forms.RadioButton();
+            this.sn_code_label = new System.Windows.Forms.Label();
+            this.code_label = new System.Windows.Forms.Label();
+            this.iflastsn = new System.Windows.Forms.CheckBox();
+            this.ma_softversion_label = new System.Windows.Forms.CheckBox();
+            this.ma_ecncode_label = new System.Windows.Forms.CheckBox();
+            this.ClearSn_code = new System.Windows.Forms.PictureBox();
+            this.ms_craftcode = new System.Windows.Forms.Label();
+            this.ma_bomversion = new System.Windows.Forms.Label();
+            this.ma_bomversion_label = new System.Windows.Forms.Label();
+            this.ma_craftcode = new System.Windows.Forms.Label();
+            this.sir_remark_label = new System.Windows.Forms.CheckBox();
+            this.NoteForChange = new System.Windows.Forms.CheckBox();
+            this.LabelDataGridView = new System.Windows.Forms.DataGridView();
+            this.序号 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.cm_makecode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.pr_detail_ = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.cm_soncode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.cm_barcode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.BarCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            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.dataGridViewTextBoxColumn6 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.sir_remark = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.EnterTextBox();
+            this.StepCount = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.SourceStepCount();
+            this.ma_code = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.MaCodeSearchTextBox();
+            this.LockMakeCode = new UAS_MES_NEW.CustomControl.CustomCheckBox.LockCheckBox();
+            this.ma_prodcode = new UAS_MES_NEW.CustomControl.ValueLabel.ValueLabel();
+            this.pr_detail = new UAS_MES_NEW.CustomControl.ValueLabel.ValueLabel();
+            this.mcd_remainqty = new UAS_MES_NEW.CustomControl.ValueLabel.ValueLabel();
+            this.mcd_inqty = new UAS_MES_NEW.CustomControl.ValueLabel.ValueLabel();
+            this.ma_qty = new UAS_MES_NEW.CustomControl.ValueLabel.ValueLabel();
+            this.OperateResult = new UAS_MES_NEW.CustomControl.RichText.RichTextAutoBottom();
+            this.Clean = new UAS_MES_NEW.CustomControl.ButtonUtil.NormalButton();
+            this.ma_softversion = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.EnterTextBox();
+            this.ma_ecncode = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.EnterTextBox();
+            this.Confirm = new UAS_MES_NEW.CustomControl.ButtonUtil.NormalButton();
+            this.code = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.SnCollectionBox();
+            this.sn_code = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.EnterTextBox();
+            this.serialPortCombox1 = new UAS_MES_NEW.CustomControl.ComBoxWithFocus.SerialPortCombox();
+            this.label1 = new System.Windows.Forms.Label();
+            this.OpenPort = new UAS_MES_NEW.CustomControl.ButtonUtil.NormalButton();
+            this.ms_bomversion = new System.Windows.Forms.Label();
+            ((System.ComponentModel.ISupportInitialize)(this.ClearSn_code)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.LabelDataGridView)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // mcd_restqty_label
+            // 
+            this.mcd_restqty_label.AutoSize = true;
+            this.mcd_restqty_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.mcd_restqty_label.Location = new System.Drawing.Point(1170, 122);
+            this.mcd_restqty_label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.mcd_restqty_label.Name = "mcd_restqty_label";
+            this.mcd_restqty_label.Size = new System.Drawing.Size(146, 41);
+            this.mcd_restqty_label.TabIndex = 59;
+            this.mcd_restqty_label.Text = "待采集数";
+            // 
+            // mcd_inqty_label
+            // 
+            this.mcd_inqty_label.AutoSize = true;
+            this.mcd_inqty_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.mcd_inqty_label.Location = new System.Drawing.Point(622, 122);
+            this.mcd_inqty_label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.mcd_inqty_label.Name = "mcd_inqty_label";
+            this.mcd_inqty_label.Size = new System.Drawing.Size(146, 41);
+            this.mcd_inqty_label.TabIndex = 56;
+            this.mcd_inqty_label.Text = "已采集数";
+            // 
+            // ma_qty_label
+            // 
+            this.ma_qty_label.AutoSize = true;
+            this.ma_qty_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ma_qty_label.Location = new System.Drawing.Point(18, 122);
+            this.ma_qty_label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.ma_qty_label.Name = "ma_qty_label";
+            this.ma_qty_label.Size = new System.Drawing.Size(146, 41);
+            this.ma_qty_label.TabIndex = 53;
+            this.ma_qty_label.Text = "工单数量";
+            // 
+            // ms_makecode_label
+            // 
+            this.ms_makecode_label.AutoSize = true;
+            this.ms_makecode_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ms_makecode_label.Location = new System.Drawing.Point(18, 24);
+            this.ms_makecode_label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.ms_makecode_label.Name = "ms_makecode_label";
+            this.ms_makecode_label.Size = new System.Drawing.Size(146, 41);
+            this.ms_makecode_label.TabIndex = 49;
+            this.ms_makecode_label.Text = "归属工单";
+            // 
+            // pr_detail_label
+            // 
+            this.pr_detail_label.AutoSize = true;
+            this.pr_detail_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.pr_detail_label.Location = new System.Drawing.Point(1170, 24);
+            this.pr_detail_label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.pr_detail_label.Name = "pr_detail_label";
+            this.pr_detail_label.Size = new System.Drawing.Size(146, 41);
+            this.pr_detail_label.TabIndex = 50;
+            this.pr_detail_label.Text = "产品规格";
+            // 
+            // ma_prodcode_label
+            // 
+            this.ma_prodcode_label.AutoSize = true;
+            this.ma_prodcode_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ma_prodcode_label.Location = new System.Drawing.Point(622, 24);
+            this.ma_prodcode_label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.ma_prodcode_label.Name = "ma_prodcode_label";
+            this.ma_prodcode_label.Size = new System.Drawing.Size(146, 41);
+            this.ma_prodcode_label.TabIndex = 51;
+            this.ma_prodcode_label.Text = "产品代码";
+            // 
+            // Loading
+            // 
+            this.Loading.AutoSize = true;
+            this.Loading.Checked = true;
+            this.Loading.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.Loading.ForeColor = System.Drawing.Color.Blue;
+            this.Loading.Location = new System.Drawing.Point(36, 720);
+            this.Loading.Margin = new System.Windows.Forms.Padding(6);
+            this.Loading.Name = "Loading";
+            this.Loading.Size = new System.Drawing.Size(113, 45);
+            this.Loading.TabIndex = 62;
+            this.Loading.TabStop = true;
+            this.Loading.Text = "上料";
+            this.Loading.UseVisualStyleBackColor = true;
+            // 
+            // UnLoading
+            // 
+            this.UnLoading.AutoSize = true;
+            this.UnLoading.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.UnLoading.ForeColor = System.Drawing.Color.Blue;
+            this.UnLoading.Location = new System.Drawing.Point(196, 720);
+            this.UnLoading.Margin = new System.Windows.Forms.Padding(6);
+            this.UnLoading.Name = "UnLoading";
+            this.UnLoading.Size = new System.Drawing.Size(113, 45);
+            this.UnLoading.TabIndex = 63;
+            this.UnLoading.Text = "下料";
+            this.UnLoading.UseVisualStyleBackColor = true;
+            this.UnLoading.Visible = false;
+            // 
+            // sn_code_label
+            // 
+            this.sn_code_label.AutoSize = true;
+            this.sn_code_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.sn_code_label.Location = new System.Drawing.Point(28, 796);
+            this.sn_code_label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.sn_code_label.Name = "sn_code_label";
+            this.sn_code_label.Size = new System.Drawing.Size(114, 41);
+            this.sn_code_label.TabIndex = 64;
+            this.sn_code_label.Text = "序列号";
+            // 
+            // code_label
+            // 
+            this.code_label.AutoSize = true;
+            this.code_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.code_label.Location = new System.Drawing.Point(28, 884);
+            this.code_label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.code_label.Name = "code_label";
+            this.code_label.Size = new System.Drawing.Size(114, 41);
+            this.code_label.TabIndex = 66;
+            this.code_label.Text = "录入框";
+            // 
+            // iflastsn
+            // 
+            this.iflastsn.AutoSize = true;
+            this.iflastsn.Enabled = false;
+            this.iflastsn.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.iflastsn.Location = new System.Drawing.Point(578, 796);
+            this.iflastsn.Margin = new System.Windows.Forms.Padding(6);
+            this.iflastsn.Name = "iflastsn";
+            this.iflastsn.Size = new System.Drawing.Size(222, 45);
+            this.iflastsn.TabIndex = 72;
+            this.iflastsn.Text = "前一工单SN";
+            this.iflastsn.UseVisualStyleBackColor = true;
+            // 
+            // ma_softversion_label
+            // 
+            this.ma_softversion_label.AutoSize = true;
+            this.ma_softversion_label.Checked = true;
+            this.ma_softversion_label.CheckState = System.Windows.Forms.CheckState.Checked;
+            this.ma_softversion_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ma_softversion_label.Location = new System.Drawing.Point(1360, 357);
+            this.ma_softversion_label.Margin = new System.Windows.Forms.Padding(6);
+            this.ma_softversion_label.Name = "ma_softversion_label";
+            this.ma_softversion_label.Size = new System.Drawing.Size(178, 45);
+            this.ma_softversion_label.TabIndex = 74;
+            this.ma_softversion_label.Text = "软件版本";
+            this.ma_softversion_label.UseVisualStyleBackColor = true;
+            // 
+            // ma_ecncode_label
+            // 
+            this.ma_ecncode_label.AutoSize = true;
+            this.ma_ecncode_label.Checked = true;
+            this.ma_ecncode_label.CheckState = System.Windows.Forms.CheckState.Checked;
+            this.ma_ecncode_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ma_ecncode_label.Location = new System.Drawing.Point(1360, 420);
+            this.ma_ecncode_label.Margin = new System.Windows.Forms.Padding(6);
+            this.ma_ecncode_label.Name = "ma_ecncode_label";
+            this.ma_ecncode_label.Size = new System.Drawing.Size(147, 45);
+            this.ma_ecncode_label.TabIndex = 75;
+            this.ma_ecncode_label.Text = "ECN号";
+            this.ma_ecncode_label.UseVisualStyleBackColor = true;
+            // 
+            // ClearSn_code
+            // 
+            this.ClearSn_code.Cursor = System.Windows.Forms.Cursors.Hand;
+            this.ClearSn_code.Image = global::UAS_MES_NEW.Properties.Resources.bindingNavigatorDeleteItem_Image;
+            this.ClearSn_code.Location = new System.Drawing.Point(526, 802);
+            this.ClearSn_code.Margin = new System.Windows.Forms.Padding(6);
+            this.ClearSn_code.Name = "ClearSn_code";
+            this.ClearSn_code.Size = new System.Drawing.Size(32, 32);
+            this.ClearSn_code.TabIndex = 138;
+            this.ClearSn_code.TabStop = false;
+            this.ClearSn_code.Click += new System.EventHandler(this.ClearSn_code_Click);
+            // 
+            // ms_craftcode
+            // 
+            this.ms_craftcode.AutoSize = true;
+            this.ms_craftcode.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ms_craftcode.Location = new System.Drawing.Point(1536, 30);
+            this.ms_craftcode.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.ms_craftcode.Name = "ms_craftcode";
+            this.ms_craftcode.Size = new System.Drawing.Size(0, 41);
+            this.ms_craftcode.TabIndex = 142;
+            this.ms_craftcode.Visible = false;
+            // 
+            // ma_bomversion
+            // 
+            this.ma_bomversion.AutoSize = true;
+            this.ma_bomversion.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ma_bomversion.Location = new System.Drawing.Point(1536, 298);
+            this.ma_bomversion.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.ma_bomversion.Name = "ma_bomversion";
+            this.ma_bomversion.Size = new System.Drawing.Size(0, 41);
+            this.ma_bomversion.TabIndex = 143;
+            // 
+            // ma_bomversion_label
+            // 
+            this.ma_bomversion_label.AutoSize = true;
+            this.ma_bomversion_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ma_bomversion_label.Location = new System.Drawing.Point(1364, 298);
+            this.ma_bomversion_label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.ma_bomversion_label.Name = "ma_bomversion_label";
+            this.ma_bomversion_label.Size = new System.Drawing.Size(152, 41);
+            this.ma_bomversion_label.TabIndex = 144;
+            this.ma_bomversion_label.Text = "Bom版本";
+            // 
+            // ma_craftcode
+            // 
+            this.ma_craftcode.AutoSize = true;
+            this.ma_craftcode.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ma_craftcode.Location = new System.Drawing.Point(1508, 122);
+            this.ma_craftcode.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.ma_craftcode.Name = "ma_craftcode";
+            this.ma_craftcode.Size = new System.Drawing.Size(0, 41);
+            this.ma_craftcode.TabIndex = 145;
+            this.ma_craftcode.Visible = false;
+            // 
+            // sir_remark_label
+            // 
+            this.sir_remark_label.AutoSize = true;
+            this.sir_remark_label.Checked = true;
+            this.sir_remark_label.CheckState = System.Windows.Forms.CheckState.Checked;
+            this.sir_remark_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.sir_remark_label.Location = new System.Drawing.Point(1360, 481);
+            this.sir_remark_label.Margin = new System.Windows.Forms.Padding(6);
+            this.sir_remark_label.Name = "sir_remark_label";
+            this.sir_remark_label.Size = new System.Drawing.Size(178, 45);
+            this.sir_remark_label.TabIndex = 190;
+            this.sir_remark_label.Text = "备注信息";
+            this.sir_remark_label.UseVisualStyleBackColor = true;
+            // 
+            // NoteForChange
+            // 
+            this.NoteForChange.AutoSize = true;
+            this.NoteForChange.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.NoteForChange.Location = new System.Drawing.Point(22, 78);
+            this.NoteForChange.Margin = new System.Windows.Forms.Padding(4);
+            this.NoteForChange.Name = "NoteForChange";
+            this.NoteForChange.Size = new System.Drawing.Size(190, 35);
+            this.NoteForChange.TabIndex = 192;
+            this.NoteForChange.Text = "切换工单提示";
+            this.NoteForChange.UseVisualStyleBackColor = true;
+            // 
+            // LabelDataGridView
+            // 
+            this.LabelDataGridView.AllowUserToAddRows = false;
+            this.LabelDataGridView.AllowUserToResizeRows = false;
+            this.LabelDataGridView.BackgroundColor = System.Drawing.SystemColors.ButtonFace;
+            this.LabelDataGridView.ColumnHeadersHeight = 46;
+            this.LabelDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.序号,
+            this.cm_makecode,
+            this.pr_detail_,
+            this.cm_soncode,
+            this.cm_barcode,
+            this.BarCode});
+            this.LabelDataGridView.Location = new System.Drawing.Point(36, 216);
+            this.LabelDataGridView.Margin = new System.Windows.Forms.Padding(6);
+            this.LabelDataGridView.Name = "LabelDataGridView";
+            this.LabelDataGridView.RowHeadersVisible = false;
+            this.LabelDataGridView.RowHeadersWidth = 82;
+            this.LabelDataGridView.RowTemplate.Height = 23;
+            this.LabelDataGridView.Size = new System.Drawing.Size(1282, 454);
+            this.LabelDataGridView.TabIndex = 193;
+            // 
+            // 序号
+            // 
+            this.序号.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+            this.序号.DataPropertyName = "sp_detno";
+            this.序号.HeaderText = "序号";
+            this.序号.MinimumWidth = 10;
+            this.序号.Name = "序号";
+            this.序号.ReadOnly = true;
+            this.序号.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.序号.Width = 70;
+            // 
+            // cm_makecode
+            // 
+            this.cm_makecode.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCellsExceptHeader;
+            this.cm_makecode.DataPropertyName = "sp_fsoncode";
+            this.cm_makecode.HeaderText = "上料料号";
+            this.cm_makecode.MinimumWidth = 10;
+            this.cm_makecode.Name = "cm_makecode";
+            this.cm_makecode.ReadOnly = true;
+            this.cm_makecode.Width = 10;
+            // 
+            // pr_detail_
+            // 
+            this.pr_detail_.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCellsExceptHeader;
+            this.pr_detail_.DataPropertyName = "pr_spec";
+            this.pr_detail_.HeaderText = "上料名称";
+            this.pr_detail_.MinimumWidth = 10;
+            this.pr_detail_.Name = "pr_detail_";
+            this.pr_detail_.ReadOnly = true;
+            this.pr_detail_.Width = 10;
+            // 
+            // cm_soncode
+            // 
+            this.cm_soncode.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCellsExceptHeader;
+            this.cm_soncode.DataPropertyName = "sp_prefix";
+            this.cm_soncode.HeaderText = "前缀";
+            this.cm_soncode.MinimumWidth = 10;
+            this.cm_soncode.Name = "cm_soncode";
+            this.cm_soncode.ReadOnly = true;
+            this.cm_soncode.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.cm_soncode.Width = 10;
+            // 
+            // cm_barcode
+            // 
+            this.cm_barcode.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.ColumnHeader;
+            this.cm_barcode.DataPropertyName = "sp_length";
+            this.cm_barcode.HeaderText = "长度";
+            this.cm_barcode.MinimumWidth = 10;
+            this.cm_barcode.Name = "cm_barcode";
+            this.cm_barcode.ReadOnly = true;
+            this.cm_barcode.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.cm_barcode.Width = 64;
+            // 
+            // BarCode
+            // 
+            this.BarCode.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCellsExceptHeader;
+            this.BarCode.HeaderText = "条码号";
+            this.BarCode.MinimumWidth = 300;
+            this.BarCode.Name = "BarCode";
+            this.BarCode.ReadOnly = true;
+            this.BarCode.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.BarCode.Width = 300;
+            // 
+            // dataGridViewTextBoxColumn1
+            // 
+            this.dataGridViewTextBoxColumn1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+            this.dataGridViewTextBoxColumn1.DataPropertyName = "cm_makecode";
+            this.dataGridViewTextBoxColumn1.HeaderText = "上料料号";
+            this.dataGridViewTextBoxColumn1.MinimumWidth = 10;
+            this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
+            this.dataGridViewTextBoxColumn1.ReadOnly = true;
+            this.dataGridViewTextBoxColumn1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.dataGridViewTextBoxColumn1.Width = 50;
+            // 
+            // dataGridViewTextBoxColumn2
+            // 
+            this.dataGridViewTextBoxColumn2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;
+            this.dataGridViewTextBoxColumn2.DataPropertyName = "pr_detail";
+            this.dataGridViewTextBoxColumn2.HeaderText = "上料名称";
+            this.dataGridViewTextBoxColumn2.MinimumWidth = 10;
+            this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";
+            this.dataGridViewTextBoxColumn2.ReadOnly = true;
+            this.dataGridViewTextBoxColumn2.Width = 200;
+            // 
+            // dataGridViewTextBoxColumn3
+            // 
+            this.dataGridViewTextBoxColumn3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;
+            this.dataGridViewTextBoxColumn3.DataPropertyName = "cm_soncode";
+            this.dataGridViewTextBoxColumn3.HeaderText = "前缀";
+            this.dataGridViewTextBoxColumn3.MinimumWidth = 10;
+            this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3";
+            this.dataGridViewTextBoxColumn3.ReadOnly = true;
+            this.dataGridViewTextBoxColumn3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.dataGridViewTextBoxColumn3.Width = 200;
+            // 
+            // dataGridViewTextBoxColumn4
+            // 
+            this.dataGridViewTextBoxColumn4.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;
+            this.dataGridViewTextBoxColumn4.DataPropertyName = "cm_barcode";
+            this.dataGridViewTextBoxColumn4.HeaderText = "长度";
+            this.dataGridViewTextBoxColumn4.MinimumWidth = 10;
+            this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4";
+            this.dataGridViewTextBoxColumn4.ReadOnly = true;
+            this.dataGridViewTextBoxColumn4.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.dataGridViewTextBoxColumn4.Width = 200;
+            // 
+            // dataGridViewTextBoxColumn5
+            // 
+            this.dataGridViewTextBoxColumn5.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;
+            this.dataGridViewTextBoxColumn5.DataPropertyName = "sp_length";
+            this.dataGridViewTextBoxColumn5.HeaderText = "条码号";
+            this.dataGridViewTextBoxColumn5.MinimumWidth = 300;
+            this.dataGridViewTextBoxColumn5.Name = "dataGridViewTextBoxColumn5";
+            this.dataGridViewTextBoxColumn5.ReadOnly = true;
+            this.dataGridViewTextBoxColumn5.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.dataGridViewTextBoxColumn5.Width = 200;
+            // 
+            // dataGridViewTextBoxColumn6
+            // 
+            this.dataGridViewTextBoxColumn6.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;
+            this.dataGridViewTextBoxColumn6.HeaderText = "条码号";
+            this.dataGridViewTextBoxColumn6.MinimumWidth = 300;
+            this.dataGridViewTextBoxColumn6.Name = "dataGridViewTextBoxColumn6";
+            this.dataGridViewTextBoxColumn6.ReadOnly = true;
+            this.dataGridViewTextBoxColumn6.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            this.dataGridViewTextBoxColumn6.Width = 200;
+            // 
+            // sir_remark
+            // 
+            this.sir_remark.AllPower = null;
+            this.sir_remark.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.sir_remark.BackColor = System.Drawing.Color.White;
+            this.sir_remark.ID = null;
+            this.sir_remark.Location = new System.Drawing.Point(1360, 534);
+            this.sir_remark.Margin = new System.Windows.Forms.Padding(6);
+            this.sir_remark.Multiline = true;
+            this.sir_remark.Name = "sir_remark";
+            this.sir_remark.Power = null;
+            this.sir_remark.Size = new System.Drawing.Size(392, 132);
+            this.sir_remark.Str = null;
+            this.sir_remark.Str1 = null;
+            this.sir_remark.Str2 = null;
+            this.sir_remark.TabIndex = 191;
+            // 
+            // StepCount
+            // 
+            this.StepCount.LineCode = null;
+            this.StepCount.Location = new System.Drawing.Point(920, 688);
+            this.StepCount.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.StepCount.Name = "StepCount";
+            this.StepCount.Size = new System.Drawing.Size(160, 44);
+            this.StepCount.Source = null;
+            this.StepCount.StepCode = null;
+            this.StepCount.TabIndex = 189;
+            // 
+            // ma_code
+            // 
+            this.ma_code.AllPower = null;
+            this.ma_code.Caller = null;
+            this.ma_code.Condition = null;
+            this.ma_code.DBTitle = null;
+            this.ma_code.FormName = null;
+            this.ma_code.Location = new System.Drawing.Point(192, 26);
+            this.ma_code.Margin = new System.Windows.Forms.Padding(4);
+            this.ma_code.Name = "ma_code";
+            this.ma_code.Power = null;
+            this.ma_code.ReturnData = null;
+            this.ma_code.SelectField = null;
+            this.ma_code.SetValueField = null;
+            this.ma_code.Size = new System.Drawing.Size(296, 42);
+            this.ma_code.TabIndex = 141;
+            this.ma_code.TableName = null;
+            this.ma_code.Tag = "ma_code";
+            this.ma_code.TextBoxEnable = true;
+            this.ma_code.UserControlTextChanged += new UAS_MES_NEW.CustomControl.TextBoxWithIcon.MaCodeSearchTextBox.OnTextChange(this.ma_code_UserControlTextChanged);
+            // 
+            // LockMakeCode
+            // 
+            this.LockMakeCode.AutoSize = true;
+            this.LockMakeCode.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.LockMakeCode.LeaveEvent = false;
+            this.LockMakeCode.Location = new System.Drawing.Point(496, 30);
+            this.LockMakeCode.Margin = new System.Windows.Forms.Padding(4);
+            this.LockMakeCode.Name = "LockMakeCode";
+            this.LockMakeCode.Size = new System.Drawing.Size(94, 35);
+            this.LockMakeCode.TabIndex = 140;
+            this.LockMakeCode.Text = "锁定";
+            this.LockMakeCode.UseVisualStyleBackColor = true;
+            // 
+            // ma_prodcode
+            // 
+            this.ma_prodcode.AutoSize = true;
+            this.ma_prodcode.CutLength = null;
+            this.ma_prodcode.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ma_prodcode.Location = new System.Drawing.Point(802, 24);
+            this.ma_prodcode.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.ma_prodcode.MaximumSize = new System.Drawing.Size(300, 0);
+            this.ma_prodcode.Name = "ma_prodcode";
+            this.ma_prodcode.Size = new System.Drawing.Size(0, 41);
+            this.ma_prodcode.TabIndex = 99;
+            this.ma_prodcode.TextChanged += new System.EventHandler(this.ma_prodcode_TextChanged);
+            // 
+            // pr_detail
+            // 
+            this.pr_detail.AutoSize = true;
+            this.pr_detail.CutLength = null;
+            this.pr_detail.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.pr_detail.Location = new System.Drawing.Point(1350, 24);
+            this.pr_detail.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.pr_detail.MaximumSize = new System.Drawing.Size(300, 0);
+            this.pr_detail.Name = "pr_detail";
+            this.pr_detail.Size = new System.Drawing.Size(0, 41);
+            this.pr_detail.TabIndex = 98;
+            // 
+            // mcd_remainqty
+            // 
+            this.mcd_remainqty.AutoSize = true;
+            this.mcd_remainqty.CutLength = null;
+            this.mcd_remainqty.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.mcd_remainqty.Location = new System.Drawing.Point(1348, 122);
+            this.mcd_remainqty.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.mcd_remainqty.MaximumSize = new System.Drawing.Size(300, 0);
+            this.mcd_remainqty.Name = "mcd_remainqty";
+            this.mcd_remainqty.Size = new System.Drawing.Size(0, 41);
+            this.mcd_remainqty.TabIndex = 97;
+            this.mcd_remainqty.Tag = "mcd_remainqty";
+            // 
+            // mcd_inqty
+            // 
+            this.mcd_inqty.AutoSize = true;
+            this.mcd_inqty.CutLength = null;
+            this.mcd_inqty.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.mcd_inqty.Location = new System.Drawing.Point(802, 122);
+            this.mcd_inqty.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.mcd_inqty.MaximumSize = new System.Drawing.Size(300, 0);
+            this.mcd_inqty.Name = "mcd_inqty";
+            this.mcd_inqty.Size = new System.Drawing.Size(0, 41);
+            this.mcd_inqty.TabIndex = 96;
+            // 
+            // ma_qty
+            // 
+            this.ma_qty.AutoSize = true;
+            this.ma_qty.CutLength = null;
+            this.ma_qty.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ma_qty.Location = new System.Drawing.Point(192, 122);
+            this.ma_qty.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.ma_qty.MaximumSize = new System.Drawing.Size(300, 0);
+            this.ma_qty.Name = "ma_qty";
+            this.ma_qty.Size = new System.Drawing.Size(0, 41);
+            this.ma_qty.TabIndex = 95;
+            // 
+            // OperateResult
+            // 
+            this.OperateResult.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.OperateResult.Location = new System.Drawing.Point(1090, 688);
+            this.OperateResult.Margin = new System.Windows.Forms.Padding(6);
+            this.OperateResult.Name = "OperateResult";
+            this.OperateResult.Size = new System.Drawing.Size(696, 238);
+            this.OperateResult.TabIndex = 94;
+            this.OperateResult.Text = "";
+            // 
+            // Clean
+            // 
+            this.Clean.AllPower = null;
+            this.Clean.BackColor = System.Drawing.Color.Transparent;
+            this.Clean.DownImage = ((System.Drawing.Image)(resources.GetObject("Clean.DownImage")));
+            this.Clean.Image = ((System.Drawing.Image)(resources.GetObject("Clean.Image")));
+            this.Clean.IsShowBorder = true;
+            this.Clean.Location = new System.Drawing.Point(920, 878);
+            this.Clean.Margin = new System.Windows.Forms.Padding(6);
+            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(120, 48);
+            this.Clean.TabIndex = 80;
+            this.Clean.Text = "清除";
+            this.Clean.UseVisualStyleBackColor = true;
+            this.Clean.Click += new System.EventHandler(this.Clean_Click);
+            // 
+            // ma_softversion
+            // 
+            this.ma_softversion.AllPower = null;
+            this.ma_softversion.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.ma_softversion.BackColor = System.Drawing.Color.White;
+            this.ma_softversion.ID = null;
+            this.ma_softversion.Location = new System.Drawing.Point(1544, 357);
+            this.ma_softversion.Margin = new System.Windows.Forms.Padding(6);
+            this.ma_softversion.Name = "ma_softversion";
+            this.ma_softversion.Power = null;
+            this.ma_softversion.Size = new System.Drawing.Size(208, 35);
+            this.ma_softversion.Str = null;
+            this.ma_softversion.Str1 = null;
+            this.ma_softversion.Str2 = null;
+            this.ma_softversion.TabIndex = 78;
+            // 
+            // ma_ecncode
+            // 
+            this.ma_ecncode.AllPower = null;
+            this.ma_ecncode.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.ma_ecncode.BackColor = System.Drawing.Color.White;
+            this.ma_ecncode.ID = null;
+            this.ma_ecncode.Location = new System.Drawing.Point(1544, 428);
+            this.ma_ecncode.Margin = new System.Windows.Forms.Padding(6);
+            this.ma_ecncode.Name = "ma_ecncode";
+            this.ma_ecncode.Power = null;
+            this.ma_ecncode.Size = new System.Drawing.Size(208, 35);
+            this.ma_ecncode.Str = null;
+            this.ma_ecncode.Str1 = null;
+            this.ma_ecncode.Str2 = null;
+            this.ma_ecncode.TabIndex = 77;
+            // 
+            // Confirm
+            // 
+            this.Confirm.AllPower = "ifall";
+            this.Confirm.BackColor = System.Drawing.Color.Transparent;
+            this.Confirm.DownImage = ((System.Drawing.Image)(resources.GetObject("Confirm.DownImage")));
+            this.Confirm.Image = ((System.Drawing.Image)(resources.GetObject("Confirm.Image")));
+            this.Confirm.IsShowBorder = true;
+            this.Confirm.Location = new System.Drawing.Point(578, 880);
+            this.Confirm.Margin = new System.Windows.Forms.Padding(6);
+            this.Confirm.MoveImage = ((System.Drawing.Image)(resources.GetObject("Confirm.MoveImage")));
+            this.Confirm.Name = "Confirm";
+            this.Confirm.NormalImage = ((System.Drawing.Image)(resources.GetObject("Confirm.NormalImage")));
+            this.Confirm.Power = null;
+            this.Confirm.Size = new System.Drawing.Size(120, 48);
+            this.Confirm.TabIndex = 73;
+            this.Confirm.Tag = "IfRead";
+            this.Confirm.Text = "确认";
+            this.Confirm.UseVisualStyleBackColor = true;
+            this.Confirm.Click += new System.EventHandler(this.Confirm_Click);
+            // 
+            // code
+            // 
+            this.code.AllPower = "ifall";
+            this.code.BackColor = System.Drawing.Color.White;
+            this.code.ID = null;
+            this.code.Location = new System.Drawing.Point(196, 884);
+            this.code.Margin = new System.Windows.Forms.Padding(6);
+            this.code.Name = "code";
+            this.code.Power = null;
+            this.code.Size = new System.Drawing.Size(316, 35);
+            this.code.Str = null;
+            this.code.Str1 = null;
+            this.code.Str2 = null;
+            this.code.TabIndex = 0;
+            this.code.Tag = "IfRead";
+            this.code.KeyDown += new System.Windows.Forms.KeyEventHandler(this.code_KeyDown);
+            // 
+            // sn_code
+            // 
+            this.sn_code.AllPower = null;
+            this.sn_code.BackColor = System.Drawing.Color.White;
+            this.sn_code.Enabled = false;
+            this.sn_code.ID = null;
+            this.sn_code.Location = new System.Drawing.Point(196, 796);
+            this.sn_code.Margin = new System.Windows.Forms.Padding(6);
+            this.sn_code.Name = "sn_code";
+            this.sn_code.Power = null;
+            this.sn_code.Size = new System.Drawing.Size(316, 35);
+            this.sn_code.Str = null;
+            this.sn_code.Str1 = null;
+            this.sn_code.Str2 = null;
+            this.sn_code.TabIndex = 65;
+            // 
+            // serialPortCombox1
+            // 
+            this.serialPortCombox1.Location = new System.Drawing.Point(1543, 199);
+            this.serialPortCombox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+            this.serialPortCombox1.Name = "serialPortCombox1";
+            this.serialPortCombox1.Size = new System.Drawing.Size(209, 40);
+            this.serialPortCombox1.TabIndex = 194;
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label1.Location = new System.Drawing.Point(1425, 198);
+            this.label1.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(82, 41);
+            this.label1.TabIndex = 195;
+            this.label1.Text = "串口";
+            // 
+            // OpenPort
+            // 
+            this.OpenPort.AllPower = null;
+            this.OpenPort.BackColor = System.Drawing.Color.Transparent;
+            this.OpenPort.DownImage = ((System.Drawing.Image)(resources.GetObject("OpenPort.DownImage")));
+            this.OpenPort.Image = ((System.Drawing.Image)(resources.GetObject("OpenPort.Image")));
+            this.OpenPort.IsShowBorder = true;
+            this.OpenPort.Location = new System.Drawing.Point(1632, 250);
+            this.OpenPort.Margin = new System.Windows.Forms.Padding(6);
+            this.OpenPort.MoveImage = ((System.Drawing.Image)(resources.GetObject("OpenPort.MoveImage")));
+            this.OpenPort.Name = "OpenPort";
+            this.OpenPort.NormalImage = ((System.Drawing.Image)(resources.GetObject("OpenPort.NormalImage")));
+            this.OpenPort.Power = null;
+            this.OpenPort.Size = new System.Drawing.Size(120, 48);
+            this.OpenPort.TabIndex = 196;
+            this.OpenPort.Text = "打开";
+            this.OpenPort.UseVisualStyleBackColor = true;
+            this.OpenPort.Click += new System.EventHandler(this.OpenPort_Click);
+            // 
+            // ms_bomversion
+            // 
+            this.ms_bomversion.AutoSize = true;
+            this.ms_bomversion.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ms_bomversion.Location = new System.Drawing.Point(898, 467);
+            this.ms_bomversion.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.ms_bomversion.Name = "ms_bomversion";
+            this.ms_bomversion.Size = new System.Drawing.Size(0, 41);
+            this.ms_bomversion.TabIndex = 197;
+            this.ms_bomversion.Visible = false;
+            // 
+            // Make_FeedingCollectionBadOnlyNEW
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(12F, 24F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(1796, 974);
+            this.Controls.Add(this.ms_bomversion);
+            this.Controls.Add(this.OpenPort);
+            this.Controls.Add(this.label1);
+            this.Controls.Add(this.serialPortCombox1);
+            this.Controls.Add(this.LabelDataGridView);
+            this.Controls.Add(this.NoteForChange);
+            this.Controls.Add(this.sir_remark);
+            this.Controls.Add(this.sir_remark_label);
+            this.Controls.Add(this.StepCount);
+            this.Controls.Add(this.ma_craftcode);
+            this.Controls.Add(this.ma_bomversion_label);
+            this.Controls.Add(this.ma_bomversion);
+            this.Controls.Add(this.ms_craftcode);
+            this.Controls.Add(this.ma_code);
+            this.Controls.Add(this.LockMakeCode);
+            this.Controls.Add(this.ClearSn_code);
+            this.Controls.Add(this.ma_prodcode);
+            this.Controls.Add(this.pr_detail);
+            this.Controls.Add(this.mcd_remainqty);
+            this.Controls.Add(this.mcd_inqty);
+            this.Controls.Add(this.ma_qty);
+            this.Controls.Add(this.OperateResult);
+            this.Controls.Add(this.Clean);
+            this.Controls.Add(this.ma_softversion);
+            this.Controls.Add(this.ma_ecncode);
+            this.Controls.Add(this.ma_ecncode_label);
+            this.Controls.Add(this.ma_softversion_label);
+            this.Controls.Add(this.Confirm);
+            this.Controls.Add(this.iflastsn);
+            this.Controls.Add(this.code);
+            this.Controls.Add(this.code_label);
+            this.Controls.Add(this.sn_code);
+            this.Controls.Add(this.sn_code_label);
+            this.Controls.Add(this.UnLoading);
+            this.Controls.Add(this.Loading);
+            this.Controls.Add(this.mcd_restqty_label);
+            this.Controls.Add(this.mcd_inqty_label);
+            this.Controls.Add(this.ma_qty_label);
+            this.Controls.Add(this.ms_makecode_label);
+            this.Controls.Add(this.pr_detail_label);
+            this.Controls.Add(this.ma_prodcode_label);
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
+            this.Margin = new System.Windows.Forms.Padding(6);
+            this.Name = "Make_FeedingCollectionBadOnlyNEW";
+            this.Tag = "Make!FeedingCollection";
+            this.Text = "上料采集";
+            this.Load += new System.EventHandler(this.Make_FeedingCollection_Load);
+            this.SizeChanged += new System.EventHandler(this.Make_FeedingCollection_SizeChanged);
+            ((System.ComponentModel.ISupportInitialize)(this.ClearSn_code)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.LabelDataGridView)).EndInit();
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+        private System.Windows.Forms.Label mcd_restqty_label;
+        private System.Windows.Forms.Label mcd_inqty_label;
+        private System.Windows.Forms.Label ma_qty_label;
+        private System.Windows.Forms.Label ms_makecode_label;
+        private System.Windows.Forms.Label pr_detail_label;
+        private System.Windows.Forms.Label ma_prodcode_label;
+        private System.Windows.Forms.RadioButton Loading;
+        private System.Windows.Forms.RadioButton UnLoading;
+        private CustomControl.TextBoxWithIcon.EnterTextBox sn_code;
+        private System.Windows.Forms.Label sn_code_label;
+        private System.Windows.Forms.Label code_label;
+        private CustomControl.TextBoxWithIcon.SnCollectionBox code;
+        private System.Windows.Forms.CheckBox iflastsn;
+        private CustomControl.ButtonUtil.NormalButton Confirm;
+        private System.Windows.Forms.CheckBox ma_softversion_label;
+        private System.Windows.Forms.CheckBox ma_ecncode_label;
+        private CustomControl.TextBoxWithIcon.EnterTextBox ma_ecncode;
+        private CustomControl.TextBoxWithIcon.EnterTextBox ma_softversion;
+        private CustomControl.ButtonUtil.NormalButton Clean;
+        private CustomControl.RichText.RichTextAutoBottom OperateResult;
+        private CustomControl.ValueLabel.ValueLabel ma_qty;
+        private CustomControl.ValueLabel.ValueLabel mcd_inqty;
+        private CustomControl.ValueLabel.ValueLabel mcd_remainqty;
+        private CustomControl.ValueLabel.ValueLabel pr_detail;
+        private CustomControl.ValueLabel.ValueLabel ma_prodcode;
+        private System.Windows.Forms.PictureBox ClearSn_code;
+        private CustomControl.CustomCheckBox.LockCheckBox LockMakeCode;
+        private CustomControl.TextBoxWithIcon.MaCodeSearchTextBox ma_code;
+        private System.Windows.Forms.Label ms_craftcode;
+        private System.Windows.Forms.Label ma_bomversion;
+        private System.Windows.Forms.Label ma_bomversion_label;
+        private System.Windows.Forms.Label ma_craftcode;
+        private CustomControl.TextBoxWithIcon.SourceStepCount StepCount;
+        private System.Windows.Forms.CheckBox sir_remark_label;
+        private CustomControl.TextBoxWithIcon.EnterTextBox sir_remark;
+        private System.Windows.Forms.CheckBox NoteForChange;
+        private System.Windows.Forms.DataGridView LabelDataGridView;
+        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 dataGridViewTextBoxColumn6;
+        private System.Windows.Forms.DataGridViewTextBoxColumn 序号;
+        private System.Windows.Forms.DataGridViewTextBoxColumn cm_makecode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn pr_detail_;
+        private System.Windows.Forms.DataGridViewTextBoxColumn cm_soncode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn cm_barcode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn BarCode;
+        private CustomControl.ComBoxWithFocus.SerialPortCombox serialPortCombox1;
+        private System.Windows.Forms.Label label1;
+        private CustomControl.ButtonUtil.NormalButton OpenPort;
+        private System.Windows.Forms.Label ms_bomversion;
+    }
+}

+ 682 - 0
UAS_MES_YDCY/FunctionCode/Make/Make_FeedingCollectionBadOnlyNEW.cs

@@ -0,0 +1,682 @@
+using System;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using UAS_MES_NEW.CustomControl.TextBoxWithIcon;
+using UAS_MES_NEW.DataOperate;
+using UAS_MES_NEW.Entity;
+using UAS_MES_NEW.PublicMethod;
+using System.Drawing;
+using System.Text.RegularExpressions;
+using System.Collections.Generic;
+using UAS_MES_NEW.PublicForm;
+using System.IO.Ports;
+using DevExpress.XtraPrinting;
+using static System.Runtime.CompilerServices.RuntimeHelpers;
+using DevExpress.XtraSpellChecker;
+
+namespace UAS_MES_NEW.Make
+{
+    public partial class Make_FeedingCollectionBadOnlyNEW : Form
+    {
+        //MakeSerial表主键
+        string ms_id;
+        //制造单号                                                                             
+        string make_code;
+        //产品编号
+        string make_prodcode;
+        //工序编号
+        string nextstepcode;
+        //完工状态
+        string ms_status;
+        string ms_paststep;
+        //工艺路线编号
+        //Bom版本
+        string mabomversion;
+        string ErrorMessage = "";
+
+        List<string> TSN = new List<string>();
+
+        Dictionary<string, string> CheckBarcode = new Dictionary<string, string>();
+
+        //用于提醒的序列B
+        string[] RemainList = new string[0];
+        //提醒序列的索引
+        int RemainIndex = 0;
+
+        string oMakeCode = "";
+        string oMsid = "";
+
+        string ms_firstsn = "";
+
+        DataHelper dh;
+        LogStringBuilder sql = new LogStringBuilder();
+        DataTable DBFind;
+        DataTable dt;
+        //保存ListB中的数据
+        DataTable dt1;
+
+        AutoSizeFormClass asc = new AutoSizeFormClass();
+
+        List<string> CollectData = new List<string>();
+
+        List<string> ResultStr = new List<string>();
+
+        List<string> CollectDataSonCode = new List<string>();
+
+        List<string> SPID = new List<string>();
+
+
+        List<string> ReturnUseRate = new List<string>();
+
+        List<string> ReturnSubFix = new List<string>();
+
+        public Make_FeedingCollectionBadOnlyNEW()
+        {
+            InitializeComponent();
+        }
+
+        private void Make_FeedingCollection_Load(object sender, EventArgs e)
+        {
+            asc.controllInitializeSize(this);
+            LockMakeCode.GetMakeCodeCtl(ma_code);
+            ma_code.SetLockCheckBox(LockMakeCode);
+            //工单号放大镜配置
+            ma_code.TableName = "make left join product on ma_prodcode=pr_code";
+            ma_code.SelectField = "ma_code # 工单号,ma_prodcode # 产品编号,ma_qty # 工单数量,ma_craftcode # 途程编号,pr_spec # 产品名称,ma_bomversion # Bom版本,ma_softversion # 软件版本,ma_ecncode # ECN号";
+            ma_code.FormName = Name;
+            ma_code.DBTitle = "工单查询";
+            ma_code.SetValueField = new string[] { "ma_code", "ma_prodcode", "ma_qty", "pr_spec", "ma_craftcode", "ma_bomversion", "ma_softversion", "ma_ecncode" };
+            ma_code.Condition = "ma_statuscode='STARTED'";
+            ma_code.DbChange += Ma_code_DBChange;
+            code.Focus();
+            dh = SystemInf.dh;
+            StepCount.StepCode = User.CurrentStepCode;
+            StepCount.Source = User.UserSourceCode;
+            StepCount.LineCode = User.UserLineCode;
+            StepCount.Dh = dh;
+            StepCount.Start();
+        }
+
+        private void Ma_code_DBChange(object sender, EventArgs e)
+        {
+            DBFind = ma_code.ReturnData;
+            BaseUtil.SetFormValue(this.Controls, DBFind);
+            string ifforsn = dh.getFieldDataByCondition("make left join stepbom on ma_prodcode=sb_prodcode left join stepproduct on sb_id=sp_sbid", "nvl(sp_ifforsn,0) sp_ifforsn", "ma_code='" + ma_code.Text + "' and sp_craftcode='" + ma_craftcode.Text + "' and sp_stepcode='" + User.CurrentStepCode + "' and sb_bomversion='" + ma_bomversion.Text + "' order by sp_detno").ToString();
+            if (ifforsn != "" && ifforsn != "0")
+                iflastsn.Checked = true;
+            else
+                iflastsn.Checked = false;
+        }
+
+        private void Make_FeedingCollection_SizeChanged(object sender, EventArgs e)
+        {
+            asc.controlAutoSize(this);
+        }
+
+        private void Clean_Click(object sender, EventArgs e)
+        {
+            OperateResult.Clear();
+        }
+
+        private void Confirm_Click(object sender, EventArgs e)
+        {
+            KeyEventArgs e2 = new KeyEventArgs(Keys.Enter);
+            code_KeyDown(sender, e2);
+        }
+
+        private void code_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.KeyCode == Keys.Enter)
+            {
+                if (LogicHandler.CheckStepAttribute(Tag.ToString(), User.UserSourceCode, out ErrorMessage))
+                {
+                    if (Loading.Checked)
+                    {
+                        if (code.Text.Replace(" ", "") == "")
+                        {
+                            OperateResult.AppendText(">>采集数据不可为空\n", Color.Red);
+                            return;
+                        }
+                        //如果录入框和工单号均有输入
+                        if (code.Text != "" && ma_code.Text != "" && sn_code.Text == "")
+                        {
+                            GetCollectItem();
+                            BaseUtil.FillDgvWithDataTable(LabelDataGridView, dt1);
+                        }
+                        //输入框有值但未选择工单号
+                        else if (code.Text != "" && ma_code.Text == "" && sn_code.Text == "")
+                        {
+                            GetCollectItem();
+                            BaseUtil.FillDgvWithDataTable(LabelDataGridView, dt1);
+                        }
+                        else if (sn_code.Text != "")
+                        {
+                            //索引超出长度表示内容均已提醒
+                            if (RemainIndex >= RemainList.Length)
+                            {
+                                OperateResult.AppendText(">>当前序列号" + sn_code.Text + "不在本道工序,请采集其它序列号\n", Color.Red);
+                                sn_code.Text = "";
+                                code.Text = "";
+                                return;
+                            }
+                            string sp_soncode = dt1.Rows[RemainIndex]["sp_soncode"].ToString();
+                            string sp_fsoncode = dt1.Rows[RemainIndex]["sp_fsoncode"].ToString();
+                            string sp_prefix = dt1.Rows[RemainIndex]["sp_prefix"].ToString();
+                            string sp_regex = dt1.Rows[RemainIndex]["sp_regex"].ToString();
+                            string length = dt1.Rows[RemainIndex]["sp_length"].ToString();
+                            string sp_id = dt1.Rows[RemainIndex]["sp_id"].ToString();
+                            string sp_ifrepeat = dt1.Rows[RemainIndex]["sp_ifrepeat"].ToString();
+                            string sp_ifforsn = dt1.Rows[RemainIndex]["sp_ifforsn"].ToString();
+                            string sp_barcoderule = dt1.Rows[RemainIndex]["sp_barcoderule"].ToString();
+                            string sp_checkbarcode = dt1.Rows[RemainIndex]["sp_checkbarcode"].ToString();
+                            string sp_checksalecode = dt1.Rows[RemainIndex]["sp_checksalecode"].ToString();
+                            string sp_subnum = dt1.Rows[RemainIndex]["sp_subnum"].ToString();
+                            string sp_subnumlength = dt1.Rows[RemainIndex]["sp_subnumlength"].ToString();
+                            string sp_rate = dt1.Rows[RemainIndex]["sp_rate"].ToString();
+                            string resultstr = "";
+                            string subfix = "";
+                            string userate = "0";
+                            string soncode = "";
+                            if (LogicHandler.CheckSNBeforeLoad(ma_code.Text, sn_code.Text, code.Text, sp_fsoncode, sp_soncode, sp_barcoderule, sp_prefix, length, sp_ifrepeat, sp_checksalecode, sp_subnum, sp_subnumlength, "0", sp_rate, out resultstr, out userate, out subfix, out soncode, out ErrorMessage))
+                            {
+                                //判断采集的条码和本次采集的也不能重复
+                                if (CollectData.Contains(code.Text) && sp_ifrepeat != "-1")
+                                {
+                                    OperateResult.AppendText(">>条码" + code.Text + "已经上料\n", Color.Red, code);
+                                    return;
+                                }
+                                if (sp_checkbarcode != "")
+                                {
+                                    if (CheckBarcode.ContainsKey(sp_checkbarcode))
+                                    {
+                                        if (CheckBarcode[sp_checkbarcode] != code.Text)
+                                        {
+                                            OperateResult.AppendText(">>条码" + code.Text + "需要检查物料,未匹配到之前上料数据\n", Color.Red, code);
+                                            return;
+                                        }
+                                    }
+                                    else
+                                    {
+                                        OperateResult.AppendText(">>条码" + code.Text + "需要检查物料,未匹配到之前上料数据\n", Color.Red, code);
+                                        return;
+                                    }
+                                }
+                                TSN.Add(code.Text);
+                                if (sp_barcoderule == "BARCODE")
+                                {
+                                    sp_soncode = ErrorMessage;
+                                }
+                                LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "上物料", sn_code.Text + "上物料" + code.Text + "料号" + sp_fsoncode, sn_code.Text, "");
+                                Save_OtherCode(soncode, sp_soncode, make_code, sn_code.Text, sp_id, resultstr, userate, subfix);
+                            }
+                            else
+                            {
+                                OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, code);
+                                SetCheck set = new SetCheck("NG", Color.Red);
+                                BaseUtil.SetFormCenter(set);
+                                set.ShowDialog();
+                            }
+                        }
+                    }
+                    //勾选了下料的时候
+                    else if (UnLoading.Checked)
+                    {
+                        if (!LogicHandler.CheckStepSNAndMacode_NEW(ma_code.Text, User.UserSourceCode, code.Text, User.UserCode, out oMakeCode, out oMsid, out ErrorMessage))
+                        {
+                            if (!ErrorMessage.Contains("处于待维修状态"))
+                            {
+                                OperateResult.AppendText(">>序列号" + code.Text + "处于维修状态\n", Color.Green, code);
+                                return;
+                            }
+                            sql.Clear();
+                            sql.Append("select ms_firstsn,ms_sncode,cm_makecode,cm_craftcode,nvl(cm_status,0)cm_status,cm_id,cm_stepcode,");
+                            sql.Append("ms_makecode,cm_mccode,cm_materialtype from craftmaterial left join makeserial on cm_makecode");
+                            sql.Append("=ms_makecode and cm_sncode=ms_sncode where cm_sncode='" + code.Text + "' and cm_makecode='" + oMakeCode + "'");
+                            sql.Append("and cm_materialtype=1 and cm_stepcode='" + User.CurrentStepCode + "' ");
+                            dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+                            if (dt.Rows.Count > 0)
+                            {
+                                string ms_macode = dt.Rows[0]["ms_makecode"].ToString();
+                                string ms_firstsn = dt.Rows[0]["ms_sncode"].ToString();
+                                string cm_stepcode = dt.Rows[0]["cm_stepcode"].ToString();
+                                string cm_mccode = dt.Rows[0]["cm_mccode"].ToString();
+                                string cm_materialtype = dt.Rows[0]["cm_materialtype"].ToString();
+                                string cm_status = dt.Rows[0]["cm_status"].ToString();
+                                string cm_makecode = dt.Rows[0]["cm_makecode"].ToString();
+                                string cm_craftcode = dt.Rows[0]["cm_craftcode"].ToString();
+                                //清除已被使用的序列号
+                                sql.Clear();
+                                sql.Append("update makeserial set ms_nextmacode='' where ms_sncode in(select cm_barcode from craftmaterial where ");
+                                sql.Append("cm_makecode='" + cm_makecode + "' and cm_sncode='" + code.Text + "' and cm_stepcode='" + cm_stepcode + "' and cm_craftcode='" + cm_craftcode + "' ");
+                                sql.Append("and cm_materialtype=1 and nvl(cm_status,0) =0) and ms_nextmacode='" + oMakeCode + "'");
+                                dh.ExecuteSql(sql.GetString(), "update");
+                                sql.Clear();
+                                sql.Append("update makeserial set ms_nextstepcode=ms_stepcode where ms_id='" + ms_id + "'");
+                                dh.ExecuteSql(sql.GetString(), "update");
+                                //进行下料
+                                sql.Clear();
+                                sql.Append("delete from craftmaterial where (cm_sncode in (select sn from makesnrelation where firstsn");
+                                sql.Append("='" + ms_firstsn + "') or cm_sncode = '" + ms_firstsn + "') and cm_makecode = '" + oMakeCode + "' ");
+                                sql.Append("and cm_status = 0 and cm_stepcode='" + User.CurrentStepCode + "' and cm_materialtype=1");
+                                dh.ExecuteSql(sql.GetString(), "delete");
+                                LogicHandler.InsertMakeProcess(ms_macode, code.Text, User.UserSourceCode, "上料采集操作", "下料成功", User.UserCode);
+                                //刷新界面值
+                                sql.Clear();
+                                sql.Append("select mcd_inqty,ma_qty-mcd_inqty mcd_remainqty ");
+                                sql.Append("from make left join makecraftdetail on mcd_macode=ma_code where ");
+                                sql.Append("ma_code='" + oMakeCode + "' and mcd_stepcode='" + User.CurrentStepCode + "'");
+                                dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+                                BaseUtil.SetFormValue(Controls, dt);
+                                LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "上料采集", "下料成功", code.Text, "");
+                                OperateResult.AppendText(">>序列号" + code.Text + "下料成功\n", Color.Green, code);
+                            }
+                            else OperateResult.AppendText(">>序列号" + code.Text + "未上料,无需下料\n", Color.Red, code);
+                        }
+                        else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, code);
+                    }
+                }
+                else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, code);
+            }
+        }
+
+        //获取采集的项目
+        private void GetCollectItem()
+        {
+            bool NoteAlready = LogicHandler.CheckDiffMakeCodeBeforeStepCheck(code.Text, ma_code.Text, NoteForChange.Checked, out oMakeCode, out ErrorMessage);
+            if (!NoteAlready)
+            {
+                OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, code);
+                return;
+            }
+            dt = (DataTable)dh.ExecuteSql("select ms_sncode from makeserial where ms_imei1='" + code.Text + "' order by ms_id desc", "select");
+            if (dt.Rows.Count > 0)
+            {
+                code.Text = dt.Rows[0]["ms_sncode"].ToString();
+            }
+            else
+            {
+                dt = (DataTable)dh.ExecuteSql("select ms_sncode from makeserial where ms_imei2='" + code.Text + "' order by ms_id desc", "select");
+                if (dt.Rows.Count > 0)
+                {
+                    code.Text = dt.Rows[0]["ms_sncode"].ToString();
+                }
+            }
+            dt = (DataTable)dh.ExecuteSql("select ms_id,ms_makecode,ms_status from makeserial where ms_id=(select max(ms_id) from makeserial where ms_sncode='" + code.Text + "')", "select");
+            if (dt.Rows.Count > 0)
+            {
+                oMsid = dt.Rows[0]["ms_id"].ToString();
+                oMakeCode = dt.Rows[0]["ms_makecode"].ToString();
+                ms_status = dt.Rows[0]["ms_status"].ToString();
+            }
+            if (ms_status != "3")
+            {
+                OperateResult.AppendText(">>序列号" + code.Text + "需处于维修状态\n", Color.Red, code);
+                return;
+            }
+            //将录入框的值给序列号
+            sn_code.Text = code.Text;
+            sql.Clear();
+            sql.Append("select ma_prodcode,ma_ecncode,ms_sncode,ms_bomversion,ma_softversion,ms_firstsn,ms_bomversion ma_bomversion,ma_qty,ma_code,pr_spec,ms_status,ms_id,ms_craftcode,ms_nextstepcode");
+            sql.Append(",ms_prodcode,ms_makecode,ms_code,ms_stepname  from makeserial left join make on ma_code=ms_makecode ");
+            sql.Append("left join product on ms_prodcode=pr_code where ms_sncode='" + code.Text + "' order by ms_id desc");
+            dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+            if (dt.Rows.Count > 0)
+            {
+                ms_id = dt.Rows[0]["ms_id"].ToString();
+                make_code = dt.Rows[0]["ma_code"].ToString();
+                mabomversion = dt.Rows[0]["ma_bomversion"].ToString();
+                make_prodcode = dt.Rows[0]["ms_prodcode"].ToString();
+                nextstepcode = dt.Rows[0]["ms_nextstepcode"].ToString();
+                ms_status = dt.Rows[0]["ms_status"].ToString();
+                ms_firstsn = dt.Rows[0]["ms_sncode"].ToString();
+                BaseUtil.SetFormValue(this.Controls, dt);
+                string ifforsn = dh.getFieldDataByCondition("make left join stepbom on ma_prodcode=sb_prodcode left join stepproduct on sb_id=sp_sbid", "nvl(sp_ifforsn,0) sp_ifforsn", "ma_code='" + ma_code.Text + "' and sp_stepcode='" + User.CurrentStepCode + "'  and sp_craftcode='" + ms_craftcode.Text + "' and sb_bomversion='" + ma_bomversion.Text + "' order by sp_detno").ToString();
+                if (ifforsn != "" && ifforsn != "0")
+                    iflastsn.Checked = true;
+                else
+                    iflastsn.Checked = false;
+                LockMakeCode.Checked = true;
+                //勾选了前一工单
+                if (iflastsn.Checked)
+                {
+                    dt = (DataTable)dh.ExecuteSql("select ms_paststep,ms_id,ms_makecode,ms_craftcode,ms_status,ms_nextstepcode,ms_prodcode,ms_code from makeserial where ms_sncode='" + code.Text + "' and ms_makecode<>'" + ma_code.Text + "' order by ms_id desc", "select");
+                    string make_code = "";
+                    string make_prodcode = "";
+                    string nextstepcode = "";
+                    string ms_status = "";
+                    if (dt.Rows.Count > 0)
+                    {
+                        ms_id = dt.Rows[0]["ms_id"].ToString();
+                        make_code = dt.Rows[0]["ms_makecode"].ToString();
+                        make_prodcode = dt.Rows[0]["ms_prodcode"].ToString();
+                        nextstepcode = dt.Rows[0]["ms_nextstepcode"].ToString();
+                        ms_paststep = dt.Rows[0]["ms_paststep"].ToString();
+                        ms_status = dt.Rows[0]["ms_status"].ToString();
+                        //判断序列号的前一工单是否已经完工
+                        if (dt.Rows[0]["ms_makecode"].ToString() != ma_code.Text && dt.Rows[0]["ms_status"].ToString() == "2")
+                        {
+                            sql.Clear();
+                            sql.Append("select sp_id,sp_soncode from make inner join stepbom on ma_prodcode=sb_prodcode and ma_bomversion=sb_bomversion left ");
+                            sql.Append("join stepproduct on sp_sbid=sb_id where ma_code='" + ma_code.Text + "' and sp_craftcode='" + ms_craftcode.Text + "' ");
+                            sql.Append("and sp_stepcode='" + User.CurrentStepCode + "' and nvl(sp_ifforsn,0)<>0");
+                            dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+                            if (dt.Rows.Count > 0)
+                            {
+                                string sp_id = dt.Rows[0]["sp_id"].ToString();
+                                string sp_soncode = dt.Rows[0]["sp_soncode"].ToString();
+                                if (!dh.CheckExist("Craftmaterial", "cm_makecode='" + ma_code.Text + "' and cm_soncode='" + make_prodcode + "' and cm_sncode='" + code.Text + "' and cm_status=0"))
+                                {
+                                    CollectDataSonCode.Add(sp_soncode);
+                                    SPID.Add(sp_id);
+                                    CollectData.Add(code.Text);
+                                    sn_code.Text = code.Text;
+                                    OperateResult.AppendText(">>序列号" + code.Text + ",物料" + sp_soncode + "上料成功\n", Color.Green);
+                                    RemainIndex = RemainIndex + 1;
+                                    GetItem();
+                                    return;
+                                }
+                                else
+                                {
+                                    GetItem();
+                                }
+                            }
+                            else OperateResult.AppendText(">>序列号" + code.Text + "无生产信息\n", Color.Red, code);
+                        }
+                        else OperateResult.AppendText(">>序列号" + code.Text + "已被工单" + dt.Rows[0]["ms_makecode"].ToString() + "绑定,尚未完工\n", Color.Red, code);
+                    }
+                    else OperateResult.AppendText(">>序列号" + code.Text + "无生产信息\n", Color.Red, code);
+                }
+                else
+                {
+                    dt = (DataTable)dh.ExecuteSql("select ms_status,ms_stepcode,ms_paststep,ms_nextstepcode from makeserial where ms_sncode='" + code.Text + "' and ms_makecode='" + ma_code.Text + "' order by ms_id desc", "select");
+                    nextstepcode = dt.Rows[0]["ms_nextstepcode"].ToString();
+                    ms_status = dt.Rows[0]["ms_status"].ToString();
+                    ms_paststep = dt.Rows[0]["ms_paststep"].ToString();
+                    sn_code.Text = code.Text;
+                    sql.Clear();
+                    sql.Append("select ma_code,ma_softversion,ma_ecncode,ma_prodcode,pr_spec,ma_qty from makeserial left join product ");
+                    sql.Append(" on ms_prodcode=pr_code left join make on ms_makecode=ma_code left join ");
+                    sql.Append("makecraftdetail on mcd_macode=ms_makecode where ms_id='" + oMsid + "'");
+                    dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+                    BaseUtil.SetFormValue(this.Controls, dt);
+                    OperateResult.AppendText(">>获取序列号" + code.Text + "成功\n", Color.Green);
+                    GetItem();
+                }
+            }
+            else
+            {
+                OperateResult.AppendText(">>序列号" + code.Text + "不存在\n", Color.Red, code);
+                code.Text = "";
+                sn_code.Text = "";
+            }
+
+        }
+
+        private void GetItem()
+        {
+            //单独用一个DataTable存储一个
+            dt1 = new DataTable();
+            sql.Clear();
+            sql.Append("select case when spr_isreplace=-1 then to_char(spr_isreplace) else sp_fsoncode end A,SP_ID, max(sp_rate)sp_rate,replace(wm_concat(sp_fsoncode),',','?')sp_fsoncode,replace(wm_concat(sp_prefix),',','?')sp_prefix,max(pr_lightbox)pr_lightbox,replace(wm_concat(nvl(sp_subnum,0)),',','?')sp_subnum,replace(wm_concat(nvl(sp_subnumlength,0)),',','?')sp_subnumlength,max(sp_detno)sp_detno,min(sp_ifrepeat)sp_ifrepeat,max(sp_checkbarcode)sp_checkbarcode,min(sp_checksalecode)sp_checksalecode,max(sp_barcoderule)sp_barcoderule,wm_concat(sp_soncode) sp_soncode,max(sp_ifuseregex)sp_ifuseregex,max(sp_ifforsn)sp_ifforsn,replace(wm_concat(sp_length),',','?')sp_length,max(sp_type)sp_type,max(sp_regex)sp_regex,max(pr_detail)pr_detail,max(substr(pr_spec,0,20))pr_spec from(");
+            sql.Append("select 0 spr_id,-1 spr_isreplace,max(sp_rate)sp_rate,max(pr_lightbox)pr_lightbox,sp_id,max(nvl(sp_subnum,0))sp_subnum,max(nvl(sp_subnumlength,0))sp_subnumlength,max(sp_detno)sp_detno,min(sp_ifrepeat)sp_ifrepeat,max(sp_checkbarcode)sp_checkbarcode,min(sp_checksalecode)sp_checksalecode,");
+            sql.Append("sp_fsoncode,max(sp_barcoderule)sp_barcoderule,wm_concat(sp_soncode) sp_soncode,max(sp_ifuseregex)sp_ifuseregex,max(sp_ifforsn)");
+            sql.Append("sp_ifforsn,max(sp_length)sp_length,max(sp_type)sp_type,replace(wm_concat(sp_prefix),',','|')sp_prefix,max(sp_regex)");
+            sql.Append("sp_regex,max(pr_detail)pr_detail,max(substr(pr_spec,0,20))pr_spec from stepproduct left join product on pr_code=sp_fsoncode where ");
+            sql.Append("sp_bomversion='" + ms_bomversion.Text + "' and sp_craftcode='" + ms_craftcode.Text + "' and sp_stepcode='" + User.CurrentStepCode + "' ");
+            sql.Append("And sp_mothercode ='" + ma_prodcode.Text + "' and sp_tracekind=1 and not exists(select 1 from craftmaterial where ");
+            sql.Append("cm_sncode in (select '" + ms_firstsn + "' from dual union select sn from makesnrelation where firstsn='" + ms_firstsn + "') and cm_makecode='" + ma_code.Text + "' and cm_fsoncode=");
+            sql.Append("sp_fsoncode and cm_status=0 and cm_stepcode=sp_stepcode) group by sp_fsoncode,sp_id union ");
+            sql.Append("select spr_id,max(spr_isreplace),max(spr_rate)spr_rate,max(pr_lightbox)pr_lightbox,spr_spid,max(nvl(spr_subnum,0))spr_subnum,max(nvl(spr_subnumlength,0))spr_subnumlength,max(spr_detno)spr_detno,min(spr_ifrepeat)spr_ifrepeat,max(spr_checkbarcode)spr_checkbarcode,min(spr_checksalecode)spr_checksalecode,");
+            sql.Append("spr_fsoncode,max(spr_barcoderule)spr_barcoderule,wm_concat(spr_soncode) spr_soncode,max(spr_ifuseregex)spr_ifuseregex,max(spr_ifforsn)");
+            sql.Append("spr_ifforsn,max(spr_length)spr_length,max(spr_type)spr_type,replace(wm_concat(spr_prefix),',','|')spr_prefix,max(spr_regex)");
+            sql.Append("spr_regex,max(pr_detail)pr_detail,max(substr(pr_spec,0,20))pr_spec from stepproductrep left join product on pr_code=spr_fsoncode where ");
+            sql.Append("spr_bomversion='" + ms_bomversion.Text + "' and spr_craftcode='" + ms_craftcode.Text + "' and spr_stepcode='" + User.CurrentStepCode + "' ");
+            sql.Append("And spr_mothercode ='" + ma_prodcode.Text + "' and spr_tracekind=1 and not exists(select 1 from craftmaterial where ");
+            sql.Append("cm_sncode in (select '" + ms_firstsn + "' from dual union select sn from makesnrelation where firstsn='" + ms_firstsn + "') and cm_makecode='" + ma_code.Text + "' and cm_fsoncode=");
+            sql.Append("spr_fsoncode and cm_status=0 and cm_stepcode=spr_stepcode) group by spr_fsoncode,spr_id,spr_spid ");
+            sql.Append(") group by case when spr_isreplace=-1 then to_char(spr_isreplace) else sp_fsoncode end,sp_id order by sp_id");
+            dt1 = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+            code.Clear();
+            //用于记录提醒的数据长度
+            RemainList = new string[dt1.Rows.Count];
+            for (int i = 0; i < dt1.Rows.Count; i++)
+            {
+                string soncode = dt1.Rows[i]["sp_soncode"].ToString();
+                string prdetail = dt1.Rows[i]["pr_detail"].ToString();
+                string pr_lightbox = dt1.Rows[i]["pr_lightbox"].ToString();
+                if (port.IsOpen)
+                {
+                    byte[] t = new byte[2];
+                    t[0] = 0x00;
+                    switch (pr_lightbox)
+                    {
+                        case "01":
+                            t[1] = 0X01;
+                            break;
+                        case "02":
+                            t[1] = 0X02;
+                            break;
+                        case "03":
+                            t[1] = 0X03;
+                            break;
+                        case "04":
+                            t[1] = 0X04;
+                            break;
+                        case "05":
+                            t[1] = 0X05;
+                            break;
+                        case "06":
+                            t[1] = 0X06;
+                            break;
+                        case "07":
+                            t[1] = 0X07;
+                            break;
+                        case "08":
+                            t[1] = 0X08;
+                            break;
+                        case "09":
+                            t[1] = 0X09;
+                            break;
+                        case "10":
+                            t[1] = 0X10;
+                            break;
+                        case "11":
+                            t[1] = 0X11;
+                            break;
+                        case "0A":
+                            t[1] = 0X0A;
+                            break;
+                        case "12":
+                            t[1] = 0X12;
+                            break;
+                        case "13":
+                            t[1] = 0X13;
+                            break;
+                        case "14":
+                            t[1] = 0X14;
+                            break;
+                        case "15":
+                            t[1] = 0X15;
+                            break;
+                        case "16":
+                            t[1] = 0X16;
+                            break;
+                        case "17":
+                            t[1] = 0X17;
+                            break;
+                        case "18":
+                            t[1] = 0X18;
+                            break;
+                        case "19":
+                            t[1] = 0X19;
+                            break;
+                        case "1A":
+                            t[1] = 0X1A;
+                            break;
+                        case "1B":
+                            t[1] = 0X1B;
+                            break;
+                        default:
+                            break;
+                    }
+                    port.Write(t, 0, 2);
+                }
+                RemainList[i] = soncode + "(" + prdetail + ")";
+            }
+            if (dt1.Rows.Count > 0)
+            {
+                try
+                {
+                    string soncode = dt1.Rows[RemainIndex]["sp_soncode"].ToString();
+                    string prdetail = dt1.Rows[RemainIndex]["pr_detail"].ToString();
+                    OperateResult.AppendText("<<请采集" + soncode + "(" + prdetail + ")的物料数据\n", Color.Black);
+                }
+                catch (Exception)
+                {
+                    OperateResult.AppendText(">>序列号" + sn_code.Text + "上料采集完成!\n", Color.Green);
+                    code.Text = "";
+                    sn_code.Text = "";
+                }
+            }
+            else
+            {
+                OperateResult.AppendText(">>序列号" + sn_code.Text + "不在本道工序,请采集其它序列号\n", Color.Red);
+                code.Text = "";
+                sn_code.Text = "";
+            }
+        }
+
+        //此类中通用的保存逻辑
+        private void Save_OtherCode(string sp_fsoncode, string sp_soncode, string ma_code, string ms_sncode, string sp_id, string resultstr, string userate, string subfix)
+        {
+            LogicHandler.CheckBarcode(ma_code, ms_sncode, code.Text, resultstr, Tag.ToString());
+            CollectDataSonCode.Add(sp_soncode);
+            ReturnUseRate.Add(userate);
+            ReturnSubFix.Add(subfix);
+            //采集成功提示
+            ResultStr.Add(resultstr);
+            CollectData.Add(code.Text);
+            if (!CheckBarcode.ContainsKey(sp_fsoncode))
+            {
+                CheckBarcode.Add(sp_fsoncode, code.Text);
+            }
+            SPID.Add(sp_id);
+            OperateResult.AppendText(">>物料" + sp_soncode + "采集成功,条码" + code.Text + "\n", Color.Green);
+            LabelDataGridView.Rows[RemainIndex].Cells["BarCode"].Value = code.Text;
+            if (code.Text.Length > 80)
+                OperateResult.AppendText(">>采集条码" + code.Text + "程度超过长度限制80,内容截取前80位进行采集\n", Color.Red);
+            code.Clear();
+            RemainIndex = RemainIndex + 1;
+            //如果+1后不小于B序列的长度,则已采集完成,不需要进行提示了
+            if (RemainIndex < RemainList.Length)
+            {
+                OperateResult.AppendText("<<请采集" + RemainList[RemainIndex] + "的物料数据\n", Color.Black);
+            }
+            else
+            {
+                sql.Clear();
+                sql.Append("insert into Craftmaterial (cm_id ,cm_prodtype,cm_makecode,cm_maid,cm_maprodcode, cm_soncode, cm_mscode, cm_sncode, cm_stepcode, cm_stepname,cm_fsoncode,");
+                sql.Append("cm_craftcode,cm_craftname,cm_barcode,cm_inqty,cm_indate,cm_inman,cm_linecode,cm_wccode,cm_sourcecode,cm_spid,cm_status,cm_materialtype,cm_firstsn,cm_substr,cm_subfix,cm_rate)");
+                sql.Append("select Craftmaterial_seq.nextval,sp_prodtype, ma_code, ma_id, ma_prodcode,:soncode,ms_code,ms_sncode,mcd_stepcode,");
+                sql.Append("mcd_stepname,sp_fsoncode,ms_craftcode,ms_craftname,:barcode,1,sysdate,'" + User.UserCode + "','" + User.UserLineCode + "',ma_wccode,");
+                sql.Append("'" + User.UserSourceCode + "',:sp_id,0,1,ms_firstsn,:substr,:subfix,:rate from make left join makecraftdetail on mcd_maid=ma_id  left join stepproduct on sp_stepcode=mcd_stepcode ");
+                sql.Append(" and sp_mothercode = ma_prodcode left join makeserial on ms_makecode=ma_code and sp_craftcode=ms_craftcode ");
+                sql.Append("where ma_code='" + make_code + "'and sp_id=:sp_id1  and ms_sncode='" + ms_sncode + "'");
+                dh.BatchInsert(sql.GetString(), new string[] { "soncode", "barcode", "sp_id", "substr", "subfix", "rate", "sp_id1", }, CollectDataSonCode.ToArray(), CollectData.ToArray(), SPID.ToArray(), ResultStr.ToArray(), ReturnSubFix.ToArray(), ReturnUseRate.ToArray(), SPID.ToArray());
+                try
+                {
+                    string Log = "";
+                    for (int i = 0; i < CollectDataSonCode.Count; i++)
+                    {
+                        Log += CollectDataSonCode.ToArray()[i] + " " + CollectData.ToArray()[i] + " " + SPID.ToArray()[i];
+                    }
+                    LogManager.DoLog(Log);
+                }
+                catch (Exception)
+                {
+
+                }
+                //更新序列号半成品已被使用
+                dh.BatchInsert("update makeserial set ms_nextmacode='" + ma_code + "' where ms_id=(select max(ms_id) from makeserial where ms_sncode=:sncode and ms_nextmacode is null and ms_makecode<>'" + ma_code + "')", new string[] { "sncode" }, TSN.ToArray());
+                if (ma_ecncode_label.Checked || ma_softversion_label.Checked)
+                {
+                    string ecnText = ma_ecncode_label.Checked ? ma_ecncode.Text : "";
+                    string softversionText = ma_softversion_label.Checked ? ma_softversion.Text : "";
+                    string remark = sir_remark_label.Checked ? sir_remark.Text : "";
+                    sql.Clear();
+                    sql.Append("insert into SNRELATIONINFORECORD(SIR_ID,SIR_SNCODE,SIR_MSCODE,SIR_ECNCODE,SIR_SOFTVER,");
+                    sql.Append("SIR_LINECODE,SIR_SOURCECODE,SIR_STEPCODE,SIR_MACODE,SIR_PRODCODE,SIR_INMAN,SIR_INDATE,sir_firstsn,sir_remark) select ");
+                    sql.Append("SNRELATIONINFORECORD_SEQ.nextval,'" + sn_code.Text + "',ms_code,'" + ecnText + "','" + softversionText + "',");
+                    sql.Append("'" + User.UserLineCode + "','" + User.UserSourceCode + "','" + User.CurrentStepCode + "','" + ma_code + "','" + ma_prodcode.Text + "',");
+                    sql.Append("'" + User.UserCode + "',sysdate,ms_firstsn,'" + remark + "' from makeserial where ms_sncode='" + sn_code.Text + "' and ms_makecode='" + ma_code + "'");
+                    dh.ExecuteSql(sql.GetString(), "insert");
+                }
+                CollectData.Clear();
+                TSN.Clear();
+                SPID.Clear();
+                ReturnUseRate.Clear();
+                ReturnSubFix.Clear();
+                ResultStr.Clear();
+                CheckBarcode.Clear();
+                CollectDataSonCode.Clear();
+                //采集成功,设置序列号栏目为空
+                RemainIndex = 0;
+                OperateResult.AppendText(">>序列号" + sn_code.Text + "上料采集完成!\n", Color.Green, sn_code);
+                LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "上料采集", "上料成功", sn_code.Text, "");
+            }
+        }
+
+        private void ClearSn_code_Click(object sender, EventArgs e)
+        {
+            sn_code.Clear();
+            SPID.Clear();
+            TSN.Clear();
+            CheckBarcode.Clear();
+            ReturnUseRate.Clear();
+            ReturnSubFix.Clear();
+            ResultStr.Clear();
+            CollectData.Clear();
+            CollectDataSonCode.Clear();
+            if (dt1 != null)
+                BaseUtil.CleanDataTableData(dt1);
+            RemainIndex = 0;
+            BaseUtil.CleanDGVData(LabelDataGridView);
+            OperateResult.AppendText(">>请采集序列号\n", Color.Black);
+        }
+
+        private void ma_code_UserControlTextChanged(object sender, EventArgs e)
+        {
+            if (ma_code.Text.Length > 5)
+            {
+                string ErrMessage = "";
+                if (LogicHandler.CheckMakeStatus(ma_code.Text, out ErrMessage))
+                {
+                    mcd_inqty.Text = "";
+                    mcd_remainqty.Text = "";
+                    sql.Clear();
+                    sql.Append("select mcd_inqty,ma_qty-mcd_inqty mcd_remainqty ");
+                    sql.Append("from make left join makecraftdetail_view on mcd_macode=ma_code where ");
+                    sql.Append("ma_code='" + ma_code.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'");
+                    DataTable dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+                    if (dt.Rows.Count > 0)
+                        BaseUtil.SetFormValue(Controls, dt);
+                }
+            }
+        }
+        SerialPort port = new SerialPort();
+
+        private void OpenPort_Click(object sender, EventArgs e)
+        {
+            port.PortName = serialPortCombox1.Text;
+            port.BaudRate = 9600;
+            port.Open();
+            OperateResult.AppendText(">>串口打开成功\n");
+        }
+
+        private void ma_prodcode_TextChanged(object sender, EventArgs e)
+        {
+            code.Str = ma_prodcode.Text;
+        }
+    }
+}

+ 550 - 0
UAS_MES_YDCY/FunctionCode/Make/Make_FeedingCollectionBadOnlyNEW.resx

@@ -0,0 +1,550 @@
+<?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="序号.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="cm_makecode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="pr_detail_.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="cm_soncode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="cm_barcode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="BarCode.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="cm_makecode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="pr_detail_.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="cm_soncode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="cm_barcode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="BarCode.UserAddedColumn" 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="Clean.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFfSURBVFhH5dhNTsJgFIXhM2WiCxL2oAEHrJKhQSYM
+        JIgzjSLIX0sRKPSPtl+Lo2uOgVbWcJu8CzhP8nVwISIAUAFwA+AWQFNh3M39lZMHrgDUu91uyxjji8KP
+        u7mfDgCuiVLt958fkjSTie3I62iqLu7m/sHgpQ2gRpSG6/nmc2bL23imtuHMkp0f5ADuidIMoljev+bq
+        o8PpH4NmcIjlY7JQHx0KlPCQyHBqqY8OJUqcyGhuq48OBUoUJzJeLNVHhwLlkKQysRz10eECZbpcqe8C
+        JU6NzJ1v9dGhQElSI9Zqoz46lCgmE3u9VR8dCpTUZOJsXPXRoUTJclltd+qjQ4FislzW7l59dChR8lw2
+        e099dDijNA5xYnZBKFvPVxv3x0lanA5qT71eOzsexQsjcf1AXdzN/XQ4H5l4fqs/djqtIIzC/Pgj2uJu
+        7i/Okf8O11UAd6c3pS3u5v6/w/UvTaFspAxAMh4AAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="Clean.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        YII=
+</value>
+  </data>
+  <data name="Clean.MoveImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAF3SURBVFhH5djbSgJRFMbxHsP7wBfYT7jvu46QDIoI
+        C4QNQRAIgVBRSdpxpgZN83wYx5nZOjNqrvgEd73DGvhfzdX3g32ztohoS0iVElLtCakehVQdhmE39qfg
+        AZBtIdX70Y0TjsJ4SQw/7MZ+OAip0kDJnD3UdJAsyXIjKvWm7MJu7M+X6lpIlQWK3ZhEq8pgRvfdKdvK
+        /Rk1/XglpHKA0ulPF3Tb0eyDAzzWKL3pgq7bmn1wMChdPadiK2QfHAxKW8/pqhmwDw4GpRXOqdAI2AcH
+        g9IME7qs++yDg0H5DhK6qE3YBweD0vATOq967IODQfnyE1KOxz44GJTaJKb855h9cDAoVS+mU9tlHxwM
+        iuPFdGK57IPDH8o4ouO3EfvgYFA+xhEdvg7ZB4cNil3uhquc5dLBy5Bt2P/U0+Z0kN0tOhqHlpzt0v7z
+        gF3Yjf1w2ByZ0jjD7RSs8K7l/+Ant7Ab+8058t/hOiOkquBNMQy7sX99uP4F5D4U8hdr4uMAAAAASUVO
+        RK5CYII=
+</value>
+  </data>
+  <data name="Clean.NormalImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGpSURBVFhH5dg/ayJBGMfxB4YFXTARBAvBQhAsBEEQ
+        ZLnNzFu4I6aYV5kyF9tgbad1jrsYY9T4Z3fcnV2f45e38Sx8q6l+n2IWhpiZjDFVY8wPY8xPY4wVGHZj
+        fxUepLW+0Vrfz+fzR+fclgV+2I39cNBa31Icx/FisXi6XpnL8io27F8ul89xHN9RFEWTPM+ToihZet57
+        F0XRA43HYwsp7wvxwQEeNBqNbFmWnOW5+OAADxoOh7YoS3ZZJj44wIMGg4H1RcGpu4gPDvCgfr9vvfd8
+        TlPxwQEe1Ov1bO49H8+J+OAAD+p2uxaXzNfpJD44wIM6nY69ZDnvDkfxwQEe1G637SXLeLs/iA8O8KBW
+        q2XdJePNbi8+OMCDms2mxe9o/bkTHxzgQY1GwybO8WrzKT44wIPq9bpNUsdv64344AAPqtVq9pw6/vv+
+        IT44wIPCMJzsvg7Jv/UH/1m9iw3794ejC8PwgSqVyt3LbPZ8SpLvg9e3lbiwG/vhAA8KguA2CIL739Pp
+        42a73eNQWtiN/XCAB+GhVilVVUrFSqlfSikrMOzG/u+H6/+yQ4jdXN8e9AAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="Confirm.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFfSURBVFhH5dhNTsJgFIXhM2WiCxL2oAEHrJKhQSYM
+        JIgzjSLIX0sRKPSPtl+Lo2uOgVbWcJu8CzhP8nVwISIAUAFwA+AWQFNh3M39lZMHrgDUu91uyxjji8KP
+        u7mfDgCuiVLt958fkjSTie3I62iqLu7m/sHgpQ2gRpSG6/nmc2bL23imtuHMkp0f5ADuidIMoljev+bq
+        o8PpH4NmcIjlY7JQHx0KlPCQyHBqqY8OJUqcyGhuq48OBUoUJzJeLNVHhwLlkKQysRz10eECZbpcqe8C
+        JU6NzJ1v9dGhQElSI9Zqoz46lCgmE3u9VR8dCpTUZOJsXPXRoUTJclltd+qjQ4FislzW7l59dChR8lw2
+        e099dDijNA5xYnZBKFvPVxv3x0lanA5qT71eOzsexQsjcf1AXdzN/XQ4H5l4fqs/djqtIIzC/Pgj2uJu
+        7i/Okf8O11UAd6c3pS3u5v6/w/UvTaFspAxAMh4AAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="Confirm.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        YII=
+</value>
+  </data>
+  <data name="Confirm.MoveImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAF3SURBVFhH5djbSgJRFMbxHsP7wBfYT7jvu46QDIoI
+        C4QNQRAIgVBRSdpxpgZN83wYx5nZOjNqrvgEd73DGvhfzdX3g32ztohoS0iVElLtCakehVQdhmE39qfg
+        AZBtIdX70Y0TjsJ4SQw/7MZ+OAip0kDJnD3UdJAsyXIjKvWm7MJu7M+X6lpIlQWK3ZhEq8pgRvfdKdvK
+        /Rk1/XglpHKA0ulPF3Tb0eyDAzzWKL3pgq7bmn1wMChdPadiK2QfHAxKW8/pqhmwDw4GpRXOqdAI2AcH
+        g9IME7qs++yDg0H5DhK6qE3YBweD0vATOq967IODQfnyE1KOxz44GJTaJKb855h9cDAoVS+mU9tlHxwM
+        iuPFdGK57IPDH8o4ouO3EfvgYFA+xhEdvg7ZB4cNil3uhquc5dLBy5Bt2P/U0+Z0kN0tOhqHlpzt0v7z
+        gF3Yjf1w2ByZ0jjD7RSs8K7l/+Ant7Ab+8058t/hOiOkquBNMQy7sX99uP4F5D4U8hdr4uMAAAAASUVO
+        RK5CYII=
+</value>
+  </data>
+  <data name="Confirm.NormalImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGpSURBVFhH5dg/ayJBGMfxB4YFXTARBAvBQhAsBEEQ
+        ZLnNzFu4I6aYV5kyF9tgbad1jrsYY9T4Z3fcnV2f45e38Sx8q6l+n2IWhpiZjDFVY8wPY8xPY4wVGHZj
+        fxUepLW+0Vrfz+fzR+fclgV+2I39cNBa31Icx/FisXi6XpnL8io27F8ul89xHN9RFEWTPM+ToihZet57
+        F0XRA43HYwsp7wvxwQEeNBqNbFmWnOW5+OAADxoOh7YoS3ZZJj44wIMGg4H1RcGpu4gPDvCgfr9vvfd8
+        TlPxwQEe1Ov1bO49H8+J+OAAD+p2uxaXzNfpJD44wIM6nY69ZDnvDkfxwQEe1G637SXLeLs/iA8O8KBW
+        q2XdJePNbi8+OMCDms2mxe9o/bkTHxzgQY1GwybO8WrzKT44wIPq9bpNUsdv64344AAPqtVq9pw6/vv+
+        IT44wIPCMJzsvg7Jv/UH/1m9iw3794ejC8PwgSqVyt3LbPZ8SpLvg9e3lbiwG/vhAA8KguA2CIL739Pp
+        42a73eNQWtiN/XCAB+GhVilVVUrFSqlfSikrMOzG/u+H6/+yQ4jdXN8e9AAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="OpenPort.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFfSURBVFhH5dhNTsJgFIXhM2WiCxL2oAEHrJKhQSYM
+        JIgzjSLIX0sRKPSPtl+Lo2uOgVbWcJu8CzhP8nVwISIAUAFwA+AWQFNh3M39lZMHrgDUu91uyxjji8KP
+        u7mfDgCuiVLt958fkjSTie3I62iqLu7m/sHgpQ2gRpSG6/nmc2bL23imtuHMkp0f5ADuidIMoljev+bq
+        o8PpH4NmcIjlY7JQHx0KlPCQyHBqqY8OJUqcyGhuq48OBUoUJzJeLNVHhwLlkKQysRz10eECZbpcqe8C
+        JU6NzJ1v9dGhQElSI9Zqoz46lCgmE3u9VR8dCpTUZOJsXPXRoUTJclltd+qjQ4FislzW7l59dChR8lw2
+        e099dDijNA5xYnZBKFvPVxv3x0lanA5qT71eOzsexQsjcf1AXdzN/XQ4H5l4fqs/djqtIIzC/Pgj2uJu
+        7i/Okf8O11UAd6c3pS3u5v6/w/UvTaFspAxAMh4AAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="OpenPort.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        YII=
+</value>
+  </data>
+  <data name="OpenPort.MoveImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAF3SURBVFhH5djbSgJRFMbxHsP7wBfYT7jvu46QDIoI
+        C4QNQRAIgVBRSdpxpgZN83wYx5nZOjNqrvgEd73DGvhfzdX3g32ztohoS0iVElLtCakehVQdhmE39qfg
+        AZBtIdX70Y0TjsJ4SQw/7MZ+OAip0kDJnD3UdJAsyXIjKvWm7MJu7M+X6lpIlQWK3ZhEq8pgRvfdKdvK
+        /Rk1/XglpHKA0ulPF3Tb0eyDAzzWKL3pgq7bmn1wMChdPadiK2QfHAxKW8/pqhmwDw4GpRXOqdAI2AcH
+        g9IME7qs++yDg0H5DhK6qE3YBweD0vATOq967IODQfnyE1KOxz44GJTaJKb855h9cDAoVS+mU9tlHxwM
+        iuPFdGK57IPDH8o4ouO3EfvgYFA+xhEdvg7ZB4cNil3uhquc5dLBy5Bt2P/U0+Z0kN0tOhqHlpzt0v7z
+        gF3Yjf1w2ByZ0jjD7RSs8K7l/+Ant7Ab+8058t/hOiOkquBNMQy7sX99uP4F5D4U8hdr4uMAAAAASUVO
+        RK5CYII=
+</value>
+  </data>
+  <data name="OpenPort.NormalImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGpSURBVFhH5dg/ayJBGMfxB4YFXTARBAvBQhAsBEEQ
+        ZLnNzFu4I6aYV5kyF9tgbad1jrsYY9T4Z3fcnV2f45e38Sx8q6l+n2IWhpiZjDFVY8wPY8xPY4wVGHZj
+        fxUepLW+0Vrfz+fzR+fclgV+2I39cNBa31Icx/FisXi6XpnL8io27F8ul89xHN9RFEWTPM+ToihZet57
+        F0XRA43HYwsp7wvxwQEeNBqNbFmWnOW5+OAADxoOh7YoS3ZZJj44wIMGg4H1RcGpu4gPDvCgfr9vvfd8
+        TlPxwQEe1Ov1bO49H8+J+OAAD+p2uxaXzNfpJD44wIM6nY69ZDnvDkfxwQEe1G637SXLeLs/iA8O8KBW
+        q2XdJePNbi8+OMCDms2mxe9o/bkTHxzgQY1GwybO8WrzKT44wIPq9bpNUsdv64344AAPqtVq9pw6/vv+
+        IT44wIPCMJzsvg7Jv/UH/1m9iw3794ejC8PwgSqVyt3LbPZ8SpLvg9e3lbiwG/vhAA8KguA2CIL739Pp
+        42a73eNQWtiN/XCAB+GhVilVVUrFSqlfSikrMOzG/u+H6/+yQ4jdXN8e9AAAAABJRU5ErkJggg==
+</value>
+  </data>
+</root>

+ 6 - 6
UAS_MES_YDCY/FunctionCode/Make/Make_FeedingCollectionNEW.cs

@@ -206,7 +206,7 @@ namespace UAS_MES_NEW.Make
                                     sp_soncode = ErrorMessage;
                                     sp_soncode = ErrorMessage;
                                 }
                                 }
                                 LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "上物料", sn_code.Text + "上物料" + code.Text + "料号" + sp_fsoncode, sn_code.Text, "");
                                 LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "上物料", sn_code.Text + "上物料" + code.Text + "料号" + sp_fsoncode, sn_code.Text, "");
-                                Save_OtherCode(sp_fsoncode, sp_soncode, make_code, sn_code.Text, sp_id, resultstr, userate,subfix);
+                                Save_OtherCode(fsoncode, sp_soncode, make_code, sn_code.Text, sp_id, resultstr, userate,subfix);
                             }
                             }
                             else
                             else
                             {
                             {
@@ -418,8 +418,8 @@ namespace UAS_MES_NEW.Make
             //单独用一个DataTable存储一个
             //单独用一个DataTable存储一个
             dt1 = new DataTable();
             dt1 = new DataTable();
             sql.Clear();
             sql.Clear();
-            sql.Append("select spr_isreplace,SP_ID, max(sp_rate)sp_rate,replace(wm_concat(sp_fsoncode),',','|')sp_fsoncode,replace(wm_concat(sp_prefix),',','#')sp_prefix,\r\nmax(pr_lightbox)pr_lightbox,replace(wm_concat(nvl(sp_subnum,0)),',','|')sp_subnum,replace(wm_concat(nvl(sp_subnumlength,0)),',','|')sp_subnumlength,max(sp_detno)sp_detno,min(sp_ifrepeat)sp_ifrepeat,max(sp_checkbarcode)sp_checkbarcode,min(sp_checksalecode)sp_checksalecode,\r\nmax(sp_barcoderule)sp_barcoderule,wm_concat(sp_soncode) sp_soncode,max(sp_ifuseregex)sp_ifuseregex,max(sp_ifforsn)sp_ifforsn,replace(wm_concat(sp_length),',','|')sp_length,max(sp_type)sp_type,max(sp_regex)sp_regex,max(pr_detail)pr_detail,max(substr(pr_spec,0,20))pr_spec from(");
-            sql.Append("select -1 spr_isreplace,max(sp_rate)sp_rate,max(pr_lightbox)pr_lightbox,sp_id,max(nvl(sp_subnum,0))sp_subnum,max(nvl(sp_subnumlength,0))sp_subnumlength,max(sp_detno)sp_detno,min(sp_ifrepeat)sp_ifrepeat,max(sp_checkbarcode)sp_checkbarcode,min(sp_checksalecode)sp_checksalecode,");
+            sql.Append("select case when spr_isreplace=-1 then to_char(spr_isreplace) else sp_fsoncode end A,SP_ID, max(sp_rate)sp_rate,replace(wm_concat(sp_fsoncode),',','?')sp_fsoncode,replace(wm_concat(sp_prefix),',','?')sp_prefix,max(pr_lightbox)pr_lightbox,replace(wm_concat(nvl(sp_subnum,0)),',','?')sp_subnum,replace(wm_concat(nvl(sp_subnumlength,0)),',','?')sp_subnumlength,max(sp_detno)sp_detno,min(sp_ifrepeat)sp_ifrepeat,max(sp_checkbarcode)sp_checkbarcode,min(sp_checksalecode)sp_checksalecode,max(sp_barcoderule)sp_barcoderule,wm_concat(sp_soncode) sp_soncode,max(sp_ifuseregex)sp_ifuseregex,max(sp_ifforsn)sp_ifforsn,replace(wm_concat(sp_length),',','?')sp_length,max(sp_type)sp_type,max(sp_regex)sp_regex,max(pr_detail)pr_detail,max(substr(pr_spec,0,20))pr_spec from(");
+            sql.Append("select 0 spr_id,-1 spr_isreplace,max(sp_rate)sp_rate,max(pr_lightbox)pr_lightbox,sp_id,max(nvl(sp_subnum,0))sp_subnum,max(nvl(sp_subnumlength,0))sp_subnumlength,max(sp_detno)sp_detno,min(sp_ifrepeat)sp_ifrepeat,max(sp_checkbarcode)sp_checkbarcode,min(sp_checksalecode)sp_checksalecode,");
             sql.Append("sp_fsoncode,max(sp_barcoderule)sp_barcoderule,wm_concat(sp_soncode) sp_soncode,max(sp_ifuseregex)sp_ifuseregex,max(sp_ifforsn)");
             sql.Append("sp_fsoncode,max(sp_barcoderule)sp_barcoderule,wm_concat(sp_soncode) sp_soncode,max(sp_ifuseregex)sp_ifuseregex,max(sp_ifforsn)");
             sql.Append("sp_ifforsn,max(sp_length)sp_length,max(sp_type)sp_type,replace(wm_concat(sp_prefix),',','|')sp_prefix,max(sp_regex)");
             sql.Append("sp_ifforsn,max(sp_length)sp_length,max(sp_type)sp_type,replace(wm_concat(sp_prefix),',','|')sp_prefix,max(sp_regex)");
             sql.Append("sp_regex,max(pr_detail)pr_detail,max(substr(pr_spec,0,20))pr_spec from stepproduct left join product on pr_code=sp_fsoncode where ");
             sql.Append("sp_regex,max(pr_detail)pr_detail,max(substr(pr_spec,0,20))pr_spec from stepproduct left join product on pr_code=sp_fsoncode where ");
@@ -427,7 +427,7 @@ namespace UAS_MES_NEW.Make
             sql.Append("And sp_mothercode ='" + ma_prodcode.Text + "' and sp_tracekind=1 and not exists(select 1 from craftmaterial where ");
             sql.Append("And sp_mothercode ='" + ma_prodcode.Text + "' and sp_tracekind=1 and not exists(select 1 from craftmaterial where ");
             sql.Append("cm_sncode in (select '" + ms_firstsn + "' from dual union select sn from makesnrelation where firstsn='" + ms_firstsn + "') and cm_makecode='" + ma_code.Text + "' and cm_fsoncode=");
             sql.Append("cm_sncode in (select '" + ms_firstsn + "' from dual union select sn from makesnrelation where firstsn='" + ms_firstsn + "') and cm_makecode='" + ma_code.Text + "' and cm_fsoncode=");
             sql.Append("sp_fsoncode and cm_status=0 and cm_stepcode=sp_stepcode) group by sp_fsoncode,sp_id union ");
             sql.Append("sp_fsoncode and cm_status=0 and cm_stepcode=sp_stepcode) group by sp_fsoncode,sp_id union ");
-            sql.Append("select max(spr_isreplace),max(spr_rate)spr_rate,max(pr_lightbox)pr_lightbox,spr_spid,max(nvl(spr_subnum,0))spr_subnum,max(nvl(spr_subnumlength,0))spr_subnumlength,max(spr_detno)spr_detno,min(spr_ifrepeat)spr_ifrepeat,max(spr_checkbarcode)spr_checkbarcode,min(spr_checksalecode)spr_checksalecode,");
+            sql.Append("select spr_id,max(spr_isreplace),max(spr_rate)spr_rate,max(pr_lightbox)pr_lightbox,spr_spid,max(nvl(spr_subnum,0))spr_subnum,max(nvl(spr_subnumlength,0))spr_subnumlength,max(spr_detno)spr_detno,min(spr_ifrepeat)spr_ifrepeat,max(spr_checkbarcode)spr_checkbarcode,min(spr_checksalecode)spr_checksalecode,");
             sql.Append("spr_fsoncode,max(spr_barcoderule)spr_barcoderule,wm_concat(spr_soncode) spr_soncode,max(spr_ifuseregex)spr_ifuseregex,max(spr_ifforsn)");
             sql.Append("spr_fsoncode,max(spr_barcoderule)spr_barcoderule,wm_concat(spr_soncode) spr_soncode,max(spr_ifuseregex)spr_ifuseregex,max(spr_ifforsn)");
             sql.Append("spr_ifforsn,max(spr_length)spr_length,max(spr_type)spr_type,replace(wm_concat(spr_prefix),',','|')spr_prefix,max(spr_regex)");
             sql.Append("spr_ifforsn,max(spr_length)spr_length,max(spr_type)spr_type,replace(wm_concat(spr_prefix),',','|')spr_prefix,max(spr_regex)");
             sql.Append("spr_regex,max(pr_detail)pr_detail,max(substr(pr_spec,0,20))pr_spec from stepproductrep left join product on pr_code=spr_fsoncode where ");
             sql.Append("spr_regex,max(pr_detail)pr_detail,max(substr(pr_spec,0,20))pr_spec from stepproductrep left join product on pr_code=spr_fsoncode where ");
@@ -435,7 +435,7 @@ namespace UAS_MES_NEW.Make
             sql.Append("And spr_mothercode ='" + ma_prodcode.Text + "' and spr_tracekind=1 and not exists(select 1 from craftmaterial where ");
             sql.Append("And spr_mothercode ='" + ma_prodcode.Text + "' and spr_tracekind=1 and not exists(select 1 from craftmaterial where ");
             sql.Append("cm_sncode in (select '" + ms_firstsn + "' from dual union select sn from makesnrelation where firstsn='" + ms_firstsn + "') and cm_makecode='" + ma_code.Text + "' and cm_fsoncode=");
             sql.Append("cm_sncode in (select '" + ms_firstsn + "' from dual union select sn from makesnrelation where firstsn='" + ms_firstsn + "') and cm_makecode='" + ma_code.Text + "' and cm_fsoncode=");
             sql.Append("spr_fsoncode and cm_status=0 and cm_stepcode=spr_stepcode) group by spr_fsoncode,spr_id,spr_spid ");
             sql.Append("spr_fsoncode and cm_status=0 and cm_stepcode=spr_stepcode) group by spr_fsoncode,spr_id,spr_spid ");
-            sql.Append(") group by spr_isreplace,sp_id order by sp_id");
+            sql.Append(") group by case when spr_isreplace=-1 then to_char(spr_isreplace) else sp_fsoncode end,sp_id order by sp_id");
             dt1 = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
             dt1 = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
             code.Clear();
             code.Clear();
             //用于记录提醒的数据长度
             //用于记录提醒的数据长度
@@ -560,7 +560,7 @@ namespace UAS_MES_NEW.Make
         private void Save_OtherCode(string sp_fsoncode, string sp_soncode, string ma_code, string ms_sncode, string sp_id, string resultstr,string userate,string subfix)
         private void Save_OtherCode(string sp_fsoncode, string sp_soncode, string ma_code, string ms_sncode, string sp_id, string resultstr,string userate,string subfix)
         {
         {
             LogicHandler.CheckBarcode(ma_code, ms_sncode, code.Text, resultstr, Tag.ToString());
             LogicHandler.CheckBarcode(ma_code, ms_sncode, code.Text, resultstr, Tag.ToString());
-            CollectDataSonCode.Add(sp_soncode);
+            CollectDataSonCode.Add(sp_fsoncode);
             //采集成功提示
             //采集成功提示
             ResultStr.Add(resultstr);
             ResultStr.Add(resultstr);
             ReturnUseRate.Add(userate);
             ReturnUseRate.Add(userate);

+ 18 - 5
UAS_MES_YDCY/PublicMethod/LogicHandler.cs

@@ -1473,7 +1473,7 @@ namespace UAS_MES_NEW.PublicMethod
             return false;
             return false;
         }
         }
 
 
-        public static bool CheckSNBeforeLoad(string iMakeCode, string iMsSncode, string iSN, string iFSonCode, string iSonCode, string iRule, string iPrefix, string iLength, string iIfRepeat, string iChecksalecode, string iSubNum, string iSubNumLength, string iEdiStatus, string iRate, out string Resultstr, out string UseRate, out string MatchFix,out string Fsoncode, out string ErrMessage)
+        public static bool CheckSNBeforeLoad(string iMakeCode, string iMsSncode, string iSN, string iFSonCode, string iSonCode, string iRule, string iPrefix, string iLength, string iIfRepeat, string iChecksalecode, string iSubNum, string iSubNumLength, string iEdiStatus, string iRate, out string Resultstr, out string UseRate, out string MatchFix, out string Fsoncode, out string ErrMessage)
         {
         {
             DataTable dt;
             DataTable dt;
             ErrMessage = "";
             ErrMessage = "";
@@ -1645,12 +1645,12 @@ namespace UAS_MES_NEW.PublicMethod
                         }
                         }
                     }
                     }
                     //替代料和主料先进行分割
                     //替代料和主料先进行分割
-                    string[] prerep=iPrefix.Split('?');
+                    string[] prerep = iPrefix.Split('?');
                     string[] fsoncode = iFSonCode.Split('?');
                     string[] fsoncode = iFSonCode.Split('?');
                     string[] length = iLength.Split('?');
                     string[] length = iLength.Split('?');
-           
                     for (int i = 0; i < fsoncode.Length; i++)
                     for (int i = 0; i < fsoncode.Length; i++)
                     {
                     {
+                        ErrMessage = "";
                         int sp_length = int.Parse(length[i] != "" ? length[i] : "0");
                         int sp_length = int.Parse(length[i] != "" ? length[i] : "0");
                         //若有多个,以|分割
                         //若有多个,以|分割
                         string[] pres = prerep[i].Split('|');
                         string[] pres = prerep[i].Split('|');
@@ -1699,11 +1699,24 @@ namespace UAS_MES_NEW.PublicMethod
                             //进行长度匹配
                             //进行长度匹配
                             if (iSN.Length == sp_length || sp_length == 0)
                             if (iSN.Length == sp_length || sp_length == 0)
                             {
                             {
+                                Fsoncode = fsoncode[i];
+                                ErrMessage = "";
                                 return true;
                                 return true;
                             }
                             }
-                            else ErrMessage = iSN + "长度不匹配";
+                            else
+                            {
+                                ErrMessage = iSN + "长度不匹配";
+                                break;
+                            }
+                        }
+                        else
+                        {
+                            ErrMessage = iSN + "前缀不匹配";
                         }
                         }
-                        else ErrMessage = iSN + "前缀不匹配";
+                    }
+                    if (ErrMessage != "")
+                    {
+                        return false;
                     }
                     }
                     break;
                     break;
                 default:
                 default:

+ 9 - 0
UAS_MES_YDCY/UAS_MES_YDCY.csproj

@@ -574,6 +574,12 @@
     <Compile Include="FunctionCode\Make\Make_DecomposeCJ.Designer.cs">
     <Compile Include="FunctionCode\Make\Make_DecomposeCJ.Designer.cs">
       <DependentUpon>Make_DecomposeCJ.cs</DependentUpon>
       <DependentUpon>Make_DecomposeCJ.cs</DependentUpon>
     </Compile>
     </Compile>
+    <Compile Include="FunctionCode\Make\Make_FeedingCollectionBadOnlyNEW.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="FunctionCode\Make\Make_FeedingCollectionBadOnlyNEW.Designer.cs">
+      <DependentUpon>Make_FeedingCollectionBadOnlyNEW.cs</DependentUpon>
+    </Compile>
     <Compile Include="FunctionCode\Make\Make_FeedingCollectionNEW.cs">
     <Compile Include="FunctionCode\Make\Make_FeedingCollectionNEW.cs">
       <SubType>Form</SubType>
       <SubType>Form</SubType>
     </Compile>
     </Compile>
@@ -1740,6 +1746,9 @@
     <EmbeddedResource Include="FunctionCode\Make\Make_DecomposeCJ.resx">
     <EmbeddedResource Include="FunctionCode\Make\Make_DecomposeCJ.resx">
       <DependentUpon>Make_DecomposeCJ.cs</DependentUpon>
       <DependentUpon>Make_DecomposeCJ.cs</DependentUpon>
     </EmbeddedResource>
     </EmbeddedResource>
+    <EmbeddedResource Include="FunctionCode\Make\Make_FeedingCollectionBadOnlyNEW.resx">
+      <DependentUpon>Make_FeedingCollectionBadOnlyNEW.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="FunctionCode\Make\Make_FeedingCollectionNEW.resx">
     <EmbeddedResource Include="FunctionCode\Make\Make_FeedingCollectionNEW.resx">
       <DependentUpon>Make_FeedingCollectionNEW.cs</DependentUpon>
       <DependentUpon>Make_FeedingCollectionNEW.cs</DependentUpon>
     </EmbeddedResource>
     </EmbeddedResource>