Sfoglia il codice sorgente

品网售后主板等级,欧度立方外箱核对

callm 4 anni fa
parent
commit
3f837de33b

+ 4 - 0
UAS_MES_ODLF/FunctionCode/Make/Make_OutBoxSnCheck.cs

@@ -8,6 +8,7 @@ using System.Text;
 using System.Windows.Forms;
 using UAS_MES_NEW.DataOperate;
 using UAS_MES_NEW.Entity;
+using UAS_MES_NEW.PublicForm;
 using UAS_MES_NEW.PublicMethod;
 
 namespace UAS_MES_NEW.Make
@@ -77,6 +78,9 @@ namespace UAS_MES_NEW.Make
                 }
                 if (AllCheck)
                 {
+                    SetCheck set = new SetCheck("OK", Color.Green);
+                    BaseUtil.SetFormCenter(set);
+                    set.ShowDialog();
                     pa_outboxcode.Focus();
                 }
             }

+ 38 - 0
UAS_MES_ODLF/FunctionCode/Make/Make_OutBoxSnCheck.resx

@@ -162,4 +162,42 @@
   <metadata name="pd_checksn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <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>
 </root>

+ 18 - 3
UAS_MES_ODLF/FunctionCode/Query/Query_SpecialReport.cs

@@ -42,7 +42,7 @@ namespace UAS_MES_NEW.Query
                 MessageBox.Show("请输入数量");
                 return;
             }
-            if (BeginMac.Text ==""|| BeginMac.TextLength != 12)
+            if (BeginMac.Text == "" || BeginMac.TextLength != 12)
             {
                 MessageBox.Show("请输入起始地址号或检查长度");
                 return;
@@ -69,14 +69,19 @@ namespace UAS_MES_NEW.Query
                 {
                     DataRow dr = dt.NewRow();
                     dr["工单号"] = ma_code.Text;
-                    dr["MAC"] = prefix + num.ToString("X");
+                    dr["MAC"] = prefix + lpad(6, num.ToString("X"));
                     if (dr["MAC"].ToString().Length != 12)
                     {
                         MessageBox.Show("生成MAC地址错误");
                         return;
                     }
                     num = num + 1;
-                    dr["BT"] = prefix + num.ToString("X");
+                    dr["BT"] = prefix + lpad(6, num.ToString("X"));
+                    if (dr["BT"].ToString().Length != 12)
+                    {
+                        MessageBox.Show("生成BT地址错误");
+                        return;
+                    }
                     num = num + 1;
                     dt.Rows.Add(dr);
                 }
@@ -84,6 +89,16 @@ namespace UAS_MES_NEW.Query
             }
         }
 
