瀏覽代碼

调用存储过程链接关闭异常处理,测试采集,维修默认不良处理

章政 8 年之前
父節點
當前提交
1448c4bbdc

+ 7 - 4
UAS-MES/DataOperate/DataHelper.cs

@@ -32,7 +32,7 @@ namespace UAS_MES.DataOperate
                     connection = new OracleConnection(DBConnectionString);
                 connection.Open();
             }
-            catch (Exception e) { OracleConnection.ClearPool(connection); LogManager.DoLog(e.Message); }
+            catch (Exception e) { /*OracleConnection.ClearPool(connection);*/ LogManager.DoLog(e.Message); }
         }
 
         /// <summary>
@@ -941,8 +941,11 @@ namespace UAS_MES.DataOperate
         /// <param name="param"></param>
         public void CallProcedure(string ProcedureName, ref string[] param)
         {
-            command = new OracleCommand();
-            command.Connection = connection;
+            command = new OracleCommand(ProcedureName, connection);
+            if (command.Connection.State == ConnectionState.Closed)
+            {
+                command.Connection.Open();
+            }
             command.CommandText = ProcedureName;
             command.CommandType = CommandType.StoredProcedure;
             for (int i = 0; i < param.Length; i++)
@@ -1077,6 +1080,6 @@ namespace UAS_MES.DataOperate
             }
             return param;
         }
-        
+
     }
 }

+ 6 - 2
UAS-MES/FunctionCode/Make/Make_Repair.cs

@@ -167,13 +167,17 @@ namespace UAS_MES.Make
             sql.Clear();
             sql.Append("select mb_id,mb_sncode,mb_badcode,mb_bgcode,bc_name,bg_name,");
             sql.Append("mb_badremark from makebad left join badcode on bc_code=mb_badcode left join badgroup ");
-            sql.Append("on bg_code=mb_bgcode where mb_sncode='" + GetSNCode.Text + "' and mb_makecode='" + macode + "'");
+            sql.Append("on bg_code=mb_bgcode where mb_sncode='" + (GetSNCode.Text == "" ? ms_sncode.Text : GetSNCode.Text) + "' and mb_makecode='" + macode + "'");
             dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
             for (int i = 0; i < dt.Rows.Count; i++)
             {
                 //添加根节点
                 TreeNode tnode_0 = new TreeNode();
-                tnode_0.Text = dt.Rows[i]["bg_name"].ToString() + ":" + dt.Rows[i]["bc_name"].ToString();
+                string bg_name = dt.Rows[i]["bg_name"].ToString();
+                string bc_name = dt.Rows[i]["bc_name"].ToString();
+                string mb_badcode = dt.Rows[i]["mb_badcode"].ToString();
+                string mb_bgcode = dt.Rows[i]["mb_bgcode"].ToString();
+                tnode_0.Text = (bg_name == "" ? mb_bgcode : bg_name) + ":" + (bc_name == "" ? mb_bgcode : bc_name);
                 tnode_0.Name = dt.Rows[i]["mb_bgcode"].ToString();
                 //作为Dictionary的主标识
                 string mb_id = dt.Rows[i]["mb_id"].ToString();

+ 28 - 24
UAS-MES/FunctionCode/Make/Make_TestCollection.cs

@@ -167,30 +167,33 @@ namespace UAS_MES.Make
                 bool ifFirst;
                 if (LogicHandler.CheckStepAttribute(Tag.ToString(), User.UserSourceCode, out ErrorMessage))
                 {
-                    if (LogicHandler.CheckStepSNAndMacode(ma_code.Text, User.UserSourceCode, ms_sncode.Text, User.UserCode, out oMakeCode, out oMSID, out ErrorMessage))
+                    if (LogicHandler.GetMakeInfo(ms_sncode.Text, out oMakeCode, out ErrorMessage))
                     {
-                        dt = (DataTable)dh.ExecuteSql("select ma_code,ma_prodcode,pr_detail,ma_qty from make left join product on ma_prodcode=pr_code where ma_code='" + oMakeCode + "'", "select");
-                        if (dt.Rows.Count > 0)
+                        if (LogicHandler.CheckStepSNAndMacode(ma_code.Text == "" ? oMakeCode : ma_code.Text, User.UserSourceCode, ms_sncode.Text, User.UserCode, out oMakeCode, out oMSID, out ErrorMessage))
                         {
-                            BaseUtil.SetFormValue(this.Controls, dt);
-                            LockMakeCode.Checked = true;
-                        }
-                        if (GoodProduct.Checked)
-                        {
-                            dt = (DataTable)dh.ExecuteSql("select ms_nextstepcode,ms_stepcode,ms_status from makeserial where ms_id='" + oMSID + "'", "select");
-                            string status = dt.Rows[0]["ms_status"].ToString();
-                            string nextstepcode = dt.Rows[0]["ms_nextstepcode"].ToString();
-                            string stepcode = dt.Rows[0]["ms_stepcode"].ToString();
-                            if (stepcode == User.CurrentStepCode && (status == "1" || status == "2"))
+                            dt = (DataTable)dh.ExecuteSql("select ma_code,ma_prodcode,pr_detail,ma_qty from make left join product on ma_prodcode=pr_code where ma_code='" + oMakeCode + "'", "select");
+                            if (dt.Rows.Count > 0)
+                            {
+                                BaseUtil.SetFormValue(this.Controls, dt);
+                                LockMakeCode.Checked = true;
+                            }
+                            if (GoodProduct.Checked)
                             {
-                                OperateResult.AppendText(">>" + ms_sncode.Text + " 序列号已执行过" + User.CurrentStepCode + "工序,采集结果为良品\n", Color.Red, ms_sncode);
-                                return;
+                                dt = (DataTable)dh.ExecuteSql("select ms_nextstepcode,ms_stepcode,ms_status from makeserial where ms_id='" + oMSID + "'", "select");
+                                string status = dt.Rows[0]["ms_status"].ToString();
+                                string nextstepcode = dt.Rows[0]["ms_nextstepcode"].ToString();
+                                string stepcode = dt.Rows[0]["ms_stepcode"].ToString();
+                                if (stepcode == User.CurrentStepCode && (status == "1" || status == "2"))
+                                {
+                                    OperateResult.AppendText(">>" + ms_sncode.Text + " 序列号已执行过" + User.CurrentStepCode + "工序,采集结果为良品\n", Color.Red, ms_sncode);
+                                    return;
+                                }
                             }
+                            bc_code.Focus();
+                            SetCollectResult();
                         }
-                        bc_code.Focus();
-                        SetCollectResult();
+                        else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode);
                     }
-                    else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode);
                 }
                 else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode);
             }
