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();
}
}
}
}