Преглед изворни кода

上料记录表记录关联makebad表ID

callm пре 2 месеци
родитељ
комит
adc16a789c
1 измењених фајлова са 26 додато и 24 уклоњено
  1. 26 24
      UAS-MES/FunctionCode/Make/Make_Decompose.cs

+ 26 - 24
UAS-MES/FunctionCode/Make/Make_Decompose.cs

@@ -254,7 +254,7 @@ namespace UAS_MES.Make
                             dt1 = new DataTable();
                             sql.Clear();
                             sql.Append("select nvl(ms_bomversion,ma_bomversion) ms_bomversion,ms_craftcode,ms_prodcode from makeserial left join make on ma_code=ms_makecode ");
-                            sql.Append("left join product on ms_prodcode=pr_code where ms_makecode='" + LabelDataGridView.Rows[i].Cells["cm_makecode"].Value + "' and ms_sncode='"+ms_sncode.Text+"' order by ms_id desc");
+                            sql.Append("left join product on ms_prodcode=pr_code where ms_makecode='" + LabelDataGridView.Rows[i].Cells["cm_makecode"].Value + "' and ms_sncode='" + ms_sncode.Text + "' order by ms_id desc");
                             dt1 = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                             if (dt1.Rows.Count > 0)
                             {
@@ -271,7 +271,7 @@ namespace UAS_MES.Make
                             sql.Append("sp_bomversion='" + ms_bomversion + "' and  sp_craftcode='" + ms_craftcode_ + "'and sp_mothercode ='" + ms_prodcode_ + "'");
                             sql.Append(" group by sp_fsoncode,sp_tracekind  order by SP_DETNO asc");
                             dtbar = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
-                            DataRow[] dtrows = dtbar.Select("sp_soncode like '" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value + "' or sp_repcode like '%"+ LabelDataGridView.Rows[i].Cells["cm_soncode"].Value + "%'");
+                            DataRow[] dtrows = dtbar.Select("sp_soncode like '" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value + "' or sp_repcode like '%" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value + "%'");
                             dtbar = BaseUtil.ToDataTable(dtrows);
                             if (dtbar.Rows.Count > 0)
                             {
@@ -286,11 +286,11 @@ namespace UAS_MES.Make
                                 string sp_barcoderule = dtbar.Rows[0]["sp_barcoderule"].ToString();
                                 string sp_checksalecode = dtbar.Rows[0]["sp_checksalecode"].ToString();
                                 string sp_instr = dtbar.Rows[0]["sp_instr"].ToString();
-                              
+
                                 if (sp_tracekind == "1")
                                 {
                                     //上料校验规则判断
-                                    if (!LogicHandler.CheckSNBeforeLoad(LabelDataGridView.Rows[i].Cells["cm_makecode"].Value.ToString(), LabelDataGridView.Rows[i].Cells["New_BarCode"].Value.ToString(), sp_repcode, sp_fsoncode, sp_soncode, sp_barcoderule, sp_prefix, length, sp_ifrepeat, sp_instr, sp_checksalecode, out ErrorMessage,out userprodcode))
+                                    if (!LogicHandler.CheckSNBeforeLoad(LabelDataGridView.Rows[i].Cells["cm_makecode"].Value.ToString(), LabelDataGridView.Rows[i].Cells["New_BarCode"].Value.ToString(), sp_repcode, sp_fsoncode, sp_soncode, sp_barcoderule, sp_prefix, length, sp_ifrepeat, sp_instr, sp_checksalecode, out ErrorMessage, out userprodcode))
                                     {
                                         OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
                                         LoadData(sncode_1, sender, new KeyEventArgs(Keys.Enter));
@@ -351,6 +351,7 @@ namespace UAS_MES.Make
                                     }
                                 }
                             }
+                            string mb_id = dh.GetSEQ("makebad_seq");
                             if (LabelDataGridView.Rows[i].Cells["cm_status"].Value.ToString() != "-1")
                             {
                                 //判断生产信息
@@ -360,14 +361,7 @@ namespace UAS_MES.Make
                                 //制造件
                                 if (dt.Rows.Count > 0)
                                 {
-                                    string makecode = (String)dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_sncode = '" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "' and ms_prodcode = '" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value + "'");
                                     string mss_id = dt.Rows[0]["ms_id"].ToString();
-                                    ////MakeBad表插入物料批号不良信息
-                                    sql.Clear();
-                                    sql.Append(" insert into makebad (mb_id,mb_cmid, mb_inman,mb_indate,mb_stepcode,mb_sourcecode, mb_bgcode,mb_mscode,mb_sncode, mb_badcode, mb_makecode)");
-                                    sql.Append("values (MakeBad_seq.nextval,'" + LabelDataGridView.Rows[i].Cells["cm_id"].Value + "','" + User.UserCode + "',sysdate,'" + User.CurrentStepCode + "','" + User.UserSourceCode + "',:bg_code ,'" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "','" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "',");
-                                    sql.Append(":bc_code,'" + makecode + "')");
-                                    dh.BatchInsert(sql.GetString(), new string[] { "bg_code", "bc_code" }, bgcode, bccode);
                                     //更新子件序列号为待维修                               
                                     sql.Clear();
                                     sql.Append("update makeserial set ms_status=3 ,ms_badtimes = ms_badtimes+1,ms_nextmacode = '' where ms_id='" + mss_id + "' ");
@@ -381,13 +375,20 @@ namespace UAS_MES.Make
                                     sql.Append("(MAKEBADRSPART_seq.nextval, sysdate, '" + User.UserCode + "','" + ms_sncode.Text + "',:bc_code,'" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value + "','" + ms_makecode.Text + "','" + User.UserSourceCode + "','" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "')");
                                     dh.BatchInsert(sql.GetString(), new string[] { "bc_code" }, bccode);
                                 }
-
-                                dh.ExecuteSql("update makeserial set ms_nextmacode = '' where ms_sncode = '"+ LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "' and ms_nextmacode = '"+ LabelDataGridView.Rows[i].Cells["cm_makecode"].Value.ToString() + "'","update");
+                                dh.ExecuteSql("update makeserial set ms_nextmacode = '' where ms_sncode = '" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "' and ms_nextmacode = '" + LabelDataGridView.Rows[i].Cells["cm_makecode"].Value.ToString() + "'", "update");
+                                string makecode = (String)dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_sncode = '" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "' and ms_prodcode = '" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value + "'");
+                                ////MakeBad表插入物料批号不良信息
+                                sql.Clear();
+                                sql.Append(" insert into makebad (mb_id,mb_cmid, mb_inman,mb_indate,mb_stepcode,mb_sourcecode, mb_bgcode,mb_mscode,mb_sncode, mb_badcode, mb_makecode)");
+                                sql.Append("values ('" + mb_id + "','" + LabelDataGridView.Rows[i].Cells["cm_id"].Value + "','" + User.UserCode + "',sysdate,'" + User.CurrentStepCode + "','" + User.UserSourceCode + "',:bg_code ,'" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "','" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "',");
+                                sql.Append(":bc_code,'" + makecode + "')");
+                                dh.BatchInsert(sql.GetString(), new string[] { "bg_code", "bc_code" }, bgcode, bccode);
                             }
 
+
                             //此物料上线状态更新为-1,代表被拆解
                             sql.Clear();
-                            sql.Append("update craftmaterial set cm_status=-1,cm_lastdeco=-1,cm_dropman='" + User.UserCode + "',");
+                            sql.Append("update craftmaterial set cm_mbid='" + mb_id + "',cm_status=-1,cm_lastdeco=-1,cm_dropman='" + User.UserCode + "',");
                             sql.Append("cm_dropdate =sysdate,cm_dropstep='" + User.CurrentStepCode + "',");
                             sql.Append("cm_dropsccode='" + User.UserSourceCode + "' where cm_id='" + LabelDataGridView.Rows[i].Cells["cm_id"].Value + "'");
                             dh.ExecuteSql(sql.GetString(), "update");
@@ -397,9 +398,9 @@ namespace UAS_MES.Make
                             //dt = (DataTable)dh.ExecuteSql("select sp_id from stepproduct where sp_mothercode='" + LabelDataGridView.Rows[i].Cells["cm_maprodcode"].Value + "'", "select");
                             //string sp_id = dt.Rows[0]["sp_id"].ToString();
                             sql.Clear();
-                            sql.Append("insert into craftmaterial (cm_id, cm_makecode,cm_maid,cm_maprodcode,cm_soncode,cm_mscode,cm_sncode,cm_stepcode,cm_stepname,");
+                            sql.Append("insert into craftmaterial (cm_id, cm_mbid,cm_makecode,cm_maid,cm_maprodcode,cm_soncode,cm_mscode,cm_sncode,cm_stepcode,cm_stepname,");
                             sql.Append("cm_craftcode,cm_craftname,cm_barcode,cm_inqty,cm_indate,cm_inman,cm_linecode,cm_wccode,cm_sourcecode,cm_spid, cm_materialtype,cm_status,cm_fsoncode,cm_firstsn)");
-                            sql.Append("values(Craftmaterial_seq.nextval,'" + LabelDataGridView.Rows[i].Cells["cm_makecode"].Value + "','" + LabelDataGridView.Rows[i].Cells["cm_maid"].Value + "','" + LabelDataGridView.Rows[i].Cells["cm_maprodcode"].Value + "','" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value + "'");
+                            sql.Append("values(Craftmaterial_seq.nextval,'" + mb_id + "','" + LabelDataGridView.Rows[i].Cells["cm_makecode"].Value + "','" + LabelDataGridView.Rows[i].Cells["cm_maid"].Value + "','" + LabelDataGridView.Rows[i].Cells["cm_maprodcode"].Value + "','" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value + "'");
                             sql.Append(",'" + userprodcode + "','" + LabelDataGridView.Rows[i].Cells["cm_sncode"].Value + "','" + LabelDataGridView.Rows[i].Cells["cm_stepcode"].Value + "','" + LabelDataGridView.Rows[i].Cells["cm_stepname"].Value + "',");
                             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.UserCode + "','" + User.UserLineCode + "','" + LabelDataGridView.Rows[i].Cells["cm_wccode"].Value + "',");
                             sql.Append("'" + User.UserSourceCode + "','" + LabelDataGridView.Rows[i].Cells["cm_spid"].Value + "','" + LabelDataGridView.Rows[i].Cells["cm_materialtype"].Value + "','0','" + LabelDataGridView.Rows[i].Cells["cm_fsoncode"].Value + "','" + LabelDataGridView.Rows[i].Cells["cm_firstsn"].Value + "')");
