Browse Source

修改卡通箱装栈板的功能

callm 2 weeks ago
parent
commit
ee9a0fc871

+ 15 - 15
UAS_MES_YDCY/FunctionCode/Packing/Packing_PackageCollectionPallet.Designer.cs

@@ -106,7 +106,7 @@
             this.dataGridViewTextBoxColumn6 = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.groupBoxWithBorder3 = new UAS_MES_NEW.CustomControl.GroupBoxWithBorder.GroupBoxWithBorder();
             this.RefreshWeigh = new UAS_MES_NEW.CustomControl.ButtonUtil.NormalButton();
-            this.pr_cartonboxgw = new System.Windows.Forms.Label();
+            this.sumpalletweight = new System.Windows.Forms.Label();
             this.label4 = new System.Windows.Forms.Label();
             this.weight = new System.Windows.Forms.Label();
             this.label5 = new System.Windows.Forms.Label();
@@ -1077,7 +1077,7 @@
             // 
             this.groupBoxWithBorder3.BorderColor = System.Drawing.Color.Black;
             this.groupBoxWithBorder3.Controls.Add(this.RefreshWeigh);
-            this.groupBoxWithBorder3.Controls.Add(this.pr_cartonboxgw);
+            this.groupBoxWithBorder3.Controls.Add(this.sumpalletweight);
             this.groupBoxWithBorder3.Controls.Add(this.label4);
             this.groupBoxWithBorder3.Controls.Add(this.weight);
             this.groupBoxWithBorder3.Controls.Add(this.label5);
@@ -1112,15 +1112,15 @@
             this.RefreshWeigh.Text = "刷新重量";
             this.RefreshWeigh.UseVisualStyleBackColor = true;
             // 
-            // pr_cartonboxgw
+            // sumpalletweight
             // 
-            this.pr_cartonboxgw.AutoSize = true;
-            this.pr_cartonboxgw.Font = new System.Drawing.Font("微软雅黑", 25F);
-            this.pr_cartonboxgw.Location = new System.Drawing.Point(24, 318);
-            this.pr_cartonboxgw.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
-            this.pr_cartonboxgw.Name = "pr_cartonboxgw";
-            this.pr_cartonboxgw.Size = new System.Drawing.Size(0, 88);
-            this.pr_cartonboxgw.TabIndex = 182;
+            this.sumpalletweight.AutoSize = true;
+            this.sumpalletweight.Font = new System.Drawing.Font("微软雅黑", 25F);
+            this.sumpalletweight.Location = new System.Drawing.Point(24, 318);
+            this.sumpalletweight.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
+            this.sumpalletweight.Name = "sumpalletweight";
+            this.sumpalletweight.Size = new System.Drawing.Size(0, 88);
+            this.sumpalletweight.TabIndex = 182;
             // 
             // label4
             // 
@@ -1404,14 +1404,14 @@
             this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.PackCollection_FormClosing);
             this.Load += new System.EventHandler(this.PackCollection_Load);
             this.SizeChanged += new System.EventHandler(this.PackCollection_SizeChanged);
-            this.groupBoxWithBorder2.ResumeLayout(false);
+            this.groupBoxWithBorder2.ResumeLayout(true);
             this.groupBoxWithBorder2.PerformLayout();
-            this.groupBoxWithBorder1.ResumeLayout(false);
+            this.groupBoxWithBorder1.ResumeLayout(true);
             this.groupBoxWithBorder1.PerformLayout();
             ((System.ComponentModel.ISupportInitialize)(this.PackageDetail)).EndInit();
-            this.groupBoxWithBorder3.ResumeLayout(false);
+            this.groupBoxWithBorder3.ResumeLayout(true);
             this.groupBoxWithBorder3.PerformLayout();
-            this.ResumeLayout(false);
+            this.ResumeLayout(true);
             this.PerformLayout();
 
         }
@@ -1494,7 +1494,7 @@
         private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6;
         private CustomControl.GroupBoxWithBorder.GroupBoxWithBorder groupBoxWithBorder3;
         private CustomControl.ButtonUtil.NormalButton RefreshWeigh;
