Преглед изворни кода

添加卡通箱解除功能,如果下一道是包装才更新pa_nextstep

章政 пре 8 година
родитељ
комит
8712f981ff

+ 22 - 0
UAS-MES/FunctionCode/Make/Make_PackageCollection.Designer.cs

@@ -78,6 +78,7 @@
             this.pa_downstatus = new System.Windows.Forms.Label();
             this.ms_makecode = new System.Windows.Forms.Label();
             this.pa_standardqty = new System.Windows.Forms.Label();
+            this.DeleteAll = new UAS_MES.CustomControl.ButtonUtil.NormalButton();
             ((System.ComponentModel.ISupportInitialize)(this.PrintNum)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.PackageDetail)).BeginInit();
             this.groupBoxWithBorder1.SuspendLayout();
@@ -703,11 +704,31 @@
             this.pa_standardqty.TabIndex = 180;
             this.pa_standardqty.Visible = false;
             // 
+            // DeleteAll
+            // 
+            this.DeleteAll.AllPower = null;
+            this.DeleteAll.BackColor = System.Drawing.Color.Transparent;
+            this.DeleteAll.DownImage = ((System.Drawing.Image)(resources.GetObject("DeleteAll.DownImage")));
+            this.DeleteAll.Image = null;
+            this.DeleteAll.IsShowBorder = true;
+            this.DeleteAll.Location = new System.Drawing.Point(535, 690);
+            this.DeleteAll.Margin = new System.Windows.Forms.Padding(4);
+            this.DeleteAll.MoveImage = ((System.Drawing.Image)(resources.GetObject("DeleteAll.MoveImage")));
+            this.DeleteAll.Name = "DeleteAll";
+            this.DeleteAll.NormalImage = ((System.Drawing.Image)(resources.GetObject("DeleteAll.NormalImage")));
+            this.DeleteAll.Power = "ifspecial";
+            this.DeleteAll.Size = new System.Drawing.Size(80, 30);
+            this.DeleteAll.TabIndex = 181;
+            this.DeleteAll.Text = "整箱拆除";
+            this.DeleteAll.UseVisualStyleBackColor = true;
+            this.DeleteAll.Click += new System.EventHandler(this.DeleteAll_Click);
+            // 
             // Make_PackageCollection
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.ClientSize = new System.Drawing.Size(1172, 730);
+            this.Controls.Add(this.DeleteAll);
             this.Controls.Add(this.pa_standardqty);
             this.Controls.Add(this.ms_makecode);
             this.Controls.Add(this.pa_downstatus);
@@ -798,5 +819,6 @@
         private System.Windows.Forms.Label pa_downstatus;
         private System.Windows.Forms.Label ms_makecode;
         private System.Windows.Forms.Label pa_standardqty;
+        private CustomControl.ButtonUtil.NormalButton DeleteAll;
     }
 }

+ 72 - 2
UAS-MES/FunctionCode/Make/Make_PackageCollection.cs

@@ -9,6 +9,7 @@ using UAS_MES.PublicMethod;
 using System.Drawing;
 using System.Threading;
 using UAS_MES.PublicForm;
+using System.Collections.Generic;
 
 namespace UAS_MES.Make
 {
@@ -259,8 +260,15 @@ namespace UAS_MES.Make
                                         //采集完后如果是第一个装的序列号,把序列号的NextStepCode赋值给箱号
                                         if (pa_currentqty.Text == "1")
                                         {
-                                            string nextstepcode = dh.getFieldDataByCondition("makeserial", "ms_nextstepcode", "ms_id='" + oMsID + "'").ToString();
-                                            dh.UpdateByCondition("package", "pa_nextstep='"+nextstepcode+"'", "pa_outboxcode='"+pa_outboxcode.Text+"'");
+                                            //如果下一道工序是Packing才更新进入Package表
+                                            DataTable ifpacking = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_nextstepcode", "ms_craftcode" }, "ms_id='" + oMsID + "'");
+                                            string nextstepcode = ifpacking.Rows[0]["ms_nextstepcode"].ToString();
+                                            string craftcode = ifpacking.Rows[0]["ms_craftcode"].ToString();
+                                            string nextpackging = dh.getFieldDataByCondition("craft left join craftdetail on cr_id=cd_crid", "cd_ifpack  ", "cr_prodcode='" + pr_code.Text + "' and cr_code='" + craftcode + "'").ToString();
+                                            if (nextpackging != "0")
+                                            {
+                                                dh.UpdateByCondition("package", "pa_nextstep='" + nextstepcode + "'", "pa_outboxcode='" + pa_outboxcode.Text + "'");
+                                            }
                                         }
                                         if (int.Parse(pa_currentqty.Text == "" ? "0" : pa_currentqty.Text) == pr_outboxinnerqty.Value)
                                         {
@@ -487,5 +495,67 @@ namespace UAS_MES.Make
                 PrintNum.Text = (PrintNums == "" ? "1" : PrintNums);
             }
         }
