Przeglądaj źródła

Merge branch 'master' of repos.ubtob.net:usoft/mes-client

callm 4 lat temu
rodzic
commit
9bbadfd460

+ 1194 - 0
UAS-MES/FunctionCode/Make/Make_SmtbdTestCollection.Designer.cs

@@ -0,0 +1,1194 @@
+namespace UAS_MES.Make
+{
+    partial class Make_SmtbdTestCollection
+    {
+        /// <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()
+        {
+            this.components = new System.ComponentModel.Container();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Make_SmtbdTestCollection));
+            this.bc_remark_label = new System.Windows.Forms.Label();
+            this.ms_sncode_label = new System.Windows.Forms.Label();
+            this.label2 = new System.Windows.Forms.Label();
+            this.GoodProduct = new System.Windows.Forms.RadioButton();
+            this.Reject = new System.Windows.Forms.RadioButton();
+            this.label4 = new System.Windows.Forms.Label();
+            this.label6 = new System.Windows.Forms.Label();
+            this.AutoBadCode = new System.Windows.Forms.CheckBox();
+            this.ma_qty_label = new System.Windows.Forms.Label();
+            this.ma_prodcode_label = new System.Windows.Forms.Label();
+            this.ms_makecode_label = new System.Windows.Forms.Label();
+            this.mcd_inqty_label = new System.Windows.Forms.Label();
+            this.mc_restqty_label = new System.Windows.Forms.Label();
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.ob_sendqty = new UAS_MES.CustomControl.ValueLabel.ValueLabel();
+            this.label7 = new System.Windows.Forms.Label();
+            this.ob_checkno = new System.Windows.Forms.Label();
+            this.SendCheck = new UAS_MES.CustomControl.ButtonUtil.NormalButton();
+            this.ob_batchqty = new UAS_MES.CustomControl.ValueLabel.ValueLabel();
+            this.ob_batchqty_label = new System.Windows.Forms.Label();
+            this.ob_nowcheckqty = new UAS_MES.CustomControl.ValueLabel.ValueLabel();
+            this.ob_nowcheckqty_label = new System.Windows.Forms.Label();
+            this.mcd_remainqty = new UAS_MES.CustomControl.ValueLabel.ValueLabel();
+            this.mcd_inqty = new UAS_MES.CustomControl.ValueLabel.ValueLabel();
+            this.pr_detail_label = new System.Windows.Forms.Label();
+            this.ma_softversion_label = new System.Windows.Forms.Label();
+            this.BadInfSource = new System.Windows.Forms.BindingSource(this.components);
+            this.NoteForChange = new System.Windows.Forms.CheckBox();
+            this.ControlLockTimer = new System.Windows.Forms.Timer(this.components);
+            this.Lock_label = new System.Windows.Forms.Label();
+            this.ma_salecode = new System.Windows.Forms.Label();
+            this.pr_sendchecktype = new System.Windows.Forms.Label();
+            this.MakeBadView = new System.Windows.Forms.DataGridView();
+            this.choose1 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+            this.mb_id = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.mbr_id = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.mb_badcode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.mb_badname = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.mb_bgname = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.mb_bgcode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.mbc_component = new System.Windows.Forms.DataGridViewComboBoxColumn();
+            this.mbp_part = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.mbl_loc = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.WaitChooseDGV = new System.Windows.Forms.DataGridView();
+            this.ChooseAll = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+            this.bc_code = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.bc_name = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.bg_code = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.bg_name = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.badloc_label = new System.Windows.Forms.Label();
+            this.mbp_part_label = new System.Windows.Forms.Label();
+            this.label5 = new System.Windows.Forms.Label();
+            this.dataGridViewCheckBoxColumn1 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+            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.dataGridViewComboBoxColumn1 = new System.Windows.Forms.DataGridViewComboBoxColumn();
+            this.dataGridViewTextBoxColumn7 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.dataGridViewTextBoxColumn8 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.dataGridViewCheckBoxColumn2 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+            this.dataGridViewTextBoxColumn9 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.dataGridViewTextBoxColumn10 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.dataGridViewTextBoxColumn11 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.dataGridViewTextBoxColumn12 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.psl_location = new UAS_MES.CustomControl.TextBoxWithIcon.EnterTextBox();
+            this.bd_soncode = new UAS_MES.CustomControl.TextBoxWithIcon.SearchTextBox();
+            this.StepCount = new UAS_MES.CustomControl.TextBoxWithIcon.SourceStepCount();
+            this.Filter = new UAS_MES.CustomControl.TextBoxWithIcon.TextBoxWithPlaceHolder();
+            this.ma_softversion = new UAS_MES.CustomControl.ValueLabel.ValueLabel();
+            this.Save = new UAS_MES.CustomControl.ButtonUtil.NormalButton();
+            this.ma_code = new UAS_MES.CustomControl.TextBoxWithIcon.MaCodeSearchTextBox();
+            this.LockMakeCode = new UAS_MES.CustomControl.CustomCheckBox.LockCheckBox();
+            this.pr_detail = new UAS_MES.CustomControl.ValueLabel.ValueLabel();
+            this.ma_qty = new UAS_MES.CustomControl.ValueLabel.ValueLabel();
+            this.ma_prodcode = new UAS_MES.CustomControl.ValueLabel.ValueLabel();
+            this.OperateResult = new UAS_MES.CustomControl.RichText.RichTextAutoBottom();
+            this.CleanInfo = new UAS_MES.CustomControl.ButtonUtil.NormalButton();
+            this.ChooseedReject = new UAS_MES.CustomControl.ButtonUtil.ArrowRightButton();
+            this.WaitReject = new UAS_MES.CustomControl.ButtonUtil.ArrowLeftButton();
+            this.bc_remark = new UAS_MES.CustomControl.TextBoxWithIcon.EnterTextBox();
+            this.ms_sncode = new UAS_MES.CustomControl.TextBoxWithIcon.SnCollectionBox();
+            this.panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.BadInfSource)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.MakeBadView)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.WaitChooseDGV)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // bc_remark_label
+            // 
+            this.bc_remark_label.AutoSize = true;
+            this.bc_remark_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.bc_remark_label.Location = new System.Drawing.Point(296, 184);
+            this.bc_remark_label.Name = "bc_remark_label";
+            this.bc_remark_label.Size = new System.Drawing.Size(74, 21);
+            this.bc_remark_label.TabIndex = 25;
+            this.bc_remark_label.Text = "不良备注";
+            // 
+            // ms_sncode_label
+            // 
+            this.ms_sncode_label.AutoSize = true;
+            this.ms_sncode_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ms_sncode_label.Location = new System.Drawing.Point(236, 500);
+            this.ms_sncode_label.Name = "ms_sncode_label";
+            this.ms_sncode_label.Size = new System.Drawing.Size(58, 21);
+            this.ms_sncode_label.TabIndex = 18;
+            this.ms_sncode_label.Text = "序列号";
+            // 
+            // label2
+            // 
+            this.label2.AutoSize = true;
+            this.label2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label2.ForeColor = System.Drawing.Color.Blue;
+            this.label2.Location = new System.Drawing.Point(3, 151);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(74, 22);
+            this.label2.TabIndex = 0;
+            this.label2.Text = "采集信息";
+            // 
+            // GoodProduct
+            // 
+            this.GoodProduct.AutoSize = true;
+            this.GoodProduct.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.GoodProduct.ForeColor = System.Drawing.Color.Blue;
+            this.GoodProduct.Location = new System.Drawing.Point(140, 494);
+            this.GoodProduct.Name = "GoodProduct";
+            this.GoodProduct.Size = new System.Drawing.Size(68, 29);
+            this.GoodProduct.TabIndex = 35;
+            this.GoodProduct.TabStop = true;
+            this.GoodProduct.Text = "良品";
+            this.GoodProduct.UseVisualStyleBackColor = true;
+            this.GoodProduct.Visible = false;
+            this.GoodProduct.CheckedChanged += new System.EventHandler(this.GoodProduct_CheckedChanged);
+            // 
+            // Reject
+            // 
+            this.Reject.AutoSize = true;
+            this.Reject.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.Reject.ForeColor = System.Drawing.Color.Red;
+            this.Reject.Location = new System.Drawing.Point(3, 495);
+            this.Reject.Name = "Reject";
+            this.Reject.Size = new System.Drawing.Size(87, 29);
+            this.Reject.TabIndex = 36;
+            this.Reject.TabStop = true;
+            this.Reject.Text = "不良品";
+            this.Reject.UseVisualStyleBackColor = true;
+            this.Reject.CheckedChanged += new System.EventHandler(this.Reject_CheckedChanged);
+            // 
+            // label4
+            // 
+            this.label4.AutoSize = true;
+            this.label4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label4.ForeColor = System.Drawing.Color.Black;
+            this.label4.Location = new System.Drawing.Point(2, 184);
+            this.label4.Name = "label4";
+            this.label4.Size = new System.Drawing.Size(74, 22);
+            this.label4.TabIndex = 39;
+            this.label4.Text = "待选不良";
+            // 
+            // label6
+            // 
+            this.label6.AutoSize = true;
+            this.label6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label6.Location = new System.Drawing.Point(714, 151);
+            this.label6.Name = "label6";
+            this.label6.Size = new System.Drawing.Size(74, 22);
+            this.label6.TabIndex = 46;
+            this.label6.Text = "操作结果";
+            // 
+            // AutoBadCode
+            // 
+            this.AutoBadCode.AutoSize = true;
+            this.AutoBadCode.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.AutoBadCode.Location = new System.Drawing.Point(718, 526);
+            this.AutoBadCode.Margin = new System.Windows.Forms.Padding(2);
+            this.AutoBadCode.Name = "AutoBadCode";
+            this.AutoBadCode.Size = new System.Drawing.Size(123, 21);
+            this.AutoBadCode.TabIndex = 69;
+            this.AutoBadCode.Text = "自动产生不良代码";
+            this.AutoBadCode.UseVisualStyleBackColor = true;
+            this.AutoBadCode.Visible = false;
+            // 
+            // 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(296, 15);
+            this.ma_qty_label.Name = "ma_qty_label";
+            this.ma_qty_label.Size = new System.Drawing.Size(74, 21);
+            this.ma_qty_label.TabIndex = 11;
+            this.ma_qty_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(3, 64);
+            this.ma_prodcode_label.Name = "ma_prodcode_label";
+            this.ma_prodcode_label.Size = new System.Drawing.Size(74, 21);
+            this.ma_prodcode_label.TabIndex = 7;
+            this.ma_prodcode_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(3, 13);
+            this.ms_makecode_label.Name = "ms_makecode_label";
+            this.ms_makecode_label.Size = new System.Drawing.Size(74, 21);
+            this.ms_makecode_label.TabIndex = 2;
+            this.ms_makecode_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(157, 12);
+            this.mcd_inqty_label.Name = "mcd_inqty_label";
+            this.mcd_inqty_label.Size = new System.Drawing.Size(74, 21);
+            this.mcd_inqty_label.TabIndex = 14;
+            this.mcd_inqty_label.Text = "已采集数";
+            // 
+            // mc_restqty_label
+            // 
+            this.mc_restqty_label.AutoSize = true;
+            this.mc_restqty_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.mc_restqty_label.Location = new System.Drawing.Point(16, 12);
+            this.mc_restqty_label.Name = "mc_restqty_label";
+            this.mc_restqty_label.Size = new System.Drawing.Size(74, 21);
+            this.mc_restqty_label.TabIndex = 17;
+            this.mc_restqty_label.Text = "待采集数";
+            // 
+            // panel1
+            // 
+            this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.panel1.Controls.Add(this.ob_sendqty);
+            this.panel1.Controls.Add(this.label7);
+            this.panel1.Controls.Add(this.ob_checkno);
+            this.panel1.Controls.Add(this.SendCheck);
+            this.panel1.Controls.Add(this.ob_batchqty);
+            this.panel1.Controls.Add(this.ob_batchqty_label);
+            this.panel1.Controls.Add(this.ob_nowcheckqty);
+            this.panel1.Controls.Add(this.ob_nowcheckqty_label);
+            this.panel1.Controls.Add(this.mcd_remainqty);
+            this.panel1.Controls.Add(this.mc_restqty_label);
+            this.panel1.Controls.Add(this.mcd_inqty);
+            this.panel1.Controls.Add(this.mcd_inqty_label);
+            this.panel1.Location = new System.Drawing.Point(537, 14);
+            this.panel1.Margin = new System.Windows.Forms.Padding(2);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(315, 127);
+            this.panel1.TabIndex = 71;
+            // 
+            // ob_sendqty
+            // 
+            this.ob_sendqty.AutoSize = true;
+            this.ob_sendqty.CutLength = null;
+            this.ob_sendqty.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ob_sendqty.ForeColor = System.Drawing.Color.Black;
+            this.ob_sendqty.Location = new System.Drawing.Point(109, 91);
+            this.ob_sendqty.MaximumSize = new System.Drawing.Size(150, 0);
+            this.ob_sendqty.Name = "ob_sendqty";
+            this.ob_sendqty.Size = new System.Drawing.Size(0, 21);
+            this.ob_sendqty.TabIndex = 78;
+            this.ob_sendqty.Tag = "ob_batchqty";
+            // 
+            // label7
+            // 
+            this.label7.AutoSize = true;
+            this.label7.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label7.ForeColor = System.Drawing.Color.Black;
+            this.label7.Location = new System.Drawing.Point(16, 91);
+            this.label7.Name = "label7";
+            this.label7.Size = new System.Drawing.Size(74, 21);
+            this.label7.TabIndex = 77;
+            this.label7.Text = "已送检数";
+            // 
+            // ob_checkno
+            // 
+            this.ob_checkno.AutoSize = true;
+            this.ob_checkno.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ob_checkno.ForeColor = System.Drawing.Color.Black;
+            this.ob_checkno.Location = new System.Drawing.Point(285, 90);
+            this.ob_checkno.Name = "ob_checkno";
+            this.ob_checkno.Size = new System.Drawing.Size(0, 21);
+            this.ob_checkno.TabIndex = 76;
+            this.ob_checkno.Tag = "ob_checkno";
+            this.ob_checkno.Visible = false;
+            this.ob_checkno.TextChanged += new System.EventHandler(this.ob_checkno_TextChanged);
+            // 
+            // SendCheck
+            // 
+            this.SendCheck.AllPower = null;
+            this.SendCheck.BackColor = System.Drawing.Color.Transparent;
+            this.SendCheck.DownImage = ((System.Drawing.Image)(resources.GetObject("SendCheck.DownImage")));
+            this.SendCheck.Enabled = false;
+            this.SendCheck.Image = null;
+            this.SendCheck.IsShowBorder = true;
+            this.SendCheck.Location = new System.Drawing.Point(229, 90);
+            this.SendCheck.Margin = new System.Windows.Forms.Padding(2);
+            this.SendCheck.MoveImage = ((System.Drawing.Image)(resources.GetObject("SendCheck.MoveImage")));
+            this.SendCheck.Name = "SendCheck";
+            this.SendCheck.NormalImage = ((System.Drawing.Image)(resources.GetObject("SendCheck.NormalImage")));
+            this.SendCheck.Power = null;
+            this.SendCheck.Size = new System.Drawing.Size(65, 26);
+            this.SendCheck.TabIndex = 72;
+            this.SendCheck.Text = "送检";
+            this.SendCheck.UseVisualStyleBackColor = false;
+            this.SendCheck.Click += new System.EventHandler(this.SendCheck_Click);
+            // 
+            // ob_batchqty
+            // 
+            this.ob_batchqty.AutoSize = true;
+            this.ob_batchqty.CutLength = null;
+            this.ob_batchqty.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ob_batchqty.ForeColor = System.Drawing.Color.Black;
+            this.ob_batchqty.Location = new System.Drawing.Point(109, 51);
+            this.ob_batchqty.MaximumSize = new System.Drawing.Size(150, 0);
+            this.ob_batchqty.Name = "ob_batchqty";
+            this.ob_batchqty.Size = new System.Drawing.Size(0, 21);
+            this.ob_batchqty.TabIndex = 75;
+            this.ob_batchqty.Tag = "ob_batchqty";
+            // 
+            // ob_batchqty_label
+            // 
+            this.ob_batchqty_label.AutoSize = true;
+            this.ob_batchqty_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ob_batchqty_label.ForeColor = System.Drawing.Color.Black;
+            this.ob_batchqty_label.Location = new System.Drawing.Point(16, 51);
+            this.ob_batchqty_label.Name = "ob_batchqty_label";
+            this.ob_batchqty_label.Size = new System.Drawing.Size(74, 21);
+            this.ob_batchqty_label.TabIndex = 74;
+            this.ob_batchqty_label.Text = "抽检批数";
+            // 
+            // ob_nowcheckqty
+            // 
+            this.ob_nowcheckqty.AutoSize = true;
+            this.ob_nowcheckqty.CutLength = null;
+            this.ob_nowcheckqty.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ob_nowcheckqty.ForeColor = System.Drawing.Color.Black;
+            this.ob_nowcheckqty.Location = new System.Drawing.Point(248, 51);
+            this.ob_nowcheckqty.MaximumSize = new System.Drawing.Size(150, 0);
+            this.ob_nowcheckqty.Name = "ob_nowcheckqty";
+            this.ob_nowcheckqty.Size = new System.Drawing.Size(0, 21);
+            this.ob_nowcheckqty.TabIndex = 73;
+            this.ob_nowcheckqty.Tag = "ob_nowcheckqty";
+            // 
+            // ob_nowcheckqty_label
+            // 
+            this.ob_nowcheckqty_label.AutoSize = true;
+            this.ob_nowcheckqty_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ob_nowcheckqty_label.ForeColor = System.Drawing.Color.Black;
+            this.ob_nowcheckqty_label.Location = new System.Drawing.Point(157, 51);
+            this.ob_nowcheckqty_label.Name = "ob_nowcheckqty_label";
+            this.ob_nowcheckqty_label.Size = new System.Drawing.Size(74, 21);
+            this.ob_nowcheckqty_label.TabIndex = 72;
+            this.ob_nowcheckqty_label.Text = "当前批数";
+            // 
+            // 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(109, 12);
+            this.mcd_remainqty.MaximumSize = new System.Drawing.Size(150, 0);
+            this.mcd_remainqty.Name = "mcd_remainqty";
+            this.mcd_remainqty.Size = new System.Drawing.Size(0, 21);
+            this.mcd_remainqty.TabIndex = 57;
+            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(248, 12);
+            this.mcd_inqty.MaximumSize = new System.Drawing.Size(150, 0);
+            this.mcd_inqty.Name = "mcd_inqty";
+            this.mcd_inqty.Size = new System.Drawing.Size(0, 21);
+            this.mcd_inqty.TabIndex = 54;
+            this.mcd_inqty.Tag = "mcd_inqty";
+            // 
+            // 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(296, 64);
+            this.pr_detail_label.Name = "pr_detail_label";
+            this.pr_detail_label.Size = new System.Drawing.Size(74, 21);
+            this.pr_detail_label.TabIndex = 6;
+            this.pr_detail_label.Text = "产品名称";
+            // 
+            // ma_softversion_label
+            // 
+            this.ma_softversion_label.AutoSize = true;
+            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(3, 112);
+            this.ma_softversion_label.Name = "ma_softversion_label";
+            this.ma_softversion_label.Size = new System.Drawing.Size(74, 21);
+            this.ma_softversion_label.TabIndex = 72;
+            this.ma_softversion_label.Text = "软件版本";
+            // 
+            // NoteForChange
+            // 
+            this.NoteForChange.AutoSize = true;
+            this.NoteForChange.Checked = true;
+            this.NoteForChange.CheckState = System.Windows.Forms.CheckState.Checked;
+            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(300, 112);
+            this.NoteForChange.Margin = new System.Windows.Forms.Padding(2);
+            this.NoteForChange.Name = "NoteForChange";
+            this.NoteForChange.Size = new System.Drawing.Size(99, 21);
+            this.NoteForChange.TabIndex = 75;
+            this.NoteForChange.Text = "切换工单提示";
+            this.NoteForChange.UseVisualStyleBackColor = true;
+            // 
+            // Lock_label
+            // 
+            this.Lock_label.AutoSize = true;
+            this.Lock_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.Lock_label.ForeColor = System.Drawing.Color.Red;
+            this.Lock_label.Location = new System.Drawing.Point(569, 500);
+            this.Lock_label.Name = "Lock_label";
+            this.Lock_label.Size = new System.Drawing.Size(126, 21);
+            this.Lock_label.TabIndex = 77;
+            this.Lock_label.Text = "Ctrl+Q解除锁定";
+            this.Lock_label.Visible = false;
+            // 
+            // ma_salecode
+            // 
+            this.ma_salecode.AutoSize = true;
+            this.ma_salecode.Location = new System.Drawing.Point(477, 151);
+            this.ma_salecode.Name = "ma_salecode";
+            this.ma_salecode.Size = new System.Drawing.Size(0, 12);
+            this.ma_salecode.TabIndex = 78;
+            this.ma_salecode.Visible = false;
+            // 
+            // pr_sendchecktype
+            // 
+            this.pr_sendchecktype.AutoSize = true;
+            this.pr_sendchecktype.Location = new System.Drawing.Point(477, 155);
+            this.pr_sendchecktype.Name = "pr_sendchecktype";
+            this.pr_sendchecktype.Size = new System.Drawing.Size(0, 12);
+            this.pr_sendchecktype.TabIndex = 79;
+            this.pr_sendchecktype.Visible = false;
+            // 
+            // MakeBadView
+            // 
+            this.MakeBadView.AllowUserToAddRows = false;
+            this.MakeBadView.AllowUserToResizeRows = false;
+            this.MakeBadView.BackgroundColor = System.Drawing.SystemColors.ButtonFace;
+            this.MakeBadView.ColumnHeadersHeight = 30;
+            this.MakeBadView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.choose1,
+            this.mb_id,
+            this.mbr_id,
+            this.mb_badcode,
+            this.mb_badname,
+            this.mb_bgname,
+            this.mb_bgcode,
+            this.mbc_component,
+            this.mbp_part,
+            this.mbl_loc});
+            this.MakeBadView.Location = new System.Drawing.Point(300, 265);
+            this.MakeBadView.Name = "MakeBadView";
+            this.MakeBadView.RowHeadersVisible = false;
+            this.MakeBadView.RowTemplate.Height = 23;
+            this.MakeBadView.Size = new System.Drawing.Size(412, 223);
+            this.MakeBadView.TabIndex = 195;
+            // 
+            // choose1
+            // 
+            this.choose1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+            this.choose1.HeaderText = "勾选";
+            this.choose1.MinimumWidth = 60;
+            this.choose1.Name = "choose1";
+            this.choose1.Width = 60;
+            // 
+            // mb_id
+            // 
+            this.mb_id.DataPropertyName = "mb_id";
+            this.mb_id.HeaderText = "mb_id";
+            this.mb_id.Name = "mb_id";
+            this.mb_id.Visible = false;
+            // 
+            // mbr_id
+            // 
+            this.mbr_id.DataPropertyName = "mbr_id";
+            this.mbr_id.HeaderText = "mbr_id";
+            this.mbr_id.Name = "mbr_id";
+            this.mbr_id.Visible = false;
+            // 
+            // mb_badcode
+            // 
+            this.mb_badcode.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+            this.mb_badcode.DataPropertyName = "mb_badcode";
+            this.mb_badcode.HeaderText = "不良代码";
+            this.mb_badcode.MinimumWidth = 80;
+            this.mb_badcode.Name = "mb_badcode";
+            this.mb_badcode.ReadOnly = true;
+            this.mb_badcode.Width = 80;
+            // 
+            // mb_badname
+            // 
+            this.mb_badname.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+            this.mb_badname.DataPropertyName = "mb_badname";
+            this.mb_badname.HeaderText = "不良名称";
+            this.mb_badname.MinimumWidth = 80;
+            this.mb_badname.Name = "mb_badname";
+            this.mb_badname.ReadOnly = true;
+            this.mb_badname.Width = 80;
+            // 
+            // mb_bgname
+            // 
+            this.mb_bgname.DataPropertyName = "mb_bgname";
+            this.mb_bgname.HeaderText = "不良代码组描述";
+            this.mb_bgname.Name = "mb_bgname";
+            this.mb_bgname.Visible = false;
+            // 
+            // mb_bgcode
+            // 
+            this.mb_bgcode.DataPropertyName = "mb_bgcode";
+            this.mb_bgcode.HeaderText = "不良代码组编号";
+            this.mb_bgcode.Name = "mb_bgcode";
+            this.mb_bgcode.Visible = false;
+            // 
+            // mbc_component
+            // 
+            this.mbc_component.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+            this.mbc_component.DataPropertyName = "mbc_component";
+            this.mbc_component.HeaderText = "不良组件";
+            this.mbc_component.Items.AddRange(new object[] {
+            "",
+            "主板",
+            "液晶屏",
+            "电路板",
+            "其他"});
+            this.mbc_component.MinimumWidth = 80;
+            this.mbc_component.Name = "mbc_component";
+            this.mbc_component.Width = 80;
+            // 
+            // mbp_part
+            // 
+            this.mbp_part.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
+            this.mbp_part.DataPropertyName = "mbp_part";
+            this.mbp_part.HeaderText = "不良零件";
+            this.mbp_part.Name = "mbp_part";
+            // 
+            // mbl_loc
+            // 
+            this.mbl_loc.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
+            this.mbl_loc.DataPropertyName = "mbl_loc";
+            this.mbl_loc.HeaderText = "不良位置";
+            this.mbl_loc.MinimumWidth = 45;
+            this.mbl_loc.Name = "mbl_loc";
+            // 
+            // WaitChooseDGV
+            // 
+            this.WaitChooseDGV.AllowUserToAddRows = false;
+            this.WaitChooseDGV.AllowUserToResizeRows = false;
+            this.WaitChooseDGV.BackgroundColor = System.Drawing.SystemColors.ButtonFace;
+            this.WaitChooseDGV.ColumnHeadersHeight = 30;
+            this.WaitChooseDGV.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.ChooseAll,
+            this.bc_code,
+            this.bc_name,
+            this.bg_code,
+            this.bg_name});
+            this.WaitChooseDGV.Location = new System.Drawing.Point(3, 265);
+            this.WaitChooseDGV.Name = "WaitChooseDGV";
+            this.WaitChooseDGV.RowHeadersVisible = false;
+            this.WaitChooseDGV.RowTemplate.Height = 23;
+            this.WaitChooseDGV.Size = new System.Drawing.Size(235, 223);
+            this.WaitChooseDGV.TabIndex = 208;
+            // 
+            // ChooseAll
+            // 
+            this.ChooseAll.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+            this.ChooseAll.HeaderText = "勾选";
+            this.ChooseAll.MinimumWidth = 80;
+            this.ChooseAll.Name = "ChooseAll";
+            this.ChooseAll.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.ChooseAll.Width = 80;
+            // 
+            // bc_code
+            // 
+            this.bc_code.DataPropertyName = "bc_code";
+            this.bc_code.HeaderText = "不良代码";
+            this.bc_code.Name = "bc_code";
+            this.bc_code.ReadOnly = true;
+            this.bc_code.Width = 130;
+            // 
+            // bc_name
+            // 
+            this.bc_name.DataPropertyName = "bc_name";
+            this.bc_name.HeaderText = "不良名称";
+            this.bc_name.Name = "bc_name";
+            this.bc_name.ReadOnly = true;
+            this.bc_name.Width = 130;
+            // 
+            // bg_code
+            // 
+            this.bg_code.DataPropertyName = "bg_code";
+            this.bg_code.HeaderText = "不良组别编号";
+            this.bg_code.Name = "bg_code";
+            this.bg_code.Visible = false;
+            // 
+            // bg_name
+            // 
+            this.bg_name.DataPropertyName = "bg_name";
+            this.bg_name.HeaderText = "不良组别名称";
+            this.bg_name.Name = "bg_name";
+            this.bg_name.Visible = false;
+            // 
+            // badloc_label
+            // 
+            this.badloc_label.AutoSize = true;
+            this.badloc_label.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.badloc_label.ForeColor = System.Drawing.Color.Black;
+            this.badloc_label.Location = new System.Drawing.Point(547, 239);
+            this.badloc_label.Name = "badloc_label";
+            this.badloc_label.Size = new System.Drawing.Size(56, 17);
+            this.badloc_label.TabIndex = 216;
+            this.badloc_label.Text = "不良位置";
+            // 
+            // mbp_part_label
+            // 
+            this.mbp_part_label.AutoSize = true;
+            this.mbp_part_label.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.mbp_part_label.ForeColor = System.Drawing.Color.Black;
+            this.mbp_part_label.Location = new System.Drawing.Point(376, 240);
+            this.mbp_part_label.Name = "mbp_part_label";
+            this.mbp_part_label.Size = new System.Drawing.Size(56, 17);
+            this.mbp_part_label.TabIndex = 213;
+            this.mbp_part_label.Text = "不良零件";
+            // 
+            // label5
+            // 
+            this.label5.AutoSize = true;
+            this.label5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label5.ForeColor = System.Drawing.Color.Black;
+            this.label5.Location = new System.Drawing.Point(296, 235);
+            this.label5.Name = "label5";
+            this.label5.Size = new System.Drawing.Size(74, 22);
+            this.label5.TabIndex = 212;
+            this.label5.Text = "已选不良";
+            // 
+            // dataGridViewCheckBoxColumn1
+            // 
+            this.dataGridViewCheckBoxColumn1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+            this.dataGridViewCheckBoxColumn1.HeaderText = "勾选";
+            this.dataGridViewCheckBoxColumn1.MinimumWidth = 80;
+            this.dataGridViewCheckBoxColumn1.Name = "dataGridViewCheckBoxColumn1";
+            this.dataGridViewCheckBoxColumn1.Width = 80;
+            // 
+            // dataGridViewTextBoxColumn1
+            // 
+            this.dataGridViewTextBoxColumn1.DataPropertyName = "mb_id";
+            this.dataGridViewTextBoxColumn1.HeaderText = "mb_id";
+            this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
+            this.dataGridViewTextBoxColumn1.Visible = false;
+            // 
+            // dataGridViewTextBoxColumn2
+            // 
+            this.dataGridViewTextBoxColumn2.DataPropertyName = "mbr_id";
+            this.dataGridViewTextBoxColumn2.HeaderText = "mbr_id";
+            this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";
+            this.dataGridViewTextBoxColumn2.Visible = false;
+            // 
+            // dataGridViewTextBoxColumn3
+            // 
+            this.dataGridViewTextBoxColumn3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+            this.dataGridViewTextBoxColumn3.DataPropertyName = "mb_badcode";
+            this.dataGridViewTextBoxColumn3.HeaderText = "不良代码";
+            this.dataGridViewTextBoxColumn3.MinimumWidth = 80;
+            this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3";
+            this.dataGridViewTextBoxColumn3.ReadOnly = true;
+            this.dataGridViewTextBoxColumn3.Width = 80;
+            // 
+            // dataGridViewTextBoxColumn4
+            // 
+            this.dataGridViewTextBoxColumn4.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+            this.dataGridViewTextBoxColumn4.DataPropertyName = "mb_badname";
+            this.dataGridViewTextBoxColumn4.HeaderText = "不良名称";
+            this.dataGridViewTextBoxColumn4.MinimumWidth = 80;
+            this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4";
+            this.dataGridViewTextBoxColumn4.ReadOnly = true;
+            this.dataGridViewTextBoxColumn4.Width = 80;
+            // 
+            // dataGridViewTextBoxColumn5
+            // 
+            this.dataGridViewTextBoxColumn5.DataPropertyName = "mbp_part";
+            this.dataGridViewTextBoxColumn5.HeaderText = "不良零件";
+            this.dataGridViewTextBoxColumn5.Name = "dataGridViewTextBoxColumn5";
+            this.dataGridViewTextBoxColumn5.Visible = false;
+            // 
+            // dataGridViewTextBoxColumn6
+            // 
+            this.dataGridViewTextBoxColumn6.DataPropertyName = "mbl_loc";
+            this.dataGridViewTextBoxColumn6.HeaderText = "不良位置";
+            this.dataGridViewTextBoxColumn6.Name = "dataGridViewTextBoxColumn6";
+            this.dataGridViewTextBoxColumn6.Visible = false;
+            // 
+            // dataGridViewComboBoxColumn1
+            // 
+            this.dataGridViewComboBoxColumn1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+            this.dataGridViewComboBoxColumn1.DataPropertyName = "mbc_component";
+            this.dataGridViewComboBoxColumn1.HeaderText = "不良组件";
+            this.dataGridViewComboBoxColumn1.Items.AddRange(new object[] {
+            "",
+            "主板",
+            "液晶屏",
+            "电路板",
+            "其他"});
+            this.dataGridViewComboBoxColumn1.MinimumWidth = 80;
+            this.dataGridViewComboBoxColumn1.Name = "dataGridViewComboBoxColumn1";
+            this.dataGridViewComboBoxColumn1.Width = 80;
+            // 
+            // dataGridViewTextBoxColumn7
+            // 
+            this.dataGridViewTextBoxColumn7.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
+            this.dataGridViewTextBoxColumn7.DataPropertyName = "mbp_part";
+            this.dataGridViewTextBoxColumn7.HeaderText = "不良零件";
+            this.dataGridViewTextBoxColumn7.Name = "dataGridViewTextBoxColumn7";
+            // 
+            // dataGridViewTextBoxColumn8
+            // 
+            this.dataGridViewTextBoxColumn8.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
+            this.dataGridViewTextBoxColumn8.DataPropertyName = "mbl_loc";
+            this.dataGridViewTextBoxColumn8.HeaderText = "不良位置";
+            this.dataGridViewTextBoxColumn8.MinimumWidth = 45;
+            this.dataGridViewTextBoxColumn8.Name = "dataGridViewTextBoxColumn8";
+            // 
+            // dataGridViewCheckBoxColumn2
+            // 
+            this.dataGridViewCheckBoxColumn2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
+            this.dataGridViewCheckBoxColumn2.HeaderText = "勾选";
+            this.dataGridViewCheckBoxColumn2.MinimumWidth = 80;
+            this.dataGridViewCheckBoxColumn2.Name = "dataGridViewCheckBoxColumn2";
+            this.dataGridViewCheckBoxColumn2.Resizable = System.Windows.Forms.DataGridViewTriState.False;
+            this.dataGridViewCheckBoxColumn2.Width = 80;
+            // 
+            // dataGridViewTextBoxColumn9
+            // 
+            this.dataGridViewTextBoxColumn9.DataPropertyName = "bc_code";
+            this.dataGridViewTextBoxColumn9.HeaderText = "不良代码";
+            this.dataGridViewTextBoxColumn9.Name = "dataGridViewTextBoxColumn9";
+            this.dataGridViewTextBoxColumn9.ReadOnly = true;
+            this.dataGridViewTextBoxColumn9.Width = 130;
+            // 
+            // dataGridViewTextBoxColumn10
+            // 
+            this.dataGridViewTextBoxColumn10.DataPropertyName = "bc_name";
+            this.dataGridViewTextBoxColumn10.HeaderText = "不良名称";
+            this.dataGridViewTextBoxColumn10.Name = "dataGridViewTextBoxColumn10";
+            this.dataGridViewTextBoxColumn10.ReadOnly = true;
+            this.dataGridViewTextBoxColumn10.Width = 130;
+            // 
+            // dataGridViewTextBoxColumn11
+            // 
+            this.dataGridViewTextBoxColumn11.DataPropertyName = "bg_code";
+            this.dataGridViewTextBoxColumn11.HeaderText = "不良组别编号";
+            this.dataGridViewTextBoxColumn11.Name = "dataGridViewTextBoxColumn11";
+            this.dataGridViewTextBoxColumn11.Visible = false;
+            // 
+            // dataGridViewTextBoxColumn12
+            // 
+            this.dataGridViewTextBoxColumn12.DataPropertyName = "bg_name";
+            this.dataGridViewTextBoxColumn12.HeaderText = "不良组别名称";
+            this.dataGridViewTextBoxColumn12.Name = "dataGridViewTextBoxColumn12";
+            this.dataGridViewTextBoxColumn12.Visible = false;
+            // 
+            // psl_location
+            // 
+            this.psl_location.AllPower = null;
+            this.psl_location.BackColor = System.Drawing.Color.White;
+            this.psl_location.ID = null;
+            this.psl_location.Location = new System.Drawing.Point(618, 235);
+            this.psl_location.Name = "psl_location";
+            this.psl_location.Power = null;
+            this.psl_location.Size = new System.Drawing.Size(94, 21);
+            this.psl_location.Str = null;
+            this.psl_location.Str1 = null;
+            this.psl_location.Str2 = null;
+            this.psl_location.TabIndex = 215;
+            this.psl_location.KeyDown += new System.Windows.Forms.KeyEventHandler(this.bad_loc_KeyDown);
+            this.psl_location.Leave += new System.EventHandler(this.psl_location_Leave);
+            // 
+            // bd_soncode
+            // 
+            this.bd_soncode.AllPower = null;
+            this.bd_soncode.Caller = null;
+            this.bd_soncode.Condition = null;
+            this.bd_soncode.DBTitle = null;
+            this.bd_soncode.FormName = null;
+            this.bd_soncode.Location = new System.Drawing.Point(428, 236);
+            this.bd_soncode.Margin = new System.Windows.Forms.Padding(2);
+            this.bd_soncode.Name = "bd_soncode";
+            this.bd_soncode.Power = null;
+            this.bd_soncode.ReturnData = null;
+            this.bd_soncode.SelectField = null;
+            this.bd_soncode.SetValueField = null;
+            this.bd_soncode.Size = new System.Drawing.Size(114, 21);
+            this.bd_soncode.TabIndex = 214;
+            this.bd_soncode.TableName = null;
+            this.bd_soncode.Tag = "psl_prodcode";
+            this.bd_soncode.TextBoxEnable = true;
+            // 
+            // StepCount
+            // 
+            this.StepCount.LineCode = null;
+            this.StepCount.Location = new System.Drawing.Point(297, 151);
+            this.StepCount.Margin = new System.Windows.Forms.Padding(4, 7, 4, 7);
+            this.StepCount.Name = "StepCount";
+            this.StepCount.Size = new System.Drawing.Size(64, 22);
+            this.StepCount.Source = null;
+            this.StepCount.StepCode = null;
+            this.StepCount.TabIndex = 194;
+            // 
+            // Filter
+            // 
+            this.Filter.BackColor = System.Drawing.Color.Transparent;
+            this.Filter.Font = new System.Drawing.Font("宋体", 10.8F);
+            this.Filter.Location = new System.Drawing.Point(98, 181);
+            this.Filter.Margin = new System.Windows.Forms.Padding(2);
+            this.Filter.Name = "Filter";
+            this.Filter.PlaceHolder = "不良名称搜索";
+            this.Filter.Size = new System.Drawing.Size(140, 24);
+            this.Filter.TabIndex = 76;
+            this.Filter.UserControlTextChanged += new UAS_MES.CustomControl.TextBoxWithIcon.TextBoxWithPlaceHolder.OnTextChange(this.Filter_UserControlTextChanged);
+            // 
+            // ma_softversion
+            // 
+            this.ma_softversion.AutoSize = true;
+            this.ma_softversion.CutLength = null;
+            this.ma_softversion.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ma_softversion.Location = new System.Drawing.Point(94, 112);
+            this.ma_softversion.MaximumSize = new System.Drawing.Size(150, 0);
+            this.ma_softversion.Name = "ma_softversion";
+            this.ma_softversion.Size = new System.Drawing.Size(0, 21);
+            this.ma_softversion.TabIndex = 73;
+            // 
+            // Save
+            // 
+            this.Save.AllPower = null;
+            this.Save.BackColor = System.Drawing.Color.Transparent;
+            this.Save.DownImage = ((System.Drawing.Image)(resources.GetObject("Save.DownImage")));
+            this.Save.Image = null;
+            this.Save.IsShowBorder = true;
+            this.Save.Location = new System.Drawing.Point(477, 497);
+            this.Save.Margin = new System.Windows.Forms.Padding(2);
+            this.Save.MoveImage = ((System.Drawing.Image)(resources.GetObject("Save.MoveImage")));
+            this.Save.Name = "Save";
+            this.Save.NormalImage = ((System.Drawing.Image)(resources.GetObject("Save.NormalImage")));
+            this.Save.Power = null;
+            this.Save.Size = new System.Drawing.Size(65, 26);
+            this.Save.TabIndex = 70;
+            this.Save.Text = "保存";
+            this.Save.UseVisualStyleBackColor = false;
+            this.Save.Click += new System.EventHandler(this.Save_Click);
+            // 
+            // 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(93, 13);
+            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(115, 21);
+            this.ma_code.TabIndex = 67;
+            this.ma_code.TableName = null;
+            this.ma_code.Tag = "ma_code";
+            this.ma_code.TextBoxEnable = true;
+            this.ma_code.UserControlTextChanged += new UAS_MES.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(224, 15);
+            this.LockMakeCode.Margin = new System.Windows.Forms.Padding(2);
+            this.LockMakeCode.Name = "LockMakeCode";
+            this.LockMakeCode.Size = new System.Drawing.Size(51, 21);
+            this.LockMakeCode.TabIndex = 66;
+            this.LockMakeCode.Text = "锁定";
+            this.LockMakeCode.UseVisualStyleBackColor = true;
+            // 
+            // pr_detail
+            // 
+            this.pr_detail.AutoSize = true;
+            this.pr_detail.CutLength = "qweqwe";
+            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(380, 64);
+            this.pr_detail.MaximumSize = new System.Drawing.Size(150, 0);
+            this.pr_detail.Name = "pr_detail";
+            this.pr_detail.Size = new System.Drawing.Size(0, 21);
+            this.pr_detail.TabIndex = 56;
+            // 
+            // 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(379, 14);
+            this.ma_qty.MaximumSize = new System.Drawing.Size(150, 0);
+            this.ma_qty.Name = "ma_qty";
+            this.ma_qty.Size = new System.Drawing.Size(0, 21);
+            this.ma_qty.TabIndex = 55;
+            // 
+            // 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(94, 64);
+            this.ma_prodcode.MaximumSize = new System.Drawing.Size(150, 0);
+            this.ma_prodcode.Name = "ma_prodcode";
+            this.ma_prodcode.Size = new System.Drawing.Size(0, 21);
+            this.ma_prodcode.TabIndex = 53;
+            this.ma_prodcode.TextChanged += new System.EventHandler(this.ma_prodcode_TextChanged);
+            // 
+            // 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(718, 181);
+            this.OperateResult.Name = "OperateResult";
+            this.OperateResult.Size = new System.Drawing.Size(133, 307);
+            this.OperateResult.TabIndex = 52;
+            this.OperateResult.Text = "";
+            // 
+            // CleanInfo
+            // 
+            this.CleanInfo.AllPower = null;
+            this.CleanInfo.BackColor = System.Drawing.Color.Transparent;
+            this.CleanInfo.DownImage = ((System.Drawing.Image)(resources.GetObject("CleanInfo.DownImage")));
+            this.CleanInfo.Image = ((System.Drawing.Image)(resources.GetObject("CleanInfo.Image")));
+            this.CleanInfo.IsShowBorder = true;
+            this.CleanInfo.Location = new System.Drawing.Point(718, 497);
+            this.CleanInfo.MoveImage = ((System.Drawing.Image)(resources.GetObject("CleanInfo.MoveImage")));
+            this.CleanInfo.Name = "CleanInfo";
+            this.CleanInfo.NormalImage = ((System.Drawing.Image)(resources.GetObject("CleanInfo.NormalImage")));
+            this.CleanInfo.Power = null;
+            this.CleanInfo.Size = new System.Drawing.Size(61, 24);
+            this.CleanInfo.TabIndex = 47;
+            this.CleanInfo.Text = "清除内容";
+            this.CleanInfo.UseVisualStyleBackColor = true;
+            this.CleanInfo.Click += new System.EventHandler(this.CleanInfo_Click);
+            // 
+            // ChooseedReject
+            // 
+            this.ChooseedReject.Image = ((System.Drawing.Image)(resources.GetObject("ChooseedReject.Image")));
+            this.ChooseedReject.Location = new System.Drawing.Point(244, 343);
+            this.ChooseedReject.Name = "ChooseedReject";
+            this.ChooseedReject.Size = new System.Drawing.Size(50, 23);
+            this.ChooseedReject.TabIndex = 45;
+            this.ChooseedReject.UseVisualStyleBackColor = true;
+            this.ChooseedReject.Click += new System.EventHandler(this.ChooseedReject_Click);
+            // 
+            // WaitReject
+            // 
+            this.WaitReject.Image = ((System.Drawing.Image)(resources.GetObject("WaitReject.Image")));
+            this.WaitReject.Location = new System.Drawing.Point(244, 415);
+            this.WaitReject.Name = "WaitReject";
+            this.WaitReject.Size = new System.Drawing.Size(50, 23);
+            this.WaitReject.TabIndex = 44;
+            this.WaitReject.UseVisualStyleBackColor = true;
+            this.WaitReject.Click += new System.EventHandler(this.WaitReject_Click);
+            // 
+            // bc_remark
+            // 
+            this.bc_remark.AllPower = null;
+            this.bc_remark.BackColor = System.Drawing.Color.White;
+            this.bc_remark.ID = null;
+            this.bc_remark.Location = new System.Drawing.Point(388, 181);
+            this.bc_remark.Multiline = true;
+            this.bc_remark.Name = "bc_remark";
+            this.bc_remark.Power = null;
+            this.bc_remark.Size = new System.Drawing.Size(259, 50);
+            this.bc_remark.Str = null;
+            this.bc_remark.Str1 = null;
+            this.bc_remark.Str2 = null;
+            this.bc_remark.TabIndex = 41;
+            // 
+            // ms_sncode
+            // 
+            this.ms_sncode.AllPower = "ifall";
+            this.ms_sncode.BackColor = System.Drawing.Color.White;
+            this.ms_sncode.Font = new System.Drawing.Font("宋体", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ms_sncode.ID = null;
+            this.ms_sncode.Location = new System.Drawing.Point(300, 498);
+            this.ms_sncode.Name = "ms_sncode";
+            this.ms_sncode.Power = null;
+            this.ms_sncode.Size = new System.Drawing.Size(161, 24);
+            this.ms_sncode.Str = null;
+            this.ms_sncode.Str1 = null;
+            this.ms_sncode.Str2 = null;
+            this.ms_sncode.TabIndex = 68;
+            this.ms_sncode.Tag = "IfRead";
+            this.ms_sncode.KeyDown += new System.Windows.Forms.KeyEventHandler(this.ms_code_KeyDown);
+            // 
+            // Make_SmtbdTestCollection
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackColor = System.Drawing.SystemColors.Control;
+            this.ClientSize = new System.Drawing.Size(862, 535);
+            this.Controls.Add(this.badloc_label);
+            this.Controls.Add(this.psl_location);
+            this.Controls.Add(this.bd_soncode);
+            this.Controls.Add(this.mbp_part_label);
+            this.Controls.Add(this.label5);
+            this.Controls.Add(this.WaitChooseDGV);
+            this.Controls.Add(this.MakeBadView);
+            this.Controls.Add(this.StepCount);
+            this.Controls.Add(this.pr_sendchecktype);
+            this.Controls.Add(this.ma_salecode);
+            this.Controls.Add(this.Lock_label);
+            this.Controls.Add(this.Filter);
+            this.Controls.Add(this.NoteForChange);
+            this.Controls.Add(this.ma_softversion);
+            this.Controls.Add(this.ma_softversion_label);
+            this.Controls.Add(this.panel1);
+            this.Controls.Add(this.Save);
+            this.Controls.Add(this.AutoBadCode);
+            this.Controls.Add(this.ma_code);
+            this.Controls.Add(this.LockMakeCode);
+            this.Controls.Add(this.label2);
+            this.Controls.Add(this.pr_detail);
+            this.Controls.Add(this.ma_qty);
+            this.Controls.Add(this.ma_prodcode);
+            this.Controls.Add(this.OperateResult);
+            this.Controls.Add(this.CleanInfo);
+            this.Controls.Add(this.label6);
+            this.Controls.Add(this.ChooseedReject);
+            this.Controls.Add(this.WaitReject);
+            this.Controls.Add(this.bc_remark);
+            this.Controls.Add(this.label4);
+            this.Controls.Add(this.Reject);
+            this.Controls.Add(this.GoodProduct);
+            this.Controls.Add(this.bc_remark_label);
+            this.Controls.Add(this.ms_sncode_label);
+            this.Controls.Add(this.ms_sncode);
+            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.KeyPreview = true;
+            this.Name = "Make_SmtbdTestCollection";
+            this.Tag = "Make!SmtbdTestCollection";
+            this.Text = " ";
+            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Make_TestCollection_FormClosing);
+            this.Load += new System.EventHandler(this.TestCollection_Load);
+            this.Shown += new System.EventHandler(this.Make_SmtbdTestCollection_Shown);
+            this.SizeChanged += new System.EventHandler(this.测试采集_SizeChanged);
+            this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Make_TestCollection_KeyDown);
+            this.panel1.ResumeLayout(false);
+            this.panel1.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.BadInfSource)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.MakeBadView)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.WaitChooseDGV)).EndInit();
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+        private System.Windows.Forms.Label ma_prodcode_label;
+        private System.Windows.Forms.Label ms_makecode_label;
+        private System.Windows.Forms.Label mcd_inqty_label;
+        private System.Windows.Forms.Label ma_qty_label;
+        private System.Windows.Forms.Label mc_restqty_label;
+        private System.Windows.Forms.Label ms_sncode_label;
+        private CustomControl.TextBoxWithIcon.SnCollectionBox ms_sncode;
+        private System.Windows.Forms.Label bc_remark_label;
+        private System.Windows.Forms.Label label2;
+        private System.Windows.Forms.RadioButton GoodProduct;
+        private System.Windows.Forms.RadioButton Reject;
+        private System.Windows.Forms.Label label4;
+        private CustomControl.TextBoxWithIcon.EnterTextBox bc_remark;
+        private CustomControl.ButtonUtil.ArrowLeftButton WaitReject;
+        private CustomControl.ButtonUtil.ArrowRightButton ChooseedReject;
+        private System.Windows.Forms.Label label6;
+        private CustomControl.ButtonUtil.NormalButton CleanInfo;
+        private CustomControl.RichText.RichTextAutoBottom OperateResult;
+        private CustomControl.ValueLabel.ValueLabel ma_prodcode;
+        private CustomControl.ValueLabel.ValueLabel mcd_inqty;
+        private CustomControl.ValueLabel.ValueLabel ma_qty;
+        private CustomControl.ValueLabel.ValueLabel pr_detail;
+        private CustomControl.ValueLabel.ValueLabel mcd_remainqty;
+        private CustomControl.CustomCheckBox.LockCheckBox LockMakeCode;
+        private CustomControl.TextBoxWithIcon.MaCodeSearchTextBox ma_code;
+        private System.Windows.Forms.CheckBox AutoBadCode;
+        private CustomControl.ButtonUtil.NormalButton Save;
+        private System.Windows.Forms.Panel panel1;
+        private CustomControl.ValueLabel.ValueLabel ob_batchqty;
+        private System.Windows.Forms.Label ob_batchqty_label;
+        private CustomControl.ValueLabel.ValueLabel ob_nowcheckqty;
+        private System.Windows.Forms.Label ob_nowcheckqty_label;
+        private CustomControl.ButtonUtil.NormalButton SendCheck;
+        private System.Windows.Forms.Label ob_checkno;
+        private System.Windows.Forms.Label pr_detail_label;
+        private CustomControl.ValueLabel.ValueLabel ob_sendqty;
+        private System.Windows.Forms.Label label7;
+        private CustomControl.ValueLabel.ValueLabel ma_softversion;
+        private System.Windows.Forms.Label ma_softversion_label;
+        private System.Windows.Forms.BindingSource BadInfSource;
+        private System.Windows.Forms.CheckBox NoteForChange;
+        private CustomControl.TextBoxWithIcon.TextBoxWithPlaceHolder Filter;
+        private System.Windows.Forms.Timer ControlLockTimer;
+        private System.Windows.Forms.Label Lock_label;
+        private System.Windows.Forms.Label ma_salecode;
+        private System.Windows.Forms.Label pr_sendchecktype;
+        private CustomControl.TextBoxWithIcon.SourceStepCount StepCount;
+        private System.Windows.Forms.DataGridView MakeBadView;
+        private System.Windows.Forms.DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn1;
+        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.DataGridViewComboBoxColumn dataGridViewComboBoxColumn1;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn8;
+        private System.Windows.Forms.DataGridView WaitChooseDGV;
+        private System.Windows.Forms.DataGridViewCheckBoxColumn ChooseAll;
+        private System.Windows.Forms.DataGridViewTextBoxColumn bc_code;
+        private System.Windows.Forms.DataGridViewTextBoxColumn bc_name;
+        private System.Windows.Forms.DataGridViewTextBoxColumn bg_code;
+        private System.Windows.Forms.DataGridViewTextBoxColumn bg_name;
+        private System.Windows.Forms.DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn2;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn9;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn10;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn11;
+        private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn12;
+        private System.Windows.Forms.DataGridViewCheckBoxColumn choose1;
+        private System.Windows.Forms.DataGridViewTextBoxColumn mb_id;
+        private System.Windows.Forms.DataGridViewTextBoxColumn mbr_id;
+        private System.Windows.Forms.DataGridViewTextBoxColumn mb_badcode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn mb_badname;
+        private System.Windows.Forms.DataGridViewTextBoxColumn mb_bgname;
+        private System.Windows.Forms.DataGridViewTextBoxColumn mb_bgcode;
+        private System.Windows.Forms.DataGridViewComboBoxColumn mbc_component;
+        private System.Windows.Forms.DataGridViewTextBoxColumn mbp_part;
+        private System.Windows.Forms.DataGridViewTextBoxColumn mbl_loc;
+        private System.Windows.Forms.Label badloc_label;
+        private UAS_MES.CustomControl.TextBoxWithIcon.EnterTextBox psl_location;
+        private UAS_MES.CustomControl.TextBoxWithIcon.SearchTextBox bd_soncode;
+        private System.Windows.Forms.Label mbp_part_label;
+        private System.Windows.Forms.Label label5;
+    }
+}

