using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Data; using System.Windows.Forms; using System.Collections; using CoreFS.CA06; using Core.LgMes.Client.lgClassModel; using Infragistics.Win.UltraWinGrid; using System.Runtime.InteropServices; namespace Core.LgMes.Client.LgJobMgt { public class CStaticMethod { /// /// 设置控件样式 /// /// /// 颜色标致 public static void SetUltraGridStyle(UltraGrid ulgrid,int intFlag) { Color CardBackColor =Color.PapayaWhip; Color RowBackColor = Color.LightBlue; switch (intFlag) { case 1: CardBackColor = Color.Honeydew;// Color.LightCyan; break; case 2: CardBackColor = Color.PapayaWhip; break; default: break; } ulgrid.DisplayLayout.Override.CardAreaAppearance.BackColor = CardBackColor; //卡片样式背景 ulgrid.DisplayLayout.Override.HeaderAppearance.BackColor = CardBackColor; //表头背景 ulgrid.DisplayLayout.Override.RowAppearance.BackColor = RowBackColor; //行的背景色 //ulgrid.DisplayLayout.Override.CellAppearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True; //单元格字体加粗 ulgrid.DisplayLayout.BorderStyle = Infragistics.Win.UIElementBorderStyle.None; //设置边框 } //========================================================== // 获取子窗体弹出的位置坐标 //========================================================== public static Point GetChildWindowLocation(Size ChildWindowSize) { int width = Cursor.Position.X + ChildWindowSize.Width - Screen.PrimaryScreen.Bounds.Width; int height = Cursor.Position.Y + ChildWindowSize.Height - Screen.PrimaryScreen.Bounds.Height + 30; width = (width > 0) ? (Cursor.Position.X - width) : Cursor.Position.X; // X坐标 height = (height > 0) ? (Cursor.Position.Y - height + 10) : (Cursor.Position.Y + 10); // Y坐标 return new Point(width, height); } public static void ResetTableRows(ref DataTable ATable, int newRowsCount) { int arows = Math.Abs(ATable.Rows.Count - newRowsCount); string[] sTmp = new string[ATable.Columns.Count]; if (ATable.Rows.Count < newRowsCount) { for (int i = 0; i < arows; i++) ATable.Rows.Add(sTmp); } else { for (int i = arows - 1; i >= 0; i--) ATable.Rows[i].Delete(); } } public static void AppendTableRows(ref DataTable ATable, int newRowsCount) { string[] sTmp = new string[ATable.Columns.Count]; for (int i = 0; i < newRowsCount; i++) ATable.Rows.Add(sTmp); } /// /// 获取熔炼号函数 /// /// /// public static string getSmeltingID(string heatProcessNumb) { heatProcessNumb = heatProcessNumb.Trim(); if (heatProcessNumb == "") return ""; string subStr = heatProcessNumb.Substring((int)OBJLEN.nHeatProcessNo-(int)OBJLEN.nHeatNo, (int)OBJLEN.nHeatNo); return subStr; } /// /// 获取脱硫号函数 /// /// /// public static string getHudwIdID(string heatProcessNumb) { heatProcessNumb = heatProcessNumb.Trim(); if (heatProcessNumb == "") return ""; string subStr = heatProcessNumb.Substring((int)OBJLEN.nHudwProcessNo - (int)OBJLEN.nHudwId, (int)OBJLEN.nHudwId); return subStr; } /// i /// 转换熔炼号为中间带-的化学检验号 /// /// /// public static string ConvertSmeltID(string SmeltID) { if (SmeltID.Trim().Equals(string.Empty)) return ""; string szStr = SmeltID.Substring(0, 3) + "-" + SmeltID.Substring(SmeltID.Length - 5); return szStr; } /// /// 作业路线转换 /// /// /// public static string ConvertJobRoute(string szZYLX) { ArrayList ar = new ArrayList(); string szLX = ""; int nLen = 0; while (szZYLX.Length > 0) { nLen = szZYLX.IndexOf("LG", 1); if (nLen > 0) { szLX = szZYLX.Substring(0, nLen); szZYLX = szZYLX.Substring(nLen); } else { szLX = szZYLX.Substring(0); szZYLX = ""; } ar.Add(szLX); } for (int i = 0; i < ar.Count; i++) { switch (ar[i].ToString()) { case "LG2020000": szZYLX += "转炉->"; break; case "LG20200001": szZYLX += "1#转炉->"; break; case "LG20200002": szZYLX += "2#转炉->"; break; case "LG20200003": szZYLX += "3#转炉->"; break; case "LG2030000": szZYLX += "钢包站->"; break; case "LG20300001": szZYLX += "1#钢包站->"; break; case "LG20300002": szZYLX += "2#钢包站->"; break; case "LG20300003": szZYLX += "3#钢包站->"; break; case "LG2040000": szZYLX += "精炼炉->"; break; case "LG20400001": szZYLX += "1#精炼炉->"; break; case "LG20400002": szZYLX += "2#精炼炉->"; break; case "LG20400003": szZYLX += "3#精炼炉->"; break; case "LG2050000": szZYLX += "连铸机"; break; case "LG20500001": szZYLX += "1#连铸机"; break; case "LG20500002": szZYLX += "2#连铸机"; break; case "LG20500003": szZYLX += "3#连铸机"; break; case "LG20500004": szZYLX += "4#连铸机"; break; default: break; } } return szZYLX; } /// /// 获取当前班次 /// /// public static string GetCurrentClass(CoreFS.CA06.OpeBase ope) { string strErr = ""; string strSqlID = "GetCurrDuty.Select"; Core.Mes.Client.Common.CommonClientToServer ccs = new Core.Mes.Client.Common.CommonClientToServer(); ccs.ob = ope; //获取班次班别信息 DataSet ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule", "GetCurrDuty", strSqlID, out strErr); if (strErr == "" && ds != null) { if(ds.Tables[0]!=null && ds.Tables[0].Rows.Count>0) return ds.Tables[0].Rows[0][0].ToString(); } return ""; } /// /// 班次转换 /// /// public static string ClassConvert(string szClassID) { if (szClassID.Trim() == "") return ""; if(szClassID.Length ==2) szClassID = szClassID.Substring(1); string szClassName = ""; switch (szClassID) { case "1": szClassName = "甲"; break; case "2": szClassName = "乙"; break; case "3": szClassName = "丙"; break; case "4": szClassName = "丁"; break; default: break; } return szClassName; } /// /// 时间计算返回分 /// /// /// /// public static int caculateTime(DateTime startTime, DateTime endTime) { int lStayDuration = 0; TimeSpan odtSpan; if (endTime > startTime) { odtSpan = endTime - startTime; lStayDuration = Convert.ToInt32(System.Math.Round(odtSpan.TotalMinutes)); } else if (startTime != endTime) { if (startTime > DateTime.Now) lStayDuration = 0; else { odtSpan = DateTime.Now - startTime; lStayDuration = Convert.ToInt32(System.Math.Round(odtSpan.TotalMinutes)); } } return lStayDuration; } /// /// 时间计算返回秒 /// /// /// /// public static int caculateTimeSeconds(DateTime startTime, DateTime endTime) { int lStayDuration = 0; TimeSpan odtSpan; if (endTime > startTime) { odtSpan = endTime - startTime; lStayDuration = Convert.ToInt32(System.Math.Round(odtSpan.TotalSeconds)); } else if (startTime != endTime) { if (startTime > DateTime.Now) lStayDuration = 0; else { odtSpan = DateTime.Now - startTime; lStayDuration = Convert.ToInt32(System.Math.Round(odtSpan.TotalSeconds)); } } return lStayDuration; } /// /// 将秒转换成时间 /// /// /// public static string caculateSecondsTime(string strSeconds) { string strTime = "0′0″"; if (!string.IsNullOrEmpty(strSeconds) && strSeconds.Length > 0) { TimeSpan tsTime = new TimeSpan(0, 0, Convert.ToInt16(strSeconds)); if (tsTime.Hours > 0) strTime = Convert.ToString(tsTime.Hours) + "′" + Convert.ToString(tsTime.Minutes)+ "′" + Convert.ToString(tsTime.Seconds) + "″"; else strTime = Convert.ToString(tsTime.Minutes)+ "′" + Convert.ToString(tsTime.Seconds)+ "″"; } return strTime; } /// /// 获取两个时间段的差值 /// /// /// /// public static int JudgeTime(DateTime startTime, DateTime endTime) { int lStayDuration = 0; TimeSpan odtSpan; if (endTime > startTime) { odtSpan = endTime - startTime; lStayDuration = Convert.ToInt32(System.Math.Round(odtSpan.TotalMinutes)); } return lStayDuration; } /// /// 验证数据有效性(Number) /// /// public static void CheckNumValidate(string szVal) { try { Convert.ToDecimal(szVal); } catch (Exception ex) { MessageBox.Show(ex.Message, "提示"); } } /// /// 验证数据有效性(Double) /// /// /// public static bool IsDouble(string AValue) { try { Convert.ToDouble(AValue); return true; } catch { return false; } } /// /// 检查是否为当天的记录 /// /// /// /// /// public static bool CheckIsTodayNote( string szTableName, string szWhere) { try { string szOut = "";//, szWhere = ""; #region "在数据库里面查找炉号是否为当天生成的炉号记录" //szWhere = " where to_char(czsj, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd') and lh='"+szLH+"'"; //CallingMessage par = new CallingMessage(); //par.ServerName = "lgResMgt"; //par.AssemblyName = "Core.QG.Server.InfoCollect"; //par.ClassName = "Core.QG.Server.InfoCollect.SendCommand"; //par.MethodName = "QueryStove"; //par.args = new object[] { szTableName, szWhere }; object obj = null;// RemotingHelp.ExecuteMethod(par, out szOut); if (szOut == "" && obj != null) { DataTable dt = ((DataSet)obj).Tables[0]; if (dt.Rows.Count > 0) { return true; } else { return false; } } #endregion } catch { } return false; } /// /// 检查是否有修改权限 /// /// /// /// /// public static bool CheckIsPurview() { try { string szOut = "";//, szWhere = ""; #region "" CoreFS.CA06.FrmBase ccf = new FrmBase(); string szWhere = " and a.loginid='" + ccf.UserInfo.GetUserID() +"'"; //CallingMessage par = new CallingMessage(); //par.ServerName = "lgResMgt"; //par.AssemblyName = "Core.QG.Server.InfoCollect"; //par.ClassName = "Core.QG.Server.InfoCollect.SendCommand"; //par.MethodName = "QueryUpdatePurview"; //par.args = new object[] { szWhere }; object obj = null;// RemotingHelp.ExecuteMethod(par, out szOut); if (szOut == "" && obj != null) { DataTable dt = ((DataSet)obj).Tables[0]; if (dt.Rows.Count > 0 && dt.Rows[0]["UPDATEFLAG"].ToString() == "1") { return true; } else { return false; } } #endregion } catch { } return false; } /// /// 设置元素标准值 /// /// 表行数 /// 行记录 /// 被设置的表 public static void SetStandardElemData(int row, DataRow dr, ref DataTable dt) { try { // 取得元素名称 string szEleName = dr["itemcode"].ToString(); dt.Rows[row]["TYPESYMBOL"] = dr["STDSTYLE"].ToString() == "1" ? "内控" : (dr["STDSTYLE"].ToString() == "2" ? "放行" : "特殊"); if (dr["stdmax"].ToString() != "" && dr["stdmin"].ToString() != "") dt.Rows[row][szEleName] = dr["stdmin"].ToString() + "~" + dr["stdmax"].ToString(); else if (dr["stdmax"].ToString() != "" && dr["stdmin"].ToString() == "") dt.Rows[row][szEleName] = "≤ " + dr["stdmax"].ToString(); else if (dr["stdmax"].ToString() == "" && dr["stdmin"].ToString() != "") dt.Rows[row][szEleName] = "> " + dr["stdmin"].ToString(); } catch { } } /// /// 设置化学元素实时值 /// /// /// /// /// public static void SetCraftElemGridData(int row, JOB_CHEMELEMENT obj, string key, ref DataTable dt) { try { dt.Rows[0]["TYPESYMBOL"] = "内控"; dt.Rows[1]["TYPESYMBOL"] = "放行"; dt.Rows[2]["TYPESYMBOL"] = "特殊"; if (row < dt.Rows.Count) { dt.Rows[row]["TYPESYMBOL"] = key; dt.Rows[row]["C"] = obj.C; dt.Rows[row]["Si"] = obj.SI; dt.Rows[row]["Mn"] = obj.MN; dt.Rows[row]["P"] = obj.P; dt.Rows[row]["S"] = obj.S; dt.Rows[row]["Als"] = obj.ALS; dt.Rows[row]["V"] = obj.V; dt.Rows[row]["Nb"] = obj.NB; dt.Rows[row]["Ti"] = obj.TI; dt.Rows[row]["Ca"] = obj.CA; dt.Rows[row]["B"] = obj.B; dt.Rows[row]["Asn"] = obj.ASN; dt.Rows[row]["Sn"] = obj.SN; dt.Rows[row]["Cu"] = obj.CU; dt.Rows[row]["Sb"] = obj.SB; dt.Rows[row]["Alt"] = obj.ALT; dt.Rows[row]["Cr"] = obj.CR; dt.Rows[row]["Ni"] = obj.NI; dt.Rows[row]["Mo"] = obj.MO; dt.Rows[row]["O"] = obj.O; dt.Rows[row]["N"] = obj.N; dt.Rows[row]["H"] = obj.H; dt.Rows[row]["Ceq"] = obj.CEQ; dt.Rows[row]["Pcm"] = obj.PCM; dt.Rows[row]["Cev"] = obj.CEV; } //C、Si、Mn、P、S、Als、V、Nb、Ti、As、Sn、Cu、Sb、Alt、O、N、H } catch (Exception ex) { string Msg = ex.Message; } } /// /// 设置温度实时值 /// /// public static void SetGridTemperature(ref DataTable dt, string szXMM, string szSDFW, string szSJZ, int row) { dt.Rows[row]["项目名"] = szXMM; dt.Rows[row]["设定范围"] = szSDFW; dt.Rows[row]["实际值"] = szSJZ; } /// /// 设置温度实时值 /// /// public static void SetGridTemperature(ref DataTable dt, string szXmm, string szSDFW,string szSJZ,string szDate, int row) { dt.Rows[row]["项目名"] = szXmm; dt.Rows[row]["设定范围"] = szSDFW; dt.Rows[row]["实际值"] = szSJZ; dt.Rows[row]["采样时间"] =szDate; } /// /// 与标准值进行比对 /// /// 工艺标准表 /// 被填充数据源的表 /// 比对的编码 /// 被填充数据的GRID /// 被填充的数据行 /// 岗位编码 public static void CompareStandard(DataTable dtStd, ref DataTable dtSource, string szCode, ref Infragistics.Win.UltraWinGrid.UltraGrid uGrd, int row,string strName) { DataRow[] dr = null; Decimal dZXZ = 0, dZDZ = 0, dVal = 0; if (dtStd != null && dtStd.Rows.Count > 0) { try { dr = dtStd.Select(" ITEM1 = '" + szCode +"' and Name_='"+ strName +"'"); if (dr.Length > 0) { if (dr[0]["ITEM1MAX"].ToString() != "" && dr[0]["ITEM1MIN"].ToString() != "") dtSource.Rows[row]["设定范围"] = dr[0]["ITEM1MIN"].ToString() + "-" + dr[0]["ITEM1MAX"].ToString(); else if (dr[0]["ITEM1MAX"].ToString() != "" && dr[0]["ITEM1MIN"].ToString() == "") dtSource.Rows[row]["设定范围"] = "≤ " + dr[0]["ITEM1MAX"].ToString(); else if (dr[0]["ITEM1MAX"].ToString() == "" && dr[0]["ITEM1MIN"].ToString() != "") dtSource.Rows[row]["设定范围"] = "> " + dr[0]["ITEM1MIN"].ToString(); if (!string.IsNullOrEmpty(dr[0]["ITEM1MIN"].ToString())) dZXZ = Convert.ToDecimal(dr[0]["ITEM1MIN"]); if(!string.IsNullOrEmpty(dr[0]["ITEM1MAX"].ToString())) dZDZ = Convert.ToDecimal(dr[0]["ITEM1MAX"]); //获取当前实际值 if (!string.IsNullOrEmpty(uGrd.DisplayLayout.Rows[row].Cells["实际值"].Value.ToString())) dVal =Convert.ToDecimal(uGrd.DisplayLayout.Rows[row].Cells["实际值"].Value); if ((dVal > 0) && (dVal < dZXZ )) uGrd.DisplayLayout.Rows[row].Cells["实际值"].Appearance.ForeColor = Color.Red; // 下限报警红色显示 else if ((dVal > 0) && (dVal > dZDZ) && dZDZ>0) uGrd.DisplayLayout.Rows[row].Cells["实际值"].Appearance.ForeColor = Color.Red; // 上限报警蓝色显示 else uGrd.DisplayLayout.Rows[row].Cells["实际值"].Appearance.ForeColor = Color.Black; } } catch { } uGrd.Refresh(); } } /// /// 设置Grid 的编辑性 /// /// public static void SetRowEdit(ref Infragistics.Win.UltraWinGrid.UltraGrid Grid) { foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in Grid.Rows) { row.Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit; } } /// /// 解析工艺路线 /// /// 工艺编码路线 /// public static string analysPlan_Lines(string strPlan_Lines) { string strLines = ""; try { for (int i = 0; i < strPlan_Lines.Length; i += 1) { string StationCode = strPlan_Lines.Substring(i, 1); switch (StationCode) { case "A": strLines = strLines + "混铁炉"; break; case "B": strLines = strLines + "->脱硫"; break; case "C": strLines = strLines + "->转炉"; break; case "D": strLines = strLines + "->吹氩站"; break; case "E": strLines = strLines + "->精炼"; break; case "F": strLines = strLines + "->RH炉"; break; case "I": strLines = strLines + "->VD炉"; break; case "G": strLines = strLines + "->连铸机"; break; } } } catch { } if (strLines.Length < 2) return ""; if (strLines.IndexOf("->", 0) == 0) { int len = strLines.Length; strLines = strLines.Substring(2, len - 2); } return strLines; } /// /// 解析作业路线 /// /// 路线代码 /// public static string analysPath(string craftPath) { string path = ""; try { for (int i = 0; i < craftPath.Length; i += 2) { string StationCode = craftPath.Substring(i, 2); switch (StationCode) { case "A1": path = path + "1#混铁炉"; break; case "A2": path = path + "2#混铁炉"; break; case "B1": path = path + "->1#脱硫"; break; case "B2": path = path + "->2#脱硫"; break; case "C1": path = path + "->1#转炉"; break; case "C2": path = path + "->2#转炉"; break; case "C3": path = path + "->3#转炉"; break; case "D1": path = path + "->1#吹氩站"; break; case "D2": path = path + "->2#吹氩站"; break; case "D3": path = path + "->3#吹氩站"; break; case "E1": path = path + "->1#精炼"; break; case "E2": path = path + "->2#精炼"; break; case "E3": path = path + "->3#精炼"; break; case "F1": path = path + "->1#RH炉"; break; case "F2": path = path + "->2#RH炉"; break; case "I1": path = path + "->1#VD炉"; break; case "I2": path = path + "->2#VD炉"; break; case "G1": path = path + "->1#连铸机"; break; case "G2": path = path + "->2#连铸机"; break; case "G3": path = path + "->3#连铸机"; break; case "G4": path = path + "->4#连铸机"; break; } } } catch { } if (path.Length < 2) return ""; if (path.IndexOf("->", 0) == 0) { int len = path.Length; path = path.Substring(2, len - 2); } return path; } /// /// 根据岗位号获取工序 /// /// 岗位编码 /// 工序代码 public static string analysProcess(string _DEVICE_POSITION) { string strProcess = ""; //工序代码 if (!string.IsNullOrEmpty(_DEVICE_POSITION)) { switch (_DEVICE_POSITION.Substring(0, 3)) { case "HMP": strProcess="B"; break; case "BOF": strProcess = "C"; break; case "CAS": strProcess = "D"; break; case "LFS": strProcess = "E"; break; case "RHS": strProcess = "F"; break; case "CCM": strProcess = "G"; break; case "VDS": strProcess = "I"; break; default: break; } } return strProcess; } /// /// 根据岗位号获取工序中文名 /// /// 岗位编码 /// 工序中文名 public static string analysChineseName(string _DEVICE_POSITION) { string strChineseName = ""; //工序代码 if (!string.IsNullOrEmpty(_DEVICE_POSITION)) { switch (_DEVICE_POSITION.Substring(0, 3)) { case "HMP": strChineseName = "脱硫站"; break; case "BOF": strChineseName = "转炉"; break; case "CAS": strChineseName = "吹氩站"; break; case "LFS": strChineseName = "LF炉"; break; case "RHS": strChineseName = "RH炉"; break; case "VDS": strChineseName = "VD炉"; break; case "CCM": strChineseName = "连铸机"; break; default: break; } } return strChineseName; } /// /// 根据代码解析工位名 /// /// 岗位编码,BOF01_FRONT /// 工位中文名 public static string analysPosName(string _DEVICE_POSITION) { string strChineseName = ""; //工序代码 string strPos = ""; //岗位 string strWsID = ""; //工位 if (!string.IsNullOrEmpty(_DEVICE_POSITION)) { strPos = _DEVICE_POSITION.Substring(0, 3); strWsID = _DEVICE_POSITION.Substring(6); switch (strWsID) { case "IDLE": strChineseName = "缓冲位"; break; case "FRONT": if (strPos == "CAS" || strPos == "CCM") strChineseName = "等待位"; else if (strPos == "LFS" || strPos == "RHS") strChineseName = "1#小车位"; else if (strPos == "HMP") strChineseName = "小车位"; break; case "DEVICE": if (strPos == "BOF") strChineseName = "吹炼位"; else if (strPos == "CCM") strChineseName = "浇铸位"; else strChineseName = "处理位"; break; case "BACK": if (strPos == "BOF") strChineseName = "出钢位"; else strChineseName = "2#小车位"; break; case "OVER": strChineseName = "生产结束"; break; default: break; } } return strChineseName; } /// /// 解析执行状态 /// /// 执行状态代码 /// public static string analysHeat_State(string heatState) { string strHeat_State = ""; if (!string.IsNullOrEmpty(heatState.Trim())) { switch (heatState) { case "03": strHeat_State = "计划状态"; break; case "04": strHeat_State = "正在转炉"; break; case "05": strHeat_State = "正在吹氩"; break; case "06": strHeat_State = "正在精炼炉"; break; case "07": strHeat_State = "正在RH炉"; break; case "08": strHeat_State = "正在连铸"; break; case "09": strHeat_State = "生产完成"; break; default: strHeat_State = "执行异常"; break; } } return strHeat_State; } /// /// 解析成分作业路线 /// /// 成分编码 /// public static string ChemelementPath(string craftPath) { string path = ""; try { string StationCode = craftPath.Substring(0, 1); switch (StationCode) { case "B": path = "脱硫"; break; case "C": path = "转炉"; break; case "D": if (craftPath.Substring(0, 2) == "DQ") path = "CAS前"; else if (craftPath.Substring(0, 2) == "DH") path = "CAS后"; break; case "E": path = "LF炉"; break; case "F": path = "RH炉"; break; case "I": path = "VD炉"; break; case "G": path = "连铸"; break; } } catch { } return path; } /// /// 将长整型转换浮点型 /// /// /// public static float LongToFloat(long lgValue) { float flValue = 0; try { if (lgValue >= 0) { byte[] btValue = CStaticMethod.LongToHex(lgValue); flValue = CStaticMethod.HexToFloat(btValue); } } catch { } return flValue; } private static unsafe byte[] LongToHex(long lValue) { long[] lValuePtr = new long[1]; int sizeOfValue = Marshal.SizeOf(typeof(long)); byte[] byteValue = new byte[sizeOfValue]; lValuePtr[0] = lValue; fixed (long* pTempValue = lValuePtr) { Marshal.Copy(new IntPtr(pTempValue), byteValue, 0, sizeOfValue); } return byteValue; } private static unsafe float HexToFloat(byte[] byteValue) { float[] fltValuePtr = new float[1]; int sizeOfValue = Marshal.SizeOf(typeof(float)); fixed (float* pTempValue = fltValuePtr) { Marshal.Copy(byteValue, 0, new IntPtr(pTempValue), sizeOfValue); } return fltValuePtr[0]; } /// /// 获取窗体工具栏信息 /// /// 窗体KEY /// 窗体自定议参数 /// URL /// LIST public static List GetFromToolInfo(string strFromKey, string strCustominfo,OpeBase ob) { string strErr = ""; List sblist = new List(); try { ArrayList arry = new ArrayList(); if (strCustominfo.Length > 0) { arry.Add("GetFromToolInfo_Custom.Select");//此ID为XML文件ID arry.Add(strFromKey); arry.Add(strCustominfo); } else { arry.Add("GetFromToolInfo.Select");//此ID为XML文件ID arry.Add(strFromKey); } Core.Mes.Client.Common.CommonClientToServer ccTs = new Core.Mes.Client.Common.CommonClientToServer(); ccTs.ob = ob; //获取指定岗位后台实时跟踪信息 DataSet ds = ccTs.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule", "GetFromToolInfo", arry, out strErr); if (strErr == "" && ds != null) { if (ds.Tables[0].Rows.Count > 0) { foreach(DataRow dr in ds.Tables[0].Rows) { structButton sbut = new structButton(); sbut.Caption = dr["CAPTION"].ToString(); sbut.Key = dr["KEY"].ToString(); sbut.ImageKey = dr["IMAGE"].ToString(); sbut.Enable = true; sblist.Add(sbut); } } } return sblist; } catch { return sblist; } } /// /// 获取作业温度标准 /// /// public static DataTable GetJobStandardTemp(CoreFS.CA06.OpeBase ope,string strSteelCode) { string strErr = ""; ArrayList arry = new ArrayList(); arry.Add("GetJobStandardTemp.Select");//此ID为XML文件ID arry.Add(strSteelCode); Core.Mes.Client.Common.CommonClientToServer ccTs = new Core.Mes.Client.Common.CommonClientToServer(); ccTs.ob = ope; //获取作业温度标准 DataSet ds = ccTs.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule", "GetJobStandardTemp", arry, out strErr); if (strErr == "" && ds != null) { return ds.Tables[0]; } return null; } /// /// 获取物料消耗标准 /// /// public static DataTable GetJobStandardMateriel(CoreFS.CA06.OpeBase ope, string strSteelCode) { string strErr = ""; ArrayList arry = new ArrayList(); arry.Add("GetJobStandardMateriel.Select");//此ID为XML文件ID arry.Add(strSteelCode); Core.Mes.Client.Common.CommonClientToServer ccTs = new Core.Mes.Client.Common.CommonClientToServer(); ccTs.ob = ope; //获取作业温度标准 DataSet ds = ccTs.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule", "GetJobStandardMateriel", arry, out strErr); if (strErr == "" && ds != null) { return ds.Tables[0]; } return null; } } /// /// 枚举对象长度 /// public enum OBJLEN : int { /// /// 加热处理号长度 /// nHeatProcessNo=15, /// /// 炉号长度 /// nHeatNo = 10, /// /// 岗位编码长度 /// nDevCode = 2, /// /// 处理次数长度 /// nDealTime = 2, /// /// 岗位编码字母长度 /// nDevStr=1, /// /// 脱硫处理号 /// nHudwProcessNo=14, /// /// 脱硫号 /// nHudwId=9 } }