Browse Source

修改上料采集内容

章政 8 years ago
parent
commit
9bdb1086af
1 changed files with 33 additions and 70 deletions
  1. 33 70
      UAS-MES/FunctionCode/Make/Make_FeedingCollection.cs

+ 33 - 70
UAS-MES/FunctionCode/Make/Make_FeedingCollection.cs

@@ -27,7 +27,7 @@ namespace UAS_MES.Make
         string ms_craftcode;
         //Bom版本
         string ma_bomversion;
-        string ErrorMessage="";
+        string ErrorMessage = "";
 
         //用于提醒的序列B
         string[] RemainList = new string[0];
@@ -40,7 +40,7 @@ namespace UAS_MES.Make
         DataTable dt;
         //保存ListB中的数据
         DataTable dt1;
-        
+
 
 
         AutoSizeFormClass asc = new AutoSizeFormClass();
@@ -196,19 +196,6 @@ namespace UAS_MES.Make
                                 }
                             }
                             #endregion
-                            //不是第一道工序
-                            //else
-                            //{
-                            //    if (dh.CheckExist("makeserial", "ms_sncode='" + code.Text + "' and ms_status=1 and ms_nextstepcode='" + User.CurrentStepCode + "'"))
-                            //    {
-                            //        OperateResult.AppendText(">>获取序列号" + code.Text + "成功\n", Color.Green);
-                            //        sn_code.Text = code.Text;
-                            //        GetCollectItem();
-                            //        code.Text = "";
-                            //    }
-                            //    else
-                            //        OperateResult.AppendText(">>序列号" + code.Text + "错误\n", Color.Red);
-                            //}
                         }
                         else
                         {
@@ -248,12 +235,11 @@ namespace UAS_MES.Make
                                 if (dt.Rows.Count > 0)
                                 {
                                     if (dh.getRowCount("craftmaterial", "cm_sncode='" + sn_code.Text + "' and cm_barcode='" + code.Text + "' and cm_soncode='" + sp_soncode + "'") > 0)
-                                        OperateResult.AppendText(">>条码已采集过\n", Color.Red);
+                                        OperateResult.AppendText(">>条码" + code.Text + "已采集过\n", Color.Red);
                                     else
                                         Save_OtherCode(sp_soncode, make_code, sn_code.Text, sp_id);
                                 }
-                                else
-                                    OperateResult.AppendText(">>序列号不存在\n", Color.Red);
+                                else OperateResult.AppendText(">>序列号不存在\n", Color.Red);
                             }
                             //单件管控物料
                             else if (pr_tracekind == "1")
@@ -272,11 +258,7 @@ namespace UAS_MES.Make
                                             Save_OtherCode(sp_soncode, make_code, sn_code.Text, sp_id);
                                     }
                                 }
-                                else
-                                {
-                                    OperateResult.AppendText(">>条码不存在\n", Color.Red);
-                                    code.Text = "";
-                                }
+                                else OperateResult.AppendText(">>条码不存在\n", Color.Red, code);
                             }
                             //不管控
                             else if (pr_tracekind == "0")
@@ -293,17 +275,13 @@ namespace UAS_MES.Make
                                             Regex re = new Regex(sp_regex);
                                             if (re.IsMatch(code.Text))
                                                 Save_OtherCode(sp_soncode, make_code, sn_code.Text, sp_id);
-                                            else
-                                                OperateResult.AppendText(">>正则表达式不匹配\n", Color.Red);
+                                            else OperateResult.AppendText(">>正则表达式不匹配\n", Color.Red);
                                         }
-                                        else
-                                            Save_OtherCode(sp_soncode, make_code, sn_code.Text, sp_id);
+                                        else Save_OtherCode(sp_soncode, make_code, sn_code.Text, sp_id);
                                     }
-                                    else
-                                        OperateResult.AppendText(">>长度不匹配\n", Color.Red);
+                                    else OperateResult.AppendText(">>长度不匹配\n", Color.Red);
                                 }
-                                else
-                                    OperateResult.AppendText(">>前缀不匹配\n", Color.Red);
+                                else OperateResult.AppendText(">>前缀不匹配\n", Color.Red);
                             }
                         }
                         else
@@ -348,7 +326,7 @@ namespace UAS_MES.Make
                             string cm_stepcode = dt.Rows[0]["cm_stepcode"].ToString();
                             string cm_mccode = dt.Rows[0]["cm_mccode"].ToString();
                             dh.ExecuteSql("delete from Craftmaterial where cm_id=" + cm_id, "delete");
-                            LogicHandler.InsertMakeProcess(ms_macode, sn_code.Text,User.UserSourceCode, "上料采集操作", "下料成功", User.UserName);
+                            LogicHandler.InsertMakeProcess(ms_macode, sn_code.Text, User.UserSourceCode, "上料采集操作", "下料成功", User.UserName);
                             int count = dh.getRowCount("craftMaterial", "cm_mccode='" + cm_mccode + "' and cm_stepcode='" + cm_stepcode + "' and cm_sncode='" + sn_code.Text + "'");
                             if (count == 0)
                                 dh.UpdateByCondition("makecraftdetail ", "mcd_inqty=mcd_inqty-1,mcd_outqty=mcd_outqty-1,mcd_okqty = mcd_okqty - 1", "mcd_mccode='" + cm_mccode + "' and mcd_stepcode='" + cm_stepcode + "'");