+        private static string lpad(int length, string number)
+        {
+            while (number.Length < length)
+            {
+                number = "0" + number;
+            }
+            number = number.Substring(number.Length - length, length);
+            return number;
+        }
+
         private void Query_SpecialReport_Load(object sender, EventArgs e)
         {
 

+ 18 - 18
UAS_MES_ODLF/FunctionCode/Special/Special_BoxSplit.Designer.cs

@@ -42,15 +42,15 @@
             this.Split.DownImage = ((System.Drawing.Image)(resources.GetObject("Split.DownImage")));
             this.Split.Image = null;
             this.Split.IsShowBorder = true;
-            this.Split.Location = new System.Drawing.Point(267, 133);
-            this.Split.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.Split.Location = new System.Drawing.Point(534, 266);
+            this.Split.Margin = new System.Windows.Forms.Padding(4, 4, 4, 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")));
             this.Split.Power = null;
-            this.Split.Size = new System.Drawing.Size(56, 22);
+            this.Split.Size = new System.Drawing.Size(112, 44);
             this.Split.TabIndex = 0;
-            this.Split.Text = "拆解";
+            this.Split.Text = "确认";
             this.Split.UseVisualStyleBackColor = false;
             this.Split.Click += new System.EventHandler(this.Split_Click);
             // 
@@ -58,23 +58,23 @@
             // 
             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(18, 131);
-            this.Pallet_label.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+            this.Pallet_label.Location = new System.Drawing.Point(73, 264);
+            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(58, 21);
+            this.Pallet_label.Size = new System.Drawing.Size(62, 41);
             this.Pallet_label.TabIndex = 1;
-            this.Pallet_label.Text = "栈板号";
+            this.Pallet_label.Text = "SN";
             // 
             // Pallate
             // 
             this.Pallate.AllPower = null;
             this.Pallate.BackColor = System.Drawing.Color.White;
             this.Pallate.ID = null;
-            this.Pallate.Location = new System.Drawing.Point(91, 133);
-            this.Pallate.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.Pallate.Location = new System.Drawing.Point(182, 266);
+            this.Pallate.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.Pallate.Name = "Pallate";
             this.Pallate.Power = null;
-            this.Pallate.Size = new System.Drawing.Size(148, 21);
+            this.Pallate.Size = new System.Drawing.Size(292, 35);
             this.Pallate.Str = null;
             this.Pallate.Str1 = null;
             this.Pallate.Str2 = null;
@@ -83,29 +83,29 @@
             // OperatResult
             // 
             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(368, 60);
-            this.OperatResult.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.OperatResult.Location = new System.Drawing.Point(736, 120);
+            this.OperatResult.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.OperatResult.Name = "OperatResult";
-            this.OperatResult.Size = new System.Drawing.Size(204, 310);
+            this.OperatResult.Size = new System.Drawing.Size(404, 616);
             this.OperatResult.TabIndex = 3;
             this.OperatResult.Text = "";
             // 
             // Special_BoxSplit
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(12F, 24F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(692, 527);
+            this.ClientSize = new System.Drawing.Size(1384, 1054);
             this.Controls.Add(this.OperatResult);
             this.Controls.Add(this.Pallate);
             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(2, 2, 2, 2);
+            this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.Name = "Special_BoxSplit";
             this.Tag = "Special!BoxSplit";
             this.Text = "拆箱处理";
             this.Load += new System.EventHandler(this.Special_BoxSplit_Load);
-            this.ResumeLayout(true);
+            this.ResumeLayout(false);
             this.PerformLayout();
 
         }

+ 13 - 65
UAS_MES_ODLF/FunctionCode/Special/Special_BoxSplit.cs

@@ -30,77 +30,25 @@ namespace UAS_MES_NEW.Special
 
         private void Split_Click(object sender, EventArgs e)
         {
-            if (dh.CheckExist("package", "pa_outboxcode='" + Pallate.Text + "' and pa_type=3"))
+            DataTable dt = (DataTable)dh.ExecuteSql("select mal_mac,mal_bt from makeaddresslist where mal_sncode='" + Pallate.Text + "'", "select");
+            if (dt.Rows.Count > 0)
             {
-                DataTable dt = (DataTable)dh.ExecuteSql("select v_barcode from mes_package_view where v_outboxcode='" + Pallate.Text + "'", "select");
-                List<string> ms_sncode = new List<string>();
-                for (int i = 0; i < dt.Rows.Count; i++)
+                string mac = dt.Rows[0]["mal_mac"].ToString();
+                dt = (DataTable)dh.ExecuteSql("select ms_firstsn from makeserial where ms_mac='" + mac + "'", "select");
+                if (dt.Rows.Count > 0)
                 {
-                    ms_sncode.Add(dt.Rows[i]["v_barcode"].ToString());
-                }
-                sql.Clear();
-                sql.Append("select distinct ms_outboxcode,ms_makecode from makeserial left join mes_package_view on v_makecode=ms_makecode and  ");
-                sql.Append("ms_sncode=v_barcode where v_outboxcode='" + Pallate.Text + "' and ms_outboxcode is not null");
-                //获取所有的卡通箱号
-                DataTable dt1 = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
-                if (dt1.Rows.Count > 0)
-                {
-                    string ms_makecode = dt1.Rows[0]["ms_makecode"].ToString();
-                    //获取卡通箱的外层箱号
-                    sql.Clear();
-                    sql.Append("select distinct pa_mothercode from package where pa_outboxcode in(select distinct ms_outboxcode ");
-                    sql.Append("from makeserial left join mes_package_view on v_makecode = ms_makecode and ms_sncode = v_barcode where ");
-                    sql.Append("v_outboxcode='" + Pallate.Text + "') and pa_mothercode is not null");
-                    DataTable dt2 = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
-                    if (dt2.Rows.Count > 0)
-                    {
-                        //获取外层箱号的外箱号
-                        sql.Clear();
-                        sql.Append("select pa_mothercode from package where pa_outboxcode in(");
-                        sql.Append("select distinct pa_mothercode from package where pa_outboxcode in(select distinct ms_outboxcode ");
-                        sql.Append("from makeserial left join mes_package_view on v_makecode = ms_makecode and ms_sncode = v_barcode where ");
-                        sql.Append("v_outboxcode='" + Pallate.Text + "')) and pa_mothercode is not null");
-                        DataTable dt3 = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
-                        if (dt3.Rows.Count > 0)
-                        {
-                            //删除最外层的箱号
-                            List<string> outboxcode2 = new List<string>();
-                            for (int i = 0; i < dt3.Rows.Count; i++)
-                            {
-                                outboxcode2.Add(dt3.Rows[i]["pa_mothercode"].ToString());
-                            }
-                            dh.BatchInsert("insert into PACKAGEBACKUP select * from package where pa_outboxcode=:outboxcode2", new string[] { "outboxcode2" }, outboxcode2.ToArray());
-                            dh.BatchInsert("insert into PACKAGEBACKUPDETAIL select * from packagedetail where pd_outboxcode=:outboxcode2", new string[] { "outboxcode2" }, outboxcode2.ToArray());
-                            dh.BatchInsert("delete from packagedetail where pd_outboxcode=:outboxcode2", new string[] { "outboxcode2" }, outboxcode2.ToArray());
-                            dh.BatchInsert("delete from package where pa_outboxcode=:outboxcode2", new string[] { "outboxcode2" }, outboxcode2.ToArray());
-                        }
-                        //删除内一层箱号
-                        List<string> outboxcode1 = new List<string>();
-                        for (int i = 0; i < dt2.Rows.Count; i++)
-                        {
-                            outboxcode1.Add(dt2.Rows[i]["pa_mothercode"].ToString());
-                        }
-                        dh.BatchInsert("insert into PACKAGEBACKUP select * from package where pa_outboxcode=:outboxcode1", new string[] { "outboxcode1" }, outboxcode1.ToArray());
-                        dh.BatchInsert("insert into PACKAGEBACKUPDETAIL select * from packagedetail where pd_outboxcode=:outboxcode1", new string[] { "outboxcode1" }, outboxcode1.ToArray());
-                        dh.BatchInsert("delete from packagedetail where pd_outboxcode=:outboxcode1", new string[] { "outboxcode1" }, outboxcode1.ToArray());
-                        dh.BatchInsert("delete from package where pa_outboxcode=:outboxcode1", new string[] { "outboxcode1" }, outboxcode1.ToArray());
-                    }
-                    //删除卡通箱号
-                    List<string> outboxcode = new List<string>();
-                    for (int i = 0; i < dt1.Rows.Count; i++)
+                    string firstsn = dt.Rows[0]["ms_firstsn"].ToString();
+                    if (firstsn != Pallate.Text)
                     {
-                        outboxcode.Add(dt1.Rows[i]["ms_outboxcode"].ToString());
+                        dh.ExecuteSql("update makeaddresslist set mal_sncode='" + firstsn + "' where mal_sncode='" + Pallate.Text + "'", "update");
+                        LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, "", User.UserLineCode, User.UserSourceCode, "重新分配MAC", "分配成功", Pallate.Text, "");
                     }
-                    dh.BatchInsert("insert into PACKAGEBACKUP select * from package where pa_outboxcode=:outboxcode", new string[] { "outboxcode" }, outboxcode.ToArray());
-                    dh.BatchInsert("insert into PACKAGEBACKUPDETAIL select * from packagedetail where pd_outboxcode=:outboxcode", new string[] { "outboxcode" }, outboxcode.ToArray());
-                    dh.BatchInsert("delete from packagedetail where pd_outboxcode=:outboxcode", new string[] { "outboxcode" }, outboxcode.ToArray());
-                    dh.BatchInsert("delete from package where pa_outboxcode=:outboxcode", new string[] { "outboxcode" }, outboxcode.ToArray());
-                    dh.BatchInsert("update makeserial set ms_outboxcode='' where ms_sncode=:ms_sncode and ms_makecode='" + ms_makecode + "' ", new string[] { "ms_sncode" }, ms_sncode.ToArray());
                 }
-                LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, "", User.UserLineCode, User.UserSourceCode, "返工栈板解除", "解除成功", Pallate.Text, "");
-                OperatResult.AppendText(">>栈板" + Pallate.Text + "拆解成功\n", Color.Green, Pallate);
             }
-            else OperatResult.AppendText(">>栈板号" + Pallate.Text + "不存在\n", Color.Red, Pallate);
+            else
+            {
+                OperatResult.AppendText(Pallate.Text + "未分配MAC\n", Color.Red, Pallate);
+            }
         }
     }
 }