@@ -418,17 +419,11 @@ namespace UAS_MES.Make
                                 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 = '" + LabelDataGridView.Rows[i].Cells["cm_makecode"].Value.ToString() + "'");
                                 dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+                                string mb_id = dh.GetSEQ("makebad_seq");
                                 //制造件
                                 if (dt.Rows.Count > 0)
                                 {
-                                    string makecode = (String)dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_sncode = '" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "' and ms_prodcode = '" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value + "'");
                                     string mss_id = dt.Rows[0]["ms_id"].ToString();
-                                    ////MakeBad表插入物料批号不良信息
-                                    sql.Clear();
-                                    sql.Append(" insert into makebad (mb_id, mb_inman,mb_indate,mb_stepcode,mb_sourcecode, mb_bgcode,mb_mscode,mb_sncode, mb_badcode, mb_makecode)");
-                                    sql.Append("values (MakeBad_seq.nextval,'" + User.UserCode + "',sysdate,'" + User.CurrentStepCode + "','" + User.UserSourceCode + "',:bg_code ,'" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "','" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "',");
-                                    sql.Append(":bc_code,'" + makecode + "')");
-                                    dh.BatchInsert(sql.GetString(), new string[] { "bg_code", "bc_code" }, bgcode, bccode);
                                     //更新子件序列号为待维修                               
                                     sql.Clear();
                                     sql.Append("update makeserial set ms_status=3 ,ms_badtimes = ms_badtimes+1,ms_nextmacode = '' where ms_id='" + mss_id + "' ");
@@ -442,9 +437,16 @@ namespace UAS_MES.Make
                                     sql.Append("(MAKEBADRSPART_seq.nextval, sysdate, '" + User.UserCode + "','" + ms_sncode.Text + "',:bc_code,'" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value + "','" + ms_makecode.Text + "','" + User.UserSourceCode + "','" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "')");
                                     dh.BatchInsert(sql.GetString(), new string[] { "bc_code" }, bccode);
                                 }
