Эх сурвалжийг харах

使用存储过程方式生成数据

callm 5 жил өмнө
parent
commit
8f1d72f2c9

+ 11 - 35
UAS-MES/FunctionCode/Make/Make_Repair.cs

@@ -493,7 +493,6 @@ namespace UAS_MES.Make
 
         private void RepairComplete_Click(object sender, EventArgs e)
         {
-
             if (ms_sncode.Text == "")
             {
                 OperatResult.AppendText(">>序列号不允许为空\n", Color.Red);
@@ -572,6 +571,16 @@ namespace UAS_MES.Make
                     OperatResult.AppendText(">>回流工序不在回流工艺中\n", Color.Red);
                 else
                 {
+                    //插入ERP生成追踪单,需要在更新mb_status之前插入,否则无法判断本次维修
+                    try
+                    {
+                        string[] param = new string[] { ms_sncode.Text, User.UserLineCode, User.WorkCenter, User.UserName, cd_stepcode.Text };
+                        dh.CallProcedure("SP_MAKEBADHANDLE", ref param);
+                    }
+                    catch (Exception ex)
+                    {
+                        LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, macode, User.UserLineCode, User.UserSourceCode, ex.Message.Substring(0, 20), "异常信息", ms_sncode.Text, ms_checkno.Text);
+                    }
                     dt = dh.getFieldsDataByCondition("makeserial", new string[] { "nvl(ms_ifrework,0) ms_ifrework", "ms_paststep" }, "ms_sncode='" + ms_sncode.Text + "' and ms_makecode='" + macode + "'");
                     List<string> SQLS = new List<string>();
                     if (dt.Rows.Count > 0)
@@ -591,41 +600,8 @@ namespace UAS_MES.Make
                     }
                     SQLS.Add("update makebad set mb_status=-1 where mb_sncode='" + ms_sncode.Text + "' and mb_makecode='" + ms_makecode.Text + "'");
                     //取消最近拆解部件
-                    SQLS.Add("update craftmaterial set cm_lastdeco=0 where cm_sncode='" + ms_sncode.Text + "' and cm_makecode='" + ms_makecode.Text + "' and nvl(cm_lastdeco,0)<>0");           
+                    SQLS.Add("update craftmaterial set cm_lastdeco=0 where cm_sncode='" + ms_sncode.Text + "' and cm_makecode='" + ms_makecode.Text + "' and nvl(cm_lastdeco,0)<>0");
                     dh.ExecuteSQLTran(SQLS.ToArray());
-                    //插入ERP生成追踪单
-                    try
-                    {
-                        string code = "";
-                        string[] param = new string[] { "makebadhandle", "2", code };
-                        dh.CallProcedure("SP_GETMAXNUMBER", ref param);
-                        code = param[2];
-                        //查询不良原因组数据插入,插入第一条
-                        sql.Clear();
-                        sql.Append("select mb_bgname,mb_badname,mbr_brgname,mbr_dutyname from makebad left join makebadreason on mbr_mbid=mb_id where mb_sncode='" + ms_sncode.Text + "' and mb_status<>-1 and rownum=1");
-                        DataTable badinf = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
-                        string mb_bgname = "";
-                        string mb_badname = "";
-                        string mbr_brgname = "";
-                        string mbr_dutyname = "";
-                        if (badinf.Rows.Count > 0)
-                        {
-                            mb_bgname = badinf.Rows[0]["mb_bgname"].ToString();
-                            mb_badname = badinf.Rows[0]["mb_badname"].ToString();
-                            mbr_brgname = badinf.Rows[0]["mbr_brgname"].ToString();
-                            mbr_dutyname = badinf.Rows[0]["mbr_dutyname"].ToString();
-                        }
-                        sql.Clear();
-                        sql.Append("insert into makebadhandle@N_malata_zz(mbh_id,mbh_code,mbh_linecode,mbh_sn,mbh_indate,mbh_inman,mbh_statuscode,mbh_status,mbh_returnstep,mbh_wccode,mbh_badname,mbh_badgroup,mbh_badreason,mbh_brduty)");
-                        sql.Append("values(makebadhandle_seq.nextval@N_malata_zz,'" + code + "','" + User.UserLineCode + "','" + ms_sncode.Text + "',sysdate,'" + User.UserName + "',");
-                        sql.Append("'ENTERING','在录入','" + cd_stepcode.Text + "','" + User.WorkCenter + "','" + mb_badname + "','" + mb_bgname + "','" + mbr_brgname + "','"+ mbr_dutyname + "')");
-
-                        dh.ExecuteSql(sql.GetString(), "insert");
-                    }
-                    catch (Exception)
-                    {
-                        LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, macode, User.UserLineCode, User.UserSourceCode, "回流工序", "完成维修", ms_sncode.Text, ms_checkno.Text);
-                    }
                     LogicHandler.InsertMakeProcess(ms_sncode.Text, ms_makecode.Text, User.UserSourceCode, "回流工序", "完成维修", User.UserCode);
                     LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, macode, User.UserLineCode, User.UserSourceCode, "回流工序", "完成维修", ms_sncode.Text, ms_checkno.Text);
                     OperatResult.AppendText(">>序列号" + ms_sncode.Text + "回流成功\n", Color.Green);