@@ -225,7 +228,7 @@ namespace UAS_MES.Make
         private void LoadBadCodeListView()
         {
             sql.Clear();
-            sql.Append("select bg_code||':'||bg_name bg_code,bc_code,mb_badremark from makebad  ");
+            sql.Append("select nvl(bg_code,mb_bgcode)||':'||nvl(bg_name,mb_badcode) bg_code,bc_code,mb_badremark from makebad  ");
             sql.Append("left join badgroup on mb_bgcode=bg_code left join badcode on mb_badcode=bc_code ");
             sql.Append(" where mb_sncode='" + ms_sncode.Text + "' and mb_makecode='" + ma_code.Text + "'");
             dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
@@ -245,9 +248,9 @@ namespace UAS_MES.Make
                 }
             }
             ChoosedRejectList.EndUpdate();
-            sql.Clear();
             object bg_code = bc_groupcode.SelectedValue;
-            sql.Append("select bg_code||':'||bg_name bg_code,bc_code,bc_note from badcode left join badgroup on bc_groupcode=bg_code where bc_groupcode='" + (bg_code != null ? bg_code.ToString() : "") + "' and bg_code is not null");
+            sql.Clear();
+            sql.Append("select nvl(bg_code,mb_bgcode)||':'||nvl(bg_name,mb_badcode) bg_code,bc_code,bc_note from badcode left join badgroup on bc_groupcode=bg_code where bc_groupcode='" + (bg_code != null ? bg_code.ToString() : "") + "' and bg_code is not null");
             dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
             //往listview中添加数据
             WaitRejectList.Items.Clear();
@@ -277,8 +280,6 @@ namespace UAS_MES.Make
             //如果勾选的是不良品
             if (Reject.Checked)
             {
-                //加载不良信息
-                LoadBadGroupData();
                 //勾选了自动产生代码
                 if (AutoBadCode.Checked)
                     Save_Click(new object(), new EventArgs());
@@ -335,6 +336,7 @@ namespace UAS_MES.Make
                 if (AutoBadCode.Checked)
                 {
                     string defaultvalue = Properties.Settings.Default.DefaultCollectionValue;
+                    Console.WriteLine(defaultvalue);
                     bccode = new string[] { defaultvalue };
                     bcremark = new string[] { defaultvalue };
                     bgcode = new string[] { defaultvalue };
@@ -427,12 +429,14 @@ namespace UAS_MES.Make
                         lvi.SubItems.Add(dt.Rows[0][j].ToString());
                     ChoosedRejectList.Items.Add(lvi);
                 }
-                else OperateResult.AppendText(">>不良代码" + bc_code.Text + "不存在\n", Color.Red, bc_code);
+                else OperateResult.AppendText(">>" + bc_code.Text + "不良代码不存在\n", Color.Red, bc_code);
             }
         }
 
         private void ma_prodcode_TextChanged(object sender, EventArgs e)
         {
+            //加载不良信息
+            LoadBadGroupData();
             LoadCollectedNum();
         }
     }

+ 0 - 1
UAS-MES/PublicMethod/LogicHandler.cs

@@ -1105,7 +1105,6 @@ namespace UAS_MES.PublicMethod
             //之前保存的不良就不再调用
             if (ms_status != "3")
                 SetStepFinish(iMakeCode, iSourceCode, iSnCode, iUserName, out oErrorMessage);
-            //SetCollectionFinish(iSnCode, iMakeCode, iUserName, iSourceCode, out oErrorMessage);
             return true;
         }