浏览代码

接口修改

callm 1 年之前
父节点
当前提交
944d79c36d

+ 2 - 2
UAS_MES_LGDZ/FunctionCode/Make/Make_TestCollection.cs

@@ -386,7 +386,7 @@ namespace UAS_MES_NEW.Make
                     else
                     {
                         //良品信息采集
-                        if (LogicHandler.SetStepResult(ma_code.Text, User.UserSourceCode, ms_sncode.Text, "良品采集", "检测合格", User.UserCode, out ErrorMessage))
+                        if (LogicHandler.SetStepResult1(ma_code.Text, User.UserSourceCode, ms_sncode.Text, "良品采集", "检测合格", User.UserCode, out ErrorMessage))
                         {
                             if (IfTest.Checked)
                             {
@@ -408,7 +408,7 @@ namespace UAS_MES_NEW.Make
                 {
                     if (reworkstatus != "3")
                     {
-                        if (LogicHandler.SetStepResult(ma_code.Text, User.UserSourceCode, ms_sncode.Text, "良品采集", "检测合格", User.UserCode, out ErrorMessage))
+                        if (LogicHandler.SetStepResult1(ma_code.Text, User.UserSourceCode, ms_sncode.Text, "良品采集", "检测合格", User.UserCode, out ErrorMessage))
                         {
                             //提示正确返回时传递的信息
                             if (ErrorMessage.Contains("AFTERSUCCESS"))

+ 6 - 1
UAS_MES_LGDZ/FunctionCode/Packing/Packing_PalletCollection.cs

@@ -477,10 +477,15 @@ namespace UAS_MES_NEW.Packing
                 if (Delete == "Yes")
                 {
                     sql.Clear();
-                    sql.Append("select nvl(pa_iostatus,0) pa_iostatus,pa_outno from package where pa_outboxcode='" + pa_outboxcode.Text + "'");
+                    sql.Append("select nvl(pa_iostatus,0) pa_iostatus,pa_outno,pa_type from package where pa_outboxcode='" + pa_outboxcode.Text + "'");
                     dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                     if (dt.Rows.Count > 0)
                     {
+                        if (dt.Rows[0]["pa_type"].ToString() != "3")
+                        {
+                            OperateResult.AppendText(">>" + pa_outboxcode.Text + "非栈板类型\n", Color.Red);
+                            return;
+                        }
                         if (dt.Rows[0]["pa_outno"].ToString() != "")
                         {
                             OperateResult.AppendText(">>栈板" + pa_outboxcode.Text + "已被出货单" + dt.Rows[0]["pa_outno"].ToString() + "采集,不允许操作\n", Color.Red);

+ 78 - 29
UAS_MES_LGDZ/FunctionCode/Special/Special_MakeBad.Designer.cs

@@ -30,7 +30,6 @@
         {
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Special_MakeBad));
             this.Pallet_label = new System.Windows.Forms.Label();
-            this.bc_code = new System.Windows.Forms.Label();
             this.mbr_solution_label = new System.Windows.Forms.Label();
             this.mbc_component_label = new System.Windows.Forms.Label();
             this.mbr_dutycode_label = new System.Windows.Forms.Label();
@@ -38,6 +37,8 @@
             this.mbr_brgcode_label = new System.Windows.Forms.Label();
             this.label2 = new System.Windows.Forms.Label();
             this.label1 = new System.Windows.Forms.Label();
+            this.label3 = new System.Windows.Forms.Label();
+            this.bc_code = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.BlurSearch();
             this.OperateResult = new UAS_MES_NEW.CustomControl.RichText.RichTextAutoBottom();
             this.mb_badlocation = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.EnterTextBox();
             this.li_code = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.SearchTextBox();
@@ -48,37 +49,27 @@
             this.nrg_name = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.BlurSearch();
             this.SaveRepairInf = new UAS_MES_NEW.CustomControl.ButtonUtil.NormalButton();
             this.sn_code = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.EnterTextBox();
+            this.label4 = new System.Windows.Forms.Label();
+            this.mbr_inman = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.EnterTextBox();
             this.SuspendLayout();
             // 
             // Pallet_label
             // 
             this.Pallet_label.AutoSize = true;
             this.Pallet_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.Pallet_label.Location = new System.Drawing.Point(13, 302);
+            this.Pallet_label.Location = new System.Drawing.Point(28, 316);
             this.Pallet_label.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.Pallet_label.Name = "Pallet_label";
             this.Pallet_label.Size = new System.Drawing.Size(114, 41);
             this.Pallet_label.TabIndex = 1;
             this.Pallet_label.Text = "条码号";
             // 
-            // bc_code
-            // 
-            this.bc_code.AutoSize = true;
-            this.bc_code.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.bc_code.ForeColor = System.Drawing.Color.Black;
-            this.bc_code.Location = new System.Drawing.Point(1391, 507);
-            this.bc_code.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
-            this.bc_code.Name = "bc_code";
-            this.bc_code.Size = new System.Drawing.Size(0, 41);
-            this.bc_code.TabIndex = 146;
-            this.bc_code.Visible = false;
-            // 
             // mbr_solution_label
             // 
             this.mbr_solution_label.AutoSize = true;
             this.mbr_solution_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.mbr_solution_label.ForeColor = System.Drawing.Color.Black;
-            this.mbr_solution_label.Location = new System.Drawing.Point(472, 475);
+            this.mbr_solution_label.Location = new System.Drawing.Point(465, 567);
             this.mbr_solution_label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
             this.mbr_solution_label.Name = "mbr_solution_label";
             this.mbr_solution_label.Size = new System.Drawing.Size(146, 41);
@@ -90,7 +81,7 @@
             this.mbc_component_label.AutoSize = true;
             this.mbc_component_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.mbc_component_label.ForeColor = System.Drawing.Color.Black;
-            this.mbc_component_label.Location = new System.Drawing.Point(13, 477);
+            this.mbc_component_label.Location = new System.Drawing.Point(6, 569);
             this.mbc_component_label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
             this.mbc_component_label.Name = "mbc_component_label";
             this.mbc_component_label.Size = new System.Drawing.Size(82, 41);
@@ -102,7 +93,7 @@
             this.mbr_dutycode_label.AutoSize = true;
             this.mbr_dutycode_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.mbr_dutycode_label.ForeColor = System.Drawing.Color.Black;
-            this.mbr_dutycode_label.Location = new System.Drawing.Point(942, 395);
+            this.mbr_dutycode_label.Location = new System.Drawing.Point(935, 487);
             this.mbr_dutycode_label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
             this.mbr_dutycode_label.Name = "mbr_dutycode_label";
             this.mbr_dutycode_label.Size = new System.Drawing.Size(114, 41);
@@ -114,7 +105,7 @@
             this.nr_name_label.AutoSize = true;
             this.nr_name_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.nr_name_label.ForeColor = System.Drawing.Color.Black;
-            this.nr_name_label.Location = new System.Drawing.Point(472, 393);
+            this.nr_name_label.Location = new System.Drawing.Point(465, 485);
             this.nr_name_label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
             this.nr_name_label.Name = "nr_name_label";
             this.nr_name_label.Size = new System.Drawing.Size(146, 41);
@@ -126,7 +117,7 @@
             this.mbr_brgcode_label.AutoSize = true;
             this.mbr_brgcode_label.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.mbr_brgcode_label.ForeColor = System.Drawing.Color.Black;
-            this.mbr_brgcode_label.Location = new System.Drawing.Point(13, 393);
+            this.mbr_brgcode_label.Location = new System.Drawing.Point(6, 485);
             this.mbr_brgcode_label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
             this.mbr_brgcode_label.Name = "mbr_brgcode_label";
             this.mbr_brgcode_label.Size = new System.Drawing.Size(178, 41);
@@ -155,6 +146,31 @@
             this.label1.TabIndex = 237;
             this.label1.Text = "线别编号";
             // 
+            // label3
+            // 
+            this.label3.AutoSize = true;
+            this.label3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label3.ForeColor = System.Drawing.Color.Black;
+            this.label3.Location = new System.Drawing.Point(28, 398);
+            this.label3.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.label3.Name = "label3";
+            this.label3.Size = new System.Drawing.Size(146, 41);
+            this.label3.TabIndex = 242;
+            this.label3.Text = "不良代码";
+            // 
+            // bc_code
+            // 
+            this.bc_code.Condition = null;
+            this.bc_code.Field = null;
+            this.bc_code.Location = new System.Drawing.Point(204, 404);
+            this.bc_code.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.bc_code.Name = "bc_code";
+            this.bc_code.Size = new System.Drawing.Size(242, 35);
+            this.bc_code.TabIndex = 244;
+            this.bc_code.TableName = null;
+            this.bc_code.Value = null;
+            this.bc_code.ValueField = null;
+            // 
             // OperateResult
             // 
             this.OperateResult.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
@@ -170,7 +186,7 @@
             this.mb_badlocation.AllPower = null;
             this.mb_badlocation.BackColor = System.Drawing.Color.White;
             this.mb_badlocation.ID = null;
-            this.mb_badlocation.Location = new System.Drawing.Point(211, 483);
+            this.mb_badlocation.Location = new System.Drawing.Point(204, 575);
             this.mb_badlocation.Margin = new System.Windows.Forms.Padding(4);
             this.mb_badlocation.Name = "mb_badlocation";
             this.mb_badlocation.Power = null;
@@ -209,7 +225,7 @@
             this.ma_code.DBTitle = "";
             this.ma_code.Font = new System.Drawing.Font("微软雅黑", 9F);
             this.ma_code.FormName = null;
-            this.ma_code.Location = new System.Drawing.Point(209, 216);
+            this.ma_code.Location = new System.Drawing.Point(204, 216);
             this.ma_code.Margin = new System.Windows.Forms.Padding(6);
             this.ma_code.Name = "ma_code";
             this.ma_code.Power = "";
@@ -226,7 +242,7 @@
             // 
             this.mbr_dutyname.Condition = null;
             this.mbr_dutyname.Field = null;
-            this.mbr_dutyname.Location = new System.Drawing.Point(1100, 399);
+            this.mbr_dutyname.Location = new System.Drawing.Point(1093, 491);
             this.mbr_dutyname.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.mbr_dutyname.Name = "mbr_dutyname";
             this.mbr_dutyname.Size = new System.Drawing.Size(242, 35);
@@ -239,7 +255,7 @@
             // 
             this.so_name.Condition = null;
             this.so_name.Field = null;
-            this.so_name.Location = new System.Drawing.Point(648, 477);
+            this.so_name.Location = new System.Drawing.Point(641, 569);
             this.so_name.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.so_name.Name = "so_name";
             this.so_name.Size = new System.Drawing.Size(242, 35);
@@ -252,7 +268,7 @@
             // 
             this.nr_name.Condition = null;
             this.nr_name.Field = null;
-            this.nr_name.Location = new System.Drawing.Point(648, 397);
+            this.nr_name.Location = new System.Drawing.Point(641, 489);
             this.nr_name.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.nr_name.Name = "nr_name";
             this.nr_name.Size = new System.Drawing.Size(242, 35);
@@ -265,7 +281,7 @@
             // 
             this.nrg_name.Condition = null;
             this.nrg_name.Field = null;
-            this.nrg_name.Location = new System.Drawing.Point(211, 397);
+            this.nrg_name.Location = new System.Drawing.Point(204, 489);
             this.nrg_name.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.nrg_name.Name = "nrg_name";
             this.nrg_name.Size = new System.Drawing.Size(242, 35);
@@ -281,7 +297,7 @@
             this.SaveRepairInf.DownImage = ((System.Drawing.Image)(resources.GetObject("SaveRepairInf.DownImage")));
             this.SaveRepairInf.Image = null;
             this.SaveRepairInf.IsShowBorder = true;
-            this.SaveRepairInf.Location = new System.Drawing.Point(949, 470);
+            this.SaveRepairInf.Location = new System.Drawing.Point(942, 649);
             this.SaveRepairInf.Margin = new System.Windows.Forms.Padding(6);
             this.SaveRepairInf.MoveImage = ((System.Drawing.Image)(resources.GetObject("SaveRepairInf.MoveImage")));
             this.SaveRepairInf.Name = "SaveRepairInf";
@@ -299,7 +315,7 @@
             this.sn_code.AllPower = null;
             this.sn_code.BackColor = System.Drawing.Color.White;
             this.sn_code.ID = null;
-            this.sn_code.Location = new System.Drawing.Point(211, 308);
+            this.sn_code.Location = new System.Drawing.Point(204, 322);
             this.sn_code.Margin = new System.Windows.Forms.Padding(4);
             this.sn_code.Name = "sn_code";
             this.sn_code.Power = null;
@@ -309,11 +325,42 @@
             this.sn_code.Str2 = null;
             this.sn_code.TabIndex = 2;
             // 
+            // label4
+            // 
+            this.label4.AutoSize = true;
+            this.label4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label4.ForeColor = System.Drawing.Color.Black;
+            this.label4.Location = new System.Drawing.Point(935, 566);
+            this.label4.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.label4.Name = "label4";
+            this.label4.Size = new System.Drawing.Size(114, 41);
+            this.label4.TabIndex = 245;
+            this.label4.Text = "维修员";
+            // 
+            // mbr_inman
+            // 
+            this.mbr_inman.AllPower = null;
+            this.mbr_inman.BackColor = System.Drawing.Color.White;
+            this.mbr_inman.ID = null;
+            this.mbr_inman.Location = new System.Drawing.Point(1093, 572);
+            this.mbr_inman.Margin = new System.Windows.Forms.Padding(4);
+            this.mbr_inman.Name = "mbr_inman";
+            this.mbr_inman.Power = null;
+            this.mbr_inman.Size = new System.Drawing.Size(242, 35);
+            this.mbr_inman.Str = null;
+            this.mbr_inman.Str1 = null;
+            this.mbr_inman.Str2 = null;
+            this.mbr_inman.TabIndex = 247;
+            // 
             // Special_MakeBad
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(12F, 24F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.ClientSize = new System.Drawing.Size(1797, 1054);
+            this.Controls.Add(this.mbr_inman);
+            this.Controls.Add(this.label4);
+            this.Controls.Add(this.bc_code);
+            this.Controls.Add(this.label3);
             this.Controls.Add(this.OperateResult);
             this.Controls.Add(this.mb_badlocation);
             this.Controls.Add(this.li_code);
@@ -324,7 +371,6 @@
             this.Controls.Add(this.so_name);
             this.Controls.Add(this.nr_name);
             this.Controls.Add(this.nrg_name);
-            this.Controls.Add(this.bc_code);
             this.Controls.Add(this.SaveRepairInf);
             this.Controls.Add(this.mbr_solution_label);
             this.Controls.Add(this.mbc_component_label);
@@ -351,7 +397,6 @@
         private CustomControl.TextBoxWithIcon.BlurSearch so_name;
         private CustomControl.TextBoxWithIcon.BlurSearch nr_name;
         private CustomControl.TextBoxWithIcon.BlurSearch nrg_name;
-        private System.Windows.Forms.Label bc_code;
         private CustomControl.ButtonUtil.NormalButton SaveRepairInf;
         private System.Windows.Forms.Label mbr_solution_label;
         private System.Windows.Forms.Label mbc_component_label;
@@ -364,5 +409,9 @@
         private System.Windows.Forms.Label label1;
         private CustomControl.TextBoxWithIcon.EnterTextBox mb_badlocation;
         private CustomControl.RichText.RichTextAutoBottom OperateResult;
+        private CustomControl.TextBoxWithIcon.BlurSearch bc_code;
+        private System.Windows.Forms.Label label3;
+        private System.Windows.Forms.Label label4;
+        private CustomControl.TextBoxWithIcon.EnterTextBox mbr_inman;
     }
 }

+ 23 - 6
UAS_MES_LGDZ/FunctionCode/Special/Special_MakeBad.cs

@@ -35,6 +35,11 @@ namespace UAS_MES_NEW.Special
             li_code.SetValueField = new string[] { "li_code" };
             li_code.FormName = Name;
 
+            bc_code.TableName = "(select bc_code,bc_name from badcode left join DATAINPUTRECORD ON bc_name = DIR_COMMENT AND DIR_GROUP = '不良代码组' and DIR_SOURCECODE = '" + User.UserSourceCode + "' where bc_groupcode='SMT' ORDER BY NVL(DIR_NUMBER,0) DESC)";
+            bc_code.Field = "bc_name";
+            bc_code.ValueField = "bc_code";
+            bc_code.Condition = " 1=1 ORDER BY ROWNUM asc";
+
             nrg_name.TableName = "(select nrg_name,nrg_code from QUA_NGREASONGROUP left join DATAINPUTRECORD ON NRG_NAME = DIR_COMMENT AND DIR_GROUP = '不良原因组' and DIR_SOURCECODE = '" + User.UserSourceCode + "' ORDER BY NVL(DIR_NUMBER,0) DESC)";
             nrg_name.Field = "nrg_name";
             nrg_name.ValueField = "nrg_code";
@@ -56,6 +61,7 @@ namespace UAS_MES_NEW.Special
 
             so_name.SendToBack();
             mb_badlocation.SendToBack();
+            mbr_inman.SendToBack();
         }
 
         private void Split_Click(object sender, EventArgs e)
@@ -70,13 +76,24 @@ namespace UAS_MES_NEW.Special
                 OperateResult.AppendText("序列号不允许为空\n", System.Drawing.Color.Red, sn_code);
                 return;
             }
-            dh.ExecuteSql("insert into makebadreason(MBR_ID, MBR_SNCODE, MBR_MAKECODE, MBR_SOLUTIONNAME, MBR_DUTYNAME,mbr_linecode)" +
-                "values(makebadreason_seq.nextval,'" + sn_code.Text + "','" + ma_code.Text + "','" + so_name.Text + "','" + mbr_dutyname.Text + "','" + li_code.Text + "')", "insert");
+            if (dh.CheckExist("makebadreason", "MBR_SNCODE='" + sn_code.Text + "'"))
+            {
+                OperateResult.AppendText("序列号" + sn_code.Text + "已录入\n", System.Drawing.Color.Red, sn_code);
+                return;
+            }
+            if (nrg_name.Text == "" || nr_name.Text == "" || mbr_dutyname.Text == "" || so_name.Text == "")
+            {
+                OperateResult.AppendText("请完善维修信息\n", System.Drawing.Color.Red, sn_code);
+                return;
+            }
+            dh.ExecuteSql("insert into makebadreason(MBR_ID,mbr_badlocation,MBR_BADCODE, MBR_SNCODE, MBR_MAKECODE, MBR_SOLUTIONNAME, MBR_DUTYNAME,mbr_linecode,MBR_INMAN)values(makebadreason_seq.nextval,'" + mb_badlocation.Text + "','" + bc_code.Text + "','" + sn_code.Text + "','" + ma_code.Text + "','" + so_name.Text + "','" + mbr_dutyname.Text + "','" + li_code.Text + "','" + (mbr_inman.Text == "" ? User.UserName : mbr_inman.Text) + "')", "insert");
             OperateResult.AppendText("序列号" + sn_code.Text + "记录维修信息成功\n", System.Drawing.Color.Green, sn_code);
-            nrg_name.Text = "";
-            nr_name.Text = "";
-            mbr_dutyname.Text = "";
-            so_name.Text = "";
+            //nrg_name.Text = "";
+            //nr_name.Text = "";
+            //mbr_dutyname.Text = "";
+            //so_name.Text = "";
+            //bc_code.Text = "";
+            //mb_badlocation.Text = "";
         }
     }
 }

+ 9 - 10
UAS_MES_LGDZ/FunctionCode/Special/Special_Reset.Designer.cs

@@ -65,13 +65,12 @@
             this.bigboxBtn.AutoSize = true;
             this.bigboxBtn.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.bigboxBtn.Location = new System.Drawing.Point(21, 4);
-            this.bigboxBtn.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.bigboxBtn.Margin = new System.Windows.Forms.Padding(4);
             this.bigboxBtn.Name = "bigboxBtn";
             this.bigboxBtn.Size = new System.Drawing.Size(113, 45);
             this.bigboxBtn.TabIndex = 234;
             this.bigboxBtn.Text = "箱号";
             this.bigboxBtn.UseVisualStyleBackColor = true;
-            this.bigboxBtn.Visible = false;
             this.bigboxBtn.Click += new System.EventHandler(this.bigboxBtn_Click);
             // 
             // serBtn
@@ -80,7 +79,7 @@
             this.serBtn.Checked = true;
             this.serBtn.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.serBtn.Location = new System.Drawing.Point(160, 4);
-            this.serBtn.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.serBtn.Margin = new System.Windows.Forms.Padding(4);
             this.serBtn.Name = "serBtn";
             this.serBtn.Size = new System.Drawing.Size(209, 45);
             this.serBtn.TabIndex = 233;
@@ -177,7 +176,7 @@
             this.数据清空.Image = null;
             this.数据清空.IsShowBorder = true;
             this.数据清空.Location = new System.Drawing.Point(947, 800);
-            this.数据清空.Margin = new System.Windows.Forms.Padding(5, 5, 5, 5);
+            this.数据清空.Margin = new System.Windows.Forms.Padding(5);
             this.数据清空.MoveImage = ((System.Drawing.Image)(resources.GetObject("数据清空.MoveImage")));
             this.数据清空.Name = "数据清空";
             this.数据清空.NormalImage = ((System.Drawing.Image)(resources.GetObject("数据清空.NormalImage")));
@@ -225,7 +224,7 @@
             this.cd_stepcode.Font = new System.Drawing.Font("微软雅黑", 9F);
             this.cd_stepcode.FormName = null;
             this.cd_stepcode.Location = new System.Drawing.Point(947, 83);
-            this.cd_stepcode.Margin = new System.Windows.Forms.Padding(5, 5, 5, 5);
+            this.cd_stepcode.Margin = new System.Windows.Forms.Padding(5);
             this.cd_stepcode.Name = "cd_stepcode";
             this.cd_stepcode.Power = "ifspecial";
             this.cd_stepcode.ReturnData = null;
@@ -244,7 +243,7 @@
             this.cr_code.Font = new System.Drawing.Font("微软雅黑", 9F);
             this.cr_code.ID = null;
             this.cr_code.Location = new System.Drawing.Point(564, 80);
-            this.cr_code.Margin = new System.Windows.Forms.Padding(5, 5, 5, 5);
+            this.cr_code.Margin = new System.Windows.Forms.Padding(5);
             this.cr_code.Name = "cr_code";
             this.cr_code.Power = "ifspecial";
             this.cr_code.ReadOnly = true;
@@ -260,7 +259,7 @@
             // 
             this.OperatResult.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.OperatResult.Location = new System.Drawing.Point(21, 867);
-            this.OperatResult.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.OperatResult.Margin = new System.Windows.Forms.Padding(4);
             this.OperatResult.Name = "OperatResult";
             this.OperatResult.Size = new System.Drawing.Size(1551, 241);
             this.OperatResult.TabIndex = 3;
@@ -272,7 +271,7 @@
             this.input.BackColor = System.Drawing.Color.White;
             this.input.ID = null;
             this.input.Location = new System.Drawing.Point(160, 85);
-            this.input.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.input.Margin = new System.Windows.Forms.Padding(4);
             this.input.Name = "input";
             this.input.Power = null;
             this.input.Size = new System.Drawing.Size(292, 35);
@@ -290,7 +289,7 @@
             this.Split.Image = null;
             this.Split.IsShowBorder = true;
             this.Split.Location = new System.Drawing.Point(947, 216);
-            this.Split.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.Split.Margin = new System.Windows.Forms.Padding(4);
             this.Split.MoveImage = ((System.Drawing.Image)(resources.GetObject("Split.MoveImage")));
             this.Split.Name = "Split";
             this.Split.NormalImage = ((System.Drawing.Image)(resources.GetObject("Split.NormalImage")));
@@ -324,7 +323,7 @@
             this.Controls.Add(this.Pallet_label);
             this.Controls.Add(this.Split);
             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
-            this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.Margin = new System.Windows.Forms.Padding(4);
             this.Name = "Special_Reset";
             this.Tag = "Special!Reset";
             this.Text = "重置站点";

+ 7 - 2
UAS_MES_LGDZ/FunctionCode/Special/Special_Reset.cs

@@ -53,7 +53,7 @@ namespace UAS_MES_NEW.Special
             DataTable dt = (DataTable)dh.ExecuteSql("select ms_paststep from makeserial where ms_sncode ='" + sncode + "' order by ms_id desc", "select");
             if (!dt.Rows[0]["ms_paststep"].ToString().Contains(cd_stepcode.Text))
             {
-                OperatResult.AppendText(">>序列号"+ sncode + "不允许回流到未执行工序\n", Color.Red);
+                OperatResult.AppendText(">>序列号" + sncode + "不允许回流到未执行工序\n", Color.Red);
                 return false;
             }
             string stname = dh.getFieldDataByCondition("step", "st_name", "st_code = '" + stepcode + "'").ToString();
@@ -208,7 +208,7 @@ namespace UAS_MES_NEW.Special
                 }
                 else if (bigboxBtn.Checked)
                 {
-                    dt = (DataTable)dh.ExecuteSql("select pa_makecode ms_makecode,pa_prodcode ms_prodcode,pa_outboxcode,pa_mothercode,ma_craftcode cr_code from package left join make on pa_makecode = ma_code where pa_outboxcode = '" + input.Text + "' and pa_type = '1'", "select");
+                    dt = (DataTable)dh.ExecuteSql("select pa_makecode ms_makecode,pa_prodcode ms_prodcode,pa_outboxcode,pa_mothercode,ma_craftcode,nvl(pa_iostatus,0)pa_iostatus, cr_code from package left join make on pa_makecode = ma_code where pa_outboxcode = '" + input.Text + "' and pa_type = '1'", "select");
                     if (dt.Rows.Count > 0)
                     {
                         if (ms_makecode.Text != "" && dt.Rows[0]["ms_makecode"].ToString() != ms_makecode.Text)
@@ -216,6 +216,11 @@ namespace UAS_MES_NEW.Special
                             OperatResult.AppendText("SN:" + input.Text + "所属工单" + dt.Rows[0]["ms_makecode"].ToString() + "与当前工单" + ms_makecode.Text + "不一致\n", Color.Red, input);
                             return;
                         }
+                        if (dt.Rows[0]["pa_iostatus"].ToString() != "0")
+                        {
+                            OperatResult.AppendText("卡通箱:" + input.Text + "处于状态入库状态,不允许采集\n", Color.Red, input);
+                            return;
+                        }
                         if (dt.Rows[0]["pa_mothercode"].ToString() != "")
                         {
                             OperatResult.AppendText("卡通箱:" + input.Text + "已装栈板" + dt.Rows[0]["pa_mothercode"].ToString() + ",不允许采集\n", Color.Red, input);

+ 180 - 173
UAS_MES_LGDZ/FunctionCode/SystemSetting/SystemSetting_PrinterTest.Designer.cs

@@ -34,24 +34,25 @@
             this.label2 = new System.Windows.Forms.Label();
             this.label1 = new System.Windows.Forms.Label();
             this.Date = new System.Windows.Forms.DateTimePicker();
-            this.label5 = new System.Windows.Forms.Label();
-            this.label4 = new System.Windows.Forms.Label();
             this.label6 = new System.Windows.Forms.Label();
-            this.label7 = new System.Windows.Forms.Label();
-            this.SN = new System.Windows.Forms.RadioButton();
-            this.Material = new System.Windows.Forms.RadioButton();
-            this.pictureBox1 = new System.Windows.Forms.PictureBox();
-            this.Mark = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.EnterTextBox();
-            this.MachineType = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.EnterTextBox();
-            this.ma_code = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.EnterTextBox();
+            this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
             this.Export = new UAS_MES_NEW.CustomControl.ButtonUtil.NormalButton();
             this.Rn = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.EnterTextBox();
             this.Num = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.EnterTextBox();
-            this.Prefix = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.EnterTextBox();
             this.Setting = new UAS_MES_NEW.CustomControl.ButtonUtil.NormalButton();
             this.PrinterList = new UAS_MES_NEW.CustomControl.ComBoxWithFocus.PrinterCombox();
             this.PrintTest = new UAS_MES_NEW.CustomControl.ButtonUtil.NormalButton();
-            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+            this.ma_printcount = new System.Windows.Forms.Label();
+            this.ma_qty = new System.Windows.Forms.Label();
+            this.lade = new System.Windows.Forms.Label();
+            this.label7 = new System.Windows.Forms.Label();
+            this.ma_code = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.SearchTextBox();
+            this.label5 = new System.Windows.Forms.Label();
+            this.pr_detail = new System.Windows.Forms.Label();
+            this.label4 = new System.Windows.Forms.Label();
+            this.pr_code = new UAS_MES_NEW.CustomControl.TextBoxWithIcon.EnterTextBox();
+            this.label8 = new System.Windows.Forms.Label();
+            ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
             this.SuspendLayout();
             // 
             // ma_salecode_label
@@ -72,165 +73,64 @@
             // 
             this.label3.AutoSize = true;
             this.label3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label3.Location = new System.Drawing.Point(162, 415);
+            this.label3.Location = new System.Drawing.Point(211, 703);
             this.label3.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
             this.label3.Name = "label3";
-            this.label3.Size = new System.Drawing.Size(146, 41);
+            this.label3.Size = new System.Drawing.Size(82, 41);
             this.label3.TabIndex = 31;
-            this.label3.Text = "起始流水";
+            this.label3.Text = "流水";
             // 
             // label2
             // 
             this.label2.AutoSize = true;
             this.label2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label2.Location = new System.Drawing.Point(1321, 107);
+            this.label2.Location = new System.Drawing.Point(211, 468);
             this.label2.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
             this.label2.Name = "label2";
             this.label2.Size = new System.Drawing.Size(82, 41);
             this.label2.TabIndex = 29;
             this.label2.Text = "日期";
-            this.label2.Visible = false;
             // 
             // label1
             // 
             this.label1.AutoSize = true;
             this.label1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label1.Location = new System.Drawing.Point(162, 340);
+            this.label1.Location = new System.Drawing.Point(211, 547);
             this.label1.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
             this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(146, 41);
+            this.label1.Size = new System.Drawing.Size(82, 41);
             this.label1.TabIndex = 28;
-            this.label1.Text = "打印数量";
+            this.label1.Text = "数量";
             // 
             // Date
             // 
-            this.Date.Location = new System.Drawing.Point(1470, 125);
+            this.Date.Location = new System.Drawing.Point(356, 468);
             this.Date.Name = "Date";
             this.Date.Size = new System.Drawing.Size(278, 35);
             this.Date.TabIndex = 26;
-            this.Date.Visible = false;
-            // 
-            // label5
-            // 
-            this.label5.AutoSize = true;
-            this.label5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label5.Location = new System.Drawing.Point(162, 259);
-            this.label5.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
-            this.label5.Name = "label5";
-            this.label5.Size = new System.Drawing.Size(146, 41);
-            this.label5.TabIndex = 24;
-            this.label5.Text = "条码内容";
-            // 
-            // label4
-            // 
-            this.label4.AutoSize = true;
-            this.label4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label4.Location = new System.Drawing.Point(162, 187);
-            this.label4.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
-            this.label4.Name = "label4";
-            this.label4.Size = new System.Drawing.Size(170, 41);
-            this.label4.TabIndex = 33;
-            this.label4.Text = "工单号XX-";
             // 
             // label6
             // 
             this.label6.AutoSize = true;
             this.label6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label6.Location = new System.Drawing.Point(725, 196);
+            this.label6.Location = new System.Drawing.Point(171, 628);
             this.label6.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
             this.label6.Name = "label6";
-            this.label6.Size = new System.Drawing.Size(210, 41);
-            this.label6.TabIndex = 35;
-            this.label6.Text = "机型相关配置";
-            // 
-            // 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.Location = new System.Drawing.Point(725, 284);
-            this.label7.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
-            this.label7.Name = "label7";
-            this.label7.Size = new System.Drawing.Size(146, 41);
-            this.label7.TabIndex = 37;
-            this.label7.Text = "工单代号";
-            // 
-            // SN
-            // 
-            this.SN.AutoSize = true;
-            this.SN.Checked = true;
-            this.SN.Location = new System.Drawing.Point(356, 60);
-            this.SN.Name = "SN";
-            this.SN.Size = new System.Drawing.Size(161, 28);
-            this.SN.TabIndex = 39;
-            this.SN.TabStop = true;
-            this.SN.Text = "内部序列号";
-            this.SN.UseVisualStyleBackColor = true;
-            this.SN.CheckedChanged += new System.EventHandler(this.SN_CheckedChanged);
-            // 
-            // Material
-            // 
-            this.Material.AutoSize = true;
-            this.Material.Location = new System.Drawing.Point(545, 60);
-            this.Material.Name = "Material";
-            this.Material.Size = new System.Drawing.Size(137, 28);
-            this.Material.TabIndex = 40;
-            this.Material.Text = "物料条码";
-            this.Material.UseVisualStyleBackColor = true;
-            // 
-            // pictureBox1
-            // 
-            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
-            this.pictureBox1.Location = new System.Drawing.Point(732, 349);
-            this.pictureBox1.Name = "pictureBox1";
-            this.pictureBox1.Size = new System.Drawing.Size(1035, 554);
-            this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
-            this.pictureBox1.TabIndex = 41;
-            this.pictureBox1.TabStop = false;
-            // 
-            // Mark
-            // 
-            this.Mark.AllPower = null;
-            this.Mark.BackColor = System.Drawing.Color.White;
-            this.Mark.ID = null;
-            this.Mark.Location = new System.Drawing.Point(969, 281);
-            this.Mark.Margin = new System.Windows.Forms.Padding(6);
-            this.Mark.Name = "Mark";
-            this.Mark.Power = null;
-            this.Mark.Size = new System.Drawing.Size(278, 35);
-            this.Mark.Str = null;
-            this.Mark.Str1 = null;
-            this.Mark.Str2 = null;
-            this.Mark.TabIndex = 38;
-            // 
-            // MachineType
-            // 
-            this.MachineType.AllPower = null;
-            this.MachineType.BackColor = System.Drawing.Color.White;
-            this.MachineType.ID = null;
-            this.MachineType.Location = new System.Drawing.Point(969, 196);
-            this.MachineType.Margin = new System.Windows.Forms.Padding(6);
-            this.MachineType.Name = "MachineType";
-            this.MachineType.Power = null;
-            this.MachineType.Size = new System.Drawing.Size(278, 35);
-            this.MachineType.Str = null;
-            this.MachineType.Str1 = null;
-            this.MachineType.Str2 = null;
-            this.MachineType.TabIndex = 36;
-            // 
-            // ma_code
-            // 
-            this.ma_code.AllPower = null;
-            this.ma_code.BackColor = System.Drawing.Color.White;
-            this.ma_code.ID = null;
-            this.ma_code.Location = new System.Drawing.Point(356, 196);
-            this.ma_code.Margin = new System.Windows.Forms.Padding(6);
-            this.ma_code.Name = "ma_code";
-            this.ma_code.Power = null;
-            this.ma_code.Size = new System.Drawing.Size(278, 35);
-            this.ma_code.Str = null;
-            this.ma_code.Str1 = null;
-            this.ma_code.Str2 = null;
-            this.ma_code.TabIndex = 34;
+            this.label6.Size = new System.Drawing.Size(146, 41);
+            this.label6.TabIndex = 36;
+            this.label6.Text = "流水长度";
+            // 
+            // numericUpDown1
+            // 
+            this.numericUpDown1.Location = new System.Drawing.Point(356, 634);
+            this.numericUpDown1.Name = "numericUpDown1";
+            this.numericUpDown1.Size = new System.Drawing.Size(120, 35);
+            this.numericUpDown1.TabIndex = 37;
+            this.numericUpDown1.Value = new decimal(new int[] {
+            6,
+            0,
+            0,
+            0});
             // 
             // Export
             // 
@@ -239,7 +139,7 @@
             this.Export.DownImage = ((System.Drawing.Image)(resources.GetObject("Export.DownImage")));
             this.Export.Image = null;
             this.Export.IsShowBorder = true;
-            this.Export.Location = new System.Drawing.Point(356, 656);
+            this.Export.Location = new System.Drawing.Point(356, 865);
             this.Export.Margin = new System.Windows.Forms.Padding(6);
             this.Export.MoveImage = ((System.Drawing.Image)(resources.GetObject("Export.MoveImage")));
             this.Export.Name = "Export";
@@ -256,7 +156,7 @@
             this.Rn.AllPower = null;
             this.Rn.BackColor = System.Drawing.Color.White;
             this.Rn.ID = null;
-            this.Rn.Location = new System.Drawing.Point(356, 424);
+            this.Rn.Location = new System.Drawing.Point(356, 712);
             this.Rn.Margin = new System.Windows.Forms.Padding(6);
             this.Rn.Name = "Rn";
             this.Rn.Power = null;
@@ -272,7 +172,7 @@
             this.Num.AllPower = null;
             this.Num.BackColor = System.Drawing.Color.White;
             this.Num.ID = null;
-            this.Num.Location = new System.Drawing.Point(356, 349);
+            this.Num.Location = new System.Drawing.Point(356, 553);
             this.Num.Margin = new System.Windows.Forms.Padding(6);
             this.Num.Name = "Num";
             this.Num.Power = null;
@@ -282,21 +182,6 @@
             this.Num.Str2 = null;
             this.Num.TabIndex = 27;
             // 
-            // Prefix
-            // 
-            this.Prefix.AllPower = null;
-            this.Prefix.BackColor = System.Drawing.Color.White;
-            this.Prefix.ID = null;
-            this.Prefix.Location = new System.Drawing.Point(356, 268);
-            this.Prefix.Margin = new System.Windows.Forms.Padding(6);
-            this.Prefix.Name = "Prefix";
-            this.Prefix.Power = null;
-            this.Prefix.Size = new System.Drawing.Size(278, 35);
-            this.Prefix.Str = null;
-            this.Prefix.Str1 = null;
-            this.Prefix.Str2 = null;
-            this.Prefix.TabIndex = 25;
-            // 
             // Setting
             // 
             this.Setting.AllPower = null;
@@ -346,20 +231,143 @@
             this.PrintTest.UseVisualStyleBackColor = true;
             this.PrintTest.Click += new System.EventHandler(this.PrintTest_Click);
             // 
+            // ma_printcount
+            // 
+            this.ma_printcount.AutoSize = true;
+            this.ma_printcount.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.ma_printcount.Location = new System.Drawing.Point(650, 247);
+            this.ma_printcount.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.ma_printcount.Name = "ma_printcount";
+            this.ma_printcount.Size = new System.Drawing.Size(0, 41);
+            this.ma_printcount.TabIndex = 237;
+            // 
+            // ma_qty
+            // 
+            this.ma_qty.AutoSize = true;
+            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(349, 247);
+            this.ma_qty.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.ma_qty.Name = "ma_qty";
+            this.ma_qty.Size = new System.Drawing.Size(0, 41);
+            this.ma_qty.TabIndex = 236;
+            // 
+            // lade
+            // 
+            this.lade.AutoSize = true;
+            this.lade.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lade.Location = new System.Drawing.Point(492, 247);
+            this.lade.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.lade.Name = "lade";
+            this.lade.Size = new System.Drawing.Size(146, 41);
+            this.lade.TabIndex = 235;
+            this.lade.Text = "已打印数";
+            // 
+            // 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.Location = new System.Drawing.Point(171, 247);
+            this.label7.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.label7.Name = "label7";
+            this.label7.Size = new System.Drawing.Size(146, 41);
+            this.label7.TabIndex = 234;
+            this.label7.Text = "工单数量";
+            // 
+            // ma_code
+            // 
+            this.ma_code.AllPower = "IFALL";
+            this.ma_code.Caller = null;
+            this.ma_code.Condition = null;
+            this.ma_code.DBTitle = "";
+            this.ma_code.Font = new System.Drawing.Font("微软雅黑", 9F);
+            this.ma_code.FormName = null;
+            this.ma_code.Location = new System.Drawing.Point(356, 181);
+            this.ma_code.Margin = new System.Windows.Forms.Padding(6);
+            this.ma_code.Name = "ma_code";
+            this.ma_code.Power = "";
+            this.ma_code.ReturnData = null;
+            this.ma_code.SelectField = null;
+            this.ma_code.SetValueField = null;
+            this.ma_code.Size = new System.Drawing.Size(409, 46);
+            this.ma_code.TabIndex = 233;
+            this.ma_code.TableName = null;
+            this.ma_code.Tag = "makecode";
+            this.ma_code.TextBoxEnable = true;
+            // 
+            // label5
+            // 
+            this.label5.AutoSize = true;
+            this.label5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label5.Location = new System.Drawing.Point(171, 181);
+            this.label5.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.label5.Name = "label5";
+            this.label5.Size = new System.Drawing.Size(146, 41);
+            this.label5.TabIndex = 232;
+            this.label5.Text = "工单编号";
+            // 
+            // pr_detail
+            // 
+            this.pr_detail.AutoSize = true;
+            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(349, 397);
+            this.pr_detail.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.pr_detail.Name = "pr_detail";
+            this.pr_detail.Size = new System.Drawing.Size(0, 41);
+            this.pr_detail.TabIndex = 241;
+            // 
+            // label4
+            // 
+            this.label4.AutoSize = true;
+            this.label4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label4.Location = new System.Drawing.Point(171, 397);
+            this.label4.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.label4.Name = "label4";
+            this.label4.Size = new System.Drawing.Size(146, 41);
+            this.label4.TabIndex = 240;
+            this.label4.Text = "产品名称";
+            // 
+            // pr_code
+            // 
+            this.pr_code.AllPower = null;
+            this.pr_code.BackColor = System.Drawing.Color.White;
+            this.pr_code.ID = null;
+            this.pr_code.Location = new System.Drawing.Point(356, 329);
+            this.pr_code.Name = "pr_code";
+            this.pr_code.Power = null;
+            this.pr_code.Size = new System.Drawing.Size(388, 35);
+            this.pr_code.Str = null;
+            this.pr_code.Str1 = null;
+            this.pr_code.Str2 = null;
+            this.pr_code.TabIndex = 239;
+            // 
+            // label8
+            // 
+            this.label8.AutoSize = true;
+            this.label8.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label8.Location = new System.Drawing.Point(171, 320);
+            this.label8.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.label8.Name = "label8";
+            this.label8.Size = new System.Drawing.Size(146, 41);
+            this.label8.TabIndex = 238;
+            this.label8.Text = "产品代码";
+            // 
             // SystemSetting_PrinterTest
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(12F, 24F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.ClientSize = new System.Drawing.Size(2034, 1118);
-            this.Controls.Add(this.pictureBox1);
-            this.Controls.Add(this.Material);
-            this.Controls.Add(this.SN);
-            this.Controls.Add(this.Mark);
+            this.Controls.Add(this.pr_detail);
+            this.Controls.Add(this.label4);
+            this.Controls.Add(this.pr_code);
+            this.Controls.Add(this.label8);
+            this.Controls.Add(this.ma_printcount);
+            this.Controls.Add(this.ma_qty);
+            this.Controls.Add(this.lade);
             this.Controls.Add(this.label7);
-            this.Controls.Add(this.MachineType);
-            this.Controls.Add(this.label6);
             this.Controls.Add(this.ma_code);
-            this.Controls.Add(this.label4);
+            this.Controls.Add(this.label5);
+            this.Controls.Add(this.numericUpDown1);
+            this.Controls.Add(this.label6);
             this.Controls.Add(this.Export);
             this.Controls.Add(this.label3);
             this.Controls.Add(this.Rn);
@@ -367,8 +375,6 @@
             this.Controls.Add(this.label1);
             this.Controls.Add(this.Num);
             this.Controls.Add(this.Date);
-            this.Controls.Add(this.Prefix);
-            this.Controls.Add(this.label5);
             this.Controls.Add(this.Setting);
             this.Controls.Add(this.PrinterList);
             this.Controls.Add(this.PrintTest);
@@ -379,7 +385,7 @@
             this.Tag = "Setup!PrinterTest";
             this.Text = "打印机调试";
             this.Load += new System.EventHandler(this.SystemSetting_PrinterTest_Load);
-            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
             this.ResumeLayout(false);
             this.PerformLayout();
 
@@ -396,17 +402,18 @@
         private System.Windows.Forms.Label label1;
         private CustomControl.TextBoxWithIcon.EnterTextBox Num;
         private System.Windows.Forms.DateTimePicker Date;
-        private CustomControl.TextBoxWithIcon.EnterTextBox Prefix;
-        private System.Windows.Forms.Label label5;
         private CustomControl.ButtonUtil.NormalButton Export;
-        private CustomControl.TextBoxWithIcon.EnterTextBox ma_code;
-        private System.Windows.Forms.Label label4;
-        private CustomControl.TextBoxWithIcon.EnterTextBox MachineType;
         private System.Windows.Forms.Label label6;
-        private CustomControl.TextBoxWithIcon.EnterTextBox Mark;
+        private System.Windows.Forms.NumericUpDown numericUpDown1;
+        private System.Windows.Forms.Label ma_printcount;
+        private System.Windows.Forms.Label ma_qty;
+        private System.Windows.Forms.Label lade;
         private System.Windows.Forms.Label label7;
-        private System.Windows.Forms.RadioButton SN;
-        private System.Windows.Forms.RadioButton Material;
-        private System.Windows.Forms.PictureBox pictureBox1;
+        private CustomControl.TextBoxWithIcon.SearchTextBox ma_code;
+        private System.Windows.Forms.Label label5;
+        private System.Windows.Forms.Label pr_detail;
+        private System.Windows.Forms.Label label4;
+        private CustomControl.TextBoxWithIcon.EnterTextBox pr_code;
+        private System.Windows.Forms.Label label8;
     }
 }

+ 72 - 85
UAS_MES_LGDZ/FunctionCode/SystemSetting/SystemSetting_PrinterTest.cs

@@ -1,10 +1,17 @@
 using Seagull.BarTender.Print;
 using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
 using System.Drawing;
 using System.Drawing.Printing;
+using System.Linq;
+using System.Text;
 using System.Windows.Forms;
 using UAS_MES_NEW.DataOperate;
 using UAS_MES_NEW.Entity;
+using UAS_MES_NEW.PublicMethod;
+using static System.Runtime.CompilerServices.RuntimeHelpers;
 
 namespace UAS_MES_NEW.SystemSetting
 {
@@ -14,10 +21,10 @@ namespace UAS_MES_NEW.SystemSetting
         Engine engine = new Engine();
 
         LabelFormatDocument format;
-        LabelFormatDocument format1;
 
         DataHelper dh = SystemInf.dh;
 
+        DataTable Dbfind;
         public SystemSetting_PrinterTest()
         {
             InitializeComponent();
@@ -51,71 +58,63 @@ namespace UAS_MES_NEW.SystemSetting
 
         private void Export_Click(object sender, EventArgs e)
         {
-            if (SN.Checked)
+            if (!dh.CheckExist("make", "ma_code='" + ma_code.Text + "'"))
             {
-                if (!dh.CheckExist("make", "ma_code='" + ma_code.Text + "'"))
+                MessageBox.Show("工单号不存在");
+                return;
+            }
+            /*DataTable dt = (DataTable)dh.ExecuteSql("select pr_machinetype from make left join  product on ma_prodcode=pr_code where ma_code='" + ma_code.Text + "'", "select");
+            if (dt.Rows.Count > 0)
+            {
+                string pr_machinetype = dt.Rows[0]["pr_machinetype"].ToString();
+                if (pr_machinetype != Prefix.Text)
                 {
-                    MessageBox.Show("工单号不存在");
+                    MessageBox.Show("前缀和产品机型" + pr_machinetype + "不匹配");
                     return;
                 }
-                format.SubStrings["Type"].Value = MachineType.Text;
-                format.SubStrings["Mark"].Value = Mark.Text;
-                for (int i = int.Parse(Rn.Text); i < (int.Parse(Num.Text) + int.Parse(Rn.Text)); i = i + 2)
+            }*/
+            for (int i = int.Parse(Rn.Text); i < (int.Parse(Num.Text) + int.Parse(Rn.Text)); i = i + 4)
+            {
+                int temp = i;
+                for (int j = 0; j < format.SubStrings.Count; j++)
                 {
-                    int temp = i;
-                    for (int j = 0; j < format.SubStrings.Count; j++)
+                    switch (format.SubStrings[j].Name)
                     {
-                        switch (format.SubStrings[j].Name)
-                        {
-                            case "SN":
-                                format.SubStrings[j].Value = (ma_code.Text.Replace("XX-", "") + lpad(4, (temp).ToString()));
-                                if (!dh.CheckExist("makesnlist", "msl_sncode='" + format.SubStrings[j].Value + "'"))
-                                {
-                                    dh.ExecuteSql("insert into makesnlist(msl_id,msl_indate,msl_makecode,msl_sncode,msl_type)values(makesnlist_seq.nextval,sysdate,'" + ma_code.Text + "','" + format.SubStrings[j].Value + "','before')", "insert");
-                                };
-                                break;
-                            case "SN2":
-                                format.SubStrings[j].Value = (ma_code.Text.Replace("XX-", "") + lpad(4, (temp + 1).ToString()));
-                                if (!dh.CheckExist("makesnlist", "msl_sncode='" + format.SubStrings[j].Value + "'"))
-                                {
-                                    dh.ExecuteSql("insert into makesnlist(msl_id,msl_indate,msl_makecode,msl_sncode,msl_type)values(makesnlist_seq.nextval,sysdate,'" + ma_code.Text + "','" + format.SubStrings[j].Value + "','before')", "insert");
-                                };
-                                break;
-                            default:
-                                break;
-                        }
+                        case "SN":
+                            format.SubStrings[j].Value = (ma_code.Text + Date.Value.ToString("yyyyMMdd") + lpad(int.Parse(numericUpDown1.Value.ToString()), (temp).ToString()));
+                            if (!dh.CheckExist("makesnlist", "msl_sncode='" + format.SubStrings[j].Value + "' and msl_makecode='" + ma_code.Text + "'"))
+                                dh.ExecuteSql("insert into makesnlist(msl_id,msl_indate,msl_makecode,msl_sncode,msl_type,msl_printstatus)values(makesnlist_seq.nextval,sysdate,'" + ma_code.Text + "','" + format.SubStrings[j].Value + "','before',-1)", "insert");
+                            break;
+                        case "SN2":
+                            format.SubStrings[j].Value = (ma_code.Text + Date.Value.ToString("yyyyMMdd") + lpad(int.Parse(numericUpDown1.Value.ToString()), (temp + 1).ToString()));
+                            if (!dh.CheckExist("makesnlist", "msl_sncode='" + format.SubStrings[j].Value + "' and msl_makecode='" + ma_code.Text + "'"))
+                                dh.ExecuteSql("insert into makesnlist(msl_id,msl_indate,msl_makecode,msl_sncode,msl_type,msl_printstatus)values(makesnlist_seq.nextval,sysdate,'" + ma_code.Text + "','" + format.SubStrings[j].Value + "','before',-1)", "insert");
+                            break;
+                        case "SN3":
+                            format.SubStrings[j].Value = (ma_code.Text + Date.Value.ToString("yyyyMMdd") + lpad(int.Parse(numericUpDown1.Value.ToString()), (temp + 2).ToString()));
+                            if (!dh.CheckExist("makesnlist", "msl_sncode='" + format.SubStrings[j].Value + "' and msl_makecode='" + ma_code.Text + "'"))
+                                dh.ExecuteSql("insert into makesnlist(msl_id,msl_indate,msl_makecode,msl_sncode,msl_type,msl_printstatus)values(makesnlist_seq.nextval,sysdate,'" + ma_code.Text + "','" + format.SubStrings[j].Value + "','before',-1)", "insert");
+                            break;
+                        case "SN4":
+                            format.SubStrings[j].Value = (ma_code.Text + Date.Value.ToString("yyyyMMdd") + lpad(int.Parse(numericUpDown1.Value.ToString()), (temp + 3).ToString()));
+                            if (!dh.CheckExist("makesnlist", "msl_sncode='" + format.SubStrings[j].Value + "' and msl_makecode='" + ma_code.Text + "'"))
+                                dh.ExecuteSql("insert into makesnlist(msl_id,msl_indate,msl_makecode,msl_sncode,msl_type,msl_printstatus)values(makesnlist_seq.nextval,sysdate,'" + ma_code.Text + "','" + format.SubStrings[j].Value + "','before',-1)", "insert");
+                            break;
+                        default:
+                            break;
                     }
-                    format.PrintSetup.PrinterName = PrinterList.Text;
-                    format.PrintSetup.IdenticalCopiesOfLabel = 1;
-                    format.Print();
                 }
-            }
-            else
-            {
-                format1.SubStrings["Mark"].Value = MachineType.Text;
-                for (int i = int.Parse(Rn.Text); i < (int.Parse(Num.Text) + int.Parse(Rn.Text)); i = i + 3)
+                format.PrintSetup.PrinterName = PrinterList.Text;
+                format.PrintSetup.IdenticalCopiesOfLabel = 1;
+                format.Print();
+
+                DataTable dt = (DataTable)dh.ExecuteSql("select ma_qty,ma_prodcode,pr_detail,ma_printnum from make left join product on ma_prodcode=pr_code left join (select count(1)ma_printnum,msl_makecode from makesnlist where msl_printstatus=-1 group by msl_makecode) on msl_makecode=ma_code where ma_code='" + ma_code.Text + "'", "select");
+                if (dt.Rows.Count > 0)
                 {
-                    int temp = i;
-                    for (int j = 0; j < format1.SubStrings.Count; j++)
-                    {
-                        switch (format1.SubStrings[j].Name)
-                        {
-                            case "SN":
-                                format1.SubStrings[j].Value = (Prefix.Text/*+ lpad(4, (temp ).ToString())*/);
-                                break;
-                            case "SN2":
-                                format1.SubStrings[j].Value = (Prefix.Text /*+ lpad(4, (temp + 1).ToString())*/);
-                                break;
-                            case "SN3":
-                                format1.SubStrings[j].Value = (Prefix.Text /*+ lpad(4, (temp + 2).ToString())*/);
-                                break;
-                            default:
-                                break;
-                        }
-                    }
-                    format1.PrintSetup.PrinterName = PrinterList.Text;
-                    format1.PrintSetup.IdenticalCopiesOfLabel = 1;
-                    format1.Print();
+                    pr_code.Text = dt.Rows[0]["ma_prodcode"].ToString();
+                    ma_qty.Text = dt.Rows[0]["ma_qty"].ToString();
+                    ma_printcount.Text = dt.Rows[0]["ma_printnum"].ToString();
+                    pr_detail.Text = dt.Rows[0]["pr_detail"].ToString();
                 }
             }
         }
@@ -132,40 +131,28 @@ namespace UAS_MES_NEW.SystemSetting
 
         private void SystemSetting_PrinterTest_Load(object sender, EventArgs e)
         {
-            label5.Visible = false;
-            Prefix.Visible = false;
             engine.Start();
             format = engine.Documents.Open(Application.StartupPath + "/Label.btw");
-            format1 = engine.Documents.Open(Application.StartupPath + "/Material.btw");
+
+            ma_code.TableName = " make left join product on ma_prodcode=pr_code";
+            ma_code.SelectField = "ma_code # 工单编号,pr_code # 产品编号,pr_spec # 型号";
+            ma_code.FormName = Name;
+            ma_code.SetValueField = new string[] { "ma_code" };
+            ma_code.Condition = "ma_statuscode='STARTED'";
+            ma_code.DbChange += pr_code_DbChange;
         }
 
-        private void SN_CheckedChanged(object sender, EventArgs e)
+        private void pr_code_DbChange(object sender, EventArgs e)
         {
-            if (SN.Checked)
-            {
-                label6.Text = "机型相关配置";
-                label5.Visible = false;
-                Prefix.Visible = false;
-                label7.Visible = true;
-                ma_code.Visible = true;
-                label4.Visible = true;
-                Mark.Visible = true;
-                Rn.Visible = true;
-                label3.Visible = true;
-                this.pictureBox1.Image = global::UAS_MES_NEW.Properties.Resources.SN;
-            }
-            else
+            Dbfind = ma_code.ReturnData;
+            BaseUtil.SetFormValue(this.Controls, Dbfind);
+            DataTable dt = (DataTable)dh.ExecuteSql("select ma_qty,ma_prodcode,pr_detail,ma_printnum from make left join product on ma_prodcode=pr_code left join (select count(1)ma_printnum,mil_makecode from makeimeilist where mil_printstatus=-1 group by mil_makecode) on mil_makecode=ma_code where ma_code='" + ma_code.Text + "'", "select");
+            if (dt.Rows.Count > 0)
             {
-                this.pictureBox1.Image = global::UAS_MES_NEW.Properties.Resources.Material;
-                label6.Text = "标签部分(显示)";
-                label5.Visible = true;
-                Prefix.Visible = true;
-                Rn.Visible = false;
-                label3.Visible = false;
-                label7.Visible = false;
-                ma_code.Visible = false;
-                label4.Visible = false;
-                Mark.Visible = false;
+                pr_code.Text = dt.Rows[0]["ma_prodcode"].ToString();
+                ma_qty.Text = dt.Rows[0]["ma_qty"].ToString();
+                ma_printcount.Text = dt.Rows[0]["ma_printnum"].ToString();
+                pr_detail.Text = dt.Rows[0]["pr_detail"].ToString();
             }
         }
     }

+ 2 - 811
UAS_MES_LGDZ/FunctionCode/SystemSetting/SystemSetting_PrinterTest.resx

@@ -118,815 +118,6 @@
     <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="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-        gg==
-</value>
-  </data>
   <data name="Export.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAAEUAAAAWCAYAAACWl1FwAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
@@ -1024,7 +215,7 @@
         RudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WP
         lR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+l
         f65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeK
-        j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEwAACxMBAJqcGAAACfBJREFUeF7t3dtuFFcC
+        j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAACfBJREFUeF7t3dtuFFcC
         heFc5VWQRsrL5T0iRcrDkJAjJOADNjbdbvD5iE9tu302RIq0Z6+ynWkmS6oZrlys/+KT8FJX3f2bcmPa
         X5RSAISyI4AMdgSQwY4AMtgRQAY7AshgRwAZ7Agggx0BZLAjgAx2BJDBjgAy2BFABjsCyGBHABnsCCCD
         HQFksCOADHYEkMGOADLYEUAGOwLIYEcAGewIIIMdAWSwI4AMdgSQwY4AMtgRQAY7AshgRwAZ7Agggx0B
@@ -1155,7 +346,7 @@
         RudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WP
         lR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+l
         f65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeK
-        j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEwAACxMBAJqcGAAACfBJREFUeF7t3dtuFFcC
+        j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAACfBJREFUeF7t3dtuFFcC
         heFc5VWQRsrL5T0iRcrDkJAjJOADNjbdbvD5iE9tu302RIq0Z6+ynWkmS6oZrlys/+KT8FJX3f2bcmPa
         X5RSAISyI4AMdgSQwY4AMtgRQAY7AshgRwAZ7Agggx0BZLAjgAx2BJDBjgAy2BFABjsCyGBHABnsCCCD
         HQFksCOADHYEkMGOADLYEUAGOwLIYEcAGewIIIMdAWSwI4AMdgSQwY4AMtgRQAY7AshgRwAZ7Agggx0B

+ 4 - 4
UAS_MES_LGDZ/PublicMethod/Print.cs

@@ -220,7 +220,7 @@ namespace UAS_MES_NEW.PublicMethod
             {
                 PrintNum = 1;
             }
-            if (IfRePrint != "-1" && LabelType != "栈板标")
+            if (IfRePrint != "-1" && LabelType != "栈板标" && LabelType != "机身标")
             {
                 if (LabelType == "卡通箱标" || LabelType == "大箱标" || LabelType == "栈板标" || LabelType == "彩盒标")
                 {
@@ -239,7 +239,7 @@ namespace UAS_MES_NEW.PublicMethod
             }
             else
             {
-                if (LabelType == "卡通箱标" || LabelType == "大箱标" || LabelType == "栈板标" || LabelType == "彩盒标")
+                if (LabelType == "卡通箱标" || LabelType == "大箱标" || LabelType == "彩盒标")
                 {
                     dt = (DataTable)dh.ExecuteSql("select lpl_id from labelprintlog where lpl_value='" + SnCode + "' and lpl_type='" + LabelType + "' and lpl_stepcode='" + User.CurrentStepCode + "' and lpl_file='" + LabelName + "'", "select");
                     if (dt.Rows.Count == 0)
@@ -270,7 +270,7 @@ namespace UAS_MES_NEW.PublicMethod
                                 string fp_path = label.Rows[0]["FP_PATH"].ToString().Replace("/app/uas/webapps/", "");
                                 fp_name = label.Rows[0]["fp_name"].ToString();
                                 WebClient wc = new WebClient();
-                                wc.DownloadFile("http://10.98.0.21:8099/" + fp_path, @"C:\打印标签\" + fp_name);
+                                wc.DownloadFile("http://218.64.89.153:8099/" + fp_path, @"C:\打印标签\" + fp_name);
                             }
                         }
                     }
@@ -299,7 +299,7 @@ namespace UAS_MES_NEW.PublicMethod
                                     string fp_path = label.Rows[0]["FP_PATH"].ToString().Replace("/app/uas/webapps/", "");
                                     fp_name = label.Rows[0]["fp_name"].ToString();
                                     WebClient wc = new WebClient();
-                                    wc.DownloadFile("http://10.98.0.21:8099/" + fp_path, @"C:\打印标签\" + fp_name);
+                                    wc.DownloadFile("http://218.64.89.153:8099/" + fp_path, @"C:\打印标签\" + fp_name);
                                     FileInfo file = new FileInfo(@"C:\打印标签\" + fp_name);
                                     file.CreationTime = Convert.ToDateTime(filelastwritetime);
                                 }

+ 1 - 1
UAS_MES_LGDZ/UAS_MES_LGDZ.csproj

@@ -1196,7 +1196,7 @@
     <Compile Include="FunctionCode\SystemSetting\SystemSetting_PrinterTest.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="FunctionCode\SystemSetting\SystemSetting_PrinterTest.designer.cs">
+    <Compile Include="FunctionCode\SystemSetting\SystemSetting_PrinterTest.Designer.cs">
       <DependentUpon>SystemSetting_PrinterTest.cs</DependentUpon>
     </Compile>
     <Compile Include="FunctionCode\SystemSetting\SystemSetting_ScaleTest.cs">

+ 98 - 36
UAS_MesInterface(LGDZ)/MesHelper.cs

@@ -31,6 +31,7 @@ namespace UMESDLLService
         bool SetPcbaData(string iSN, string iResCode, string iOperator, string iResult, string iErrCode, out string oErrMessage);
         bool GoMo(string iMO, string iSN, string iResCode, out string oErrMessage);
         bool GetInfoByMaterial(string iPCBA, out string oSN, out string oErrMessage);
+        bool GetSoftVersion(string iSN, out string oSoftVersion, out string oErrMessage);
 
     }
 
@@ -44,8 +45,10 @@ namespace UMESDLLService
         StringBuilder sql = new StringBuilder();
         //用于存放批量执行的SQL
         List<string> sqls = new List<string>();
+
+        string Master = "N_MES";
         //系统默认的的连接字符串
-        private string ConnectionStrings = "Connection Timeout=0;Pooling=false;Password=select!#%*(;User ID=N_MES_T;Pooling=false;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=218.64.89.153)(PORT=61521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)));";
+        private string ConnectionStrings = "Connection Timeout=0;Pooling=false;Password=select!#%*(;User ID=N_MES;Pooling=false;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.98.0.21)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)));";
         //用户选择的数据库的连接字符串
         private OracleConnection connection;
         //用户选择的数据库的连接字符串
@@ -58,7 +61,24 @@ namespace UMESDLLService
 
         public MESHelper(string IP)
         {
-            connection = new OracleConnection("Data Source=" + IP + "/orcl;User ID=N_MES_T;PassWord=select!#%*(;");
+            connection = new OracleConnection("Data Source=" + IP + "/orcl;User ID=N_MES;PassWord=select!#%*(;");
+        }
+
+
+        [Description("获取工单软件版本")]
+        public bool GetSoftVersion(string iMakeCode, out string oSoftVersion, out string oErrMessage)
+        {
+            string oMakeCode = "";
+            oErrMessage = "";
+            oSoftVersion = "";
+            //GetRcardMOInfo(iSN, out oMakeCode, out oErrMessage);
+            if (!CheckExist("Make", "ma_Code='" + iMakeCode + "'"))
+            {
+                oErrMessage = "工单号" + iMakeCode + "不存在";
+                return false;
+            }
+            oSoftVersion = getFieldDataByCondition("make", "ma_softversion", "ma_code='" + iMakeCode + "'").ToString();
+            return true;
         }
 
         public bool GetInfoByMaterial(string iPCBA, out string oSN, out string oErrMessage)
@@ -103,6 +123,15 @@ namespace UMESDLLService
                 oErrMessage = "SN不能为空";
                 return false;
             }
+            string SNcode = iSN;
+            if (!GetInfoByMaterial(iSN, out iSN, out oErrMessage))
+            {
+                oErrMessage = "";
+            }
+            if (iSN == "")
+            {
+                iSN = SNcode;
+            }
             oErrMessage = "";
             string[] param = new string[] { "", iResCode, iSN, "", "", "", oErrMessage };
             string[] ParamName = new string[] { "v_i_macode", "v_i_sourcecode", "v_i_sncode", "v_i_usercode", "v_o_macode", "v_o_msid", "v_o_errmsg" };
@@ -121,7 +150,7 @@ namespace UMESDLLService
             string stepcode = GetStepCodeBySource(iResCode);
             if (ms_nextstepcode != "" && ms_nextstepcode != stepcode)
             {
-                oErrMessage = "当前序列号下一工序" + ms_nextstepcode;
+                oErrMessage = "当前序列号" + iSN + "下一工序" + ms_nextstepcode;
                 return false;
             }
             if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null" || (ms_status == "3" && stepcode == ms_stepcode))
@@ -181,7 +210,7 @@ namespace UMESDLLService
                 oErrMessage = "用户名,密码,岗位资源必须填写";
                 return false;
             }
-            if (CheckUserLogin(iUserCode, iPassWord, "N_MES_T", out oErrMessage))
+            if (CheckUserLogin(iUserCode, iPassWord, "N_MES", out oErrMessage))
             {
                 string SQL = "select em_code,em_type,em_name from employee where em_code=:UserName ";
                 DataTable dt;
@@ -262,10 +291,10 @@ namespace UMESDLLService
             string[] param = new string[] { iSN, omakeCode, oWIFI, oBT, oCode1, oCode2, oCdoe3, oErrMessage };
             string[] ParamName = new string[] { "v_i_sncode", "v_i_macode", "v_o_mac", "v_o_bt", "v_o_code1", "v_o_code2", "v_o_code3", "v_o_errmsg" };
             CallProcedure("CS_GETADDRESSBYMAKECODE", ParamName, ref param);
-            oInfo += "MAC:" + param[2].ToString() + "^";
-            oInfo += "BT:" + param[3].ToString() + "^";
-            oInfo += "Code1:" + param[4].ToString() + "^";
-            oInfo += "Code2:" + param[5].ToString() + "^";
+            oInfo += "MAC:" + param[2].ToString() + "^".Replace("null", "");
+            oInfo += "BT:" + param[3].ToString() + "^".Replace("null", "");
+            oInfo += "Code1:" + param[4].ToString() + "^".Replace("null", "");
+            oInfo += "Code2:" + param[5].ToString() + "^".Replace("null", "");
             oInfo += "Code3:" + param[6].ToString() + "";
             oErrMessage = param[7];
             if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null")
@@ -310,19 +339,20 @@ namespace UMESDLLService
                 oErrMessage = "SN不能为空";
                 return false;
             }
+
             oErrMessage = "";
             string[] param = new string[] { iSN, "", iIMEI1, iNetCode, oIMEI1, oIMEI2, "", oMEID, oNetCode, oPSN, oID1, oID2, oID3, oErrMessage };
             string[] ParamName = new string[] { "v_i_sncode", "v_i_macode", "v_i_imei", "v_i_netcode", "v_o_imei1", "v_o_imei2", "v_o_imei3", "v_o_meid", "v_o_netcode", "v_o_psn", "v_o_id1", "v_o_id2", "v_o_id3", "v_o_errmsg" };
             CallProcedure("CS_GETIMEIORNETCODERANGE", ParamName, ref param);
 
-            oInfo += "IMEI1:" + param[4].ToString() + "^";
-            oInfo += "IMEI2:" + param[5].ToString() + "^";
-            oInfo += "MEID:" + param[7].ToString() + "^";
-            oInfo += "NETCODE:" + param[8].ToString() + "^";
-            oInfo += "PSN:" + param[9].ToString() + "^";
-            oInfo += "ID1:" + param[10].ToString() + "^";
-            oInfo += "ID2:" + param[11].ToString() + "^";
-            oInfo += "ID3:" + param[12].ToString() + "";
+            oInfo += "IMEI1:" + param[4].ToString() + "^".Replace("null", "");
+            oInfo += "IMEI2:" + param[5].ToString() + "^".Replace("null", "");
+            oInfo += "MEID:" + param[7].ToString() + "^".Replace("null", "");
+            oInfo += "NETCODE:" + param[8].ToString() + "^".Replace("null", "");
+            oInfo += "PSN:" + param[9].ToString() + "^".Replace("null", "");
+            oInfo += "ID1:" + param[10].ToString() + "^".Replace("null", "");
+            oInfo += "ID2:" + param[11].ToString() + "^".Replace("null", "");
+            oInfo += "ID3:" + param[12].ToString() + "".Replace("null", "");
             oErrMessage = param[13];
             if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null")
                 return true;
@@ -398,25 +428,48 @@ namespace UMESDLLService
                 return false;
             }
             string MacInfo;
-            if (!GetAddressRangeByMO(iSN, out MacInfo, out oErrMessage))
-            {
-                if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null")
-                    return true;
-                else
-                    return false;
-            }
-            string MAC = MacInfo.Split('^')[0].Replace("MAC:", "");
-            string BT = MacInfo.Split('^')[1].Replace("BT:", "");
-            string TCode1 = MacInfo.Split('^')[2].Replace("Code1:", "");
-            string TCode2 = MacInfo.Split('^')[3].Replace("Code2:", "");
-            string TCode3 = MacInfo.Split('^')[4].Replace("Code3:", "");
-            if (!SetAddressInfo(iSN, MAC == "null" ? "" : MAC, BT == "null" ? "" : BT, TCode1 == "null" ? "" : TCode1, TCode2 == "null" ? "" : TCode2, TCode3 == "null" ? "" : TCode3, out oErrMessage))
-            {
-                if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null")
-                    return true;
-                else
-                    return false;
-            }
+            //if (!GetAddressRangeByMO(iSN, out MacInfo, out oErrMessage))
+            //{
+            //    if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null")
+            //        return true;
+            //    else
+            //        return false;
+            //}
+            //string MAC = MacInfo.Split('^')[0].Replace("MAC:", "");
+            //string BT = MacInfo.Split('^')[1].Replace("BT:", "");
+            //string TCode1 = MacInfo.Split('^')[2].Replace("Code1:", "");
+            //string TCode2 = MacInfo.Split('^')[3].Replace("Code2:", "");
+            //string TCode3 = MacInfo.Split('^')[4].Replace("Code3:", "");
+            //if (!SetAddressInfo(iSN, MAC == "null" ? "" : MAC, BT == "null" ? "" : BT, TCode1 == "null" ? "" : TCode1, TCode2 == "null" ? "" : TCode2, TCode3 == "null" ? "" : TCode3, out oErrMessage))
+            //{
+            //    if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null")
+            //        return true;
+            //    else
+            //        return false;
+            //}
+            //string ImeiInfo;
+            //if (!GetMEIOrNetCodeRange(iSN, "", "", out ImeiInfo, out oErrMessage))
+            //{
+            //    if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null")
+            //        return true;
+            //    else
+            //        return false;
+            //}
+            //string IMEI1 = ImeiInfo.Split('^')[0].Replace("IMEI1:", "");
+            //string IMEI2 = ImeiInfo.Split('^')[1].Replace("IMEI2:", "");
+            //string MEID = ImeiInfo.Split('^')[2].Replace("MEID:", "");
+            //string NETCODE = ImeiInfo.Split('^')[3].Replace("NETCODE:", "");
+            //string PSN = ImeiInfo.Split('^')[4].Replace("PSN:", "");
+            //string ID1 = ImeiInfo.Split('^')[5].Replace("ID1:", "");
+            //string ID2 = ImeiInfo.Split('^')[6].Replace("ID2:", "");
+            //string ID3 = ImeiInfo.Split('^')[7].Replace("ID3:", "");
+            //if (!SetIMEIInfo(iSN, IMEI1 == "null" ? "" : IMEI1, IMEI2 == "null" ? "" : IMEI2, "", MEID == "null" ? "" : MEID, NETCODE == "null" ? "" : NETCODE, ID1 == "null" ? "" : ID1, ID2 == "null" ? "" : ID2, ID3 == "null" ? "" : ID3, out oErrMessage))
+            //{
+            //    if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null")
+            //        return true;
+            //    else
+            //        return false;
+            //}
             //通过序列号获取最近操作的工单号
             string ms_id = getFieldDataByCondition("makeserial", "max(ms_id)", "ms_sncode='" + iSN + "' or ms_firstsn='" + iSN + "'").ToString();
             if (ms_id != "")
@@ -760,6 +813,15 @@ namespace UMESDLLService
                 oErrMessage = "SN不能为空";
                 return false;
             }
+            string SNcode = iSN;
+            if (!GetInfoByMaterial(iSN, out iSN, out oErrMessage))
+            {
+                oErrMessage = "";
+            }
+            if (iSN == "")
+            {
+                iSN = SNcode;
+            }
             oErrMessage = "";
             string oMakeCode = "";
             GetRcardMOInfo(iSN, out oMakeCode, out oErrMessage);
@@ -1229,7 +1291,7 @@ namespace UMESDLLService
             oErrorMessage = "";
             try
             {
-                string url = "http://218.64.89.153:8099/mes/mobile/login.action";//html调用的地址              
+                string url = "http://10.98.0.21:8099/mes/mobile/login.action";//html调用的地址              
                 HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
                 if (webrequest == null)
                 {

+ 2 - 2
UAS_MesInterface(LGDZ)/Properties/AssemblyInfo.cs

@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
 //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
 // 方法是按如下所示使用“*”: :
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.1")]
-[assembly: AssemblyFileVersion("1.0.0.1")]
+[assembly: AssemblyVersion("1.0.0.3")]
+[assembly: AssemblyFileVersion("1.0.0.3")]