+ 2 - 2
UAS_MES_ODLF/FunctionCode/Special/Special_CancelCollection.cs

@@ -24,7 +24,7 @@ namespace UAS_MES_NEW.Special
         private void Confirm_Click(object sender, EventArgs e)
         {
             //获取序列号的途程
-            DataTable dt = (DataTable)dh.ExecuteSql("select ms_id,ms_nextstepcode,ms_currentstepcode,ms_outboxcode,ms_makecode,ms_status,ms_checkno,ms_craftcode,ms_prodcode,ms_stepcode from makeserial where ms_sncode='" + sn_code.Text + "' order by ms_id desc", "select");
+            DataTable dt = (DataTable)dh.ExecuteSql("select ms_id,ms_nextstepcode,ms_currentstepcode,ms_outboxcode,ms_makecode,ms_status,ms_checkno,ms_craftcode,ms_prodcode,ms_stepcode from makeserial where ms_sncode='" + sn_code.Text + "' and ms_outboxcode is null order by ms_id desc", "select");
             if (dt.Rows.Count > 0)
             {
                 string ms_outboxcode = dt.Rows[0]["ms_outboxcode"].ToString();
@@ -117,7 +117,7 @@ namespace UAS_MES_NEW.Special
                 //}
                 //else OperateResult.AppendText(">>序列号" + sn_code.Text + "不处于第一道工序,不允许取消采集\n", Color.Red, sn_code);
             }
-            else OperateResult.AppendText(">>序列号" + sn_code.Text + "不存在\n", Color.Red, sn_code);
+            else OperateResult.AppendText(">>序列号" + sn_code.Text + "不存在或者已装箱\n", Color.Red, sn_code);
         }
 
         private void Clean_Click(object sender, EventArgs e)