@@ -378,8 +356,7 @@ namespace UAS_MES.Make
                                     OperateResult.AppendText(">>请采集需要下料的序列号\n", Color.Green);
                                     sn_code.Text = code.Text;
                                 }
-                                else
-                                    OperateResult.AppendText(">>该序列号未上料,无需下料\n", Color.Red);
+                                else OperateResult.AppendText(">>该序列号未上料,无需下料\n", Color.Red);
                             }
                         }
                         code.Text = "";
@@ -407,8 +384,9 @@ namespace UAS_MES.Make
                 nextstepcode = dt.Rows[0]["ms_nextstepcode"].ToString();
                 ms_status = dt.Rows[0]["ms_status"].ToString();
                 BaseUtil.SetFormValue(this.Controls, dt);
-                bool ifFirst;
-                if (LogicHandler.CheckCurrentStepAndIfFirst(code.Text, ma_code.Text, User.UserSourceCode, Tag.ToString(), out ifFirst, out ErrorMessage))
+                string oMakeCode = "";
+                string oMsID = "";
+                if (LogicHandler.CheckStepSNAndMacode(ma_code.Text, User.UserSourceCode, code.Text, User.UserCode, out oMakeCode, out oMsID, out ErrorMessage))
                 {
                     //ms_status==1表示正在生产中,ms_status==2表示已完工
                     //并且当前的执行步骤和用户的岗位工序一致
@@ -419,7 +397,7 @@ namespace UAS_MES.Make
                         sql.Clear();
                         sql.Append("select sp_id,sp_prefix,sp_ifuseregex,sp_ifforsn,sp_length,sp_description,sp_soncode,pr_tracekind,pr_detail,pr_spec,sp_repcode,pr_id,");
                         sql.Append("sp_type,case when (sp_type='物料' and sp_soncode=pr_code) then '已采集' else '未采集' end sp_ifpick ,sp_prefix,");
-                        sql.Append("sp_length,sp_regex,sp_ifforsn from stepproduct left join product on pr_code=sp_soncode where sp_bomversion='"+ma_bomversion+"' and ");
+                        sql.Append("sp_length,sp_regex,sp_ifforsn from stepproduct left join product on pr_code=sp_soncode where sp_bomversion='" + ma_bomversion + "' and ");
                         sql.Append("sp_craftcode='" + ms_craftcode + "' and sp_stepcode='" + User.CurrentStepCode + "' And sp_mothercode ='" + make_prodcode + "' ");
                         sql.Append("and((sp_type = '物料' and( pr_tracekind <> 2 or pr_tracekind is null))or sp_type <> '物料') order by SP_DETNO asc");
                         dt1 = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
@@ -439,23 +417,11 @@ namespace UAS_MES.Make
                             sn_code.Text = "";
                         }
                     }
-                    else
-                    {
-                        OperateResult.AppendText(">>当前工单不在线或者岗位资源不对应\n", Color.Red);
-                        code.Text = "";
-                    }
-                }
-                else
-                {
-                    OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
-                    code.Text = "";
+                    else OperateResult.AppendText(">>当前工单不在线或者岗位资源不对应\n", Color.Red, code);
                 }
+                else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, code);
             }
-            else
-            {
-                OperateResult.AppendText(">>序列号" + code.Text + "不存在\n", Color.Red);
-                code.Text = "";
-            }
+            else OperateResult.AppendText(">>序列号" + code.Text + "不存在\n", Color.Red, code);
         }
 
         //此类中通用的保存逻辑
@@ -486,36 +452,33 @@ namespace UAS_MES.Make
                         object sender = null;
                         ma_code_UserControlTextChanged(sender, e);
                     }
-                    else
-                    {
-                        OperateResult.AppendText(">>" + ErrorMessage + "\n");
-                        code.Text = "";
-                    }
+                    else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, code);
                 }
             }
-            else
-            {
-                OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
-                code.Text = "";
-            }
+            else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, code);
         }
 
         private void ClearSn_code_Click(object sender, EventArgs e)
         {
             sn_code.Clear();
+            dt1.Clear();
+            RemainIndex = 0;
         }
 
         private void ma_code_UserControlTextChanged(object sender, EventArgs e)
         {
-            mcd_inqty.Text = "";
-            mcd_remainqty.Text = "";
-            sql.Clear();
-            sql.Append("select mcd_inqty,ma_qty-mcd_inqty mcd_remainqty ");
-            sql.Append("from make left join makecraftdetail on mcd_macode=ma_code where ");
-            sql.Append("ma_code='" + ma_code.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'");
-            dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+            if (ma_code.Text.Length > 4)
+            {
+                mcd_inqty.Text = "";
+                mcd_remainqty.Text = "";
+                sql.Clear();
+                sql.Append("select mcd_inqty,ma_qty-mcd_inqty mcd_remainqty ");
+                sql.Append("from make left join makecraftdetail on mcd_macode=ma_code where ");
+                sql.Append("ma_code='" + ma_code.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'");
+                dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                 if (dt.Rows.Count > 0)
-                BaseUtil.SetFormValue(Controls, dt);
+                    BaseUtil.SetFormValue(Controls, dt);
+            }
         }
     }
 }