using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Data; namespace Core.StlMes.Client.Qcm { class MscBase_Process { public static DataTable Query(FrmProPSCMSC2 frm) { DataTable dt = null; try { ArrayList list = new ArrayList(); //string msc = ""; //string mscPline = ""; //if (frm.ultraGrid4.ActiveRow != null) //{ // msc = frm.ultraGrid4.GetActiveRowValue("MSC"); // mscPline = frm.ultraGrid4.GetActiveRowValue("MSC_PLINE"); //} //list.AddRange(msc, mscPline); dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryBaseProcess", new object[] { }, frm.ob); } catch { return null; } //类型为接箍的工序只显示接箍, 类型为短节+附件和双工短节的只显示加工 if (frm.ControlMsc.GridMsc.ActiveRow != null) { if (frm.ControlMsc.GridMsc.ActiveRow.ChildBands == null) { DataRow[] drs = dt.Select("PROCESS_CODE <> 'H'"); foreach (DataRow dr in drs) { dr.Delete(); } dt.AcceptChanges(); } else { if (frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC_STYLE"].Value.ToString() == "D") { DataRow[] drs = dt.Select("PROCESS_CODE <> 'H'"); foreach (DataRow dr in drs) { dr.Delete(); } dt.AcceptChanges(); } else if (frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC_STYLE"].Value.ToString() == "C" || frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC_STYLE"].Value.ToString() == "E") { DataRow[] drs = dt.Select("PROCESS_CODE <> 'G'"); foreach (DataRow dr in drs) { dr.Delete(); } dt.AcceptChanges(); } else { DataRow[] drs = dt.Select("PROCESS_CODE = 'H'"); foreach (DataRow dr in drs) { dr.Delete(); } dt.AcceptChanges(); } } } return dt; } public static DataTable QueryMscProcess(FrmProPSCMSC2 frm) { if (frm.ControlMsc.GridMsc.ActiveRow == null) return null; string msc = "";//如果选择的是接箍,那么msc字段保存接箍码。否则保存msc。 if (frm.ControlMsc.GridMsc.ActiveRow.ChildBands != null) { msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC"].Value.ToString(); } else { msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["KEY_JG"].Value.ToString(); } DataTable dt = null; ArrayList list = new ArrayList(); list.Add(msc); try { dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryMscProcess2", new object[] { list }, frm.ob); } catch { return null; } return dt; } public static void RefreshMscProcess(FrmProPSCMSC2 frm) { if (frm.UltraGrid4.ActiveRow == null) return; DataTable dt2 = null; string msc = ""; msc = frm.UltraGrid4.ActiveRow.Cells["MSC"].Value.ToString(); ArrayList list = new ArrayList(); list.Add(msc); list.Add(frm.UltraGrid4.ActiveRow.Cells["MSC_PLINE"].Value.ToString()); try { dt2 = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryMscProcess", new object[] { list }, frm.ob); AddMscProcessToGrid5(dt2, frm.UltraGrid5); } catch (Exception ex) { return; } return; } private static void AddMscProcessToGrid5(DataTable dt2, UltraGrid ultraGrid5) { ultraGrid5.UpdateData(); DataTable dt = ((DataSet)ultraGrid5.DataSource).Tables["COM_BASE_PROCESS"]; foreach (DataRow dr in dt2.Rows) { DataRow[] drs = dt.Select("PROCESS_CODE = '" + dr["PROCESS_CODE"].ToString() + "'"); if (drs.Length == 0) continue; drs[0]["MSC"] = dr["MSC"].ToString(); drs[0]["BACKLOG_SEQ"] = dr["BACKLOG_SEQ"].ToString(); drs[0]["MINUTE_PRODUCT"] = dr["MINUTE_PRODUCT"].ToString(); drs[0]["MINUTE_WAITE"] = dr["MINUTE_WAITE"].ToString(); drs[0]["BATCH_WAITE"] = dr["BATCH_WAITE"].ToString(); drs[0]["MINUTE_PRODUCT_OUT"] = dr["MINUTE_PRODUCT_OUT"].ToString(); drs[0]["MINUTE_WAITE_OUT"] = dr["MINUTE_WAITE_OUT"].ToString(); drs[0]["BATCH_WAITE_OUT"] = dr["BATCH_WAITE_OUT"].ToString(); drs[0]["MEMO"] = dr["MEMO"].ToString(); drs[0]["MINUTE_PRODUCT"] = dr["MINUTE_PRODUCT"].ToString(); drs[0]["CIC"] = dr["CIC"].ToString(); drs[0]["PIC"] = dr["PIC"].ToString(); drs[0]["SIC"] = dr["SIC"].ToString(); drs[0]["DIC"] = dr["DIC"].ToString(); drs[0]["WIC"] = dr["WIC"].ToString(); drs[0]["GIC"] = dr["GIC"].ToString(); drs[0]["ICOUNT"] = dr["PROCESS_SEQ"].ToString(); drs[0]["PROCESS_CODE_C"] = dr["PROCESS_CODE_C"].ToString(); drs[0]["PROCESS_SEQ_OLD"] = dr["PROCESS_SEQ_OLD"].ToString(); drs[0]["PROCESS_CODE_C_OLD"] = dr["PROCESS_CODE_C_OLD"].ToString(); drs[0]["PROCESS_FILE"] = dr["PROCESS_FILE"].ToString(); drs[0]["PROCESS_FILE_NAME"] = dr["PROCESS_FILE_NAME"].ToString(); UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid5, new string[] { "PROCESS_CODE" }, new string[] { dr["PROCESS_CODE"].ToString() }); if (rows.Length == 0) continue; rows[0].Cells["CHK"].Value = true; } dt.AcceptChanges(); ultraGrid5.UpdateData(); } public static DataTable QueryProcessC(FrmProPSCMSC2 frm) { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryProcessC", new object[] { }, frm.ob); return dt; } public static DataTable QueryProcess(FrmProPSCMSC2 frm) { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryBaseProcess2", new object[] { }, frm.ob); return dt; } } }