using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Threading; using Core.LgMes.Client.lgClassModel; using System.Collections; using System.Reflection; using CoreFS.CA06; using Core.Mes.Client.Common; using Core.LgMes.Client.LgIntegrationQuery; using Core.LgMes.Client.LgResMgt; using Core.LgMes.Client.Report; namespace Core.LgMes.Client.LgJobMgt { public partial class frmHmpJob : CommonClientToServer { #region " Class Member Variable" private string _heatProcessNo = ""; // 加热处理号 private string _hudWid = ""; // 脱硫处理号 private DataTable _dtCraftElement = null; // 工艺化学成分信息表 private DataTable _dtStdElement = null; // 标准成分表 private CommandClass _commClass; // 消息发送类 private string _DEVICE_POSITION = "HMP01"; // 设备位置 private int _DEVICE_POS = 1; // 设备号 private Thread _getDataThread; // 取数据线程 private Thread _setDataThread; // 刷新数据线程 private bool _bIfGetData = true; // 控制取数据线程循环的标志 private bool _bIfSetData = true; // 控制刷新数据线程循环的标志 private bool _bResetDataFlag = false; // 清空所有数据标志,True表示已经清空 private ArrayList _listHeatProcess = null; // 存储加热处理号的数组列表 private Wsid _wsID; // 脱硫工位号 (区分双工位同时脱硫的情况) private string _devPos = ""; // 当前设备位置的全称 private TrackObjectInfo _tmpObjTrack; // 实时跟踪信息类 用于存放当前实时跟踪信息 起一个中间过渡的缓冲 private TrackObjectInfo _objTrackBuffer; // 用于实时刷新实时跟踪信息的缓冲区 private CraftElement _tmpObjCraftEle; // 存放铁水成分信息的类 private CraftElement _objCraftEleBuffer; // 用于实时刷新铁水成分信息的缓冲区 private Hashtable _htOptInfo; // 用于存储脱硫操作信息的表字段数据 private delegate void SetDataThreadDelegate(); // 刷新数据线程的一个委托方法,目的是达到界面所有数据刷新同步 private string _szWorkBit = "3"; // 初始化为 3 (1 为1#小车; 2 为2# 小车; 3为钢包位) private string[] ArrayIronRow4 = new string[25] { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; //保存发送到转炉铁水数据 private string _strSendSucceededForBof1 = ""; private string _strSendSucceededForBof2 = ""; private string _strSendSucceededForBof3 = ""; private string strCheckNo = ""; //化学成分编码 #endregion #region " Enum " private enum Wsid { wdFirst, wdSecond } #endregion #region " Construct Function " public frmHmpJob() { InitializeComponent(); CheckForIllegalCrossThreadCalls = false; // 初始化成员变量 _commClass = new CommandClass(); _tmpObjTrack = new TrackObjectInfo(); _objTrackBuffer = new TrackObjectInfo(); _tmpObjCraftEle = new CraftElement(); _objCraftEleBuffer = new CraftElement(); _htOptInfo = new Hashtable(); _wsID = Wsid.wdFirst; // 默认1#工位 } #endregion #region " Init Form Element" private void frmHmpJob_Load(object sender, EventArgs e) { //GenerateTableFrame(); GetDevicePosition(); SetUserControlDelegate(); StartUpThread(); } /// /// 获取当前设备的后台实时跟踪信息 /// private void GetTrackInfoData() { string strErr = ""; ArrayList arry = new ArrayList(); arry.Add("ReceiveTrackObjectData.Select");//此ID为XML文件ID arry.Add(_DEVICE_POSITION); //获取指定岗位后台实时跟踪信息 DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassTrackObjectInfo", "ReceiveTrackObjectData", arry, out strErr); if (strErr == "" && ds != null) { DataSetToTrackObject(ref ds, ref _tmpObjTrack); } } /// /// 获得加热处理号 /// private void GetHeatProcessList() { try { this._listHeatProcess = new ArrayList(); string Key = ""; string szDevice = "", szBack = "", szFront = ""; RealDataTrackObjectInfor objTrack; Key = _DEVICE_POSITION + "_DEVICE"; objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key]; szDevice = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID + objTrack.DEVICESTATES : ""; Key = _DEVICE_POSITION + "_BACK"; objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key]; szBack = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID + objTrack.DEVICESTATES : ""; Key = _DEVICE_POSITION + "_FRONT"; objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList[Key]; szFront = (!string.IsNullOrEmpty(objTrack.OBJECTID)) ? objTrack.OBJECTID + objTrack.DEVICESTATES : ""; _listHeatProcess.Add(szFront); //Front (1#脱硫1小车位) _listHeatProcess.Add(szDevice); //device (1#脱硫工位) _listHeatProcess.Add(szBack); //Back (1#脱硫2小车位) } catch (Exception ex) { string msg = ex.Message; _listHeatProcess = null; } } /// /// 对获取到的加热处理号进行判断 /// private void JudgeHeatProcess() { try { if (_listHeatProcess.Count < 3) return; _heatProcessNo = ""; _devPos = ""; _hudWid = ""; //Device 1#脱硫工位 if (_wsID == Wsid.wdFirst && _listHeatProcess[1].ToString().Length > (int)OBJLEN.nHudwProcessNo) { string strHeat = _listHeatProcess[1].ToString(); _heatProcessNo = strHeat.Substring(0, (int)OBJLEN.nHudwProcessNo); _devPos = GetDevDeviceCodeOfHmp(_DEVICE_POS); _hudWid = (_heatProcessNo.Length > (int)OBJLEN.nHudwId) ? CStaticMethod.getHudwIdID(_heatProcessNo) : ""; } //Front 2#脱硫工位 if ((_heatProcessNo == "" && _listHeatProcess[0].ToString().Length > (int)OBJLEN.nHudwProcessNo) || (_wsID == Wsid.wdSecond && _listHeatProcess[0].ToString().Length > (int)OBJLEN.nHudwProcessNo)) { string strHeat = _listHeatProcess[0].ToString(); _heatProcessNo = strHeat.Substring(0, (int)OBJLEN.nHudwProcessNo); _devPos = GetDevFrontCodeOfHmp(_DEVICE_POS); _hudWid = (_heatProcessNo.Length > (int)OBJLEN.nHudwId) ? CStaticMethod.getHudwIdID(_heatProcessNo) : ""; } //Back 脱硫2#小车位 if (_heatProcessNo == "" && _listHeatProcess[2].ToString().Length > (int)OBJLEN.nHudwProcessNo) { string strHeat = _listHeatProcess[2].ToString(); _heatProcessNo = strHeat.Substring(0, (int)OBJLEN.nHudwProcessNo); _devPos = GetDevBackCodeOfHmp(_DEVICE_POS); _hudWid = (_heatProcessNo.Length > (int)OBJLEN.nHudwId) ? CStaticMethod.getHudwIdID(_heatProcessNo) : ""; } } catch { return; } } /// /// 获取设备位置信息 /// private void GetDevPosInfo() { try { string strState = ""; if (_listHeatProcess[0].ToString().Length > (int)OBJLEN.nHudwProcessNo) { string strHeat = _listHeatProcess[0].ToString(); strState = strHeat.Substring((int)OBJLEN.nHudwProcessNo); } else if (_listHeatProcess[1].ToString().Length > (int)OBJLEN.nHudwProcessNo) { string strHeat = _listHeatProcess[1].ToString(); strState = strHeat.Substring((int)OBJLEN.nHudwProcessNo); } else if (_listHeatProcess[2].ToString().Length > (int)OBJLEN.nHudwProcessNo) { string strHeat = _listHeatProcess[2].ToString(); strState = strHeat.Substring((int)OBJLEN.nHudwProcessNo); } if (_htOptInfo.Contains("TP")) _htOptInfo.Remove("TP"); _htOptInfo.Add("TP", SetPic(strState)); // 图片 if (_listHeatProcess.Count >= 3) { string szID = _listHeatProcess[0].ToString(); string strFrontPos = ""; //上道工序 szID = _listHeatProcess[0].ToString(); szID = (szID.Length > (int)OBJLEN.nHudwId) ? CStaticMethod.getHudwIdID(szID.Substring(0, (int)OBJLEN.nHudwProcessNo)) : ""; if (_htOptInfo.Contains("FRONT")) _htOptInfo.Remove("FRONT"); _htOptInfo.Add("FRONT", szID); // 1#小车位 //处理位信息 RealDataTrackObjectInfor objTrack = (RealDataTrackObjectInfor)_objTrackBuffer.hList["HMP0" + _DEVICE_POS + "_DEVICE"]; szID = _listHeatProcess[1].ToString(); szID = (szID.Length > (int)OBJLEN.nHudwId) ? CStaticMethod.getHudwIdID(szID.Substring(0, (int)OBJLEN.nHudwProcessNo)) : ""; if (_listHeatProcess[1].ToString().Length > (int)OBJLEN.nHudwProcessNo && _listHeatProcess[1].ToString().Substring(0, (int)OBJLEN.nHudwProcessNo) == objTrack.OBJECTID.ToString()) strFrontPos = objTrack.FRONTPOS.ToString(); if (strFrontPos == "HMP0" + _DEVICE_POS + "_BACK") { if (_htOptInfo.Contains("DEVICE2")) _htOptInfo.Remove("DEVICE2"); _htOptInfo.Add("DEVICE2", szID); // 2#处理位 if (_htOptInfo.Contains("DEVICE")) _htOptInfo.Remove("DEVICE"); } else { if (_htOptInfo.Contains("DEVICE")) _htOptInfo.Remove("DEVICE"); _htOptInfo.Add("DEVICE", szID); // 1#处理位 if (_htOptInfo.Contains("DEVICE2")) _htOptInfo.Remove("DEVICE2"); } szID = _listHeatProcess[2].ToString(); szID = (szID.Length > (int)OBJLEN.nHudwId) ? CStaticMethod.getHudwIdID(szID.Substring(0, (int)OBJLEN.nHudwProcessNo)) : ""; if (_htOptInfo.Contains("BACK")) _htOptInfo.Remove("BACK"); _htOptInfo.Add("BACK", szID); // 2#小车位 } } catch { } } #region " From DataSet To Buffer " private void DataSetToTrackObject(ref DataSet ds, ref TrackObjectInfo obj) { try { obj.ClearElement(); PropertyInfo[] PropertyInfos = null; foreach (DataRow dr in ds.Tables[0].Rows) { RealDataTrackObjectInfor detail = new RealDataTrackObjectInfor(); if (PropertyInfos == null) { PropertyInfos = detail.GetType().GetProperties(); } //给各个属性赋值 foreach (PropertyInfo oPropertyInfo in PropertyInfos) { try { if (dr[oPropertyInfo.Name] != System.DBNull.Value) { oPropertyInfo.SetValue(detail, dr[oPropertyInfo.Name.ToString()], null); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } obj.Add(ref detail); }//end foreach _objTrackBuffer.DataHarmonize(ref obj); } catch (Exception ex) { string Msg = ex.Message; } finally { } } private void DataSetToCraftElement(ref DataSet ds, ref CraftElement obj) { try { obj.ClearElement(); PropertyInfo[] PropertyInfos = null; foreach (DataRow dr in ds.Tables[0].Rows) { JOB_CHEMELEMENT detail = new JOB_CHEMELEMENT(); if (PropertyInfos == null) { PropertyInfos = detail.GetType().GetProperties(); } //给各个属性赋值 foreach (PropertyInfo oPropertyInfo in PropertyInfos) { try { if (dr[oPropertyInfo.Name] != System.DBNull.Value) { oPropertyInfo.SetValue(detail, dr[oPropertyInfo.Name.ToString()], null); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } obj.Add(ref detail); }//end foreach _objCraftEleBuffer.DataHarmonize(ref obj); } catch (Exception ex) { string Msg = ex.Message; } finally { } } #endregion #endregion #region " Thread Handle " /// /// 启动线程主程序 /// private void StartUpThread() { ThreadStart ts = new ThreadStart(GetDataThread); _getDataThread = new Thread(ts); _getDataThread.Name = "GetDataThread " + _DEVICE_POSITION; _getDataThread.Start(); System.Threading.Thread.Sleep(1000); ThreadStart ts1 = new ThreadStart(SetDataThread); _setDataThread = new Thread(ts1); _setDataThread.Name = "SetDataThread " + _DEVICE_POSITION; _setDataThread.Start(); } /// /// 取数据线程程序 /// private void GetDataThread() { while (_bIfGetData) { if (!this.On_Off_Thread) { System.Threading.Thread.Sleep(500); continue; } try { this.Invoke(new SetDataThreadDelegate(GetDataFromServer)); Thread.Sleep(2000); } catch { } } } /// /// 刷新数据线程程序 /// private void SetDataThread() { while (_bIfSetData) { if (!this.On_Off_Thread)//this.On_Off_Thread { System.Threading.Thread.Sleep(500); continue; } try { this.Invoke(new SetDataThreadDelegate(SetDataOperate)); Thread.Sleep(1000); } catch { } } } private void GetDataFromServer() { GetTrackInfoData(); GetHeatProcessList(); JudgeHeatProcess(); GetOptInfo(); GetCraftEleInfo(); GetDevPosInfo();//岗位信息 getoverhmpdate();//获取脱完硫的铁水信息 getelement(); //获取成分信息 GetCVTHeatno();//获取炼钢炉号 } private void SetDataOperate() { lock (this) { if (this._heatProcessNo == "") { ResetAllData(); return; } _bResetDataFlag = false; FillCraftElement(); FillUserControlData(); } } #endregion #region " Delegate " /// /// 异常操作 /// /// /// private void ucHmpDevInfo1_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { string[] bufferArray = { "", "", "", "" }; string strMsg = ""; switch (e.Cell.Column.Key) { case "FRONT": { if (e.Cell.Text != string.Empty && _listHeatProcess[0].ToString().Length > (int)OBJLEN.nHudwProcessNo) { string strCurtPos = "HMP0" + _DEVICE_POS.ToString() + "_FRONT"; string sFrontHeatNo = _listHeatProcess[0].ToString().Substring(0, (int)OBJLEN.nHudwProcessNo); ClassManualOperate.arryHeatNo = _listHeatProcess; ClassManualOperate.ManualOperateEntrance(sFrontHeatNo, strCurtPos, this.ob, _objTrackBuffer); } } break; case "DEVICE": { if (e.Cell.Text != string.Empty && _listHeatProcess[1].ToString().Length > (int)OBJLEN.nHudwProcessNo) { string strCurtPos = "HMP0" + _DEVICE_POS.ToString() + "_DEVICE"; string sCurHeatNo = _listHeatProcess[1].ToString().Substring(0, (int)OBJLEN.nHudwProcessNo); ClassManualOperate.arryHeatNo = _listHeatProcess; ClassManualOperate.ManualOperateEntrance(sCurHeatNo, strCurtPos, this.ob, _objTrackBuffer); } } break; default: break; } } private void ucBaseInfo1_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { string strHudwID = ""; string strDevice = ""; System.Windows.Forms.DialogResult drValue; switch (e.Cell.Column.Key) { case "HEATPROCESSNO": // 脱硫工位 if (string.IsNullOrEmpty(_heatProcessNo)) { drValue = MessageBox.Show("是否确认要手动加载新的脱硫作业信息?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (drValue == DialogResult.Yes) { strDevice = "_FRONT"; strHudwID = Getdeslagidfromresults(); if (!string.IsNullOrEmpty(strHudwID)) { this._commClass.obComm = this.ob; this._commClass.setChargingCommand("MOLSTL", _DEVICE_POSITION + strDevice, strHudwID); SetDataValue("ARRIVETIME", "DATE", DateTime.Now.ToString(), strHudwID); } } } else MessageBox.Show("当前脱硫岗位正在生产不能加载!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); break; case "HUDWID": //取消脱硫号 if (!string.IsNullOrEmpty(_heatProcessNo)) { drValue = MessageBox.Show("是否确认要取消【"+ _htOptInfo["HUDWID"].ToString() +"】脱硫信息,取消后无法恢复请确认?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (drValue == DialogResult.Yes) { string strSqlID = "CancelHmpJobInfo.Cancel"; //SQLID string strErr = ""; Hashtable ht = new Hashtable(); ht.Add("I1", _heatProcessNo); //加热处理号 ht.Add("O1", ""); ht.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob", "CancelHmpJobInfo", strSqlID, ht, out strErr); if (strErr != "") { MessageBox.Show("取消误加载脱硫作业信息失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } } } else MessageBox.Show("当前脱硫岗位没有生产!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); break; case "SHIFTCODE": // 班次 string szBC = _htOptInfo.Contains("SHIFTCODE") ? _htOptInfo["SHIFTCODE"].ToString() : ""; ClassCellButton(e.Cell, szBC); break; default: break; } } private void ucBaseInfo1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if (e.KeyCode != Keys.Enter || _heatProcessNo.Length < 14) return; if (MessageBox.Show("是否确认要修改脱硫处理号?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { ucBaseInfo1.ultraGrid1.UpdateData(); if (ucBaseInfo1.ultraGrid1.ActiveCell.Text.ToString().Length == 9) { string keyStr = ucBaseInfo1.ultraGrid1.ActiveCell.Column.Key; string valueStr; try { if (ucBaseInfo1.ultraGrid1.ActiveCell.Value.ToString() != "") { valueStr = ucBaseInfo1.ultraGrid1.ActiveCell.Text.ToString(); SetDataValue(keyStr, "VARCHAR2", valueStr, _heatProcessNo); } } catch (Exception ex) { string Msg = ex.Message; MessageBox.Show("保存失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else MessageBox.Show("脱硫处理号格式不正确(例:K11-00001)!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void ucHmpInInfo1_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { string strIronpwrapNo = ""; //铁包包号 string strIronpotgrosswgt = ""; //铁水毛重 string strIronpottarewgt = "";//铁罐皮重 string strIronwgt = "";//铁水重量 string strIronsource = ""; //铁水来源 string strEquipmentno = "";//工位号 string strHudwID = ""; //脱硫处理号 string strTemptur = ""; //温度 string strHeatProcessNO = ""; //加热处理号 switch (e.Cell.Column.Key) { case "IRONSOURCE": // 铁水来源 string szJZSK = ""; if (_htOptInfo.Contains("ARRIVETIME")) { if (_htOptInfo != null && _htOptInfo["ARRIVETIME"] != null && !string.IsNullOrEmpty(_htOptInfo["ARRIVETIME"].ToString())) { szJZSK = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); frmHMPIron frm = new frmHMPIron(szJZSK, _DEVICE_POSITION); frm.Location = CStaticMethod.GetChildWindowLocation(frm.Size); frm.ob = this.ob; frm.ShowDialog(); // if (!string.IsNullOrEmpty(frm._strIronwrapid)) string strErr = ""; if (frm._strIronwrapid.Trim().Length > 0 && frm._strIronpotwgt.Trim().Length > 0) { string strSqlID = "HmpJobIronMolirnSource.Update"; //SQLID Hashtable ht = new Hashtable(); ht.Add("I1", _heatProcessNo); //加热处理号 ht.Add("I2", _htOptInfo["HUDWID"].ToString()); //脱硫号 ht.Add("I3", frm._strMisid); //铁水来源(铁水来源主键) ht.Add("I4", frm._strIronwrapid); //铁包号 ht.Add("I5", frm._strIronpotgrosswgt); //铁水毛重 ht.Add("I6", frm._strIronpottarewgt); //铁水皮重 ht.Add("I7", frm._strIronpotwgt); //铁水重量 ht.Add("I8", frm._strIrontemperature); //铁水温度 ht.Add("I9", frm._strRsWgt); //回炉钢水 ht.Add("O1", ""); ht.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob", "HmpJobIronMolirnSource", strSqlID, ht, out strErr); if (strErr != "") { MessageBox.Show("数据保存失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } } } else MessageBox.Show("进铁时刻不能为空值,请设置进铁时刻!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } break; case "ARRIVETIME": // 进站时刻 SetCellDateTime(e.Cell, "STL_HMP_OPTINFO", e.Cell.Column.Key.ToString()); break; default: break; } } private void ucHmpOutInfo1_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { switch (e.Cell.Column.Key) { case "MOLIRNLEAVE": // 铁水去向 if (_htOptInfo.Contains("HUDWID")) { frmMolirnleave frm = new frmMolirnleave(); frm.Location = CStaticMethod.GetChildWindowLocation(frm.Size); frm.ShowDialog(); if (!string.IsNullOrEmpty(frm.strStationCode) && !string.IsNullOrEmpty(_heatProcessNo)) { SetDataValue("MOLIRNLEAVE", "VARCHAR2", frm.strStationCode, _heatProcessNo); } } break; case "LEAVETIME": // 出站时刻 SetCellDateTime(e.Cell, "JOB_HMP_OPTINFO", e.Cell.Column.Key.ToString()); break; default: break; } } private void ucHmpTimeInfo1_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { SetCellDateTime(e.Cell, "JOB_HMP_OPTINFO", e.Cell.Column.Key.ToString()); } private void ucHmpTimeInfo1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if (e.KeyCode != Keys.Enter || _heatProcessNo.Length < 14) return; ucHmpTimeInfo1.ultraGrid1.UpdateData(); string keyStr = ucHmpTimeInfo1.ultraGrid1.ActiveCell.Column.Key; DateTime valueStr; if (ucHmpTimeInfo1.ultraGrid1.ActiveCell.Column.DataType == typeof(System.DateTime)) { try { if (ucHmpTimeInfo1.ultraGrid1.ActiveCell.Value.ToString() != "") { valueStr = (DateTime)ucHmpTimeInfo1.ultraGrid1.ActiveCell.Value; SetDataValue(keyStr, "DATE", valueStr.ToString("yyyy-MM-dd HH:mm"), _heatProcessNo); ucHmpTimeInfo1.ultraGrid1.ActiveCell.Value = valueStr; } else SetDataValue(keyStr, "DATE", "", _heatProcessNo); } catch (Exception ex) { string Msg = ex.Message; MessageBox.Show("日期输入格式错误,请改正!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } private void ucHmpInInfo1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if (e.KeyCode != Keys.Enter || _heatProcessNo.Length < 14) return; ucHmpInInfo1.ultraGrid1.UpdateData(); string keyStr = ucHmpInInfo1.ultraGrid1.ActiveCell.Column.Key; DateTime valueStr; if (ucHmpInInfo1.ultraGrid1.ActiveCell.Column.DataType == typeof(System.DateTime)) { try { if (ucHmpInInfo1.ultraGrid1.ActiveCell.Value.ToString() != "") { valueStr = (DateTime)ucHmpInInfo1.ultraGrid1.ActiveCell.Value; SetDataValue(keyStr, "DATE", valueStr.ToString("yyyy-MM-dd HH:mm"), _heatProcessNo); ucHmpInInfo1.ultraGrid1.ActiveCell.Value = valueStr; } else { SetDataValue(keyStr, "DATE", null, _heatProcessNo); } } catch (Exception ex) { string Msg = ex.Message; MessageBox.Show("日期输入格式错误,请改正!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { string strValue = ""; if (ucHmpInInfo1.ultraGrid1.ActiveCell.Value.ToString() != "") { strValue = ucHmpInInfo1.ultraGrid1.ActiveCell.Value.ToString(); ucHmpInInfo1.ultraGrid1.ActiveCell.Value = strValue; } SetDataValue(keyStr, "VARCHAR2", strValue, _heatProcessNo); } } private void ucHmpOutInfo1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if (e.KeyCode != Keys.Enter || _heatProcessNo.Length < 14) return; ucHmpOutInfo1.ultraGrid1.UpdateData(); string keyStr = ucHmpOutInfo1.ultraGrid1.ActiveCell.Column.Key; DateTime valueStr; if (ucHmpOutInfo1.ultraGrid1.ActiveCell.Column.DataType == typeof(System.DateTime)) { try { if (ucHmpOutInfo1.ultraGrid1.ActiveCell.Value.ToString() != "") { valueStr = (DateTime)ucHmpOutInfo1.ultraGrid1.ActiveCell.Value; SetDataValue(keyStr, "DATE", valueStr.ToString("yyyy-MM-dd HH:mm"), _heatProcessNo); ucHmpOutInfo1.ultraGrid1.ActiveCell.Value = valueStr; } else SetDataValue(keyStr, "DATE", null, _heatProcessNo); } catch (Exception ex) { string Msg = ex.Message; MessageBox.Show("日期输入格式错误,请改正!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { string strValue = ""; if (ucHmpOutInfo1.ultraGrid1.ActiveCell.Value.ToString() != "") { strValue = ucHmpOutInfo1.ultraGrid1.ActiveCell.Value.ToString(); ucHmpOutInfo1.ultraGrid1.ActiveCell.Value = strValue; } SetDataValue(keyStr, "VARCHAR2", strValue, _heatProcessNo); } } private void ucHmpDevInfo1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if (e.KeyCode != Keys.Enter || _heatProcessNo.Length < 14) return; ucHmpDevInfo1.ultraGrid1.UpdateData(); string keyStr = ucHmpDevInfo1.ultraGrid1.ActiveCell.Column.Key; string valueStr; try { if (ucHmpDevInfo1.ultraGrid1.ActiveCell.Value.ToString() != "") { valueStr = ucHmpDevInfo1.ultraGrid1.ActiveCell.Text.ToString(); SetDataValue(keyStr, "VARCHAR2", valueStr, _heatProcessNo); } } catch (Exception ex) { string Msg = ex.Message; MessageBox.Show("保存失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } /// /// 时间显示框,在需要更改日期的时候弹出日期选择框 /// /// /// /// private void SetCellDateTime(Infragistics.Win.UltraWinGrid.UltraGridCell cell, string strTableName, string strColumnName) { frmSetTime frm = new frmSetTime(cell.Value); frm.Location = CStaticMethod.GetChildWindowLocation(frm.Size); frm.ShowDialog(); if (_heatProcessNo.Length >= 11 && frm._returnTime > new DateTime(2000, 1, 1, 0, 0, 0, 0)) { DateTime dt = frm._returnTime; cell.Value = dt; try { SetDataValue(strColumnName, "DATE", dt.ToString("yyyy-MM-dd HH:mm"), _heatProcessNo); } catch { MessageBox.Show("日期输入格式错误,请改正!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } private void ClassCellButton(Infragistics.Win.UltraWinGrid.UltraGridCell cell, string strDuty) { frmClassSelect frm = new frmClassSelect(_heatProcessNo, strDuty); frm.Location = CStaticMethod.GetChildWindowLocation(frm.Size); frm.ShowDialog(); if (frm._changeFlag) { cell.Value = frm._dutyID; if (_heatProcessNo.Length >= 11) { RealDataCommand realDataCommand = new RealDataCommand(); realDataCommand.COMMANDTYPE = "SCHEDULE_SET"; realDataCommand.OBJECTTYPE = "PROCVALUE"; realDataCommand.OBJECTPOS = _devPos; realDataCommand.OBJECTID = _heatProcessNo; realDataCommand.OBJECTLINKTABLE = "JOB_HMP_OPTINFO"; realDataCommand.OBJECTLINKKEY1 = _hudWid;//CStaticMethod.getSmeltingID(_heatProcessNo); realDataCommand.OBJECTLINKKEY2 = "SHIFTCODE"; realDataCommand.VALUETYPE = "VARCHAR2"; realDataCommand.STR_VALUE = frm._dutyID; string szOut = ""; //hengxing //CallingMessage par = new CallingMessage(); //par.ServerName = "lgJobMgt"; //par.AssemblyName = "Core.LgMes.Server.lgJobMgt"; //par.ClassName = "Core.LgMes.Server.lgJobMgt.classSendCommand"; //par.MethodName = "UpdateTableField"; //par.args = new object[] { realDataCommand }; //ClientCommon._RemotingHelp.ExecuteMethod(par, out szOut); if (szOut != "") MessageBox.Show("命令发送不成功!"); } } } #endregion #region " Commonly Function " /// /// 根据窗体名称获取设备位置 /// private void GetDevicePosition() { if (this.Text == "") return; string str = this.Text.Substring(0, 1); switch (str) { case "1": _DEVICE_POSITION = "HMP01"; _DEVICE_POS = 1; break; case "2": _DEVICE_POSITION = "HMP02"; _DEVICE_POS = 2; break; case "3": _DEVICE_POSITION = "HMP03"; _DEVICE_POS = 3; break; default: break; } } private string GetDevDeviceCodeOfHmp(int nDevNo) { string strDevID = ""; switch (nDevNo) { case (int)DeviceCode.HMP: strDevID = "HMP_DEVICE"; break; case (int)DeviceCode.HMP01: case (int)DeviceCode.HMP02: case (int)DeviceCode.HMP03: strDevID = String.Format("HMP{0,2}_DEVICE", nDevNo); break; } strDevID = strDevID.Replace(" ", "0"); return strDevID; } private string GetDevBackCodeOfHmp(int nDevNo) { string strDevID = ""; switch (nDevNo) { case (int)DeviceCode.HMP: strDevID = "HMP_BACK"; break; case (int)DeviceCode.HMP01: case (int)DeviceCode.HMP02: case (int)DeviceCode.HMP03: strDevID = String.Format("HMP{0,2}_BACK", nDevNo); break; } strDevID = strDevID.Replace(" ", "0"); return strDevID; } private string GetDevOverCodeOfHmp(int nDevNo) { string strDevID = ""; switch (nDevNo) { case (int)DeviceCode.HMP: strDevID = "HMP_OVER"; break; case (int)DeviceCode.HMP01: case (int)DeviceCode.HMP02: case (int)DeviceCode.HMP03: strDevID = String.Format("HMP{0,2}_OVER", nDevNo); break; } strDevID = strDevID.Replace(" ", "0"); return strDevID; } private string GetDevFrontCodeOfHmp(int nDevNo) { string strDevID = ""; switch (nDevNo) { case (int)DeviceCode.HMP: strDevID = "HMP_OVER"; break; case (int)DeviceCode.HMP01: case (int)DeviceCode.HMP02: case (int)DeviceCode.HMP03: strDevID = String.Format("HMP{0,2}_FRONT", nDevNo); break; } strDevID = strDevID.Replace(" ", "0"); return strDevID; } /// /// 获取脱硫操作数据 /// private void GetOptInfo() { if (_heatProcessNo == "") return; #region "取脱硫操作数据" try { string strErr = ""; ArrayList arry = new ArrayList(); arry.Add("GetHmpOptInfo.Select");//此ID为XML文件ID arry.Add(_heatProcessNo); arry.Add("0" + _DEVICE_POS); //查询转炉作业信息 DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob", "GetHmpOptInfo", arry, out strErr); if (strErr == "" && ds != null) { DataTable tb = ds.Tables[0]; if (tb.Rows.Count > 0) { for (int i = 0; i < tb.Columns.Count; i++) { if (_htOptInfo.Contains(tb.Columns[i].ColumnName)) _htOptInfo.Remove(tb.Columns[i].ColumnName); _htOptInfo.Add(tb.Columns[i].ColumnName, tb.Rows[0][i].ToString()); } } else _htOptInfo.Clear(); } } catch { } #endregion } /// /// 获取铁水成分样 /// private void GetCraftEleInfo() { if (_hudWid == "") return; string szOut = "", szWhere = " WHERE substr(CHECKNO,0,9) = '" + _hudWid + "' and substr(CHECKNO,10,1)='B' and substr(checkno,length(checkno),1) ='I'"; //hengxing //CallingMessage par = new CallingMessage(); //par.ServerName = "lgJobMgt"; //par.AssemblyName = "Core.LgMes.Server.lgJobMgt"; //par.ClassName = "Core.LgMes.Server.lgJobMgt.classTrackObjectInfo"; //par.MethodName = "ReceiveCraftElement"; //par.args = new object[] { szWhere }; object obj = null;// ClientCommon._RemotingHelp.ExecuteMethod(par, out szOut); if (szOut == "" && obj != null) { DataSet ds = obj as DataSet; this.DataSetToCraftElement(ref ds, ref _tmpObjCraftEle); } } /// /// 获取手动加载的脱硫号 /// /// private string Getdeslagidfromresults() { string strErr = ""; string strHudwID = ""; ArrayList arry = new ArrayList(); arry.Add("Getdeslagidfromresults.Select");//此ID为XML文件ID arry.Add(_DEVICE_POSITION); //获取指定岗位后台实时跟踪信息 DataSet dsHudwID = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob", "Getdeslagidfromresults", arry, out strErr); if (strErr == "" && dsHudwID != null) { if (dsHudwID.Tables[0].Rows.Count > 0 && dsHudwID.Tables[0].Rows[0]["HudwID"] != null && !string.IsNullOrEmpty(dsHudwID.Tables[0].Rows[0]["HudwID"].ToString())) strHudwID = dsHudwID.Tables[0].Rows[0]["HudwID"].ToString(); } return strHudwID; } /// /// 填充化学成分信息界面数据 /// private void FillCraftElement() { try { lock (this) { int nRows = 0; nRows = _objCraftEleBuffer.hList.Count; //if (_dtStdElement != null && _dtStdElement.Rows.Count > 0) //{ // nRows++; //} CStaticMethod.ResetTableRows(ref _dtCraftElement, nRows); int i = 0; #region " 内控标准" //if (_dtStdElement != null && this._dtStdElement.Tables.Contains("NK") && this._dtStdElement.Tables["NK"].Rows.Count > 0) //{ // for (int j = 0; j < this._dtStdElement.Tables["NK"].Rows.Count; j++) // { // DataRow dr = this._dtStdElement.Tables["NK"].Rows[j]; // SetStandardElemData(i, dr); // } // i++; //} #endregion #region " 实时值" for (int j = 0; j < _objCraftEleBuffer.hList.Count; j++, i++) { JOB_CHEMELEMENT obj = (JOB_CHEMELEMENT)_objCraftEleBuffer.hList[j]; CStaticMethod.SetCraftElemGridData(i, obj, obj.CHECKNO, ref _dtCraftElement); } #endregion } } catch (Exception ex) { string Msg = ex.Message; } } /// /// 填充用户控件上面的数据 /// private void FillUserControlData() { ucBaseInfo1.SetData(_htOptInfo); ucHmpInInfo1.SetData(_htOptInfo); ucHmpTimeInfo1.SetData(_htOptInfo); ucHmpDevInfo1.SetData(_htOptInfo); ucHmpOutInfo1.SetData(_htOptInfo); } /// /// 设置用户控件委托 /// private void SetUserControlDelegate() { ucBaseInfo1.ultraGrid1.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucBaseInfo1_ClickCellButton); ucBaseInfo1.ultraGrid1.KeyDown += new KeyEventHandler(ucBaseInfo1_KeyDown); ucHmpInInfo1.ultraGrid1.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucHmpInInfo1_ClickCellButton); ucHmpTimeInfo1.ultraGrid1.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucHmpTimeInfo1_ClickCellButton); ucHmpOutInfo1.ultraGrid1.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucHmpOutInfo1_ClickCellButton); ucHmpDevInfo1.ultraGrid1.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(ucHmpDevInfo1_ClickCellButton); ucHmpInInfo1.ultraGrid1.KeyDown += new KeyEventHandler(ucHmpInInfo1_KeyDown); ucHmpTimeInfo1.ultraGrid1.KeyDown += new KeyEventHandler(ucHmpTimeInfo1_KeyDown); ucHmpOutInfo1.ultraGrid1.KeyDown += new KeyEventHandler(ucHmpOutInfo1_KeyDown); ucHmpDevInfo1.ultraGrid1.KeyDown += new KeyEventHandler(ucHmpDevInfo1_KeyDown); } /// /// 清除所有界面Grid中的实时数据 /// private void ClearGridData() { try { _dtCraftElement.Rows.Clear(); } catch { } } /// /// 重置界面用户控件的数据 /// private void ResetAllData() { if (!_bResetDataFlag) // 如果已经清空,则直接返回 { ucBaseInfo1.ResetData(); ucHmpInInfo1.ResetData(); ucHmpTimeInfo1.ResetData(); ucHmpDevInfo1.ResetData(); ucHmpOutInfo1.ResetData(); _htOptInfo.Clear(); ClearGridData(); _bResetDataFlag = true; } } #endregion #region " Button Event " private void btnSEND1_Click(object sender, EventArgs e) { if (ArrayIronRow4[0].Trim().Length > 0) { if (txtCVT1.Text == null) return; ArrayIronRow4[4] = txtCVT1.Text; ArrayIronRow4[5] = "BOF01"; SendIronToCvt(); ArrayIronRow4[0] = ""; ArrayIronRow4[1] = ""; ArrayIronRow4[2] = ""; ArrayIronRow4[3] = ""; ArrayIronRow4[4] = ""; ArrayIronRow4[5] = ""; ArrayIronRow4[6] = ""; ArrayIronRow4[7] = ""; ArrayIronRow4[8] = ""; ArrayIronRow4[9] = ""; } else MessageBox.Show("选择要发送的已脱硫信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } private void btnSEND2_Click(object sender, EventArgs e) { if (ArrayIronRow4[0].Trim().Length > 0) { if (txtCVT2.Text == null) return; ArrayIronRow4[4] = txtCVT2.Text; ArrayIronRow4[5] = "BOF02"; SendIronToCvt(); ArrayIronRow4[0] = ""; ArrayIronRow4[1] = ""; ArrayIronRow4[2] = ""; ArrayIronRow4[3] = ""; ArrayIronRow4[4] = ""; ArrayIronRow4[5] = ""; ArrayIronRow4[6] = ""; ArrayIronRow4[7] = ""; ArrayIronRow4[8] = ""; ArrayIronRow4[9] = ""; } else MessageBox.Show("选择要发送的已脱硫信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } private void btnSEND3_Click(object sender, EventArgs e) { if (ArrayIronRow4[0].Trim().Length > 0) { if (txtCVT3.Text == null) return; ArrayIronRow4[4] = txtCVT3.Text; ArrayIronRow4[5] = "BOF03"; SendIronToCvt(); ArrayIronRow4[0] = ""; ArrayIronRow4[1] = ""; ArrayIronRow4[2] = ""; ArrayIronRow4[3] = ""; ArrayIronRow4[4] = ""; ArrayIronRow4[5] = ""; ArrayIronRow4[6] = ""; ArrayIronRow4[7] = ""; ArrayIronRow4[8] = ""; ArrayIronRow4[9] = ""; } else MessageBox.Show("选择要发送的已脱硫信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } /// /// 功能按钮控制区 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Result": // lgResMgt string szStr = _DEVICE_POS.ToString() + "#铁水预处理实绩"; foreach (Form mdiChild in this.MdiParent.MdiChildren) { if (mdiChild.Text == szStr) { mdiChild.Activate(); return; } } frmHmpResults frmSJSJ = new frmHmpResults(); frmSJSJ.MdiParent = this.MdiParent; frmSJSJ.Text = szStr; frmSJSJ.Tag = frmSJSJ.Text; frmSJSJ.Key = "Core.LgMes.Client.LgResMgt.frmHmpResults"; frmSJSJ.CustomInfo = _DEVICE_POSITION; frmSJSJ.Toolbar = CStaticMethod.GetFromToolInfo(frmSJSJ.Key, frmSJSJ.CustomInfo, this.ob); frmSJSJ.ob = this.ob; frmSJSJ.Show(); break; case "ChemicElem": // 化学成分 string szEle = "化学成分查询"; foreach (Form mdiChild in this.MdiParent.MdiChildren) { if (mdiChild.Text == szEle) { mdiChild.Activate(); return; } } frmLgElements frmHXCF = new frmLgElements(); frmHXCF.MdiParent = this.MdiParent; frmHXCF.Text = szEle; frmHXCF.Tag = frmHXCF.Text; frmHXCF._devPos = _DEVICE_POSITION; frmHXCF.Key = "Core.LgMes.Client.LgIntegrationQuery.frmLgElements"; frmHXCF.Toolbar = CStaticMethod.GetFromToolInfo(frmHXCF.Key, "", this.ob); frmHXCF.ob = this.ob; frmHXCF.Show(); break; case "SftRcd": // 班组记录 string szRcd = "脱硫站操作记录"; foreach (Form mdiChild in this.MdiParent.MdiChildren) { if (mdiChild.Text == szRcd) { mdiChild.Activate(); return; } } reportHMPData frmReport = new reportHMPData(); frmReport.MdiParent = this.MdiParent; frmReport.Text = szRcd; frmReport.Tag = frmReport.Text; frmReport.Key = "Core.LgMes.Client.Report.reportHMPData"; frmReport.Toolbar = CStaticMethod.GetFromToolInfo(frmReport.Key, "", this.ob); frmReport.ob = this.ob; frmReport.Show(); break; case "btnJobStd": // 作业标准 string szOR = "操作规程管理"; foreach (Form mdiChild in this.MdiParent.MdiChildren) { if (mdiChild.Text == szOR) { mdiChild.Activate(); return; } } //Core.LgMes.Client.LgIntegrationQuery.frmOperateRule frmOR = new Core.LgMes.Client.LgIntegrationQuery.frmOperateRule(); //frmOR.MdiParent = this.MdiParent; //frmOR.Key = "Core.LgMes.Client.LgIntegrationQuery.frmOperateRule"; //frmOR.Text = "操作规程管理"; //frmOR.blValue = false; //frmOR.Show(); break; case "JobPlan": // 作业计划 string szPlan = "作业计划查询"; foreach (Form mdiChild in this.MdiParent.MdiChildren) { if (mdiChild.Text == szPlan) { mdiChild.Activate(); return; } } frmSchedulingQuery frmZYJH = new frmSchedulingQuery(); frmZYJH.MdiParent = this.MdiParent; frmZYJH.Text = szPlan; frmZYJH.Tag = frmZYJH.Text; frmZYJH.Key = "Core.LgMes.Client.LgIntegrationQuery.frmSchedulingQuery"; frmZYJH.Toolbar = CStaticMethod.GetFromToolInfo(frmZYJH.Key, "", this.ob); frmZYJH.ob = this.ob; frmZYJH.Show(); break; case "butIronElements": string szIron = "铁水成分"; foreach (Form mdiChild in this.MdiParent.MdiChildren) { if (mdiChild.Text == szIron) { mdiChild.Activate(); return; } } //Core.LgMes.Client.LgIntegrationQuery.FrmIronEleQry frmIron = new Core.LgMes.Client.LgIntegrationQuery.FrmIronEleQry(); //frmIron.MdiParent = this.MdiParent; //frmIron.Text = szIron; //frmIron.Tag = frmIron.Text; //frmIron.Key = "Core.LgMes.Client.LgIntegrationQuery.FrmIronEleQry"; //frmIron.Show(); break; case "Exit": this.Close(); break; default: break; } } #endregion #region " 公共函数 " /// /// 更新指定字段的值 /// /// 字段名 /// 字段类型(区分时间DATE就行。) /// /// private void SetDataValue(string strColumn_Name, string strColumn_Type, string strValue, string strHudwID) { string strErr = ""; ClassManualUpdateInfo.UpdateHmpTableField(strHudwID, "STL_HMP_OPTINFO", strColumn_Name, strColumn_Type, strValue, this.ob); if (strErr != "") { MessageBox.Show("数据保存失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } } /// /// 根据设备状态设置图片显示 /// /// /// private Image SetPic(string strState) { int index = 0; switch (strState) { case "IDLE": index = 0; break; case "DESLAGING": index = 1; break; case "REPAIR": index = 2; break; case "WORK": index = 1; break; default: index = 0; break; } try { return this.imageList1.Images[index]; } catch { } return this.imageList1.Images[0]; //空闲 //工作 //倒钢 //维修 //兑废钢 //兑铁水 } #endregion #region "guoguoadd" /// /// 发送铁水信息到转炉 /// private void SendIronToCvt() { string strError = ""; string strWz = ""; string strSqlID = ""; //sqlId string strErr = ""; //错误信息 strSqlID = "SendHmpIronToBof.Update"; //SQLID Hashtable ht = new Hashtable(); ht.Add("I1", ArrayIronRow4[0]); //脱硫号 ht.Add("I2", ArrayIronRow4[1]); //铁水温度 ht.Add("I3", ArrayIronRow4[2]); //铁包号 ht.Add("I4", ArrayIronRow4[3]); //铁水重量 ht.Add("I5", ArrayIronRow4[4]); //发送炉号 ht.Add("I6", ArrayIronRow4[5]); //发送岗位编码(BOF) ht.Add("I7", ArrayIronRow4[6]); //回炉号 ht.Add("I8", ArrayIronRow4[7]); //回炉重量 ht.Add("I9", ArrayIronRow4[8]); //S值 ht.Add("I10", ArrayIronRow4[9]);//化学检验号 CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob", "SendHmpIronToBof", strSqlID, ht, out strErr); if (strErr != "") MessageBox.Show("脱硫发送铁水到转炉失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); else { strWz = ArrayIronRow4[5]; switch (strWz) { case "BOF01": _strSendSucceededForBof1 = "Y"; break; case "BOF02": _strSendSucceededForBof2 = "Y"; break; case "BOF03": _strSendSucceededForBof3 = "Y"; break; default: break; } MessageBox.Show("脱硫发送铁水到转炉成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } /// /// 获取完毕脱硫信息 /// private void getoverhmpdate() { string wsid = "0" + this.Text.Substring(0, 1); string strErr = ""; try { ArrayList arry = new ArrayList(); arry.Add("GetOverHmpdate.Select");//此ID为XML文件ID arry.Add(wsid); //查询脱硫完成信息 DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob", "GetOverHmpdate", arry, out strErr); if (strErr == "" && ds != null) { ultraDataSource1.Rows.Clear(); if (ds.Tables.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { ultraDataSource1.Rows.Add(new object[] { dr["HUDWID"].ToString(), dr["MOLIRNLEAVE"].ToString(), dr["IRONPWRAPNO"].ToString(), dr["DFRSTARTTIME"], dr["DFRENDTIME"], CStaticMethod.caculateSecondsTime(dr["DFRTIME"].ToString()), dr["DFRWGT"].ToString(), dr["FRONTTEMPERATURE"].ToString(), dr["SWBTEMPERATURE"].ToString(), dr["IRONWGT"].ToString(), dr["ARRIVEWGTTIME"], dr["ARRIVEWGT"].ToString(), dr["LEAVEWGTTIME"], dr["LEAVEWGT"].ToString(), dr["RSSTOVENO"].ToString(), dr["RSWGT"].ToString(), dr["SWFTEMPERATURE"].ToString(), dr["IRONSOURCE"].ToString(), }); } } } } catch { } } /// /// 获取当前脱硫成分信息 /// private void getelement() { string strErr = ""; string strItemName = ""; string strHudwID = ""; try { if (_htOptInfo["HUDWID"] ==null ) return; if (_htOptInfo["HUDWID"].ToString().Length == 0) return; strHudwID = _htOptInfo["HUDWID"].ToString(); ArrayList arry = new ArrayList(); arry.Add("ReceiveHmpCraftElement.Select");//此ID为XML文件ID arry.Add(strHudwID); arry.Add("I"); arry.Add(strHudwID); arry.Add("I"); arry.Add(strHudwID); arry.Add("I"); arry.Add(strHudwID); arry.Add("I"); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = ob; //查询化学成分信息 DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob", "ReceiveHmpCraftElement", arry, out strErr); if (strErr == "" && ds != null) { ultraDataSource2.Rows.Clear(); if (ds.Tables.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { if (dr["CHECKNO"].ToString().Substring(2, 1) == "3") strItemName = "平台"; else { if (dr["CHECKNO"].ToString().Substring(13, 1) == "2") strItemName = "脱硫前"; else strItemName = "脱硫后[" + dr["CHECKNO"].ToString().Substring(13,1) + "]"; } ultraDataSource2.Rows.Add(new object[] { dr["heatno"].ToString(), dr["c"].ToString(), dr["si"].ToString(), dr["mn"].ToString(), dr["p"].ToString(), dr["s"].ToString(), dr["asn"].ToString(), dr["ni"].ToString(), dr["Cu"].ToString(), dr["Sn"].ToString(), dr["sb"].ToString(), dr["CHECKNO"].ToString(), strItemName }); } } } } catch { } } /// /// 获取当前脱硫成分信息 /// private void Getoverelement(string strHudwId) { string strErr = ""; string strItemName = ""; try { if (strHudwId == "") return; ArrayList arry = new ArrayList(); arry.Add("ReceiveHmpOverElement.Select");//此ID为XML文件ID arry.Add(strHudwId); arry.Add("I"); arry.Add(strHudwId); arry.Add("I"); arry.Add(strHudwId); arry.Add("I"); arry.Add(strHudwId); arry.Add("I"); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = ob; //查询化学成分信息 DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob", "ReceiveHmpCraftElement", arry, out strErr); if (strErr == "" && ds != null) { ultraDataSource2.Rows.Clear(); if (ds.Tables.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { if (dr["CHECKNO"].ToString().Substring(2, 1) == "3") strItemName = "平台"; else { if (dr["CHECKNO"].ToString().Substring(13, 1) == "2") strItemName = "脱硫前"; else strItemName = "脱硫后[" + dr["CHECKNO"].ToString().Substring(13, 1) + "]"; } ultraDataSource2.Rows.Add(new object[] { dr["heatno"].ToString(), dr["c"].ToString(), dr["si"].ToString(), dr["mn"].ToString(), dr["p"].ToString(), dr["s"].ToString(), dr["asn"].ToString(), dr["ni"].ToString(), dr["Cu"].ToString(), dr["Sn"].ToString(), dr["sb"].ToString(), dr["CHECKNO"].ToString(), strItemName }); } } } } catch { } } /// /// 获取炉号 /// private void GetCVTHeatno() { try { this.txtCVT1.Text = ""; this.txtCVT1.Appearance.BackColor = Color.LightGray; this.txtCVT2.Text = ""; this.txtCVT2.Appearance.BackColor = Color.LightGray; this.txtCVT3.Text = ""; this.txtCVT3.Appearance.BackColor = Color.LightGray; string strErr = ""; string strSqlID = "GetCVTHMPCurrentHeatNo.Select";//此ID为XML文件ID //查询转炉正在生产炉号信息 DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob", "GetCVTHMPCurrentHeatNo", strSqlID, out strErr); if (strErr == "") { if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string v_LH = ""; string v_POS = ds.Tables[0].Rows[i]["objectid"].ToString().Substring(0, 1); string v_POSID = ds.Tables[0].Rows[i]["objectpos"].ToString().Substring(3, 2); // if (ds.Tables[0].Rows[i]["objectid"].ToString().Substring(0, 1) == "V") v_LH = "V" + v_LH; if (v_POS == "C") { v_LH = CStaticMethod.getSmeltingID(ds.Tables[0].Rows[i]["objectid"].ToString()); if (v_POSID == "01") { if (_strSendSucceededForBof1 == "" || _strSendSucceededForBof1 == "N") ExistSendIronToBof(v_LH, "1"); if (_strSendSucceededForBof1 == "Y") txtCVT1.Appearance.BackColor = Color.LightBlue; this.txtCVT1.Text = v_LH; } if (v_POSID == "02") { try { if (_strSendSucceededForBof2 == "" || _strSendSucceededForBof2 == "N") ExistSendIronToBof(v_LH, "2"); if (_strSendSucceededForBof2 == "Y") txtCVT2.Appearance.BackColor = Color.LightBlue; this.txtCVT2.Text = v_LH; } catch { } } if (v_POSID == "03") { if (_strSendSucceededForBof3 == "" || _strSendSucceededForBof3 == "N") ExistSendIronToBof(v_LH, "3"); if (_strSendSucceededForBof3 == "Y") txtCVT3.Appearance.BackColor = Color.LightBlue; this.txtCVT3.Text = v_LH; } } } } if (txtCVT1.Text.Trim().Length == 0) _strSendSucceededForBof1 = "N"; if (txtCVT2.Text.Trim().Length == 0) _strSendSucceededForBof2 = "N"; if (txtCVT3.Text.Trim().Length == 0) _strSendSucceededForBof3 = "N"; } } catch (Exception EE) { } } #endregion #region "gridevent" private void ultraGrid1_Click(object sender, EventArgs e) { try { Infragistics.Win.UltraWinGrid.UltraGridRow aRow = ultraGrid1.ActiveRow; Getoverelement(aRow.Cells["HUDWID"].Text); //if (aRow == null) return; //ultSelectIron.Text = aRow.Cells["HUDWID"].Text; //ArrayIronRow4[0] = aRow.Cells["HUDWID"].Text; //ArrayIronRow4[1] = aRow.Cells["SWBTEMPERATURE"].Value.ToString() != System.DBNull.Value.ToString() ? aRow.Cells["SWBTEMPERATURE"].Text : "0"; //ArrayIronRow4[2] = aRow.Cells["IRONPWRAPNO"].Value.ToString() != System.DBNull.Value.ToString() ? aRow.Cells["IRONPWRAPNO"].Text : ""; //ArrayIronRow4[3] = aRow.Cells["IRONWGT"].Value.ToString() != System.DBNull.Value.ToString() ? aRow.Cells["IRONWGT"].Text : "0"; //ArrayIronRow4[6] = aRow.Cells["RSSTOVENO"].Text; //ArrayIronRow4[7] = aRow.Cells["RSWGT"].Value.ToString() != System.DBNull.Value.ToString() ? aRow.Cells["RSWGT"].Text : "0"; } catch { } } #endregion private void btnGLCF_Click(object sender, EventArgs e) { //Core.LgMes.Client.LgResMgt.JinTie frm = new Core.LgMes.Client.LgResMgt.JinTie(); //frm.Location = CStaticMethod.GetChildWindowLocation(frm.Size); //frm.AutoSize = true; //frm.blGLCF = true; //frm.strWhere = "where to_char(WTIME,'yyyy-MM-dd')>='" + DateTime.Now.ToString("yyyy-MM-dd") + "' and to_char(WTIME,'yyyy-MM-dd')<='" + DateTime.Now.ToString("yyyy-MM-dd") + "'"; //// frm.button1_Click(null, null); //frm.ShowDialog(); } /// /// 判断是否已发送过铁水信息 /// /// /// private void ExistSendIronToBof(string strID, string strPos) { string strErr = ""; string strCount = ""; ArrayList arry = new ArrayList(); arry.Add("ExistSendIronToBof");//此ID为XML文件ID arry.Add(strID); arry.Add(strID); //查询脱硫完成信息 DataSet ds = this.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob", "ExistSendIronToBof", arry, out strErr); if (strErr == "" && ds != null) { if (Convert.ToInt32(ds.Tables[0].Rows[0]["intCount"]) > 0) strCount = "Y"; else strCount = "N"; switch (strPos) { case "1": _strSendSucceededForBof1 = strCount; break; case "2": _strSendSucceededForBof2 = strCount; break; case "3": _strSendSucceededForBof3 = strCount; break; default: break; } } } private void ulgridElement_Click(object sender, EventArgs e) { try { Infragistics.Win.UltraWinGrid.UltraGridRow ultrRow = ulgridElement.ActiveRow; if (ultrRow != null) { ArrayIronRow4[9] = ultrRow.Cells["CheckNo"].Value.ToString(); ArrayIronRow4[8] = ultrRow.Cells["S"].Value.ToString() != System.DBNull.Value.ToString() ? ultrRow.Cells["S"].Value.ToString() : "0"; ultHeatNO.Text = ultrRow.Cells["heatno"].Value.ToString(); strCheckNo = ultrRow.Cells["CheckNo"].Value.ToString(); } } catch { } } private void ultraGrid1_DoubleClickRow(object sender, Infragistics.Win.UltraWinGrid.DoubleClickRowEventArgs e) { if (ultraGrid1.ActiveRow != null) { frmSendIron frmSIron = new frmSendIron(); frmSIron.ob = this.ob; frmSIron.strKR_Charge_NO = ultraGrid1.ActiveRow.Cells["HUDWID"].Value.ToString(); frmSIron.StartPosition = FormStartPosition.CenterParent; frmSIron.ShowDialog(); } } } }