Browse Source

拆解处理半成品换料操作验证修复

Hcsy 8 years ago
parent
commit
c2f5c206db
1 changed files with 18 additions and 14 deletions
  1. 18 14
      UAS-MES/FunctionCode/Make/Make_Decompose.cs

+ 18 - 14
UAS-MES/FunctionCode/Make/Make_Decompose.cs

@@ -228,7 +228,19 @@ namespace UAS_MES.Make
                                 string sp_barcoderule = dtbar.Rows[0]["sp_barcoderule"].ToString();
                                 if (sp_tracekind != "2")
                                 {
-                                    if (!LogicHandler.CheckSNBeforeLoad(ms_makecode.Text, LabelDataGridView.Rows[i].Cells["New_BarCode"].Value.ToString(), sp_soncode, sp_barcoderule, sp_prefix, length, out ErrorMessage))
+                                    string oMakeCode;
+                                    string ErrorMessage2;
+                                    //判断界面工单是否为空时的序列号是否自动归属工单
+                                    if (!LogicHandler.GetMakeInfo(LabelDataGridView.Rows[i].Cells["New_BarCode"].Value.ToString(),out oMakeCode, out ErrorMessage2))
+                                    {
+                                        if (ms_makecode.Text == "")
+                                        {
+                                            OperateResult.AppendText(">>" + ErrorMessage2 + "\n", Color.Red);
+                                            continue;
+                                        }
+                                    }
+                                    //上料校验规则判断
+                                    if (!LogicHandler.CheckSNBeforeLoad(oMakeCode, LabelDataGridView.Rows[i].Cells["New_BarCode"].Value.ToString(), sp_soncode, sp_barcoderule, sp_prefix, length, out ErrorMessage))
                                     {
                                         OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
                                         LoadData(sncode_1, sender, new KeyEventArgs(Keys.Enter));
@@ -265,13 +277,7 @@ namespace UAS_MES.Make
                             {
                                 OperateResult.AppendText(">>序列号" + ms_sncode.Text + "途程未维护工序BOM\n", Color.Red);
                                 return;
-                            }
-
-                            //获取物料生产类型属性
-                            //sql.Clear();
-                            //sql.Append("select cm_soncode,cm_barcode, pr_manutype from craftmaterial left join product on cm_soncode=pr_code where cm_id ='" + LabelDataGridView.Rows[i].Cells["cm_id"].Value + "'");
-                            //dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
-                            //string pr_manutype = dt.Rows[0]["pr_manutype"].ToString();       
+                            }    
                             //判断生产信息
                             sql.Clear();
                             sql.Append("select ms_id,ms_sncode,cm_barcode from craftmaterial left join makeserial on cm_barcode = ms_sncode and cm_soncode = ms_prodcode where cm_id = '" + LabelDataGridView.Rows[i].Cells["cm_id"].Value + "' and cm_materialtype ='1' and ms_id>'0' and ms_nextmacode = '" + ms_makecode.Text + "'");
@@ -301,6 +307,7 @@ namespace UAS_MES.Make
                                 dh.BatchInsert(sql.GetString(), new string[] { "bc_code" }, bccode);
                             }
 
+                            //此物料上线状态更新为-1,代表被拆解
                             sql.Clear();
                             sql.Append("update craftmaterial set cm_status=-1,cm_dropman='" + User.UserName + "',");
                             sql.Append("cm_dropdate =sysdate,cm_dropstep='" + User.CurrentStepName + "',");
@@ -318,17 +325,14 @@ namespace UAS_MES.Make
                             sql.Append("'" + LabelDataGridView.Rows[i].Cells["cm_craftcode"].Value + "','" + LabelDataGridView.Rows[i].Cells["cm_craftname"].Value + "','" + LabelDataGridView.Rows[i].Cells["New_BarCode"].Value + "',1,sysdate,'" + User.UserName + "','" + User.UserLineCode + "','" + ms_wccode.Text + "',");
                             sql.Append("'" + User.UserSourceCode + "','" + sp_id + "','" + LabelDataGridView.Rows[i].Cells["cm_materialtype"].Value + "','0')");
                             dh.ExecuteSql(sql.GetString(), "insert");
+                            dh.ExecuteSql("update makeserial set ms_nextmacode='" + ms_makecode.Text + "' where ms_id=(select max(ms_id) from makeserial where ms_sncode='" + LabelDataGridView.Rows[i].Cells["New_BarCode"].Value + "' and ms_makecode<>'" + ms_makecode.Text + "')", "update");
                             OperateResult.AppendText("物料" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "拆解换料成功\n", Color.Green);
                             decompose = true;
                             LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_makecode.Text, User.UserLineCode, User.UserSourceCode, "物料" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "拆解换料", "拆解换料成功", ms_sncode.Text, "");
+                            LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_makecode.Text, User.UserLineCode, User.UserSourceCode, "物料" + LabelDataGridView.Rows[i].Cells["New_BarCode"].Value + "拆解换料上料", "拆解换料上料成功", ms_sncode.Text, "");
                         }
                         else if (nochange.Checked)
-                        {
-                            //获取物料生产类型属性
-                            //sql.Clear();
-                            //sql.Append("select cm_soncode,cm_barcode, pr_manutype from craftmaterial left join product on cm_soncode=pr_code where cm_id ='" + LabelDataGridView.Rows[i].Cells["cm_id"].Value + "'");
-                            //dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
-                            //string pr_manutype = dt.Rows[0]["pr_manutype"].ToString();       
+                        { 
                             //判断生产信息
                             sql.Clear();
                             sql.Append("select ms_id,ms_sncode,cm_barcode from craftmaterial left join makeserial on cm_barcode = ms_sncode and cm_soncode = ms_prodcode where cm_id = '" + LabelDataGridView.Rows[i].Cells["cm_id"].Value + "' and cm_materialtype ='1' and ms_id>'0' and ms_nextmacode = '" + ms_makecode.Text + "'");