+ 14 - 14
UAS_MES_ODLF/FunctionCode/Warehouse/Warehouse_FinishedProductOut.cs

@@ -496,20 +496,20 @@ namespace UAS_MES_NEW.Warehouse
                                     }
                                     else
                                     {
-                                        //sql.Clear();
-                                        //sql.Append("select cn,outqty,outqty-nvl((select count(1) from prodiomac where pim_inoutno='" + pi_inoutno.Text + "' and pim_prodcode='" + dtms.Rows[0]["ms_prodcode"].ToString() + "'),0)ungetqty from");
-                                        //sql.Append("(select nvl(sum(pd_outqty),0) outqty  ,count(1)cn from prodiodetail where pd_piid=" + pi_id.Text + " and pd_prodcode='" + dtms.Rows[0]["ms_prodcode"].ToString() + "')");
-                                        //dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
-                                        //if (dt.Rows[0]["cn"].ToString() == "0")
-                                        //{
-                                        //    OperateResult.AppendText("序列号" + input.Text + "所属产品:" + dtms.Rows[0]["ms_prodcode"].ToString() + ",不在出货单" + pi_inoutno.Text + "中\n", Color.Red, input);
-                                        //    return;
-                                        //}
-                                        //else if (int.Parse(dt.Rows[0]["cn"].ToString()) > 0 && int.Parse(dt.Rows[0]["ungetqty"].ToString()) <= 0)
-                                        //{
-                                        //    OperateResult.AppendText("出货单产品" + dtms.Rows[0]["ms_prodcode"].ToString() + "已经完成出货采集\n", Color.Red, input);
-                                        //    return;
-                                        //}
+                                        sql.Clear();
+                                        sql.Append("select cn,outqty,outqty-nvl((select count(1) from prodiomac where pim_inoutno='" + pi_inoutno.Text + "' and pim_prodcode='" + dtms.Rows[0]["ms_prodcode"].ToString() + "'),0)ungetqty from");
+                                        sql.Append("(select nvl(sum(pd_outqty),0) outqty  ,count(1)cn from prodiodetail where pd_piid=" + pi_id.Text + " and pd_prodcode='" + dtms.Rows[0]["ms_prodcode"].ToString() + "')");
+                                        dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+                                        if (dt.Rows[0]["cn"].ToString() == "0")
+                                        {
+                                            OperateResult.AppendText("序列号" + input.Text + "所属产品:" + dtms.Rows[0]["ms_prodcode"].ToString() + ",不在出货单" + pi_inoutno.Text + "中\n", Color.Red, input);
+                                            return;
+                                        }
+                                        else if (int.Parse(dt.Rows[0]["cn"].ToString()) > 0 && int.Parse(dt.Rows[0]["ungetqty"].ToString()) <= 0)
+                                        {
+                                            OperateResult.AppendText("出货单产品" + dtms.Rows[0]["ms_prodcode"].ToString() + "已经完成出货采集\n", Color.Red, input);
+                                            return;
+                                        }
                                         updatesn(ms_id);
                                     }
                                 }

