Browse Source

自动识别不良位号

yhluo 2 days ago
parent
commit
2d02b5ee26
1 changed files with 62 additions and 0 deletions
  1. 62 0
      UAS_MES_YTDZ/FunctionCode/Make/Make_Repair.cs

+ 62 - 0
UAS_MES_YTDZ/FunctionCode/Make/Make_Repair.cs

@@ -787,6 +787,68 @@ namespace UAS_MES_NEW.Make
                 dh.ExecuteSql(sql.GetString(), "insert");
             }
             OperatResult.AppendText(">>不良原因保存成功\n", Color.Green);
+
+
+            dt = (DataTable)dh.ExecuteSql("SELECT dti_defect, dti_area, dti_time FROM devicetestinfo WHERE dti_makecode = '"+ macode + "' " +
+                "AND dti_sncode = '"+ GetSNCode.Text + "' AND instr(dti_defect, '"+ bc_name.Text + "') > 0 ORDER BY dti_id DESC", "select");
+            if (dt.Rows.Count > 0)
+            {
+                string defect = dt.Rows[0]["dti_defect"].ToString();
+                string location = dt.Rows[0]["dti_area"].ToString();
+                if (defect.Contains(","))
+                {
+                    string[] defects = defect.Split(',');
+                    string[] locations = location.Split(',');
+                    for (int i = 0; i < defects.Length; i++)
+                    {
+                        if (defects[i] == bc_name.Text)
+                        {
+                            if (location.Contains("/"))
+                            {
+                                string[] arr = location.Split('/');
+                                foreach(string item in arr)
+                                {
+                                    sql.Clear();
+                                    sql.Append("insert into makebadrsloc(mbl_id,mbl_mbrid,mbl_loc,mbl_badcode,mbl_brcode,");
+                                    sql.Append("mbl_sncode,mbl_makecode,mbl_indate ,mbl_inman) select makebadrsloc_seq.nextval," + mbr_id);
+                                    sql.Append(",'" + item.ToUpper() + "','" + bc_code.Text + "','" + nr_code.Text + "','" + GetSNCode.Text + "','" + macode + "',");
+                                    sql.Append("sysdate,'" + User.UserCode + "' from dual");
+                                    dh.ExecuteSql(sql.GetString(), "insert");
+                                }
+                            }
+                            
+                        }
+                    }
+                }
+                else
+                {
+                    if (location.Contains("/"))
+                    {
+                        string[] arr = location.Split('/');
+                        foreach (string item in arr)
+                        {
+                            sql.Clear();
+                            sql.Append("insert into makebadrsloc(mbl_id,mbl_mbrid,mbl_loc,mbl_badcode,mbl_brcode,");
+                            sql.Append("mbl_sncode,mbl_makecode,mbl_indate ,mbl_inman) select makebadrsloc_seq.nextval," + mbr_id);
+                            sql.Append(",'" + item.ToUpper() + "','" + bc_code.Text + "','" + nr_code.Text + "','" + GetSNCode.Text + "','" + macode + "',");
+                            sql.Append("sysdate,'" + User.UserCode + "' from dual");
+                            dh.ExecuteSql(sql.GetString(), "insert");
+                        }
+                    }
+                    else
+                    {
+                        sql.Clear();
+                        sql.Append("insert into makebadrsloc(mbl_id,mbl_mbrid,mbl_loc,mbl_badcode,mbl_brcode,");
+                        sql.Append("mbl_sncode,mbl_makecode,mbl_indate ,mbl_inman) select makebadrsloc_seq.nextval," + mbr_id);
+                        sql.Append(",'" + location.ToUpper() + "','" + bc_code.Text + "','" + nr_code.Text + "','" + GetSNCode.Text + "','" + macode + "',");
+                        sql.Append("sysdate,'" + User.UserCode + "' from dual");
+                        dh.ExecuteSql(sql.GetString(), "insert");
+                    }
+                }
+
+                dt = (DataTable)dh.ExecuteSql("select mbl_id,mbl_loc from makebadrsloc where mbl_mbrid=" + mbr_id, "select");
+                BaseUtil.FillDgvWithDataTable(mbl_locdgv, dt);
+            }
             SaveRepairInf.Enabled = false;
             LoadBadInfTree(sender, e);
         }