-        private System.Windows.Forms.Label pr_cartonboxgw;
+        private System.Windows.Forms.Label sumpalletweight;
         private System.Windows.Forms.Label label4;
         private System.Windows.Forms.Label weight;
         private System.Windows.Forms.Label label5;

+ 36 - 50
UAS_MES_YDCY/FunctionCode/Packing/Packing_PackageCollectionPallet.cs

@@ -31,9 +31,7 @@ namespace UAS_MES_NEW.Packing
         decimal StandardQTY = 0;
         string LastSncode;
         string PR_CHECKCARTONW = "0";
-
-        ModeBusTCPServer md;
-
+        string pr_Singlelevelqty = "";
         public Packing_PackageCollectionPallet()
         {
 
@@ -73,7 +71,6 @@ namespace UAS_MES_NEW.Packing
             thread = new Thread(NewPrint);
             SetLoadingWindow stw = new SetLoadingWindow(thread, "初始化打印程序");
             BaseUtil.SetFormCenter(stw);
-            md = new ModeBusTCPServer();
             stw.ShowDialog();
             try
             {
@@ -286,16 +283,12 @@ namespace UAS_MES_NEW.Packing
                         if (nextstepcode != "" && nextstepcode != User.CurrentStepCode)
                         {
                             OperateResult.AppendText("当前序列号下一道工序" + nextstepcode + ",当前资源不允许采集\n", Color.Red);
-                            if (md.IsOpen)
-                            {
-                                md.SendOrder("M502_ON");
-                            }
                             return;
                         }
                         PR_CHECKCARTONW = dh.getFieldDataByCondition("craftdetail left join craft on cr_id=cd_crid left join makeserial on ms_craftcode =cr_code and cr_prodcode = ms_prodcode", "nvl(cd_ifweigh,'0') cd_ifweigh", "ms_sncode='" + sn_code.Text + "' and ms_makecode='" + oMakeCode + "' and cd_stepcode = '" + User.CurrentStepCode + "'").ToString();
                         //获取序列号信息
                         sql.Clear();
-                        sql.Append("select pr_Singlelevelqty,nvl(ms_iostatus,0) ms_iostatus,pa_salecode,ms_salecode,ms_outno,ms_makecode,ms_prodcode,nvl(pa_downstatus,0) pa_downstatus,pa_sccode,pa_checkno,pr_packrule,");
+                        sql.Append("select nvl(pr_Singlelevelqty,1)pr_Singlelevelqty,nvl(ms_iostatus,0) ms_iostatus,pa_salecode,ms_salecode,ms_outno,ms_makecode,ms_prodcode,nvl(pa_downstatus,0) pa_downstatus,pa_sccode,pa_checkno,pr_packrule,");
                         sql.Append("nvl(pr_outboxinnerqty,0)pr_outboxinnerqty,nvl(pr_sendchecktype,'LineCode')pr_sendchecktype from makeserial left join product on ms_prodcode=pr_code left join packagedetail ");
                         sql.Append("on pd_barcode=ms_sncode left join package on pa_id =pd_paid where ms_id='" + oMsID + "'");
                         dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
@@ -304,9 +297,10 @@ namespace UAS_MES_NEW.Packing
                         string ms_iostatus = "";
                         string ms_outno = "";
                         string ms_salecode_text = "";
-                        string pr_Singlelevelqty = "";
+
                         if (dt.Rows.Count > 0)
                         {
+                            pr_Singlelevelqty = dt.Rows[0]["pr_Singlelevelqty"].ToString();
                             StandardQTY = decimal.Parse(dt.Rows[0]["pr_outboxinnerqty"].ToString());
                             ms_makecode = dt.Rows[0]["ms_makecode"].ToString();
                             ms_prodcode = dt.Rows[0]["ms_prodcode"].ToString();
@@ -316,10 +310,6 @@ namespace UAS_MES_NEW.Packing
                             if (locksalecode.Checked && ms_salecode.Text != "" && ms_salecode.Text != ms_salecode_text)
                             {
                                 OperateResult.AppendText(">>序列号" + sn_code.Text + "所属订单号" + ms_salecode_text + "与界面订单号" + ms_salecode.Text + "不同,无法采集\n", Color.Red, sn_code);
-                                if (md.IsOpen)
-                                {
-                                    md.SendOrder("M502_ON");
-                                }
                                 return;
                             }
                             BaseUtil.SetFormValue(this.Controls, dt);
@@ -327,19 +317,11 @@ namespace UAS_MES_NEW.Packing
                         if (dt.Rows[0]["ms_outno"].ToString() != "")
                         {
                             OperateResult.AppendText(">>序列号" + sn_code.Text + "已被出货单" + dt.Rows[0]["ms_outno"].ToString() + "采集,不允许操作\n", Color.Red, sn_code);
-                            if (md.IsOpen)
-                            {
-                                md.SendOrder("M502_ON");
-                            }
                             return;
                         }
                         if (dt.Rows[0]["ms_iostatus"].ToString() != "0")
                         {
                             OperateResult.AppendText(">>序列号" + sn_code.Text + "已入库不允许采集\n", Color.Red, sn_code);
-                            if (md.IsOpen)
-                            {
-                                md.SendOrder("M502_ON");
-                            }
                             return;
                         }
                         //保证箱内容量不会被重置
@@ -391,19 +373,11 @@ namespace UAS_MES_NEW.Packing
                             if (dt.Rows[0]["pa_outno"].ToString() != "")
                             {
                                 OperateResult.AppendText(">>卡通箱" + pa_outboxcode.Text + "已被出货单" + dt.Rows[0]["pa_outno"].ToString() + "采集,不允许操作\n", Color.Red, sn_code);
-                                if (md.IsOpen)
-                                {
-                                    md.SendOrder("M502_ON");
-                                }
                                 return;
                             }
                             if (dt.Rows[0]["pa_iostatus"].ToString() != "0")
                             {
                                 OperateResult.AppendText(">>卡通箱" + pa_outboxcode.Text + "处于入库状态,不允许操作\n", Color.Red, sn_code);
-                                if (md.IsOpen)
-                                {
-                                    md.SendOrder("M502_ON");
-                                }
                                 return;
                             }
                         }
@@ -416,18 +390,10 @@ namespace UAS_MES_NEW.Packing
                             {
                                 if (ms_outboxcode == pa_outboxcode.Text)
                                 {
-                                    if (md.IsOpen)
-                                    {
-                                        md.SendOrder("M501_ON");
-                                    }
                                     OperateResult.AppendText(">>序列号" + sn_code.Text + "已在本箱内\n", Color.Red, sn_code);
                                 }
                                 else
                                 {
-                                    if (md.IsOpen)
-                                    {
-                                        md.SendOrder("M502_ON");
-                                    }
                                     OperateResult.AppendText(">>序列号" + sn_code.Text + "已采集至箱" + ms_outboxcode + "\n", Color.Red, sn_code);
                                 }
                                 LoadData();
@@ -451,15 +417,13 @@ namespace UAS_MES_NEW.Packing
                                 ////箱号不存在的情况
                                 if (LogicHandler.Packing_Pallet(sn_code.Text, pa_outboxcode.Text, AutoGenBoxCode.Checked, "标准", User.UserSourceCode, User.UserCode, pr_outboxinnerqty.Text, Cancel.Checked, out oOutBoxCode, out ErrorMessage))
                                 {
-                                    if (md.IsOpen)
-                                    {
-                                        md.SendOrder("M501_ON");
-                                    }
                                     //提示正确返回时传递的信息
                                     if (ErrorMessage.Contains("AFTERSUCCESS"))
                                         OperateResult.AppendText(">>" + ErrorMessage + "\n");
                                     LastSncode = sn_code.Text;
                                     OperateResult.AppendText(">>序列号" + sn_code.Text + "采集成功!\n", Color.Green);
+
+                                    RefreshWeight();
                                     LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "卡通箱采集", "卡通箱" + pa_outboxcode.Text + "采集成功", sn_code.Text, "");
                                     //满箱更新状态为1
                                     LoadData();
@@ -502,6 +466,11 @@ namespace UAS_MES_NEW.Packing
                                             OperateResult.AppendText(">>卡通箱" + pa_outboxcode.Text + "满箱处于称重工序,请在卡通箱称重界面进行称重打印\n", Color.Black, sn_code);
                                             return;
                                         }
+                                        if (dh.getFieldDataByCondition("package", "PA_PALLETNO", "pa_outboxcode='" + pa_outboxcode.Text + "'").ToString() == "")
+                                        {
+                                            OperateResult.AppendText(">>卡通箱" + pa_outboxcode.Text + "未绑定卡板号,不允许封箱\n", Color.Black, sn_code);
+                                            return;
+                                        }
                                         dh.UpdateByCondition("package", "pa_status=1,pa_packageqty=pa_currentqty,pa_totalqty=pa_currentqty", "pa_outboxcode='" + pa_outboxcode.Text + "'");
                                         OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "满箱采集完成,封箱成功\n", Color.Green);
                                         pa_status.Text = "1";
@@ -531,6 +500,7 @@ namespace UAS_MES_NEW.Packing
                         {
                             if (LogicHandler.Packing_Pallet(sn_code.Text, pa_outboxcode.Text, AutoGenBoxCode.Checked, "标准", User.UserSourceCode, User.UserCode, pr_outboxinnerqty.Text, Cancel.Checked, out oOutBoxCode, out ErrorMessage))
                             {
+                                RefreshWeight();
                                 dh.UpdateByCondition("makeserial", "ms_outboxcode=''", "ms_id='" + oMsID + "'");
                                 dh.ExecuteSql("update packagedetail set pd_innerqty=(select pa_packageqty from package where pa_outboxcode='" + pa_outboxcode.Text + "') where pd_innerboxcode='" + pa_outboxcode.Text + "'", "update");
                                 //如果母箱号不为空,需要更新总数
@@ -565,20 +535,12 @@ namespace UAS_MES_NEW.Packing
                             else
                             {
                                 OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, sn_code);
-                                if (md.IsOpen)
-                                {
-                                    md.SendOrder("M502_ON");
-                                }
                             }
                         }
                     }
                     else
                     {
                         OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, sn_code);