+ 1121 - 0
UAS-MES/FunctionCode/Make/Make_SmtbdTestCollection.cs

@@ -0,0 +1,1121 @@
+using System;
+using System.Data;
+using System.Text;
+using System.Threading;
+using System.Drawing;
+using System.Windows.Forms;
+using UAS_MES.DataOperate;
+using UAS_MES.Entity;
+using UAS_MES.PublicMethod;
+using System.Collections.Generic;
+using UAS_MES.CustomControl.PowerControlForm;
+
+namespace UAS_MES.Make
+{
+    public partial class Make_SmtbdTestCollection : Form
+    {
+        DataHelper dh = null;
+        DataTable dt = null;
+        //当前工序的名称
+
+        string ErrorMessage = "";
+        //用于保存是否之前输入的ms_sncode
+        string LastSncode;
+
+        string oMakeCode = "";
+
+        string oMSID = "";
+
+        string ifrework = "";
+
+        string reworkstatus = "";
+
+        string status = "";
+
+        LogStringBuilder sql = new LogStringBuilder();
+
+        AutoSizeFormClass asc = new AutoSizeFormClass();
+        /// <summary>
+        /// 已选的不良
+        /// </summary>
+        List<string> ChoosedList = new List<string>();
+        /// <summary>
+        /// 待选的不良
+        /// </summary>
+        List<string> WaitList = new List<string>();
+
+        //当前工序对应版面
+        string st_table = "";
+
+        bool AutoCut = false;
+
+        bool LockSn = false;
+        string ms_nextstepcode;
+        string UserSourceCode = "";
+
+        DataTable Dbfind;
+
+        public Make_SmtbdTestCollection()
+        {
+            InitializeComponent();
+        }
+
+        private void TestCollection_Load(object sender, EventArgs e)
+        {
+            dh = SystemInf.dh;
+
+            Reject.Checked = true;
+            asc.controllInitializeSize(this);
+            ms_sncode.Focus();
+            //设置锁定工单
+            LockMakeCode.GetMakeCodeCtl(ma_code);
+            ma_code.SetLockCheckBox(LockMakeCode);
+            ControlLockTimer.Tick += ControlLockTimer_Tick;
+            ControlLockTimer.Interval = 100;
+
+
+
+            bd_soncode.FormName = Name;
+            bd_soncode.TableName = "(with temp1 as (select bd_fsoncode,bd_soncode,bd_location,pr_spec,pr_detail from bomdetail innner join  bom on bo_id=bd_bomid left join product on bd_soncode = pr_code start with bo_mothercode = '" + ma_prodcode.Text + "' connect by bo_mothercode = prior bd_soncode)select* from temp1)";
+            bd_soncode.SetValueField = new string[] { "bd_soncode" };
+            bd_soncode.SelectField = "bd_fsoncode # 首选料号,bd_soncode # 子件编号,pr_detail # 物料名称,pr_spec # 物料规格,bd_location # 位号";
+            bd_soncode.DBTitle = "不良零件";
+            bd_soncode.DbChange += Prodcode_DbChange;
+
+            //工单号放大镜配置
+            ma_code.TableName = "make left join product on ma_prodcode=pr_code";
+            ma_code.SelectField = "ma_code # 工单号,ma_prodcode # 产品编号,ma_qty # 工单数量,pr_detail # 产品名称,ma_softversion # 软件版本,ma_salecode # 销售单号,pr_sendchecktype # 产品送检方式";
+            ma_code.FormName = Name;
+            ma_code.SetValueField = new string[] { "ma_code", "ma_prodcode", "ma_qty", "pr_detail", "ma_softversion", "ma_salecode", "nvl(pr_sendchecktype,'LineCode')pr_sendchecktype" };
+            ma_code.Condition = "ma_statuscode='STARTED' and ma_wccode = 'SMT'";
+            ma_code.DbChange += Ma_code_DbChange;
+       
+
+
+        
+        }
+
+        private void ControlLockTimer_Tick(object sender, EventArgs e)
+        {
+            this.Activate();
+            ms_sncode.Focus();
+        }
+
+        private void Ma_code_DbChange(object sender, EventArgs e)
+        {
+            Dbfind = ma_code.ReturnData;
+            BaseUtil.SetFormValue(this.Controls, Dbfind);
+            LoadCollectedNum();
+            LoadCheckQTY();
+        }
+
+        /// <summary>
+        /// 将已选不良移动到待选不良
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void WaitReject_Click(object sender, EventArgs e)
+        {
+            Boolean HaveReject = false;
+            for (int i = MakeBadView.Rows.Count - 1; i >= 0; i--)
+            {
+                if (MakeBadView.Rows[i].Cells["choose1"].Value != null)
+                {
+                    if ((Boolean)MakeBadView.Rows[i].Cells["choose1"].Value == true)
+                    {
+                        HaveReject = true;
+                        break;
+                    }
+                }
+            }
+            if (HaveReject)
+            {
+                string confirm = MessageBox.Show(this.ParentForm, "确认删除勾选的不良(已保存的不良代码也会删除)", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk).ToString();
+                if (confirm == "Yes")
+                {
+                    for (int i = MakeBadView.Rows.Count - 1; i >= 0; i--)
+                    {
+                        if (MakeBadView.Rows[i].Cells["choose1"].Value != null)
+                        {
+                            if ((Boolean)MakeBadView.Rows[i].Cells["choose1"].Value == true)
+                            {
+                                if (MakeBadView.Rows[i].Cells["mbr_id"].Value.ToString() != "")
+                                {
+                                    List<string> SQLS = new List<string>();
+                                    SQLS.Add("delete makebad where mb_id = '" + MakeBadView.Rows[i].Cells["mb_id"].Value.ToString() + "'");
+                                    SQLS.Add("delete makebadreason where mbr_id = '" + MakeBadView.Rows[i].Cells["mbr_id"].Value.ToString() + "'");
+                                    SQLS.Add("delete makebadrscom where mbc_mbrid = '" + MakeBadView.Rows[i].Cells["mbr_id"].Value.ToString() + "'");
+                                    SQLS.Add("delete makebadrspart where mbp_mbrid = '" + MakeBadView.Rows[i].Cells["mbr_id"].Value.ToString() + "'");
+                                    SQLS.Add("delete makebadrsloc where mbl_mbrid = '" + MakeBadView.Rows[i].Cells["mbr_id"].Value.ToString() + "'");
+                                    dh.ExecuteSQLTran(SQLS.ToArray());
+                                }
+                                MakeBadView.Rows.RemoveAt(i);
+                            }
+                        }
+                    }
+                (MakeBadView.DataSource as DataTable).AcceptChanges();
+                }
+            }
+            HaveReject = false;
+        }
+
+        /// <summary>
+        /// 将不良信息移动到已选不良
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ChooseedReject_Click(object sender, EventArgs e)
+        {
+            if (ms_sncode.Text == "")
+            {
+                OperateResult.AppendText(">>序列号不能为空\n", Color.Red);
+                ms_sncode.Focus();
+                return;
+            }
+            LoadChoosedBadListView();
+            DataTable choose = (MakeBadView.DataSource as DataTable);
+            List<string> Chooseed = new List<string>();
+            for (int i = 0; i < MakeBadView.Rows.Count; i++)
+            {
+                Chooseed.Add(MakeBadView.Rows[i].Cells["mb_badcode"].Value.ToString());
+            }
+            if (WaitChooseDGV.Rows.Count > 0)
+            {
+                for (int i = 0; i < WaitChooseDGV.Rows.Count; i++)
+                {
+                    if (WaitChooseDGV.Rows[i].Cells["ChooseAll"].Value != null)
+                    {
+                        if ((Boolean)WaitChooseDGV.Rows[i].Cells["ChooseAll"].Value == true)
+                        {
+                            if (!Chooseed.Contains(WaitChooseDGV.Rows[i].Cells["bc_code"].Value.ToString()))
+                            {
+                                DataRow dr1 = choose.NewRow();
+                                dr1["mb_badcode"] = WaitChooseDGV.Rows[i].Cells["bc_code"].Value.ToString();
+                                dr1["mb_badname"] = WaitChooseDGV.Rows[i].Cells["bc_name"].Value.ToString();
+                                dr1["mb_bgname"] = WaitChooseDGV.Rows[i].Cells["bg_name"].Value.ToString();
+                                dr1["mb_bgcode"] = WaitChooseDGV.Rows[i].Cells["bg_code"].Value.ToString();
+                                choose.Rows.Add(dr1);
+                            }
+                            else
+                            {
+                                OperateResult.AppendText(">>不良代码" + WaitChooseDGV.Rows[i].Cells["bc_code"].Value.ToString() + "已存在\n", Color.Red);
+                            }
+                        }
+                    }
+                }
+                for (int i = 0; i < WaitChooseDGV.Rows.Count; i++)
+                {
+                    WaitChooseDGV.Rows[i].Cells["ChooseAll"].Value = false;
+                }
+                for (int i = 0; i < MakeBadView.Rows.Count; i++)
+                {
+                    if (MakeBadView.Rows[i].Cells["mb_id"].Value.ToString() == "")
+                    {
+                        MakeBadView.Rows[i].Cells["choose1"].Value = true;
+                    }
+                }
+            }
+            else OperateResult.AppendText(">>请勾选不良明细\n", Color.Red);
+        }
+
+        private void CleanInfo_Click(object sender, EventArgs e)
+        {
+            OperateResult.Clear();
+        }
+
+        private void ms_code_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.KeyCode == Keys.Enter)
+            {
+                BaseUtil.CleanDGVData(MakeBadView);
+                WaitList.Clear();
+                ChoosedList.Clear();
+                if (LogicHandler.CheckStepAttribute(Tag.ToString(), User.UserSourceCode, out ErrorMessage))
+                {
+                    //是否提示过工单切换框,检测前执行
+                    bool NoteAlready = LogicHandler.CheckDiffMakeCodeBeforeStepCheck(ms_sncode.Text, ma_code.Text, NoteForChange.Checked, out oMakeCode, out ErrorMessage);
+                    if (!NoteAlready)
+                    {
+                        OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode);
+                        return;
+                    }
+                    if (LogicHandler.CheckStepSNAndMacode(oMakeCode, UserSourceCode, ms_sncode.Text, User.UserCode, out oMakeCode, out oMSID, out ErrorMessage))
+                    {
+                        //是否提示过工单切换框,检测前后执行
+                        if (!LogicHandler.CheckDiffMakeCodeAfterStepCheck(ms_sncode.Text, oMakeCode, NoteForChange.Checked, NoteAlready, ma_code, out ErrorMessage))
+                        {
+                            OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode);
+                            return;
+                        }
+                        if (ma_code.Text != oMakeCode && oMakeCode != null)
+                        {
+                            dt = (DataTable)dh.ExecuteSql("select ma_code,ma_prodcode,ma_softversion,ma_salecode,pr_detail,nvl(pr_sendchecktype,'LineCode')pr_sendchecktype,ma_qty from make left join product on ma_prodcode=pr_code where ma_code='" + oMakeCode + "'", "select");
+                            if (dt.Rows.Count > 0)
+                            {
+                                BaseUtil.SetFormValue(this.Controls, dt);
+                                LockMakeCode.Checked = true;
+                            }
+                        }
+                        dt = (DataTable)dh.ExecuteSql("select nvl(ms_spi,0)ms_spi,ms_nextstepcode,ms_sncode,ms_reworkstatus,nvl(ms_ifrework,0)ms_ifrework,ms_stepcode,ms_status,nvl(st_ifrepair,0) st_ifrepair from makeserial left join step on ms_stepcode=st_code where ms_id='" + oMSID + "'", "select");
+                        ms_nextstepcode = dt.Rows[0]["ms_nextstepcode"].ToString();
+                        string status = dt.Rows[0]["ms_status"].ToString();
+                        reworkstatus = dt.Rows[0]["ms_reworkstatus"].ToString();
+                        string stepcode = dt.Rows[0]["ms_stepcode"].ToString();
+                        string ifrepair = dt.Rows[0]["st_ifrepair"].ToString();
+                        string sncode = dt.Rows[0]["ms_sncode"].ToString();
+                        int ms_spi = int.Parse(dt.Rows[0]["ms_spi"].ToString());
+                      
+                        if (sncode != ms_sncode.Text)
+                        {
+                            OperateResult.AppendText(">>" + ms_sncode.Text + " 序列号已执行过转号,不允许使用TSN采集\n", Color.Red, ms_sncode);
+                            return;
+                        }
+                        ifrework = dt.Rows[0]["ms_ifrework"].ToString();
+                        if (GoodProduct.Checked)
+                        {
+                            if (ms_spi != 0)
+                            {
+                                OperateResult.AppendText(">>" + ms_sncode.Text + "已采集过XRAY良品,无法重复采集\n", Color.Red, ms_sncode);
+                                return;
+                            }
+                            if (ifrework != "0")
+                            {
+                                if (stepcode == User.CurrentStepCode && (reworkstatus == "1" || reworkstatus == "2") && ifrepair == "0")
+                                {
+                                    OperateResult.AppendText(">>" + ms_sncode.Text + "序列号已执行过" + User.CurrentStepCode + "工序,采集结果为良品\n", Color.Red, ms_sncode);
+                                    return;
+                                }
+                            }
+                            else
+                            {
+                                if (stepcode == User.CurrentStepCode && (status == "1" || status == "2") && ifrepair == "0")
+                                {
+                                    OperateResult.AppendText(">>" + ms_sncode.Text + "序列号已执行过" + User.CurrentStepCode + "工序,采集结果为良品\n", Color.Red, ms_sncode);
+                                    return;
+                                }
+                            }
+                        }
+                        SetCollectResult();
+                    }
+                    else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode);
+                }
+                else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode);
+            }
+        }
+
+
+        /// <summary>
+        /// 加载不良代码的ListView的信息
+        /// </summary>
+        private void LoadBadCodeListView()
+        {
+            sql.Clear();
+            sql.Append("select bg_code,bg_name ,bc_code,bc_name,'' bc_remark from badgroupdetail ");
+            sql.Append("left join badgroup on  bg_id=bgd_bgid left join badcode on bgd_badcode=bc_code where ");
+            sql.Append("bg_code='" + User.DefaultBadGroup + "' and bg_code is not null order by bgd_detno");
+            DataTable dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+            BadInfSource.DataSource = dt;
+            BaseUtil.FillDgvWithDataTable(WaitChooseDGV, dt);
+        }
+
+        /// <summary>
+        /// 加载已选不良的ListView
+        /// </summary>
+        private void LoadChoosedBadListView()
+        {
+            sql.Clear();
+            sql.Append("select mb_id,mbr_id,mb_badcode,mb_badname,mbc_component,mb_bgcode,mb_bgname,WM_CONCAT(distinct mbp_part) mbp_part,WM_CONCAT(distinct mbl_loc) mbl_loc   ");
+            sql.Append("from makebad left join makebadreason on mb_id = mbr_mbid left join makebadrscom on mbc_mbrid = mbr_id left join makebadrspart on MBP_MBRID =mbr_id left join makebadrsloc  ");
+            sql.Append(" on  mbl_mbrid = mbr_id where mb_sncode ='" + ms_sncode.Text + "'AND MB_MAKECODE = '" + ma_code.Text + "' AND MB_STEPCODE = '" + User.CurrentStepCode + "' group by mb_id,mbr_id,mb_sncode,mb_badcode,mb_badname,mbc_component,mb_bgcode,mb_bgname");
+            dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+            BaseUtil.FillDgvWithDataTable(MakeBadView, dt);
+        }
+
+        /// <summary>
+        /// 设置良品或者不良品的采集结果
+        /// </summary>
+        private void SetCollectResult()
+        {
+            string ErrorMessage = "";
+            //如果勾选的是不良品
+            if (Reject.Checked)
+            {
+                LoadBadCodeListView();
+                LoadChoosedBadListView();
+                OperateResult.AppendText(">>请采集不良代码\n", Color.Green);
+                //勾选了自动产生代码
+                if (AutoBadCode.Checked)
+                    Save_Click(new object(), new EventArgs());
+            }
+            else if (GoodProduct.Checked)
+            {
+                //如果不是返修的
+                if (ifrework == "0")
+                {
+                    dt = (DataTable)dh.ExecuteSql("select mb_id,bc_name,mbr_mbid from makebad left join makebadreason on mbr_mbid=mb_id left join badcode on mb_badcode=bc_code where mb_sncode='" + ms_sncode.Text + "' and mb_makecode='" + ma_code.Text + "' and mb_status=0", "select");
+                    for (int i = 0; i < dt.Rows.Count; i++)
+                    {
+                        if (dt.Rows[i]["mb_id"].ToString() != dt.Rows[i]["mbr_mbid"].ToString())
+                            ErrorMessage += "【" + dt.Rows[i]["bc_name"].ToString() + "】";
+                    }
+                    //存在不良记录
+                    if (ErrorMessage != "")
+                    {
+                        OperateResult.AppendText(">>序列号:" + ms_sncode.Text + " 已经判为不良品,不允许修改!\n", Color.Red);
+                        return;
+                    }
+                    else
+                    {
+                        //良品信息采集
+                        if (LogicHandler.SetStepResult(ma_code.Text, UserSourceCode, ms_sncode.Text, "良品采集", "检测合格", User.UserCode, out ErrorMessage))
+                        {
+                            //提示正确返回时传递的信息
+                            if (ErrorMessage.Contains("AFTERSUCCESS"))
+                                OperateResult.AppendText(">>" + ErrorMessage + "\n");
+                            LastSncode = ms_sncode.Text;
+                            dh.ExecuteSql("update makeserial set ms_spi = 1 where ms_sncode = '" + ms_sncode.Text + "' and ms_makecode = '" + ma_code.Text + "'", "update");
+                            OperateResult.AppendText(">>" + ms_sncode.Text + "良品采集成功\n", Color.Green, ms_sncode);
+                            //记录操作日志
+                            LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, UserSourceCode, "采集良品", "采集良品成功", LastSncode, ob_checkno.Text);
+                        }
+                        else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode);
+                    }
+                }
+                else
+                {
+                    if (reworkstatus != "3")
+                    {
+                        if (LogicHandler.SetStepResult(ma_code.Text, UserSourceCode, ms_sncode.Text, "良品采集", "检测合格", User.UserCode, out ErrorMessage))
+                        {
+                            //提示正确返回时传递的信息
+                            if (ErrorMessage.Contains("AFTERSUCCESS"))
+                                OperateResult.AppendText(">>" + ErrorMessage + "\n");
+                            LastSncode = ms_sncode.Text;
+                            OperateResult.AppendText(">>" + ms_sncode.Text + "成功采集为良品\n", Color.Green, ms_sncode);
+                            //记录操作日志
+                            LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, UserSourceCode, "采集良品", "采集良品成功", LastSncode, ob_checkno.Text);
+                        }
+                        else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode);
+                    }
+                    else
+                    {
+                        OperateResult.AppendText(">>返修的不良序列号必须先进行维修\n", Color.Red);
+                    }
+                }
+            }
+            //加载页面信息
+            LoadCollectedNum();
+            LoadCheckQTY();
+        }
+
+        private void 测试采集_SizeChanged(object sender, EventArgs e)
+        {
+            asc.controlAutoSize(this);
+        }
+
+        private void LoadCollectedNum()
+        {
+            dt = (DataTable)dh.ExecuteSql("select mcd_inqty,ma_qty-mcd_inqty mcd_remainqty from make left join makecraftdetail on mcd_macode=ma_code where ma_code='" + ma_code.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'", "select");
+            BaseUtil.SetFormValue(Controls, dt);
+        }
+
+        private void Save_Click(object sender, EventArgs e)
+        {
+            if (ms_sncode.Text == "")
+            {
+                OperateResult.AppendText(">>序列号不允许为空\n", Color.Red);
+                return;
+            }
+            if (GoodProduct.Checked)
+                ms_code_KeyDown(sender, new KeyEventArgs(Keys.Enter));
+            else if (Reject.Checked)
+            {
+                if (LogicHandler.CheckStepAttribute(Tag.ToString(), User.UserSourceCode, out ErrorMessage))
+                {
+                    //判断界面工单是否为空时的序列号是否自动归属工单
+                    string oStatus = "";
+                    if (!LogicHandler.GetMakeInfo(ms_sncode.Text, out oMakeCode, out oStatus, out ErrorMessage))
+                    {
+                        if (ma_code.Text == "")
+                        {
+                            OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode);
+                            return;
+                        }
+                    }
+                    if (LogicHandler.CheckStepSNAndMacode(ma_code.Text == "" ? oMakeCode : ma_code.Text, UserSourceCode, ms_sncode.Text, User.UserCode, out oMakeCode, out oMSID, out ErrorMessage))
+                    {
+                        dt = (DataTable)dh.ExecuteSql("select ma_code,ma_prodcode,ma_softversion,pr_detail,ma_qty from make left join product on ma_prodcode=pr_code where ma_code='" + oMakeCode + "'", "select");
+                        if (dt.Rows.Count > 0)
+                        {
+                            BaseUtil.SetFormValue(this.Controls, dt);
+                            LockMakeCode.Checked = true;
+                        }
+                    }
+                    else
+                    {
+                        OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode);
+                        return;
+                    }
+                    dt = (DataTable)dh.ExecuteSql("select ms_nextstepcode,ms_sncode,ms_reworkstatus,nvl(ms_ifrework,0)ms_ifrework,ms_stepcode,ms_status,nvl(st_ifrepair,0) st_ifrepair from makeserial left join step on ms_stepcode=st_code where ms_id='" + oMSID + "'", "select");
+                    ms_nextstepcode = dt.Rows[0]["ms_nextstepcode"].ToString();
+                    status = dt.Rows[0]["ms_status"].ToString();
+                    reworkstatus = dt.Rows[0]["ms_reworkstatus"].ToString();
+                    string stepcode = dt.Rows[0]["ms_stepcode"].ToString();
+                    string ifrepair = dt.Rows[0]["st_ifrepair"].ToString();
+                    string sncode = dt.Rows[0]["ms_sncode"].ToString();
+                    if (sncode != ms_sncode.Text)
+                    {
+                        OperateResult.AppendText(">>" + ms_sncode.Text + " 序列号已执行过转号,不允许使用TSN采集\n", Color.Red, ms_sncode);
+                        return;
+                    }
+                    ifrework = dt.Rows[0]["ms_ifrework"].ToString();
+                }
+                else
+                {
+                    OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode);
+                    return;
+                }
+
+                dt = (DataTable)dh.ExecuteSql("SELECT * FROM BOMDetail LEFT JOIN Product ON bd_soncode=pr_code WHERE bd_mothercode = '" + ma_prodcode.Text + "'", "select");
+
+                if (dt.Rows.Count > 0)
+                {
+                    for (int i = 0; i < MakeBadView.Rows.Count; i++)
+                    {
+                        if (MakeBadView.Rows[i].Cells["mbl_loc"].Value.ToString() == "" || MakeBadView.Rows[i].Cells["mbp_part"].Value.ToString() == "")
+                        {
+                            OperateResult.AppendText(">>不良位置与不良零件均不可为空\n", Color.Red);
+                            return;
+                        }
+                    }
+                }
+                else
+                {
+                    for (int i = 0; i < MakeBadView.Rows.Count; i++)
+                    {
+                        if (MakeBadView.Rows[i].Cells["mbl_loc"].Value.ToString() == "")
+                        {
+                            OperateResult.AppendText(">>不良位置不可为空\n", Color.Red);
+                            return;
+                        }
+                    }
+                }
+                List<string> bccode = new List<string>();
+                List<string> bcremark = new List<string>();
+                List<string> bgcode = new List<string>();
+                List<string> bgname = new List<string>();
+                List<string> bcname = new List<string>();
+                bccode.Clear();
+                bcremark.Clear();
+                bgcode.Clear();
+                bgname.Clear();
+                bcname.Clear();
+
+                if (MakeBadView.Rows.Count == 0)
+                {
+                    OperateResult.AppendText(">>不良品必须选择不良原因和不良代码!\n", Color.Red);
+                    return;
+                }
+                else
+                {
+                    for (int i = 0; i < MakeBadView.Rows.Count; i++)
+                    {
+                        if (MakeBadView.Rows[i].Cells["mb_id"].Value.ToString() == "")
+                        {
+                            //获取不良代码组
+                            bgcode.Add(MakeBadView.Rows[i].Cells["mb_bgcode"].Value.ToString());
+                            //获取不良代码组名称
+                            bgname.Add(MakeBadView.Rows[i].Cells["mb_bgname"].Value.ToString());
+                            //获取所有的不良代码
+                            bccode.Add(MakeBadView.Rows[i].Cells["mb_badcode"].Value.ToString());
+                            //获取不良名称
+                            bcname.Add(MakeBadView.Rows[i].Cells["mb_badname"].Value.ToString());
+                            //获取所有的不良备注
+                            bcremark.Add(bc_remark.Text);
+                        }
+                    }
+                }
+                //如果之前是良品的
+                dt = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_status", "ms_checkno" }, "ms_id='" + oMSID + "' and ms_stepcode='" + User.CurrentStepCode + "'");
+                if (dt.Rows.Count > 0)
+                {
+                    status = dt.Rows[0]["ms_status"].ToString();
+                    if (status == "1" || status == "2")
+                    {
+                        dh.UpdateByCondition("steppassed", "sp_result='不良品',sp_ifng=-1,sp_ymd=to_char(sysdate,'yyyymmdd'),sp_hm=to_char(sysdate,'hh24miss')", "sp_id=(select max(sp_id) from steppassed where sp_sncode='" + ms_sncode.Text + "')");
+                        dh.UpdateByCondition("makecraftdetail", "mcd_okqty=mcd_okqty-1", "mcd_macode='" + ma_code.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'");
+                        dh.UpdateByCondition("makeserial", "ms_nextstepcode='',ms_badtimes=nvl(ms_badtimes,0)+1", "ms_id='" + oMSID + "'");
+                        LogicHandler.InsertMakeProcess(ms_sncode.Text, ma_code.Text, UserSourceCode, "良品采集成不良", "测试不良", User.UserCode);
+                        LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, UserSourceCode, "测试不良", "良品采集成不良", ms_sncode.Text, ob_checkno.Text);
+                    }
+                    string checkno = dt.Rows[0]["ms_checkno"].ToString();
+                    //存在抽检批次更新为空
+                    if (checkno != "")
+                        dh.UpdateByCondition("makeserial", "ms_checkno=''", "ms_id='" + oMSID + "'");
+                }
+                else
+                {
+                    LogicHandler.InsertMakeProcess(ms_sncode.Text, ma_code.Text, UserSourceCode, "采集成不良", "测试不良", User.UserCode);
+                    LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode,UserSourceCode, "采集成不良", "测试不良", ms_sncode.Text, ob_checkno.Text);
+                }
+                //不良信息采集,mb_status<>0的是之前维修保存的,不能删除
+                dh.ExecuteSql("delete from makebad where mb_sncode='" + ms_sncode.Text + "' and mb_makecode='" + ma_code.Text + "' and nvl(mb_status,0)=0", "delete");
+                if (LogicHandler.SetTestNGDetail(ms_sncode.Text, ma_code.Text, User.UserCode, UserSourceCode, "检查未通过", bgcode.ToArray(), bccode.ToArray(), bgname.ToArray(), bcname.ToArray(), bcremark.ToArray(), out ErrorMessage))
+                {
+                    OperateResult.AppendText(">>" + ms_sncode.Text + "成功采集为不良\n", Color.Green);
+
+                    for (int i = 0; i < MakeBadView.Rows.Count; i++)
+                    {
+                        //获取当前序列号对应的不良代码编号
+                        string makebadid = dh.getFieldDataByCondition("makebad", "mb_id", "mb_sncode = '" + ms_sncode.Text + "' and mb_makecode = '" + ma_code.Text + "' and mb_badcode = '" + MakeBadView.Rows[i].Cells["mb_badcode"].Value.ToString() + "'").ToString();
+                        //为空插入不良代码表与不良原因表
+                        if (MakeBadView.Rows[i].Cells["mbr_id"].Value.ToString() == "")
+                        {
+                            DataTable temp = dh.getFieldsDatasByCondition(" BADGROUPDETAIL left join badgroup on bgd_bgid = bg_id", new string[] { "bgd_brgcode", "bgd_dutycode", "bgd_solutioncode", "bgd_brcode" }, "bgd_badcode= '" + MakeBadView.Rows[i].Cells["mb_badcode"].Value.ToString() + "' and bg_code = '" + MakeBadView.Rows[i].Cells["mb_bgcode"].Value.ToString() + "'");
+                            string bgd_brgcode = temp.Rows[0]["bgd_brgcode"].ToString();
+                            string bgd_brcode = temp.Rows[0]["bgd_brcode"].ToString();
+                            string bgd_dutycode = temp.Rows[0]["bgd_dutycode"].ToString();
+                            string bgd_solutioncode = temp.Rows[0]["bgd_solutioncode"].ToString();
+
+                            string mbr_id = dh.GetSEQ("makebadreason_seq");
+
+                            string bgd_brgname = dh.getFieldDataByCondition("QUA_NGReasonGroup", "nrg_name", "nrg_code = '" + bgd_brgcode + "'").ToString();
+                            string bgd_brname = dh.getFieldDataByCondition("QUA_NGReason", "nr_name", "nr_code = '" + bgd_brcode + "'").ToString();
+                            string bgd_dutyname = dh.getFieldDataByCondition("NGDuty", "nd_name", "nd_code = '" + bgd_dutycode + "'").ToString();
+                            string bgd_solutionname = dh.getFieldDataByCondition("solution", "so_name", "so_code = '" + bgd_solutioncode + "'").ToString();
+
+                            sql.Clear();
+                            sql.Append("insert into makebadreason (mbr_mbid,mbr_id,mbr_brcode,mbr_solutioncode,");
+                            sql.Append("mbr_dutycode,mbr_brgcode,mbr_badcode,mbr_sncode,mbr_makecode,mbr_indate,");
+                            sql.Append("mbr_inman,mbr_brname,mbr_solutionname,mbr_badname,mbr_brgname,mbr_dutyname) select '" + makebadid + "','" + mbr_id + "','" + bgd_brcode + "',");
+                            sql.Append("'" + bgd_solutioncode + "','" + bgd_dutycode + "','" + bgd_brgcode + "','" + MakeBadView.Rows[i].Cells["mb_badcode"].Value.ToString() + "',");
+                            sql.Append("'" + ms_sncode.Text + "','" + ma_code.Text + "',sysdate,'" + User.UserCode + "','" + bgd_brname + "','" + bgd_solutionname + "','" + MakeBadView.Rows[i].Cells["mb_badname"].Value.ToString() + "','" + bgd_brgname + "','" + bgd_dutyname + "' from dual");
+                            dh.ExecuteSql(sql.GetString(), "insert");
+
+                            if (MakeBadView.Rows[i].Cells["mbc_component"].Value.ToString() != "")
+                            {
+                                sql.Clear();
+                                sql.Append("insert into makebadrscom (mbc_id,mbc_mbrid,mbc_component,mbc_badcode,");
+                                sql.Append("mbc_brcode,mbc_sncode,mbc_makecode,mbc_indate,mbc_inman ) values ");
+                                sql.Append("(makebadrscom_seq.nextval,'" + mbr_id + "' ,'" + MakeBadView.Rows[i].Cells["mbc_component"].Value.ToString() + "',");
+                                sql.Append("'" + MakeBadView.Rows[i].Cells["mb_badcode"].Value.ToString() + "','" + bgd_brcode + "','" + ms_sncode.Text + "','" + ma_code.Text + "',sysdate,'" + User.UserCode + "')");
+                                dh.ExecuteSql(sql.GetString(), "insert");
+                            }
+
+                         
+                            string[] mbl_loc = MakeBadView.Rows[i].Cells["mbl_loc"].Value.ToString().ToUpper().Split(',');
+
+                            sql.Clear();
+                            sql.Append("insert into makebadrsloc(mbl_id,mbl_mbrid,mbl_loc,mbl_badcode,mbl_brcode,");
+                            sql.Append("mbl_sncode,mbl_makecode,mbl_indate ,mbl_inman) select makebadrsloc_seq.nextval," + mbr_id);
+                            sql.Append(",:mbl_loc,'" + MakeBadView.Rows[i].Cells["mb_badcode"].Value.ToString() + "','" + bgd_brcode + "','" + ms_sncode.Text + "','" + ma_code.Text + "',");
+                            sql.Append("sysdate,'" + User.UserCode + "' from dual");
+                            dh.BatchInsert(sql.GetString(), new string[] { "mbl_loc" }, mbl_loc);
+                            //sql.Clear();
+                            //sql.Append("with temp1 as (select bd_soncode,bd_location from bomdetail,bom where bo_id=bd_bomid ");
+                            //sql.Append(" start with bo_mothercode='" + ma_prodcode.Text + "' connect by bo_mothercode= prior bd_soncode) ");
+                            //sql.Append("select bd_soncode from temp1 where instr(','||bd_location||',','," + MakeBadView.Rows[i].Cells["mbl_loc"].Value.ToString().ToUpper() + ",')>0");
+                            //dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+                            //if (dt.Rows.Count > 0)
+                            //{
+                            //    for (int j = 0; j < dt.Rows.Count; i++)
+                            //    {
+                            //        sql.Clear();
+                            //        sql.Append("insert into makebadrspart(mbp_id,mbp_mbrid,mbp_part,mbp_badcode,");
+                            //        sql.Append("mbp_brcode,mbp_sncode,mbp_makecode,mbp_indate,mbp_inman)");
+                            //        sql.Append("select makebadrspart_seq.nextval," + mbr_id + ",'" + dt.Rows[0][j].ToString() + "',");
+                            //        sql.Append("'" + MakeBadView.Rows[i].Cells["mb_badcode"].Value.ToString() + "','" + bgd_brcode + "','" + ms_sncode.Text + "','" + ma_code.Text + "',");
+                            //        sql.Append("sysdate,'" + User.UserCode + "' from dual");
+                            //        dh.ExecuteSql(sql.GetString(), "insert");
+                            //    }  
+                            //}
+
+                            if (MakeBadView.Rows[i].Cells["mbp_part"].Value.ToString() != "")
+                            {
+                                string[] mbp_part = MakeBadView.Rows[i].Cells["mbp_part"].Value.ToString().ToUpper().Split(',');
+                                sql.Clear();
+                                sql.Append("insert into makebadrspart(mbp_id,mbp_mbrid,mbp_part,mbp_badcode,");
+                                sql.Append("mbp_brcode,mbp_sncode,mbp_makecode,mbp_indate,mbp_inman)");
+                                sql.Append("select makebadrspart_seq.nextval," + mbr_id + ",:mbp_part,");
+                                sql.Append("'" + MakeBadView.Rows[i].Cells["mb_badcode"].Value.ToString() + "','" + bgd_brcode + "','" + ms_sncode.Text + "','" + ma_code.Text + "',");
+                                sql.Append("sysdate,'" + User.UserCode + "' from dual");
+                                dh.BatchInsert(sql.GetString(), new string[] { "mbp_part" }, mbp_part);
+                            }
+                        }
+                        else
+                        {
+                            //已保存过不良信息的序列号
+                            DataTable temp = dh.getFieldsDatasByCondition(" BADGROUPDETAIL left join badgroup on bgd_bgid = bg_id", new string[] { "bgd_brgcode", "bgd_dutycode", "bgd_solutioncode", "bgd_brcode" }, "bgd_badcode= '" + MakeBadView.Rows[i].Cells["mb_badcode"].Value.ToString() + "' and bg_code = '" + MakeBadView.Rows[i].Cells["mb_bgcode"].Value.ToString() + "'");
+                            string bgd_brgcode = temp.Rows[0]["bgd_brgcode"].ToString();
+                            string bgd_brcode = temp.Rows[0]["bgd_brcode"].ToString();
+                            string bgd_dutycode = temp.Rows[0]["bgd_dutycode"].ToString();
+                            string bgd_solutioncode = temp.Rows[0]["bgd_solutioncode"].ToString();
+
+                            string mbr_id = MakeBadView.Rows[i].Cells["mbr_id"].Value.ToString();
+
+                            string bgd_brgname = dh.getFieldDataByCondition("QUA_NGReasonGroup", "nrg_name", "nrg_code = '" + bgd_brgcode + "'").ToString();
+                            string bgd_brname = dh.getFieldDataByCondition("QUA_NGReason", "nr_name", "nr_code = '" + bgd_brcode + "'").ToString();
+                            string bgd_dutyname = dh.getFieldDataByCondition("NGDuty", "nd_name", "nd_code = '" + bgd_dutycode + "'").ToString();
+                            string bgd_solutionname = dh.getFieldDataByCondition("solution", "so_name", "so_code = '" + bgd_solutioncode + "'").ToString();
+
+                            //删除不良组件,不良位置等信息重新插入
+                            dh.ExecuteSql("delete makebadrscom where mbc_mbrid = '" + mbr_id + "'", "delete");
+                            dh.ExecuteSql("delete makebadrsloc where mbl_mbrid = '" + mbr_id + "'", "delete");
+                            dh.ExecuteSql("delete makebadrspart where mbp_mbrid = '" + mbr_id + "'", "delete");
+
+                            if (MakeBadView.Rows[i].Cells["mbc_component"].Value.ToString() != "")
+                            {
+                                sql.Clear();
+                                sql.Append("insert into makebadrscom (mbc_id,mbc_mbrid,mbc_component,mbc_badcode,");
+                                sql.Append("mbc_brcode,mbc_sncode,mbc_makecode,mbc_indate,mbc_inman ) values ");
+                                sql.Append("(makebadrscom_seq.nextval,'" + mbr_id + "' ,'" + MakeBadView.Rows[i].Cells["mbc_component"].Value.ToString() + "',");
+                                sql.Append("'" + MakeBadView.Rows[i].Cells["mb_badcode"].Value.ToString() + "','" + bgd_brcode + "','" + ms_sncode.Text + "','" + ma_code.Text + "',sysdate,'" + User.UserCode + "')");
+                                dh.ExecuteSql(sql.GetString(), "insert");
+                            }
+
+  
+                            string[] mbl_loc = MakeBadView.Rows[i].Cells["mbl_loc"].Value.ToString().ToUpper().Split(',');
+
+                            sql.Clear();
+                            sql.Append("insert into makebadrsloc(mbl_id,mbl_mbrid,mbl_loc,mbl_badcode,mbl_brcode,");
+                            sql.Append("mbl_sncode,mbl_makecode,mbl_indate ,mbl_inman) select makebadrsloc_seq.nextval," + mbr_id);
+                            sql.Append(",:mbl_loc,'" + MakeBadView.Rows[i].Cells["mb_badcode"].Value.ToString() + "','" + bgd_brcode + "','" + ms_sncode.Text + "','" + ma_code.Text + "',");
+                            sql.Append("sysdate,'" + User.UserCode + "' from dual");
+                            dh.BatchInsert(sql.GetString(), new string[] { "mbl_loc" }, mbl_loc);
+                            sql.Clear();
+                            sql.Append("with temp1 as (select bd_soncode,bd_location from bomdetail,bom where bo_id=bd_bomid ");
+                            sql.Append(" start with bo_mothercode='" + ma_prodcode + "' connect by bo_mothercode= prior bd_soncode) ");
+                            sql.Append("select bd_soncode from temp1 where instr(','||bd_location||',','," + MakeBadView.Rows[i].Cells["mbl_loc"].Value.ToString().ToUpper() + ",')>0");
+                            dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+                            if (dt.Rows.Count > 0)
+                            {
+                                for (int j = 0; j < dt.Rows.Count; i++)
+                                {
+                                    sql.Clear();
+                                    sql.Append("insert into makebadrspart(mbp_id,mbp_mbrid,mbp_part,mbp_badcode,");
+                                    sql.Append("mbp_brcode,mbp_sncode,mbp_makecode,mbp_indate,mbp_inman)");
+                                    sql.Append("select makebadrspart_seq.nextval," + mbr_id + ",'" + dt.Rows[0][j].ToString() + "',");
+                                    sql.Append("'" + MakeBadView.Rows[i].Cells["mb_badcode"].Value.ToString() + "','" + bgd_brcode + "','" + ms_sncode.Text + "','" + ma_code.Text + "',");
+                                    sql.Append("sysdate,'" + User.UserCode + "' from dual");
+                                    dh.ExecuteSql(sql.GetString(), "insert");
+                                }
+                            }
+                            if (MakeBadView.Rows[i].Cells["mbp_part"].Value.ToString() != "")
+                            {
+                                string[] mbp_part = MakeBadView.Rows[i].Cells["mbp_part"].Value.ToString().ToUpper().Split(',');
+                                sql.Clear();
+                                sql.Append("insert into makebadrspart(mbp_id,mbp_mbrid,mbp_part,mbp_badcode,");
+                                sql.Append("mbp_brcode,mbp_sncode,mbp_makecode,mbp_indate,mbp_inman)");
+                                sql.Append("select makebadrspart_seq.nextval," + mbr_id + ",:mbp_part,");
+                                sql.Append("'" + MakeBadView.Rows[i].Cells["mb_badcode"].Value.ToString() + "','" + bgd_brcode + "','" + ms_sncode.Text + "','" + ma_code.Text + "',");
+                                sql.Append("sysdate,'" + User.UserCode + "' from dual");
+                                dh.BatchInsert(sql.GetString(), new string[] { "mbp_part" }, mbp_part);
+                            }
+
+
+                        }
+                    }
+                    //dt = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_id", "nvl(ms_ifrework,0) ms_ifrework", "ms_paststep" }, "ms_sncode='" + ms_sncode.Text + "' and ms_makecode='" + ma_code.Text + "' ");
+                    //string St_ifqccheck = dh.getFieldDataByCondition("source LEFT JOIN STEP on st_code=sc_stepcode", "nvl(St_ifqccheck,0)", "sc_code='" + User.UserSourceCode + "'").ToString();
+                    //List<string> SQLS = new List<string>();
+                    //LogicHandler.InsertMakeProcess(ms_sncode.Text, ma_code.Text, User.UserSourceCode, "快速维修采集", "完成快速维修", User.UserCode);
+                    //LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "快速维修采集", "完成快速维修", ms_sncode.Text, ob_checkno.Text);
+                    //if (dt.Rows.Count > 0)
+                    //{
+                    //    string ms_id = dt.Rows[0]["ms_id"].ToString();
+                    //    string ms_ifrework = dt.Rows[0]["ms_ifrework"].ToString();
+                    //    if (St_ifqccheck != "-1")
+                    //    {
+                    //        if (ms_ifrework == "0")
+                    //            SQLS.Add("update makeserial set ms_checkno='', ms_nextstepcode ='" + User.CurrentStepCode + "',ms_status=1,ms_stepcode='SMT_REPAIR' where ms_id='" + ms_id + "'");
+                    //        else
+                    //            SQLS.Add("update makeserial set ms_checkno='', ms_nextstepcode ='" + User.CurrentStepCode + "',ms_reworkstatus=1,ms_stepcode='SMT_REPAIR' where ms_id='" + ms_id + "'");
+                    //    }
+                    //    else
+                    //    {
+                    //        if (ms_ifrework == "0")
+                    //            SQLS.Add("update makeserial set ms_checkno='', ms_nextstepcode ='" + ms_nextstepcode + "',ms_status=1,ms_stepcode='SMT_REPAIR',ms_paststep = REPLACE(ms_paststep,','||'" + ms_nextstepcode + "') where ms_id='" + ms_id + "'");
+                    //        else
+                    //            SQLS.Add("update makeserial set ms_checkno='', ms_nextstepcode ='" + ms_nextstepcode + "',ms_reworkstatus=1,ms_stepcode='SMT_REPAIR',ms_paststep = REPLACE(ms_paststep,','||'" + ms_nextstepcode + "')  where ms_id='" + ms_id + "'");
+                    //        if (status == "2")
+                    //            SQLS.Add("update makeserial set ms_status='2' where ms_id='" + ms_id + "'");
+                    //    }
+                    //}
+                    //SQLS.Add("update makebad set mb_status=-1 where mb_sncode='" + ms_sncode.Text + "' and mb_makecode='" + ma_code.Text + "' and MB_STEPCODE = '" + User.CurrentStepCode + "'");
+                    //dh.ExecuteSQLTran(SQLS.ToArray());
+
+                    //保存不良原因
+                    LastSncode = ms_sncode.Text;
+                    //采集完不良,聚焦序列号
+                    ms_sncode.Focus();
+                    //记录操作日志
+                    ms_sncode.Text = "";
+                    //清除不良信息
+                    BaseUtil.CleanDGVData(MakeBadView);
+                    //加载页面信息
+                    LoadCollectedNum();
+                    LoadCheckQTY();
+                }
+                else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
+            }
+        }
+
+        private void bc_code_KeyDown(object sender, KeyEventArgs e)
+        {
+
+        }
+
+        private void LoadCheckQTY()
+        {
+            sql.Clear();
+            string condition = "";
+            int nowcheckqty = int.Parse(ob_nowcheckqty.Text == "" ? "0" : ob_nowcheckqty.Text);
+            int batchqty = int.Parse(ob_batchqty.Text == "" ? "0" : ob_batchqty.Text);
+            if (nowcheckqty + 1 == batchqty && AutoCut)
+            {
+                condition = "and ob_status='UNCHECK' and ob_checkno='" + ob_checkno.Text + "'";
+            }
+            else
+            {
+                condition = "and ob_status='ENTERING' ";
+            }
+            if (pr_sendchecktype.Text == "SaleCode")
+            {
+                condition += " and ob_salecode='" + ma_salecode.Text + "'";
+            }
+            sql.Append("select ob_batchqty,ob_nowcheckqty,ob_checkno from oqcbatch where ");
+            sql.Append("ob_linecode='" + User.UserLineCode + "' and ob_prodcode='" + ma_prodcode.Text + "' and ");
+            sql.Append("ob_stepcode='" + User.CurrentStepCode + "' " + condition);
+            DataTable dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+            if (dt.Rows.Count > 0)
+            {
+                ob_sendqty.Text = dh.getFieldDataByCondition("oqcbatch", "sum(ob_nowcheckqty)", "ob_makecode='" + ma_code.Text + "' and  ob_status<>'ENTERING'").ToString();
+                ob_batchqty.Text = dt.Rows[0]["ob_batchqty"].ToString();
+                ob_nowcheckqty.Text = dt.Rows[0]["ob_nowcheckqty"].ToString();
+                ob_checkno.Text = dt.Rows[0]["ob_checkno"].ToString();
+                nowcheckqty = int.Parse(ob_nowcheckqty.Text == "" ? "0" : ob_nowcheckqty.Text);
+                batchqty = int.Parse(ob_batchqty.Text == "" ? "0" : ob_batchqty.Text);
+                if (nowcheckqty == batchqty)
+                {
+                    ob_nowcheckqty.ForeColor = Color.Red;
+                    OperateResult.AppendText(">>当前采集数量已达到送检数量\n", Color.Red);
+                    if (AutoCut)
+                    {
+                        OperateResult.AppendText(">>批次" + ob_checkno.Text + "自动断批\n", Color.Green);
+                    }
+                }
+            }
+            else
+            {
+                ob_batchqty.Text = "";
+                ob_nowcheckqty.Text = "";
+                ob_checkno.Text = "";
+                SendCheck.Enabled = false;
+            }
+            if (ob_batchqty.Text != "")
+            {
+                SendCheck.Enabled = true;
+            }
+            else
+            {
+                SendCheck.Enabled = false;
+            }
+        }
+
+        private void GoodProduct_CheckedChanged(object sender, EventArgs e)
+        {
+            if (GoodProduct.Checked)
+            {
+                WaitReject.Enabled = false;
+                ChooseedReject.Enabled = false;
+                Save.Visible = false;
+            }
+            else
+            {
+                WaitReject.Enabled = true;
+                ChooseedReject.Enabled = true;
+                Save.Visible = true;
+            }
+            if (ms_sncode.Text == "")
+            {
+                ms_sncode.Focus();
+            }
+        }
+
+        private void SendCheck_Click(object sender, EventArgs e)
+        {
+            sql.Clear();
+            sql.Append("update oqcbatch set ob_status='UNCHECK',ob_breakingdate=sysdate where ob_checkno ='" + ob_checkno.Text + "'");
+            dh.ExecuteSql(sql.GetString(), "select");
+            ob_sendqty.Text = dh.getFieldDataByCondition("oqcbatch", "sum(ob_nowcheckqty)", "ob_makecode='" + ma_code.Text + "' and  ob_status<>'ENTERING'").ToString();
+            ob_nowcheckqty.Text = "";
+            ob_batchqty.Text = "";
+            ob_nowcheckqty.ForeColor = Color.Black;
+            SendCheck.Enabled = false;
+            OperateResult.AppendText(">>批次" + ob_checkno.Text + "送检成功\n", Color.Green);
+            ms_sncode.Focus();
+            LogicHandler.InsertMakeProcess(LastSncode, ma_code.Text, User.UserSourceCode, "手动送检", "手动送检成功", User.UserCode);
+            //记录操作日志
+            LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "手动送检", "手动送检成功", "", ob_checkno.Text);
+            ob_checkno.Text = "";
+        }
+
+        private void ob_checkno_TextChanged(object sender, EventArgs e)
+        {
+            if (ob_checkno.Text != "")
+            {
+                string Cut = dh.getFieldDataByCondition("product left join oqcbatch on ob_prodcode=pr_code", "pr_ifautocutcheckno", "ob_checkno='" + ob_checkno.Text + "'").ToString();
+                if (Cut == "" || Cut == "0")
+                    AutoCut = false;
+                else
+                    AutoCut = true;
+                SendCheck.Enabled = true;
+            }
+        }
+
+        /// <summary>
+        /// 工单变化修改数量
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ma_code_UserControlTextChanged(object sender, EventArgs e)
+        {
+            if (ma_code.Text.Length > 4)
+            {
+                mcd_inqty.Text = "";
+                mcd_remainqty.Text = "";
+                ob_batchqty.Text = "";
+                ob_nowcheckqty.Text = "";
+                ob_sendqty.Text = "";
+                LoadCollectedNum();
+                LoadCheckQTY();
+            }
+        }
+
+        private void Make_TestCollection_FormClosing(object sender, FormClosingEventArgs e)
+        {
+            dh.Dispose();
+        }
+
+        private void ma_prodcode_TextChanged(object sender, EventArgs e)
+        {
+            bd_soncode.TableName = "(with temp1 as (select bd_fsoncode,bd_soncode,bd_location,pr_spec,pr_detail from bomdetail innner join  bom on bo_id=bd_bomid left join product on bd_soncode = pr_code start with bo_mothercode = '" + ma_prodcode.Text + "' connect by bo_mothercode = prior bd_soncode)select* from temp1)";
+            bd_soncode.Condition = "1=1";
+        }
+
+        private void Filter_UserControlTextChanged(object sender, EventArgs e)
+        {
+            try
+            {
+                DataRow[] dr = (BadInfSource.DataSource as DataTable).Select("bc_code like '%" + Filter.Text + "%' or bc_name like '%" + Filter.Text + "%'");
+                DataTable dt = (BadInfSource.DataSource as DataTable).Clone();
+                for (int i = 0; i < dr.Length; i++)
+                {
+                    dt.Rows.Add(dr[i].ItemArray);
+                }
+                BaseUtil.FillDgvWithDataTable(WaitChooseDGV, dt);
+            }
+            catch (Exception)
+            {
+
+            }
+        }
+
+
+        private void Make_TestCollection_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.Modifiers == Keys.Control && e.KeyCode == Keys.Q)
+            {
+                if (!LockSn)
+                {
+                    ControlLockTimer.Start();
+                    LockSn = true;
+                    Lock_label.Visible = true;
+                }
+                else
+                {
+                    ControlLockTimer.Stop();
+                    LockSn = false;
+                    Lock_label.Visible = false;
+                }
+            }
+        }
+
+        private void Reject_CheckedChanged(object sender, EventArgs e)
+        {
+            if (Reject.Checked)
+            {
+                LoadBadCodeListView();
+            }
+        }
+
+
+        private void Prodcode_DbChange(object sender, EventArgs e)
+        {
+            MakeBadView.EndEdit();
+            if (bd_soncode.Text != "")
+            {
+                for (int i = 0; i < MakeBadView.Rows.Count; i++)
+                {
+                    if (MakeBadView.Rows[i].Cells["choose1"].Value != null)
+                    {
+                        if ((Boolean)MakeBadView.Rows[i].Cells["choose1"].Value == true)
+                        {
+                            if (MakeBadView.Rows[i].Cells["mbp_part"].Value.ToString() == "")
+                            {
+                                MakeBadView.Rows[i].Cells["mbp_part"].Value = bd_soncode.Text;
+                            }
+                            else if (!MakeBadView.Rows[i].Cells["mbp_part"].Value.ToString().Contains(bd_soncode.Text))
+                                MakeBadView.Rows[i].Cells["mbp_part"].Value += "," + bd_soncode.Text;
+
+                            if (MakeBadView.Rows[i].Cells["mbl_loc"].Value.ToString() == "")
+                            {
+                                MakeBadView.Rows[i].Cells["mbl_loc"].Value = psl_location.Text.ToUpper();
+                            }
+                            else if (!MakeBadView.Rows[i].Cells["mbl_loc"].Value.ToString().Contains(psl_location.Text.ToUpper()))
+                                MakeBadView.Rows[i].Cells["mbl_loc"].Value += "," + psl_location.Text.ToUpper();
+                        }
+                    }
+                }
+            }
+            else OperateResult.AppendText(">>不良零件不能为空\n", Color.Red);
+        }
+
+        private void bd_soncode_UserControlTextChanged(object sender, EventArgs e)
+        {
+
+        }
+
+        private void bd_soncode_Load(object sender, EventArgs e)
+        {
+
+        }
+
+        private void bad_loc_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.KeyCode == Keys.Enter)
+            {
+                if (ma_prodcode.Text != "")
+                {
+                    if (psl_location.Text != "" && psl_location.Text.Length <= 6)
+                    {
+                        DataTable dt = (DataTable)dh.ExecuteSql("select bd_soncode,bd_location,pr_spec,pr_detail from (with temp1 as (select bd_soncode,bd_location,pr_spec,pr_detail from bomdetail innner join  bom on bo_id=bd_bomid left join product on bd_soncode = pr_code start with bo_mothercode= '" + ma_prodcode.Text + "'and  nvl(bd_usestatus,' ') <> 'DISABLE' connect by bo_mothercode= prior bd_soncode)select * from temp1) where bd_location = '" + psl_location.Text.ToUpper() + "' OR bd_location LIKE '" + psl_location.Text.ToUpper() + ",%' OR bd_location LIKE '%," + psl_location.Text.ToUpper() + "' OR bd_location LIKE '%," + psl_location.Text.ToUpper() + ",%'", "select");
+
+                        if (dt.Rows.Count > 0)
+                        {
+                            if (dt.Rows.Count == 1)
+                            {
+                                string psl_prodcode = dt.Rows[0]["bd_soncode"].ToString();
+                                for (int i = 0; i < MakeBadView.Rows.Count; i++)
+                                {
+                                    if (MakeBadView.Rows[i].Cells["choose1"].Value != null)
+                                    {
+                                        if ((Boolean)MakeBadView.Rows[i].Cells["choose1"].Value == true)
+                                        {
+                                            if (MakeBadView.Rows[i].Cells["mbp_part"].Value.ToString() == "")
+                                            {
+                                                MakeBadView.Rows[i].Cells["mbp_part"].Value = psl_prodcode;
+                                            }
+                                            else if (!MakeBadView.Rows[i].Cells["mbp_part"].Value.ToString().Contains(psl_prodcode))
+                                                MakeBadView.Rows[i].Cells["mbp_part"].Value += "," + psl_prodcode;
+
+                                            if (MakeBadView.Rows[i].Cells["mbl_loc"].Value.ToString() == "")
+                                            {
+                                                MakeBadView.Rows[i].Cells["mbl_loc"].Value = psl_location.Text.ToUpper();
+                                            }
+                                            else if (!MakeBadView.Rows[i].Cells["mbl_loc"].Value.ToString().Contains(psl_location.Text.ToUpper()))
+                                                MakeBadView.Rows[i].Cells["mbl_loc"].Value += "," + psl_location.Text.ToUpper();
+                                        }
+                                    }
+                                }
+                            }
+                            else if (dt.Rows.Count > 1)
+                            {
+                                Boolean ifgetloc = false;
+                                for (int j = 0; j < dt.Rows.Count; j++)
+                                {
+                                    string psl_prodcode = dt.Rows[j]["bd_soncode"].ToString();
+                                    for (int i = 0; i < MakeBadView.Rows.Count; i++)
+                                    {
+                                        if (MakeBadView.Rows[i].Cells["choose1"].Value != null)
+                                        {
+                                            if ((Boolean)MakeBadView.Rows[i].Cells["choose1"].Value == true)
+                                            {
+                                                if (MakeBadView.Rows[i].Cells["mbp_part"].Value.ToString() == "")
+                                                {
+                                                    OperateResult.AppendText(">>站位" + psl_location.Text + "有替代料,需要提前采集不良零件,第" + (i + 1) + "行不良零件为空\n", Color.Red);
+                                                }
+                                                else if (MakeBadView.Rows[i].Cells["mbp_part"].Value.ToString().Contains(psl_prodcode))
+                                                {
+                                                    ifgetloc = true;
+                                                    if (MakeBadView.Rows[i].Cells["mbl_loc"].Value.ToString() == "")
+                                                    {
+                                                        MakeBadView.Rows[i].Cells["mbl_loc"].Value = psl_location.Text.ToUpper();
+                                                    }
+                                                    else if (!MakeBadView.Rows[i].Cells["mbl_loc"].Value.ToString().Contains(psl_location.Text.ToUpper()))
+                                                        MakeBadView.Rows[i].Cells["mbl_loc"].Value += "," + psl_location.Text.ToUpper();
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                                if (!ifgetloc)
+                                {
+                                    OperateResult.AppendText(">>站位" + psl_location.Text + "有替代料,需要提前采集不良零件,当前所选行均未采集对应不良零件\n", Color.Red);
+                                }
+                            }
+                        }
+                        else
+                        {
+                            OperateResult.AppendText(">>站位" + psl_location.Text.ToUpper() + "无对应物料\n", Color.Red, psl_location);
+                        }
+                    }
+                    else
+                    {
+                        OperateResult.AppendText(">>不良位置录入不能为空或长度不能大于6\n", Color.Red);
+                    }
+                }
+                else
+                {
+                    OperateResult.AppendText(">>产品编号不能为空\n", Color.Red);
+                }
+            }
+        }
+
+        private void psl_location_Leave(object sender, EventArgs e)
+        {
+            psl_location.Text = "";
+        }
+
+        private void Make_SmtbdTestCollection_Shown(object sender, EventArgs e)
+        {
+            st_table = dh.getFieldDataByCondition("step", "st_table", "st_code = '" + User.CurrentStepCode + "'").ToString();
+            if (st_table == "A")
+            {
+                UserSourceCode = dh.getFieldDataByCondition("SOURCE", "nvl(sc_code,'')", "sc_linecode = '" + User.UserLineCode + "' and sc_stepcode = 'BDA'").ToString() ;
+            }
+            else if (st_table == "B")
+            {
+                UserSourceCode = dh.getFieldDataByCondition("SOURCE", "nvl(sc_code,'')", "sc_linecode = '" + User.UserLineCode + "' and sc_stepcode = 'BDB'").ToString();
+            }
+            else
+            {
+                MessageBox.Show("此工序没有维护版面,无法操作");
+                System.Environment.Exit(0);
+            }
+
+            if (UserSourceCode == "")
+            {
+                MessageBox.Show("线别"+User.UserLineCode+",版面"+st_table+"没有维护对应岗位资源,无法操作");
+                System.Environment.Exit(0);
+            }
+
+
+            StepCount.StepCode = User.CurrentStepCode;
+            StepCount.Source = UserSourceCode;
+            StepCount.LineCode = User.UserLineCode;
+            StepCount.Dh = dh;
+            StepCount.Start();
+        }
+    }
+}

+ 411 - 0
UAS-MES/FunctionCode/Make/Make_SmtbdTestCollection.resx

@@ -0,0 +1,411 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="SendCheck.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFcSURBVFhH5di7UsJAFMbxtDT6QMI76IAFT0npIE0K
+        GcRORxHklpAIBHLfbILV8XxeNsMznJ35F5vu+82kWYuILD4N7oq75roCw27sb/x5WBdc27btntY64o/i
+        DnZjPxy4S6A0R6PHO1WUNHc9ep4uxIXd2D8eP/XZowWUThBG+n3p0stsKbbJ0qFDFFfscQuUbpzm9Pqx
+        Eh8c4PGLkuX0Nl+LDw4GJckUTRaO+OBQo+SKpitXfHAwKClfZuuN+OBgUDJV0NzxxAeHM5TFxhffGUpe
+        aFp5n+KDg0FRfHH8nfjgUKPoktztXnxwMCgFX7xdID441ChlRf7+ID44GBTNl21wFB8capSqot0xFB8c
+        /lE6Wa70IU5oH0Ziw/5cFebpoPUwHPbL04nCJKUgisWF3dgPB3gABc9v7fvBoBcnaVKdvkha2I39cPjx
+        oPrhusndcPinpIXd2N8gIusbTaFspKtR2SQAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="SendCheck.MoveImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFzSURBVFhH5djNSgJRGMZxL2P2gTfQFbZvHSEZFBEW
+        CEIQBEIgVFiS9qXWoDmp4/fHzDmjM2a+vU/QqUVX0DvwXxxn9fwYXJwYEcXWNzIWt83dcq7AsBv7LXgA
+        ZI0r71/aaqjCJf8o7sFu7IcDFwdK4vimrv1oSZXRnArdQFzYjf3pQkOzRxIoVWc6X5X6M7ruBGIr9mbU
+        9MIVe9hAcXvBO125WnxwgMcXSpcPF20tPjgYlI5eUK6lxAcHg9Lmw3nTFx8cDEpLLSjr+OKDg0FpqojO
+        Gp744GBQ3vyITutT8cHBoDheRCe1ifjgYFBe+ZCxJ+KDg0GpT0NKv4zFBweDUpuEdFQdiQ8OBsXmw2Fl
+        JD44/KCM53TwNBQfHAzKMx/2Hgfig8M3SrXYUasUfz67DwOxYf9dV5urg+RWzta4aEnxn83OfV9c2I39
+        cIAHUOJceTNbUfmW94GX0sJu7IcDPH5fXCe4EvfXxe5/D7ux3yKi2CfkPhTy27lqkwAAAABJRU5ErkJg
+        gg==
+</value>
+  </data>
+  <data name="SendCheck.NormalImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGVSURBVFhH5di7agJRFIXhDSKoYBQEC8FCECwEQRBE
+        4uUVEtTiPKVlom2wttM6IfF+15njXHRnL19jD/zFmanWV8zAEDNTp9OJS6/Sm2QUht3YH4cHtdvtF6k7
+        mUwG1tqd3FR3YTf2w0FKUVOu6XT68Xgw3+8PtWH/bDYbCkeLGo1Gz/d9JwzvrL0gCKx49KlerxtIBUGo
+        PjjAg2q1mqDc2fN99cEBHlStVk0oB+t56oMDPKhSqZggDNm1N/XBAR5ULpeNvGD46rrqgwM8qFQqGV8O
+        56ujPjjAg4rFosFL5ni5qA8O8KBCoWBuns/701l9cIAH5fN5QfF4dzipDw7woFwuZ+zN483+oD44wIOy
+        2azB52i13asPDvCgTCZjHGt5sdmqDw7woHQ6bRzX8ny1UR8c4EHJZNJc5fC7XKsPDvCgRCLR2x9Pzt9q
+        zT+Lpdqw/3A6W/HoUywWa32Nx8OL4zwffM8X6sJu7IcDPCgajaak7udoNNjsdgc81BZ2Yz8c4PH8cR2J
+        ROJSU3qXjMKwG/vjzEz/skOI3Zqgv7AAAAAASUVORK5CYII=
+</value>
+  </data>
+  <metadata name="BadInfSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="ControlLockTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>172, 17</value>
+  </metadata>
+  <metadata name="mb_id.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="mbr_id.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="mb_badcode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="mb_badname.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="mb_bgname.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="mb_bgcode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="mbc_component.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="mbp_part.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="mbl_loc.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="bc_code.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="bc_name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="bg_code.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="bg_name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <data name="Save.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFcSURBVFhH5di7UsJAFMbxtDT6QMI76IAFT0npIE0K
+        GcRORxHklpAIBHLfbILV8XxeNsMznJ35F5vu+82kWYuILD4N7oq75roCw27sb/x5WBdc27btntY64o/i
+        DnZjPxy4S6A0R6PHO1WUNHc9ep4uxIXd2D8eP/XZowWUThBG+n3p0stsKbbJ0qFDFFfscQuUbpzm9Pqx
+        Eh8c4PGLkuX0Nl+LDw4GJckUTRaO+OBQo+SKpitXfHAwKClfZuuN+OBgUDJV0NzxxAeHM5TFxhffGUpe
+        aFp5n+KDg0FRfHH8nfjgUKPoktztXnxwMCgFX7xdID441ChlRf7+ID44GBTNl21wFB8capSqot0xFB8c
+        /lE6Wa70IU5oH0Ziw/5cFebpoPUwHPbL04nCJKUgisWF3dgPB3gABc9v7fvBoBcnaVKdvkha2I39cPjx
+        oPrhusndcPinpIXd2N8gIusbTaFspKtR2SQAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="Save.MoveImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFzSURBVFhH5djNSgJRGMZxL2P2gTfQFbZvHSEZFBEW
+        CEIQBEIgVFiS9qXWoDmp4/fHzDmjM2a+vU/QqUVX0DvwXxxn9fwYXJwYEcXWNzIWt83dcq7AsBv7LXgA
+        ZI0r71/aaqjCJf8o7sFu7IcDFwdK4vimrv1oSZXRnArdQFzYjf3pQkOzRxIoVWc6X5X6M7ruBGIr9mbU
+        9MIVe9hAcXvBO125WnxwgMcXSpcPF20tPjgYlI5eUK6lxAcHg9Lmw3nTFx8cDEpLLSjr+OKDg0FpqojO
+        Gp744GBQ3vyITutT8cHBoDheRCe1ifjgYFBe+ZCxJ+KDg0GpT0NKv4zFBweDUpuEdFQdiQ8OBsXmw2Fl
+        JD44/KCM53TwNBQfHAzKMx/2Hgfig8M3SrXYUasUfz67DwOxYf9dV5urg+RWzta4aEnxn83OfV9c2I39
+        cIAHUOJceTNbUfmW94GX0sJu7IcDPH5fXCe4EvfXxe5/D7ux3yKi2CfkPhTy27lqkwAAAABJRU5ErkJg
+        gg==
+</value>
+  </data>
+  <data name="Save.NormalImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGVSURBVFhH5di7agJRFIXhDSKoYBQEC8FCECwEQRBE
+        4uUVEtTiPKVlom2wttM6IfF+15njXHRnL19jD/zFmanWV8zAEDNTp9OJS6/Sm2QUht3YH4cHtdvtF6k7
+        mUwG1tqd3FR3YTf2w0FKUVOu6XT68Xgw3+8PtWH/bDYbCkeLGo1Gz/d9JwzvrL0gCKx49KlerxtIBUGo
+        PjjAg2q1mqDc2fN99cEBHlStVk0oB+t56oMDPKhSqZggDNm1N/XBAR5ULpeNvGD46rrqgwM8qFQqGV8O
+        56ujPjjAg4rFosFL5ni5qA8O8KBCoWBuns/701l9cIAH5fN5QfF4dzipDw7woFwuZ+zN483+oD44wIOy
+        2azB52i13asPDvCgTCZjHGt5sdmqDw7woHQ6bRzX8ny1UR8c4EHJZNJc5fC7XKsPDvCgRCLR2x9Pzt9q
+        zT+Lpdqw/3A6W/HoUywWa32Nx8OL4zwffM8X6sJu7IcDPCgajaak7udoNNjsdgc81BZ2Yz8c4PH8cR2J
+        ROJSU3qXjMKwG/vjzEz/skOI3Zqgv7AAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="CleanInfo.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFcSURBVFhH5di7UsJAFMbxtDT6QMI76IAFT0npIE0K
+        GcRORxHklpAIBHLfbILV8XxeNsMznJ35F5vu+82kWYuILD4N7oq75roCw27sb/x5WBdc27btntY64o/i
+        DnZjPxy4S6A0R6PHO1WUNHc9ep4uxIXd2D8eP/XZowWUThBG+n3p0stsKbbJ0qFDFFfscQuUbpzm9Pqx
+        Eh8c4PGLkuX0Nl+LDw4GJckUTRaO+OBQo+SKpitXfHAwKClfZuuN+OBgUDJV0NzxxAeHM5TFxhffGUpe
+        aFp5n+KDg0FRfHH8nfjgUKPoktztXnxwMCgFX7xdID441ChlRf7+ID44GBTNl21wFB8capSqot0xFB8c
+        /lE6Wa70IU5oH0Ziw/5cFebpoPUwHPbL04nCJKUgisWF3dgPB3gABc9v7fvBoBcnaVKdvkha2I39cPjx
+        oPrhusndcPinpIXd2N8gIusbTaFspKtR2SQAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="CleanInfo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
+        DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
+        bGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUis
+        iGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQ
+        sf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJO
+        yhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaI
+        b4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArou
+        S49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0i
+        vQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424
+        HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxR
+        RKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKb
+        F6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQ
+        DtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJE
+        geQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhM
+        gqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgs
+        wkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYr
+        oQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHms
+        AdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8
+        Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQ
+        tJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzy
+        pOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4
+        UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrC
+        WbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o
+        3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0Svo
+        PfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05b
+        RztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAU
+        vdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZv
+        xjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa
+        2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHI
+        dmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Sn
+        t+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z
+        /z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4Rz
+        wzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8Yqpj
+        ZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbj
+        kqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09m
+        SWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvN
+        e70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quF
+        nbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/
+        VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1F
+        DR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TL
+        d1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/E
+        XRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPq
+        RudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WP
+        lR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+l
+        f65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeK
+        j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEwAACxMBAJqcGAAACfBJREFUeF7t3dtuFFcC
+        heFc5VWQRsrL5T0iRcrDkJAjJOADNjbdbvD5iE9tu302RIq0Z6+ynWkmS6oZrlys/+KT8FJX3f2bcmPa
+        X5RSAISyI4AMdgSQwY4AMtgRQAY7AshgRwAZ7Agggx0BZLAjgAx2BJDBjgAy2BFABjsCyGBHABnsCCCD
+        HQFksCOADHYEkMGOADLYEUAGOwLIYEcAGewIIIMdAWSwI4AMdgSQwY4AMtgRQAY7AshgRwAZ7Agggx0B
+        ZLAjgAx2BJDBjgAy2BFABjsCyGBHABnsCCCDHQFksCOADHYEkMGOADLYEUAGOwLIYEcAGewIIIMdAWSw
+        I4AMdgSQwY4AMtgRQAY7AshgRwAZ7Agggx0BZLAjgAx2BJDBjgAy2BFABjsCyGBHABnsCCCDHQFksCOA
+        DHYEkMGOADLYEUAGOwLIYEcAGewIIIMdAWSwI4AMdgSQwY4AMtgRQAY7AshgRwAZ7Agggx0BZLAjgAx2
+        BJDBjgAy2BFABjsCyGBHABnsCCCDHQFksCOADHYEkMGOADLYEUAGOwLIYEf5/vsnj6pvqpnqr6oAePDU
+        qppVu49c2+PsWC/8urpZXV0rR8fH5f2HD+XDGH0N4GH47zbVrNpVw2rZNX7voy/qi7+sHvd6C2U0Oi03
+        7z+Um5v35RpAZ6hZtauG1bKaVtvjrd/76Iv6om/7/UG9+PZGV9c3d67L5RWAh06t3nfbHAa1ZTVd2/5m
+        vPV7f/+hvuCr6q8r3UQ3u7wqF9X5xSWAjlG7avi+ZbVd/Ws8fhk/AL5dXl75O/qz84tyenZ+56yMTgE8
+        dGr1vls1fH8YLNW2a+P/eAoYPwAWD4ZH5fT8sozqxSf1Zsejs3J0cgqgY9SuGlbLavrgcKgDYDAev4wf
+        AH+OTmv4o/NyrJscjcqwOhyeAOgYtauG1fJ907Xxs/H4ZfwAqC+sf+Mfn9aLT+qJcVwdlf0DAF2jdtWw
+        WlbTaluN3/d+76MDQC88PDxpbrC7N6wOy7tdAF2jdtWwWlbTarv1ANCJsbc/bG6ws7Nftrb3AHSUGlbL
+        avqwtt16AOzV02Jn96Bs1Qs3t3fLxua7sg6gc9SuGlbLalpttx4AOi10wcbmblnb2Cmr69tlZQ1A16hd
+        NayW1bTabj0AtncObuNf3ykrq1tleWWzLC0D6Bq1q4bVsppW260HwObWbfy6eHFpo7xdXC9v3q4B6Bi1
+        q4bVsppW260HwPr6u3rBVr14owzerJWFwWrpL6wA6Bi1q4bVsppW260HwMrqdnNq6MJef6W87i2X+ddL
+        ADpG7aphtaym1XbrAbBUHxcG9fGht7Bc5l4vllfzb8vs3BsAHaN21bBaVtNqu/UA0PcNenzQhTOv3pSX
+        s4MyPbMAoGPUrhpWy2pabbceAHpceN1bKrOKv95karpfJqd6ADpG7aphtaym1XbrAdAf1L/95xfrhYMy
+        Od0rLyZfl+cT8wA6Ru2qYbWsptV26wHQ6y833z9MvezXG8yXP17Mld+fvwLQMWpXDatlNa22Ww8AvXuo
+        E2Nislf+eD5Xnv3+qjx9NgugY9SuGlbLalpttx4Ac3OLZXp6oTx/MV9vMFt+ezpTfv3tJYCOUbtqWC2r
+        abXdegDMzr2t3zf06yPEXPnt2Uz5pd7o51+nAXSM2lXDallNq+3WA2BmdtC8eaCTQzf46Zep8uPPkwA6
+        Ru2qYbWsptV26wGg7xX0DuLT32eaU0Q3evLTBICOUbtqWC2rabXdegDoBwiev7h9/NcJohv98OMLAB2j
+        dtWwWlbTarv1AJh6udC8c/jr05l6gkzVG02U75+8ANAxalcNq2U1rbbbD4C7NwD1vcOTnyabGz3+4TmA
+        jlG7algtq2m1zQEAhOAAAIJ92gHAewDAZ+GT3gPgXwGAz8Mn/SsAPwcAfB4+6ecA+ElA4POgdtXw//WT
+        gPxfAODzoHbVsFr+n/8vgD44YPrlQn1kqE8Bf7yqN5ht3kQA0C1qVw2rZTWttlsPgPneUvNZYhNTveYD
+        BXSDp/URAkC3qF01rJbVtNpuPQB6CyvlVX1U0DuGE1O3HwemmwDoFrWrhtWymlbbrQfAYLDafHLIzOyb
+        +thw+4GgE5OvAXSM2lXDallNq+3WA+DN4vrtU0D9fqE5BGYGzQ8QAOgWtauG1bKaVtutB8Di8mZZ0EeD
+        95ebC/XOoT5bHEC3qF01rJbVtNpuPQD020TfLq3XC1abC/XGgX6xAIBuUbu38a82Tavt1gNgbf1dWVrZ
+        qo8LG82p0a/fN+jxAUC3qF01rJbVtNpuPQD49eDA5+GTfj349s5B2di8PQT020R18VL93gFAt6hdNayW
+        1bTabj0AdncP6wv3y2a9YH1jp168XVbXAHSN2lXDallN7+4dth8A+wfHd4fAQdna3quPDXvN6QGgW9Su
+        GlbLalpttx4Aw+FJfeFRPS2G5d3uQdl5d9CcHgC6Re2qYbWsptV22wHw59HxqAyPTsrB4XFz0d7+sHl0
+        ANAtalcNq2U1LbXxy/H4ZfwAWNk/GJaT0Vk5Oj6tF4zKYT01dAMA3aJ21bBaVtN7+817AIPx+GX8APhu
+        aXmlnJ1flNHZeXPR8clpOboz1NMBgAftvle1q4bVsppeXGr+M9C34/HL+AHwVfXXxcVVOa/Ozi/L6dlF
+        dV5GpwC6Qs2qXTWsltW02lbj4/HLR1/UF3zX7w/K1fVNuby6LheXt4fBLd3sjm4M4GEYb/OuV7WrhtWy
+        mq5t/+Nvf/noi/qiL6vHvV6/PkKMynW9WDe4uq43qjfTDQE8TGq0abU2q3bVsFpW02p7vPV7/xikvvjr
+        6mZlZbUcHR2Xm/cfxrwH8OD8p1E1q3bVsFp2jd+zo9QLH1XfVHOVbgagG9Ss2n3k2h5nRwAZ7Agggx0B
+        ZLAjgAx2BJDBjgAy2BFABjsCyGBHABnsCCCDHQFksCOADHYEkMGOADLYEUAGOwLIYEcAGewIIIMdAWSw
+        I4AMdgSQwY4AMtgRQAY7AshgRwAZ7Agggx0BZLAjgAx2BJDBjgAy2BFABjsCyGBHABnsCCCDHQFksCOA
+        DHYEkMGOADLYEUAGOwLIYEcAGewIIIMdAWSwI4AMdgSQwY4AMtgRQAY7AshgRwAZ7Agggx0BZLAjgAx2
+        BJDBjgAy2BFABjsCyGBHABnsCCCDHQFksCOADHYEkMGOADLYEUAGOwLIYEcAGewIIIMdAWSwI4AMdgSQ
+        wY4AMtgRQAY7AshgRwAZ7Agggx0BZLAjgAx2BJDBjgAy2BFABjsCyGBHABnsCCCDHQFksCOADHYEkMGO
+        ADLYEUAGOwLIYEcAGewIIIMdAWSwI4AMdgSQwY4AMtgRQAY7AshgRwAZ7Agggx0BZLAjgAx2BJDBjgAy
+        2BFABjsCSFC++DdnYZod1cA/NQAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="CleanInfo.MoveImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFzSURBVFhH5djNSgJRGMZxL2P2gTfQFbZvHSEZFBEW
+        CEIQBEIgVFiS9qXWoDmp4/fHzDmjM2a+vU/QqUVX0DvwXxxn9fwYXJwYEcXWNzIWt83dcq7AsBv7LXgA
+        ZI0r71/aaqjCJf8o7sFu7IcDFwdK4vimrv1oSZXRnArdQFzYjf3pQkOzRxIoVWc6X5X6M7ruBGIr9mbU
+        9MIVe9hAcXvBO125WnxwgMcXSpcPF20tPjgYlI5eUK6lxAcHg9Lmw3nTFx8cDEpLLSjr+OKDg0FpqojO
+        Gp744GBQ3vyITutT8cHBoDheRCe1ifjgYFBe+ZCxJ+KDg0GpT0NKv4zFBweDUpuEdFQdiQ8OBsXmw2Fl
+        JD44/KCM53TwNBQfHAzKMx/2Hgfig8M3SrXYUasUfz67DwOxYf9dV5urg+RWzta4aEnxn83OfV9c2I39
+        cIAHUOJceTNbUfmW94GX0sJu7IcDPH5fXCe4EvfXxe5/D7ux3yKi2CfkPhTy27lqkwAAAABJRU5ErkJg
+        gg==
+</value>
+  </data>
+  <data name="CleanInfo.NormalImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGVSURBVFhH5di7agJRFIXhDSKoYBQEC8FCECwEQRBE
+        4uUVEtTiPKVlom2wttM6IfF+15njXHRnL19jD/zFmanWV8zAEDNTp9OJS6/Sm2QUht3YH4cHtdvtF6k7
+        mUwG1tqd3FR3YTf2w0FKUVOu6XT68Xgw3+8PtWH/bDYbCkeLGo1Gz/d9JwzvrL0gCKx49KlerxtIBUGo
+        PjjAg2q1mqDc2fN99cEBHlStVk0oB+t56oMDPKhSqZggDNm1N/XBAR5ULpeNvGD46rrqgwM8qFQqGV8O
+        56ujPjjAg4rFosFL5ni5qA8O8KBCoWBuns/701l9cIAH5fN5QfF4dzipDw7woFwuZ+zN483+oD44wIOy
+        2azB52i13asPDvCgTCZjHGt5sdmqDw7woHQ6bRzX8ny1UR8c4EHJZNJc5fC7XKsPDvCgRCLR2x9Pzt9q
+        zT+Lpdqw/3A6W/HoUywWa32Nx8OL4zwffM8X6sJu7IcDPCgajaak7udoNNjsdgc81BZ2Yz8c4PH8cR2J
+        ROJSU3qXjMKwG/vjzEz/skOI3Zqgv7AAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="ChooseedReject.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAACUAAAAXCAYAAACMLIalAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
+        JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH3wYWEw4tELKVawAAAslJREFU
+        SEuN1kuojVEYxvHtco77JUUpURQliQxcE+0BMlIkBpJQJmJwBqRMKAZKykSMkJEwUaIwcElIKQzccz2i
+        3HP3f77Wu8679n6d7a3f4Fuf5znZ+9trfbV6vb4bD7vxBPvQF/r3tcZJ65NwFY8R9TzCTcyCZVJDw3Bj
+        LM7jTze+YiPCsrTWEx34iajDXMRoNPXkSTcn4w6iEvMWS2CZ1JA7RJ/mAUR57xiGoOjJYzewEK8RlZgH
+        mI6cs3FrI9Hqk/+NXWhD0VONLSbr8BlRkdFzo68854KeabiPKG/0SGxAzhXjbvTGTvxCVGSOYxiKMrtO
+        luE9orzpxGLkXDHuxiAcRlTi7UUfFGV2jR7YhlYP/j1MRc7m8YsYhQuISsw3bEbO2bi1gTiCKO/pF6m/
+        WfRUY4vJFNxFVGLeYSlyzsatjcEVRHnvKPQtpQY3WnQWodUvUpviTORc0DMbTxHljZ5jPc9tVUHjcMNb
+        j4+Iisw1jEeVsbHrZBU+IMqbT+hI8ebhphmAs4hKvO2oMn5sDf1xBlHW60zRcrjhrUGr/+ENTECVsbHr
+        ZAVabRFfsCXFu4ZFbz5eICowzzEPORf0aDPVaRDlvT1orwpsWPD0jOhUj8JGz8Bq5JyNWxuBc4jy3ilU
+        G3IxWkh08ySisNGvZQd6ocrZ2DXaodeeKO/dQtPX74t0SOpjjMKeTvrBKIrsOtFZqjMuypuX0ORcVKRD
+        slXRZWhT7Cph7DqZg2eI8kYP9lrkXFS0AP+zWc5Aztm4NR0ZlxDljV5f9Narl4CixxdNxG1EBUY/6eXI
+        ORu31g+HEOU9vWkMRdFTTVocjtOIwuYHtkKnf1Fk18kmfEfUYa5jHHKuGBa0Y+9HFPYOQrtyU4mtQW+v
+        bxDljc7Auci5pmFxJbSx6VegjbLRK+j1Nr/si5+0pm3kBPTiFvWIHvx/v21WU6v9BRMV4fPlTpe/AAAA
+        AElFTkSuQmCC
+</value>
+  </data>
+  <data name="WaitReject.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAACUAAAAXCAYAAACMLIalAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
+        JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH3wYWEw4tELKVawAAAs1JREFU
+        SEuN10uoTVEcx3HvV3nkEUPlFVKUDBDliGImiZQkiYkBGSgZGEiiyIASRgp5JVIGhlLkmTJC5K2833l8
+        f9v6rbP2PX+d+6/PYP3X/f3v7Zy91963S1SNRqM0EVfwCA8CD3EbM1FlynIP3bEN/5sj2jucovViwwbj
+        DP60sQu9UOVcXidL8Q5R3u5gSoo3i6b1xG5E4dIFDEGVc3mdTIc+hShvzzEXaUIqNQpr8RXRALuPSagy
+        ZbmHkbiKKG9fsAb1OW4k8/AS0QDTV7EIOecqegNxHFHefmMn9M0053iRTMBdRAPsF7aiK5qDKK/RA9uh
+        XxrNsFMYhNqcctBQ6BqJwqUTGIDaIK+TVfiMKG/XMQo513FQb+xDFC7dwhjUBpVrzMEzRHl7glnIuVxF
+        cz2+IxpgrzEfLYOK3jjcRJS3T1iBljlVpeZCvEE0wH5gA1oGFT0dDecQ5U3Xow5RHaa1ObloTsM9RANK
+        h9AXLYNST3t7EWVLR9Ef8R+kYuMkonBJx8Nk+A9I6X+VerPxAVHeXmEqwjm52NApqudONMT0ke9By6NE
+        lXq6G48gypuOh/0IP/FcaXMx3iIaZN+wDs6kCXmGjMAlRHn7ic3ohtqcXGlDh+BG6GKOBtkLVM8nK2aY
+        3ir0YI3y9h7LkXO1KjY6e07pdh+L2sByDZ1TTxHlTeeUrsOcy1U2oVv6LKIhpdNoeTR4negc+ogobzeg
+        cy3ncpVNjMY1RENMF+wO6PlWG+Y1dM1sga6haIbpsTYMOZurbGIG2r3/6Lm2EjnnKnr9cBBRvnQA8R3p
+        ZrIE7d4UdV3k12BxFb3huIgob74jq7eOllIz0Q9sQrs7Ui9wepGrci6vk/HQgzzKm+7IZUgTOpQ2kj7o
+        zB15DHqhq3IurxPdaY8R5U37C1K8XmyU9PGfh25xfV0R/UeTz52y3EtWQ9dqNEP4HY3LfwGra+NvPdw7
+        fgAAAABJRU5ErkJggg==
+</value>
+  </data>
+</root>