Explorar el Código

拆解回退逻辑状态修改

callm hace 2 días
padre
commit
5ec8615713

+ 22 - 4
UAS_MES_JC/FunctionCode/Make/Make_Decompose_Ex.cs

@@ -460,12 +460,13 @@ namespace UAS_MES_NEW.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() + "'");
+                                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' ");
                                 dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
                                 //制造件
                                 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 wccode = (String)dh.getFieldDataByCondition("makeserial", "ms_wccode", "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();
@@ -474,9 +475,26 @@ namespace UAS_MES_NEW.Make
                                     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 + "' ");
-                                    dh.ExecuteSql(sql.GetString(), "update");
+                                    if (wccode == "单板")
+                                    {
+                                        //更新子件序列号为待维修                               
+                                        sql.Clear();
+                                        sql.Append("update makeserial set ms_status=3,ms_stepcode='单板测试',ms_nextstepcode='',ms_badtimes = ms_badtimes+1,ms_nextmacode = '' where ms_id='" + mss_id + "' ");
+                                        dh.ExecuteSql(sql.GetString(), "update");
+                                    }
+                                    else if (wccode == "模块")
+                                    {
+                                        //更新子件序列号为待维修                               
+                                        sql.Clear();
+                                        sql.Append("update makeserial set ms_status=3 ,ms_stepcode='模块测试',ms_nextstepcode='',ms_badtimes = ms_badtimes+1,ms_nextmacode = '' where ms_id='" + mss_id + "' ");
+                                        dh.ExecuteSql(sql.GetString(), "update");
+                                    }
+                                    else
+                                    {
+                                        sql.Clear();
+                                        sql.Append("update makeserial set ms_status=3,ms_badtimes = ms_badtimes+1,ms_nextmacode = '' where ms_id='" + mss_id + "' ");
+                                        dh.ExecuteSql(sql.GetString(), "update");
+                                    }
                                 }
                                 //没有生产信息,判定为采购件,则将不良信息插入不良零件表中MAKEBADRSPART
                                 else

+ 34 - 0
UAS_MES_JC/FunctionCode/Special/Special_Reset.cs

@@ -64,11 +64,45 @@ namespace UAS_MES_NEW.Special
             dh.ExecuteSql("delete labelprintlog where lpl_value = '" + sncode + "'  ", "delete");
             dh.ExecuteSql("delete from oqcbatchdetail where obd_checkno='" + checkno + "' and obd_sncode='" + sncode + "'", "update");
             dh.ExecuteSql("update oqcbatch set OB_NOWCHECKQTY=OB_NOWCHECKQTY-1 where ob_checkno='" + checkno + "'", "update");
+
+            sql.Clear();
+            sql.Append("select cm_barcode from craftmaterial ");
+            sql.Append("where cm_status=0 and cm_sncode = '" + sncode + "' and cm_makecode='" + makecode + "' and cm_stepcode in (select cd_stepcode from craftdetail left join step on st_code=cd_stepcode left join craft on cd_crid=cr_id where ST_STATUSCODE='AUDITED' and cr_code='" + cr_code.Text + "' and cr_prodcode='" + ms_prodcode.Text + "' and cd_detno >=" + cd_stepno.Text + " )");
+            dt=(DataTable)dh.ExecuteSql(sql.GetString(), "update");
+            for (int i = 0; i < dt.Rows.Count; i++)
+            {
+                DataTable dt1 = (DataTable)dh.ExecuteSql("select ms_wccode,ms_id from makeserial where ms_sncode='" + dt.Rows[0]["cm_barcode"].ToString() +"'", "select");
+                if (dt1.Rows.Count > 0) {
+                    string wccode = dt.Rows[0]["ms_wccode"].ToString();
+                    string ms_id = dt.Rows[0]["ms_id"].ToString();
+                    if (wccode == "单板")
+                    {
+                        //更新子件序列号为待维修                               
+                        sql.Clear();
+                        sql.Append("update makeserial set ms_status=3,ms_stepcode='单板测试',ms_nextstepcode='',ms_badtimes = ms_badtimes+1,ms_nextmacode = '' where ms_id='" + ms_id + "' ");
+                        dh.ExecuteSql(sql.GetString(), "update");
+                    }
+                    else if (wccode == "模块")
+                    {
+                        //更新子件序列号为待维修                               
+                        sql.Clear();
+                        sql.Append("update makeserial set ms_status=3 ,ms_stepcode='模块测试',ms_nextstepcode='',ms_badtimes = ms_badtimes+1,ms_nextmacode = '' where ms_id='" + ms_id + "' ");
+                        dh.ExecuteSql(sql.GetString(), "update");
+                    }
+                    else
+                    {
+                        sql.Clear();
+                        sql.Append("update makeserial set ms_status=3,ms_badtimes = ms_badtimes+1,ms_nextmacode = '' where ms_id='" + ms_id + "' ");
+                        dh.ExecuteSql(sql.GetString(), "update");
+                    }
+                }
+            }
             sql.Clear();
             sql.Append("update craftmaterial set cm_status=-1,cm_lastdeco=-1,cm_dropman='" + User.UserCode + "',");
             sql.Append("cm_dropdate =sysdate,CM_REMARK = '重置站点拆解',cm_dropstep='" + User.CurrentStepCode + "',");
             sql.Append("cm_dropsccode='" + User.UserSourceCode + "' where cm_sncode = '" + sncode + "' and cm_makecode='" + makecode + "' and cm_stepcode in (select cd_stepcode from craftdetail left join step on st_code=cd_stepcode left join craft on cd_crid=cr_id where ST_STATUSCODE='AUDITED' and cr_code='" + cr_code.Text + "' and cr_prodcode='" + ms_prodcode.Text + "' and cd_detno >=" + cd_stepno.Text + " )");
             dh.ExecuteSql(sql.GetString(), "update");
+
             LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_makecode.Text, User.UserLineCode, User.UserSourceCode, "站点重置", "站点重置至" + stname, sncode, "");
             return true;
         }