using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using CoreFS.CA06; using Core.Mes.Client.Common; using System.Collections; namespace Core.LgMes.Client.LgJobMgt { public partial class frmManualOperate : Form { public CoreFS.CA06.OpeBase ob; public string strStationCode = ""; //岗位编号 public bool blTrade = false; //是否有切换工位信息 public string strOldPos = ""; //原始工位 public string strObjectPos = ""; //目标位置 public string strOptcommandType = "";//操作命令类型 public string strOptcaption = ""; //操作说明 public string strNormalOpt = ""; //操作类型(正常操作、异常操作、互换信息) public frmManualOperate() { InitializeComponent(); } private void frmManualOperate_Load(object sender, EventArgs e) { InitializeInfo(); } /// /// 初始化所有信息 /// private void InitializeInfo() { //初始化标题 string strChineseName = CStaticMethod.analysChineseName(strStationCode); this.Text = strChineseName + "工序手动操作"; if (strStationCode == "LFS" || strStationCode == "RHS" || strStationCode == "VDS") blTrade = true; //初始切换工位信息功能 if (blTrade == true) ultegbTradeOpt.Visible = true; else { if (strStationCode == "CCM") this.Width = this.Width - ultegbTradeOpt.Width + 50; else this.Width = this.Width - ultegbTradeOpt.Width; } //作业手动操作配置信息 GetManualOperateInfo(); //初始化加载窗体时默认正常操作 InitializeLoadDefaultOpt(); } /// /// 初始化手动操作OptionSet控件 /// private void InitializeOptSet(Infragistics.Win.UltraWinEditors.UltraOptionSet ultost) { //正常操作 for (int i = 0; i < ultosNormalOpt.Items.Count; i++) { ultosNormalOpt.Items[i].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.Default; if (ultost != ultosNormalOpt) ultosNormalOpt.Value = false; } //异常操作 for (int i = 0; i < ultosExpOpt.Items.Count; i++) { ultosExpOpt.Items[i].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.Default; if (ultost != ultosExpOpt) ultosExpOpt.Value = false; } //切换工位信息 for (int i = 0; i < ultosTradeOpt.Items.Count; i++) { ultosTradeOpt.Items[i].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.Default; if (ultost != ultosTradeOpt) ultosTradeOpt.Value = false; } } /// /// 初始化加载窗体时默认正常操作 /// private void InitializeLoadDefaultOpt() { foreach (Infragistics.Win.ValueListItem vli in ultosNormalOpt.Items) { if (strStationCode == "HMP") { ValueListItem listvalue = (ValueListItem)vli.DataValue; //根据炉次所在工位默认作操 switch (strOldPos) { case "DEVICE": //处理位 if (listvalue.ID == "_OVER") ultosNormalOpt.CheckedItem = vli; break; case "FRONT": //小车位 if (listvalue.ID == "_DEVICE") ultosNormalOpt.CheckedItem = vli; break; default: break; } } if (strStationCode == "BOF") { ValueListItem listvalue =(ValueListItem) vli.DataValue; //根据炉次所在工位默认作操 switch (strOldPos) { case "DEVICE": //吹炼位 if (listvalue.ID == "_BACK") ultosNormalOpt.CheckedItem = vli; break; case "BACK": //出钢位 if (listvalue.ID == "_IDLE") ultosNormalOpt.CheckedItem = vli; break; default: break; } } if (strStationCode == "CAS") { ValueListItem listvalue = (ValueListItem)vli.DataValue; //根据炉次所在工位默认作操 switch (strOldPos) { case "IDLE": //缓冲位 case "FRONT": //等待位 if (listvalue.ID == "_FRONT") ultosNormalOpt.CheckedItem = vli; break; case "DEVICE": //处理位 if (listvalue.ID == "_IDLE" && listvalue.Name=="出站") ultosNormalOpt.CheckedItem = vli; break; default: break; } } if (strStationCode == "LFS") { ValueListItem listvalue = (ValueListItem)vli.DataValue; //根据炉次所在工位默认作操 switch (strOldPos) { case "IDLE": //缓冲位 case "FRONT": //1#小车 case "BACK": //2#小车 if (listvalue.ID == "_DEVICE") ultosNormalOpt.CheckedItem = vli; break; case "DEVICE": //处理位 if (listvalue.ID == "_IDLE" && listvalue.Name == "出站") ultosNormalOpt.CheckedItem = vli; break; default: break; } } if (strStationCode == "RHS") { ValueListItem listvalue = (ValueListItem)vli.DataValue; //根据炉次所在工位默认作操 switch (strOldPos) { case "IDLE": //缓冲位 case "FRONT": //1#小车 case "BACK": //2#小车 if (listvalue.ID == "_DEVICE") ultosNormalOpt.CheckedItem = vli; break; case "DEVICE": //处理位 if (listvalue.ID == "_IDLE" && listvalue.Name == "出站") ultosNormalOpt.CheckedItem = vli; break; default: break; } } if (strStationCode == "VDS") { ValueListItem listvalue = (ValueListItem)vli.DataValue; //根据炉次所在工位默认作操 switch (strOldPos) { case "IDLE": //缓冲位 if (listvalue.ID == "_FRONT") ultosNormalOpt.CheckedItem = vli; break; case "FRONT": //1#处理位 case "DEVICE": //2#处理位 case "BACK": //2#处理位 if (listvalue.ID == "_IDLE" && listvalue.Name == "出站") ultosNormalOpt.CheckedItem = vli; break; default: break; } } if (strStationCode == "CCM") { ValueListItem listvalue = (ValueListItem)vli.DataValue; //根据炉次所在工位默认作操 switch (strOldPos) { case "IDLE": //缓冲位 if (listvalue.ID == "_FRONT") ultosNormalOpt.CheckedItem = vli; break; case "FRONT": //换包位 if (listvalue.ID == "_DEVICE") ultosNormalOpt.CheckedItem = vli; break; case "DEVICE": //2#处理位 if (listvalue.ID == "_OVER" && listvalue.Name == "大包下台") ultosNormalOpt.CheckedItem = vli; break; default: break; } } } } /// /// 查询作业手动操作配置信息 /// private void GetManualOperateInfo() { string strErr = ""; int intNormaOptIndex = 0; int intExpOptIndex = 0; int intTradeOptIndex = 0; if (strStationCode == "") return; ArrayList arry = new ArrayList(); arry.Add("GetManualOperateInfo.Select");//此ID为XML文件ID arry.Add(strStationCode); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = ob; //查询作业手动操作配置信息 DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule", "GetManualOperateInfo", arry, out strErr); if (strErr == "" && ds != null) { DataTable dtOpt = ds.Tables[0]; foreach (DataRow drOpt in dtOpt.Rows) { //正常操作 if (drOpt["OPTTYPE"].ToString() == "1") { ultosNormalOpt.Items.Add(new ValueListItem( drOpt["OBJECTPOS"].ToString(), drOpt["OPTCAPTION"].ToString() )); ultosNormalOpt.Items[intNormaOptIndex].Tag = drOpt["OPTCOMMANDTYPE"].ToString(); intNormaOptIndex++; } //异常操作 if (drOpt["OPTTYPE"].ToString() == "2") { ultosExpOpt.Items.Add(new ValueListItem(drOpt["OBJECTPOS"].ToString(), drOpt["OPTCAPTION"].ToString())); ultosExpOpt.Items[intExpOptIndex].Tag = drOpt["OPTCOMMANDTYPE"].ToString(); intExpOptIndex++; } //切换工位信息 if (drOpt["OPTTYPE"].ToString() == "3") { ultosTradeOpt.Items.Add(new ValueListItem(drOpt["OBJECTPOS"].ToString(), drOpt["OPTCAPTION"].ToString())); ultosTradeOpt.Items[intTradeOptIndex].Tag = drOpt["OPTCOMMANDTYPE"].ToString(); intTradeOptIndex++; } } } } /// /// 确认作业手动操作 /// private void ConfirmManualOpterate() { if (ultosNormalOpt.CheckedItem != null) { ValueListItem vli = (ValueListItem)ultosNormalOpt.CheckedItem.DataValue; strObjectPos = vli.ID; strOptcaption = vli.Name; strOptcommandType = ultosNormalOpt.CheckedItem.Tag.ToString(); strNormalOpt = "1"; } if (ultosExpOpt.CheckedItem != null) { ValueListItem vli = (ValueListItem)ultosExpOpt.CheckedItem.DataValue; strObjectPos = vli.ID; strOptcaption = vli.Name; strOptcommandType = ultosExpOpt.CheckedItem.Tag.ToString(); strNormalOpt = "2"; } if (ultosTradeOpt.CheckedItem != null) { ValueListItem vli = (ValueListItem)ultosTradeOpt.CheckedItem.DataValue; strObjectPos = vli.ID; strOptcaption = vli.Name; strOptcommandType = ultosTradeOpt.CheckedItem.Tag.ToString(); strNormalOpt = "3"; } } private void ultosNormalOpt_ValueChanged(object sender, EventArgs e) { Infragistics.Win.UltraWinEditors.UltraOptionSet ultOs = (Infragistics.Win.UltraWinEditors.UltraOptionSet)sender; if (ultOs.ValueList.SelectedIndex != -1) ultOs.Items[ultOs.ValueList.SelectedIndex].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True; } private void ultosNormalOpt_Click(object sender, EventArgs e) { Infragistics.Win.UltraWinEditors.UltraOptionSet ultOs = (Infragistics.Win.UltraWinEditors.UltraOptionSet)sender; InitializeOptSet(ultOs); } private void ulttbmMain_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "Confirm": //确认作业手动操作 strObjectPos = ""; strOptcommandType = ""; ConfirmManualOpterate(); this.Close(); break; case "Cancel": this.Close(); break; default: break; } } } }