-                        if (md.IsOpen)
-                        {
-                            md.SendOrder("M502_ON");
-                        }
                     }
                 }
                 else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, sn_code);
@@ -621,6 +583,11 @@ namespace UAS_MES_NEW.Packing
         {
             if (dh.CheckExist("package", "pa_outboxcode='" + pa_outboxcode.Text + "' and nvl(pa_status,0)=0"))
             {
+                if (dh.getFieldDataByCondition("package", "PA_PALLETNO", "pa_outboxcode='" + pa_outboxcode.Text + "'").ToString() == "")
+                {
+                    OperateResult.AppendText(">>卡通箱" + pa_outboxcode.Text + "未绑定卡板号,不允许封箱\n", Color.Black, sn_code);
+                    return;
+                }
                 string Seal = MessageBox.Show(this.ParentForm, "是否确认封箱?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString();
                 if (Seal == "Yes")
                 {
@@ -1011,6 +978,25 @@ namespace UAS_MES_NEW.Packing
             }
         }
 
+        private void RefreshWeight()
+        {
+            string boxweight = dh.getFieldDataByCondition("makeserial", "sum(nvl(MS_MIDBOXWEIGHT,0))", "ms_outboxcode='" + pa_outboxcode.Text + "'").ToString();
+            sumpalletweight.Text = (double.Parse(boxweight)).ToString();
+            int packageqty = dh.getRowCount("makeserial", "ms_outboxcode='" + pa_outboxcode.Text + "'");
+            //获取维护的层数信息
+            DataTable dt = (DataTable)dh.ExecuteSql("select pc_level,pc_weight from product left join PRODUCTCONSUMABLES on pc_prid=pr_id where pr_code='" + pr_code.Text + "'", "select");
+            //根据单层装的数量,自动计算栈板装的层数
+            int rowcount = packageqty / int.Parse(pr_Singlelevelqty);
+            for (int i = 0; i < dt.Rows.Count; i++)
+            {
+                string pc_level = dt.Rows[0]["pc_level"].ToString();
+                if (int.Parse(pc_level) < rowcount)
+                {
+
+                }
+            }
+        }
+
 
         private void Remark_PreFix_KeyDown(object sender, KeyEventArgs e)
         {