+
+        private void DeleteAll_Click(object sender, EventArgs e)
+        {
+            DataTable dt = (DataTable)dh.ExecuteSql("select pa_checkno,ob_status,pa_mothercode,nvl(pa_downstatus,0)pa_downstatus from package left join oqcbatch on pa_checkno=ob_checkno where pa_outboxcode='" + pa_outboxcode.Text + "'", "select");
+            if (dt.Rows.Count > 0)
+            {
+                if (dt.Rows[0]["pa_mothercode"].ToString() == "")
+                {
+                    if (dt.Rows[0]["pa_downstatus"].ToString() == "0")
+                    {
+                        string ob_status = dt.Rows[0]["ob_status"].ToString();
+                        string pa_checkno = dt.Rows[0]["pa_checkno"].ToString();
+                        //不存在抽检批次或者还未检验可以拆解
+                        if (ob_status == "" || ob_status == "ENTERING" || ob_status == "UNCHECK")
+                        {
+                            sql.Clear();
+                            sql.Append("select pd_makecode,pd_barcode,pd_prodcode,ms_status,ms_stepcode from packagedetail left join makeserial ");
+                            sql.Append("on ms_sncode=pd_barcode and ms_makecode=pd_makecode where pd_outboxcode='" + pa_outboxcode.Text + "'");
+                            dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+                            for (int i = 0; i < dt.Rows.Count; i++)
+                            {
+                                string ma_code = dt.Rows[i]["pd_makecode"].ToString();
+                                string ms_sncode = dt.Rows[i]["pd_barcode"].ToString();
+                                string pr_code = dt.Rows[i]["pd_prodcode"].ToString();
+                                string ms_status = dt.Rows[i]["ms_status"].ToString();
+                                string ms_stepcode = dt.Rows[i]["ms_stepcode"].ToString();
+                                List<string> SQLS1 = new List<string>();
+                                if (ms_status == "2")
+                                {
+                                    //已完工数-1
+                                    SQLS1.Add("update make set ma_madeqty=ma_madeqty-1 where ma_code='" + ma_code + "'");
+                                }
+                                //更新序列号状态
+                                SQLS1.Add("update makecraftdetail set mcd_inqty=mcd_inqty-1,mcd_okqty=mcd_okqty-1 where mcd_macode='" + ma_code + "' and mcd_stepcode='" + ms_stepcode + "'");
+                                SQLS1.Add("update makeserial set ms_status=1,ms_nextstepcode=ms_stepcode,ms_outboxcode='' where ms_sncode='" + ms_sncode + "' and ms_makecode='" + ma_code + "'");
+                                SQLS1.Add("delete from makeprocess where mp_sncode='" + ms_sncode + "' and mp_makecode='" + ma_code + "' and mp_stepcode='" + ms_stepcode + "'");
+                                SQLS1.Add("delete from steppassed where sp_sncode='" + ms_sncode + "' and sp_makecode='" + ma_code + "' and sp_stepcode='" + ms_stepcode + "'");
+                                //抽检批次不为空的时候进行移除
+                                if (pa_checkno != "")
+                                {
+                                    SQLS1.Add("update oqcbatch set ob_nowcheckqty=ob_nowcheckqty-1 where ob_checkno='" + pa_checkno + "'");
+                                    SQLS1.Add("delete from oqcbatchdetail where obd_checkno='" + pa_checkno + "' and obd_sncode='" + ms_sncode + "'");
+                                }
+                                dh.ExecuteSQLTran(SQLS1.ToArray());
+                            }
+                            List<string> SQLS2 = new List<string>();
+                            ////置空原箱
+                            SQLS2.Add("update package set pa_packageqty=0,pa_totalqty=0,pa_currentqty=0,pa_status=0 where pa_outboxcode='" + pa_outboxcode.Text + "'");
+                            //删除箱的明细
+                            SQLS2.Add("delete from packagedetail where pd_outboxcode='" + pa_outboxcode.Text + "'");
+                            dh.ExecuteSQLTran(SQLS2.ToArray());
+                            OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "成功拆解!\n", Color.Green);
+                            LoadGridData();
+                        }
+                        else OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "已送检,不允许解除\n", Color.Red);
+                    }
+                    else OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "已下地,不允许解除\n", Color.Red);
+                }
+                else OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "已装箱,不允许解除\n", Color.Red);
+            }
+            else OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "不存在\n", Color.Red);
+        }
     }
 }

+ 38 - 0
UAS-MES/FunctionCode/Make/Make_PackageCollection.resx

@@ -268,6 +268,44 @@
         2azB52i13asPDvCgTCZjHGt5sdmqDw7woHQ6bRzX8ny1UR8c4EHJZNJc5fC7XKsPDvCgRCLR2x9Pzt9q
         zT+Lpdqw/3A6W/HoUywWa32Nx8OL4zwffM8X6sJu7IcDPCgajaak7udoNNjsdgc81BZ2Yz8c4PH8cR2J
         ROJSU3qXjMKwG/vjzEz/skOI3Zqgv7AAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="DeleteAll.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="DeleteAll.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="DeleteAll.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>