+                                string makecode = (String)dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_sncode = '" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "' and ms_prodcode = '" + LabelDataGridView.Rows[i].Cells["cm_soncode"].Value + "'");
+                                ////MakeBad表插入物料批号不良信息
+                                sql.Clear();
+                                sql.Append("insert into makebad (mb_id,mb_cmid, mb_inman,mb_indate,mb_stepcode,mb_sourcecode, mb_bgcode,mb_mscode,mb_sncode, mb_badcode, mb_makecode)");
+                                sql.Append("values (" + mb_id + ",'" + LabelDataGridView.Rows[i].Cells["cm_id"].Value + "','" + User.UserCode + "',sysdate,'" + User.CurrentStepCode + "','" + User.UserSourceCode + "',:bg_code ,'" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "','" + LabelDataGridView.Rows[i].Cells["cm_barcode"].Value + "',");
+                                sql.Append(":bc_code,'" + makecode + "')");
+                                dh.BatchInsert(sql.GetString(), new string[] { "bg_code", "bc_code" }, bgcode, bccode);
                                 //craftmaterial解除相应物料绑定
                                 sql.Clear();
-                                sql.Append("update craftmaterial set cm_status=-1,cm_dropman='" + User.UserCode + "',");
+                                sql.Append("update craftmaterial set cm_mbid='" + mb_id + "',cm_status=-1,cm_dropman='" + User.UserCode + "',");
                                 sql.Append("cm_dropdate =sysdate,cm_dropstep='" + User.CurrentStepCode + "',");
                                 sql.Append("cm_dropsccode='" + User.UserSourceCode + "' where cm_id='" + LabelDataGridView.Rows[i].Cells["cm_id"].Value + "'");
                                 dh.ExecuteSql(sql.GetString(), "update");