+ 1 - 0
UAS_MES_PW/FunctionCode/Special/Special_AfterSaleIn.cs

@@ -80,6 +80,7 @@ namespace UAS_MES_NEW.Special
                 }
                 sql.Clear();
                 sql.Append("delete from aftersalerecord where afr_barcode='" + barcode.Text + "'");
+                dh.ExecuteSql(sql.GetString(), "delete");
                 OperateResult.AppendText(">>条码" + barcode.Text + "取消成功\n", Color.Green, barcode);
                 LoadGridData();
             }

+ 6 - 1
UAS_MES_PW/FunctionCode/Special/Special_AfterSaleOut.cs

@@ -41,7 +41,7 @@ namespace UAS_MES_NEW.Special
             {
                 if (cu_code.Text == "")
                 {
-                    OperateResult.AppendText(">>客户编号不能为空\n", Color.Red,barcode);
+                    OperateResult.AppendText(">>客户编号不能为空\n", Color.Red, barcode);
                     return;
                 }
                 if (!dh.CheckExist("aftersalerecord", "afr_barcode='" + barcode.Text + "'"))
@@ -54,6 +54,11 @@ namespace UAS_MES_NEW.Special
                     OperateResult.AppendText(">>条码" + barcode.Text + "已出库\n", Color.Red, barcode);
                     return;
                 }
+                if (dh.getFieldDataByCondition("aftersalerecord", "afr_cucode", "afr_barcode='" + barcode.Text + "'").ToString() != cu_code.Text)
+                {
+                    OperateResult.AppendText(">>条码" + barcode.Text + "不允许出库给客户" + cu_name.Text + "\n", Color.Red, barcode);
+                    return;
+                }
                 sql.Clear();
                 sql.Append("update aftersalerecord set afr_outdate=sysdate,afr_outcucode='" + cu_code.Text + "' where afr_barcode='" + barcode.Text + "'");
                 dh.ExecuteSql(sql.GetString(), "update");