using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CoreFS.CA06;
using Infragistics.Win.UltraWinEditors;
using System.Threading;
using System.Collections;
using Core.LgMes.Client.Comm;
using Core.Mes.Client.Common;
namespace Core.LgMes.Client.LgResMgt
{
public partial class frmHmpResults : CoreFS.CA06.FrmBase
{
private System.Threading.Thread myThread;
private bool threadGoOn = true;
private bool m_bJJBFlag = false, m_bDelay = false;
string datetime = System.DateTime.Now.ToString("HH:mm:ss");
private int DEVICE_POS = 1;
private string DEVICE_POSITION = ""; //指定是哪个转炉
private DataSet m_dsLFSCZXX = new DataSet();
private string m_szJRCLH = "", m_szLH = "", _szBC = "";
private string ShiftCode = "";
private int BanChi = 0;
private Hashtable _htHmpJobInfo; // 用于作业信息的表字段数据
private Hashtable _UpdateBefore; //修改之前值
private Hashtable _UpdateAfter; //修改之后值
private Hashtable _UpdateColumnName; //修改字段名
public Hashtable _htPlanInfo; // 用于作业计划信息的表字段数据
public frmHmpResults()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
}
///
/// 查询按钮
///
///
///
private void button37_Click(object sender, EventArgs e)
{
if (checkBox2.Checked)
{
timer1.Enabled = false;
btnSave.Enabled = true;
string strShifcode = "", strPsteel = "", strHeatNo = "";
if (this.comboBox4.Text != "全部")
{
int numBC = this.comboBox4.SelectedIndex + 1;
strShifcode = numBC.ToString();
}
if (this.urlCb_steelNo.SelectedIndex > -1)
strPsteel = urlCb_steelNo.Value.ToString();
if (this.ultxtLH.Text.Trim() != "")
strHeatNo = ultxtLH.Text.Trim();
QueryStoveInfo(Convert.ToDateTime(this.ultraDateTimeEditor1.Value.ToString()).ToString("yyyy-MM-dd"), Convert.ToDateTime(ultraDateTimeEditor2.Value.ToString()).ToString("yyyy-MM-dd"), strShifcode, strPsteel, strHeatNo);
}
else
{
MessageBox.Show("请选择起止日期!", "提示");
}
}
///
/// 查询熔炼号
///
/// 开始时间
/// 结束时间
/// 条件
private void QueryStoveInfo(string szDate1, string szDate2, string strShifcode, string strPsteel, string strHeatNo)
{
string strErr = "";
ArrayList arry = new ArrayList();
arry.Add("GetHmpStoveInfo.select");
arry.Add(DEVICE_POS);
arry.Add(strShifcode);
arry.Add(strShifcode);
arry.Add(strPsteel);
arry.Add(strPsteel);
arry.Add(strPsteel);
arry.Add(strHeatNo);
arry.Add(strHeatNo);
arry.Add(szDate1);
arry.Add(szDate2);
arry.Add(DEVICE_POS);
arry.Add(strShifcode);
arry.Add(strShifcode);
arry.Add(strPsteel);
arry.Add(strPsteel);
arry.Add(strPsteel);
arry.Add(strHeatNo);
arry.Add(strHeatNo);
arry.Add(szDate1);
arry.Add(szDate2);
CommonClientToServer cctos = new CommonClientToServer();
cctos.ob = this.ob;
DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
"doSimpleQuery", arry, out strErr);
if (strErr == "" && ds != null)
{
if (ds.Tables[0].Rows.Count != 0)
{
dsLH.Tables[0].Clear();
dsLH.Tables[0].Merge(ds.Tables[0]);
DataTable dt = ds.Tables[0];
dt.TableName = "LHXX";
if (m_dsLFSCZXX.Tables.Contains("LHXX"))
m_dsLFSCZXX.Tables["LHXX"].Clear();
m_dsLFSCZXX.Merge(dt);
}
else
{
dsLH.Clear();
}
}
else
{
MessageBox.Show("查询失败!!!", "提示");
dsLH.Clear();
}
}
private void frmBofcResults_Load(object sender, EventArgs e)
{
ultraDataSource2.Rows.Add(new object[] { "", "", "", "", "", "", "" });
_htPlanInfo = new Hashtable();
try
{
string strErr = "";
ultraDateTimeEditor1.Enabled = false;
ultraDateTimeEditor2.Enabled = false;
SetUserControlDelegate();
//获取牌号信息
ArrayList arrySteel = new ArrayList();
arrySteel.Add("GetSteelInfo.select");
CommonClientToServer cctos = new CommonClientToServer();
cctos.ob = this.ob;
DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
"doSimpleQuery", arrySteel, out strErr);
if (strErr == "" && ds != null)
{
Core.Mes.Client.Common.Globals.FillUltraComboItems(urlCb_steelNo, ds);
}
//初始化
ultraDataSource1.Rows.Add(new object[] { null });
ultraDataSource2.Rows.Add(new object[] { "" });
ultraDataSource3.Rows.Add(new object[] { "" });
_htHmpJobInfo = new Hashtable();
_UpdateAfter = new Hashtable();
_UpdateBefore = new Hashtable();
_UpdateColumnName = new Hashtable();
string str = "";
ShiftCode = "";
ArrayList arry = new ArrayList();
arry.Add("GetLgshift.select");
CommonClientToServer cctos1 = new CommonClientToServer();
cctos1.ob = this.ob;
DataSet Hmpds = cctos1.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
"doSimpleQuery", arry, out strErr);
if (Hmpds.Tables[0].Rows[0][0].ToString().Length == 2)
{
ShiftCode = Hmpds.Tables[0].Rows[0][0].ToString();
}
else
{
ShiftCode = "";
}
}
catch
{
ShiftCode = "";
}
if (ShiftCode != "")
{
BanChi = Convert.ToInt16(ShiftCode.ToString().Substring(1, 1)) - 1;
}
else
{
BanChi = 4;
}
if (this.Tag != null)
{
DEVICE_POSITION = "HMP0" + this.Tag.ToString().Substring(0, 1);
DEVICE_POS = Convert.ToInt32(this.Tag.ToString().Substring(0, 1));
}
else
{
DEVICE_POSITION = this.CustomInfo.ToString();
DEVICE_POS = Convert.ToInt32(this.CustomInfo.Substring(this.CustomInfo.Length - 1, 1));
}
this.ultraDateTimeEditor1.Value = System.DateTime.Now;
this.ultraDateTimeEditor2.Value = System.DateTime.Now;
this.comboBox4.Text = this.comboBox4.Items[comboBox4.Items.Count - 1].ToString();
RefreshStoveInfo(DateTime.Now.ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd"), " where 1=1");
JudgeIfChangeClass();
}
///
/// 刷新熔炼号
///
/// 开始时间
/// 结束时间
/// 条件
private void RefreshStoveInfo(string szDate1, string szDate2, string szAnd)
{
string strErr = "";
try
{
ArrayList arry = new ArrayList();
arry.Add("GetHmpStoveInfo_Load.select");
arry.Add(DEVICE_POS);
arry.Add(szDate1);
arry.Add(szDate2);
arry.Add(DEVICE_POS);
arry.Add(szDate1);
arry.Add(szDate2);
CommonClientToServer cctos = new CommonClientToServer();
cctos.ob = this.ob;
DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
"doSimpleQuery", arry, out strErr);
if (strErr == "" && ds != null)
{
if (ds.Tables[0].Rows.Count != 0)
{
dsLH.Clear();
dsLH.Tables[0].Merge(ds.Tables[0]);
DataTable dt = ds.Tables[0];
dt.TableName = "LHXX";
if (m_dsLFSCZXX.Tables.Contains("LHXX"))
m_dsLFSCZXX.Tables["LHXX"].Clear();
m_dsLFSCZXX.Merge(dt);
}
else
{
dsLH.Clear();
}
}
else
{
MessageBox.Show("查询失败!!!", "提示");
dsLH.Clear();
}
}
catch
{
}
}
///
/// 根据脱硫号获取脱硫信息
///
public void GetHmpInfo(string _smeltingID)
{
string strErr = "";
if (_smeltingID == "")
return;
try
{
ArrayList arry = new ArrayList();
arry.Add("GetHmpInfo_ByHUDWID.select");
arry.Add(_smeltingID);
arry.Add(_smeltingID);
CommonClientToServer cctos = new CommonClientToServer();
cctos.ob = ob;
DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
"doSimpleQuery", arry, out strErr);
if (strErr == "" && ds != null && ds.Tables[0].Rows.Count>0)
{
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
{
if (_htPlanInfo.Contains(ds.Tables[0].Columns[i].ColumnName))
_htPlanInfo.Remove(ds.Tables[0].Columns[i].ColumnName);
_htPlanInfo.Add(ds.Tables[0].Columns[i].ColumnName, ds.Tables[0].Rows[0][i].ToString());
}
SetPlanData(_htPlanInfo); //显示信息
}
else
_htPlanInfo.Clear();
}
}
catch { }
}
///
/// 显示脱硫信息
///
///
public void SetPlanData(Hashtable ar)
{
if (ar == null || ar.Count == 0)
return;
int count = this.ultraDataSource2.Band.Columns.Count;
string strKey = "";
for (int i = 0; i < count; i++)
{
try
{
strKey = this.ultraDataSource2.Band.Columns[i].Key;
if (ar.Contains(strKey))
{
if (strKey == "SHIFTCODE") // 班次转换
ultraDataSource2.Rows[0][i] = CStaticMethod.ClassConvert(ar[strKey].ToString());
else if (strKey == "FACT_ROUTE")
ultraDataSource2.Rows[0][i] = CStaticMethod.analysPath(ar[strKey].ToString());
else
ultraDataSource2.Rows[0][i] = ar[strKey];
}
else
{
if (this.ultraDataSource2.Band.Columns[i].DataType == typeof(System.DateTime))
this.ultraDataSource2.Rows[0][i] = null;
else
this.ultraDataSource2.Rows[0][i] = "";
}
}
catch { }
}
}
///
/// 点击熔炼号显示相关信息
///
///
///
private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
{
GetHeatnoInfo();
}
///
/// 获取熔炼号相关信息
///
///
///
public void GetHeatnoInfo()
{
string strMolirn = "";
btnSave.Enabled = true;
ResetData();
if (ultraGrid2.ActiveRow != null)
{
m_szJRCLH = ultraGrid2.ActiveRow.Cells["HEATPROCESSNO"].Value.ToString();//加热处理号
m_szLH = ultraGrid2.ActiveRow.Cells["HUDWID"].Value.ToString(); //熔炼号
//脱硫信息
GetHmpInfo(m_szLH);
//作业信息
GetHmpData();
//设置测温时间20140107 by ym
setHmpTempTime();
////化学成分
ucResChemelEment1.ResetData();
this.ucResChemelEment1.ob = this.ob;
ucResChemelEment1.GetCraftEleInfo(_htHmpJobInfo["HUDWID"].ToString(), "B0" + DEVICE_POS, "I", strMolirn);
//化学成分标准
//if (_htHmpJobInfo["HUDWID"].ToString() != null)
// ucResChemelEment1.GetStandardElement(_htHmpJobInfo["HUDWID"].ToString());
ucResChemelEment1.FillCraftElement();
_UpdateColumnName.Clear();
_UpdateBefore.Clear();
_UpdateAfter.Clear();
}
}
///
/// 初始化作业数据
///
public void ResetData()
{
try
{
for (int i = 0; i < this.ultraDataSource1.Band.Columns.Count; i++)
{
if (this.ultraDataSource1.Band.Columns[i].DataType == typeof(System.DateTime))
this.ultraDataSource1.Rows[0][i] = null;
else
this.ultraDataSource1.Rows[0][i] = "";
}
for (int j = 0; j < this.ultraDataSource2.Band.Columns.Count; j++)
{
if (this.ultraDataSource1.Band.Columns[j].DataType == typeof(System.DateTime))
this.ultraDataSource1.Rows[0][j] = null;
else
this.ultraDataSource1.Rows[0][j] = "";
}
for (int m = 0; m < this.ultraDataSource3.Band.Columns.Count; m++)
{
if (this.ultraDataSource3.Band.Columns[m].DataType == typeof(System.DateTime))
this.ultraDataSource3.Rows[0][m] = null;
else
this.ultraDataSource3.Rows[0][m] = "";
}
}
catch { }
}
///
/// 获取作业信息
///
private void GetHmpData()
{
try
{
string strErr = "";
ArrayList arry = new ArrayList();
arry.Add("GetHmpOperateInfo.select");
arry.Add(m_szJRCLH);
arry.Add(m_szJRCLH);
arry.Add(Convert.ToDateTime(this.ultraDateTimeEditor1.Value.ToString()).ToString("yyyy-MM-dd") + " 00:00:00");
arry.Add(Convert.ToDateTime(this.ultraDateTimeEditor2.Value.ToString()).ToString("yyyy-MM-dd") + " 23:29:59");
CommonClientToServer cctos = new CommonClientToServer();
cctos.ob = this.ob;
DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
"doSimpleQuery", arry, out strErr);
if (strErr == "")
{
DataTable dt = ds.Tables[0];
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
if (_htHmpJobInfo.Contains(dt.Columns[i].ColumnName))
_htHmpJobInfo.Remove(dt.Columns[i].ColumnName);
if (dt.Columns[i].ColumnName == "SB_FIRST_TIME")
{
if (dt.Rows[0][i].ToString() != "")
_htHmpJobInfo.Add("SB_FIRST_TIME", "");
}
else if (dt.Columns[i].ColumnName == "SB_SECOND_TIME" && dt.Rows[0][i].ToString() == "")
{
if (dt.Rows[0][i].ToString() != "")
_htHmpJobInfo.Add("SB_SECOND_TIME", "");
}
else if (dt.Columns[i].ColumnName == "SB_THIRD_TIME")
{
if (dt.Rows[0][i].ToString() != "")
_htHmpJobInfo.Add("SB_THIRD_TIME", "");
}
else
_htHmpJobInfo.Add(dt.Columns[i].ColumnName, dt.Rows[0][i].ToString());
}
SetData(_htHmpJobInfo); //显示作业信息
}
else
_htHmpJobInfo.Clear();
}
}
catch { }
}
///
/// 显示作业信息
///
///
public void SetData(Hashtable ar)
{
if (ar == null || ar.Count == 0)
return;
int count = this.ultraDataSource1.Band.Columns.Count;
int countHmp = this.ultraDataSource3.Band.Columns.Count;
string strKey = "";
//班次
if (ar["SHIFTCODE"].ToString().Trim().Length > 1)
this.ultraDataSource2.Rows[0]["SHIFTCODE"] = ar["SHIFTCODE"].ToString().Substring(1, 1);
//操作时间
if (ar["OPERATIONDATE"] != null)
this.ultraDataSource2.Rows[0]["OPERATIONDATE"] = ar["OPERATIONDATE"];
bool Aflage = false, LAflage = false,AflageOne=false,LaflageOne=false;
DateTime strArrTime = DateTime.Now;
DateTime strLeaveTime = DateTime.Now;
DateTime strArrTimeOne = DateTime.Now;
DateTime strLeaveTimeOne = DateTime.Now;
for (int i = 0; i < count; i++)
{
try
{
strKey = this.ultraDataSource1.Band.Columns[i].Key;
if (strKey == "SB_FIRST_TIME")//在站时间
{
}
//废钢量
if (strKey == "FG_WEIGHT")
{
this.ultraDataSource1.Rows[0]["FG_WEIGHT"] = ar["FG_WEIGHT"].ToString();
continue;
}
if (strKey == "INSTATIONTIME_TEXT")//在站时间
{
this.ultraDataSource1.Rows[0]["INSTATIONTIME_TEXT"] = CStaticMethod.caculateSecondsTime(ar["INSTATIONTIME"].ToString());
continue;
}
if (strKey == "DFRTIME_TEXT")//脱硫时间
{
this.ultraDataSource1.Rows[0]["DR_BEF_TIME_TEXT"] = CStaticMethod.caculateSecondsTime(ar["DR_BEF_TIME"].ToString());
continue;
}
if (strKey == "SB_FIRST_TIME_TEXT")//一次搅拌时间
{
this.ultraDataSource1.Rows[0]["SB_FIRST_TIME_TEXT"] = CStaticMethod.caculateSecondsTime(ar["SB_FIRST_TIME"].ToString());
continue;
}
if (strKey == "SB_SECOND_TIME_TEXT")//二次搅拌时间
{
this.ultraDataSource1.Rows[0]["SB_SECOND_TIME_TEXT"] = CStaticMethod.caculateSecondsTime(ar["SB_SECOND_TIME"].ToString());
continue;
}
if (strKey == "SB_THIRD_TIME_TEXT")//三次搅拌时间
{
this.ultraDataSource1.Rows[0]["SB_THIRD_TIME_TEXT"] = CStaticMethod.caculateSecondsTime(ar["SB_THIRD_TIME"].ToString());
continue;
}
if (strKey == "DR_BEF_TIME_TEXT")//扒前渣时间
{
this.ultraDataSource1.Rows[0]["DR_BEF_TIME_TEXT"] = CStaticMethod.caculateSecondsTime(ar["DR_BEF_TIME"].ToString());
continue;
}
if (strKey == "DR_AFT_TIME_TEXT")////扒后渣时间
{
this.ultraDataSource1.Rows[0]["DR_AFT_TIME_TEXT"] = CStaticMethod.caculateSecondsTime(ar["DR_AFT_TIME"].ToString());
continue;
}
if (ar.Contains(strKey))
{
if (!string.IsNullOrEmpty(ar[strKey].ToString()))
{
if (strKey == "ARRIVETIME" && ar[strKey].ToString() != "")
{
Aflage = true;
strArrTime = Convert.ToDateTime(ar[strKey]);
}
if (strKey == "LEAVETIME" && ar[strKey].ToString() != "")
{
LAflage = true;
strLeaveTime = Convert.ToDateTime(ar[strKey]);
}
if (strKey == "SB_FIRST_STARTIME" && ar[strKey].ToString() != "")
{
AflageOne = true;
strArrTimeOne = Convert.ToDateTime(ar[strKey]);
}
if (strKey == "SB_FIRST_ENDTIME" && ar[strKey].ToString() != "")
{
LaflageOne = true;
strLeaveTimeOne = Convert.ToDateTime(ar[strKey]);
}
this.ultraDataSource1.Rows[0][i] = ar[strKey];
}
else if (this.ultraDataSource1.Band.Columns[i].DataType == typeof(System.DateTime))
{
this.ultraDataSource1.Rows[0][i] = null;
}
else
{
if (strKey == "INSTATIONTIME" && ar[strKey].ToString() == "")
{
if (Aflage && LAflage)
{
this.ultraDataSource1.Rows[0][i] = Convert.ToString(strArrTime - strLeaveTime);
TimeSpan diff = strLeaveTime - strArrTime;
this.ultraDataSource1.Rows[0][i] = Math.Round(diff.TotalMinutes);
}
}
if (strKey == "SB_FIRST_TIME" && ar[strKey].ToString() == "")
{
if (AflageOne && LaflageOne)
{
this.ultraDataSource1.Rows[0][i] = Convert.ToString(strArrTimeOne - strLeaveTimeOne);
TimeSpan diff = strLeaveTimeOne - strArrTimeOne;
this.ultraDataSource1.Rows[0][i] = Math.Round(diff.TotalMinutes);
}
}
}
}
else
{
if (this.ultraDataSource1.Band.Columns[i].DataType == typeof(System.DateTime))
this.ultraDataSource1.Rows[0][i] = null;
else
this.ultraDataSource1.Rows[0][i] = "";
}
}
catch { }
}
for (int i = 0; i < countHmp; i++)
{
try
{
strKey = this.ultraDataSource3.Band.Columns[i].Key;
if (ar.Contains(strKey))
{
if (!string.IsNullOrEmpty(ar[strKey].ToString()))
{
this.ultraDataSource3.Rows[0][i] = ar[strKey];
}
else if (this.ultraDataSource3.Band.Columns[i].DataType == typeof(System.DateTime))
{
this.ultraDataSource3.Rows[0][i] = null;
}
else
{
this.ultraDataSource3.Rows[0][i] = "";
}
}
else
{
if (this.ultraDataSource3.Band.Columns[i].DataType == typeof(System.DateTime))
{
this.ultraDataSource3.Rows[0][i] = null;
}
else
{
this.ultraDataSource3.Rows[0][i] = "";
}
}
}
catch { }
}
}
///
/// 保存作业信息
///
private void SaveData()
{
string strHeatNo = ""; //熔炼号
string strStationCode = ""; //岗位编码
string strDisposaltime = ""; //处理次数
ArrayList alColumnName = new ArrayList(); //保存作业字段名
ArrayList alValue = new ArrayList(); //保存作业字段值
ArrayList alColumnType = new ArrayList(); //保存字段类型
strHeatNo = _htHmpJobInfo["HEATPROCESSNO"].ToString();
if (_UpdateColumnName == null || _UpdateColumnName.Count == 0)
{
MessageBox.Show("当前没做任何修改不需要保存!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
//作业数据
for (int intCount = 0; intCount < ultraDataSource1.Band.Columns.Count; intCount++)
{
if (ultraDataSource1.Band.Columns[intCount].Key.ToString() != "YQLS" && ultraDataSource1.Band.Columns[intCount].Key.ToString() != "SUPPLYOXYGENTIME_TEXT"
&& ultraDataSource1.Band.Columns[intCount].Key.ToString() != "TAPPINGTIME_TEXT" && ultraDataSource1.Band.Columns[intCount].Key.ToString() != "BRPSTIME_TEXT")
{
//判断是否修改过
if (_UpdateColumnName.ContainsKey(ultraDataSource1.Band.Columns[intCount].Key.ToString()))
{
alColumnName.Add(ultraDataSource1.Band.Columns[intCount].Key.ToString());
alValue.Add((ultraDataSource1.Rows[0][intCount].ToString().Trim().Length > 0) ? ultraDataSource1.Rows[0][intCount].ToString() : "Empty");
alColumnType.Add(ultraDataSource1.Band.Columns[intCount].DataType.ToString());
}
}
}
//作业数据
for (int intCount = 0; intCount < ultraDataSource3.Band.Columns.Count; intCount++)
{
//判断是否修改过
if (_UpdateColumnName.ContainsKey(ultraDataSource3.Band.Columns[intCount].Key.ToString()))
{
if ((ultraDataSource3.Band.Columns[intCount].Key.ToString().ToUpper() == "ARRIVEWGT" ||
ultraDataSource3.Band.Columns[intCount].Key.ToString().ToUpper() == "LEAVEWGT") && !this.UserInfo.GetUserID().Contains("jsk"))
{
continue;
}
alColumnName.Add(ultraDataSource3.Band.Columns[intCount].Key.ToString());
alValue.Add((ultraDataSource3.Rows[0][intCount].ToString().Trim().Length > 0) ? ultraDataSource3.Rows[0][intCount].ToString() : "Empty");
alColumnType.Add(ultraDataSource3.Band.Columns[intCount].DataType.ToString());
}
}
//班次
string strShiftCode = "";
if (_htHmpJobInfo["SHIFTCODE"] != null && _htHmpJobInfo["SHIFTCODE"].ToString().Length > 1)
strShiftCode = _htHmpJobInfo["SHIFTCODE"].ToString().Substring(0, 1) + ultraGrid1.Rows[0].Cells["SHIFTCODE"].Value.ToString();
//班次
alColumnName.Add("SHIFTCODE");
alValue.Add((strShiftCode.Length > 0) ? strShiftCode : "Empty");
alColumnType.Add("System.String");
//操作员
alColumnName.Add("OPTPERSONNEL");
alValue.Add(this.UserInfo.GetUserName());
alColumnType.Add("System.String");
string strSqlID = "SaveHmpResData.Update";
object[] sArgs = new object[4];
sArgs[0] = strHeatNo; //加热处理号
sArgs[1] = alColumnName; //作业字段名
sArgs[2] = alValue; //作业数据值
sArgs[3] = alColumnType; //作业数据类型
string strError = "";
DialogResult result = DialogResult.No;
result = MessageBox.Show(this, "确实要保存信息吗?", "提示", MessageBoxButtons.YesNo,
MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
if (result == DialogResult.Yes)
{
Cursor oldCursor = this.Cursor;
this.Cursor = Cursors.WaitCursor;//等待光标
try
{
CommonClientToServer ccTs = new CommonClientToServer();
ccTs.ob = ob;
string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure",
"ExecProcWithCollParam", strSqlID, sArgs, out strError);
if (strError != "")
{
this.Cursor = oldCursor;
MessageBox.Show("保存不成功!\n" + strError, "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
else
{
this.Cursor = oldCursor;
if (_UpdateColumnName != null && _UpdateColumnName.Count > 0)
{
bool blReturn = StaticFunction.SaveUpdateLog(strHeatNo, strStationCode, strDisposaltime, _UpdateColumnName, _UpdateBefore, _UpdateAfter, this.ob);
if (blReturn == true)
{
_UpdateColumnName.Clear();
_UpdateBefore.Clear();
_UpdateAfter.Clear();
}
}
}
}
catch (System.Exception exp)
{
this.Cursor = oldCursor;
MessageBox.Show("保存不成功!\n" + exp.ToString(), "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
private void btnFresh_Click(object sender, EventArgs e)
{
DialogResult result = DialogResult.No;
result = MessageBox.Show(this, "刷新将撤消界面上所做的修改,按'否'先保存数据?", "提示", MessageBoxButtons.YesNo,
MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
if (result == DialogResult.Yes)
{
RefreshData();
}
}
private void RefreshData()
{
string strMolirn = "";
if (m_szJRCLH != "" && m_szLH != "")
{
//脱硫信息
GetHmpInfo(m_szLH);
//作业信息
GetHmpData();
setHmpTempTime();
////化学成分
ucResChemelEment1.ResetData();
this.ucResChemelEment1.ob = this.ob;
ucResChemelEment1.GetCraftEleInfo(_htHmpJobInfo["HUDWID"].ToString(), "B0" + DEVICE_POS, "I", strMolirn);
//化学成分标准
//if (ucPlan1._htPlanInfo["V_HEAT_ID"] != null)
// ucResChemelEment1.GetStandardElement(ucPlan1._htPlanInfo["STEEL"].ToString(), ucPlan1._htPlanInfo["V_HEAT_ID"].ToString());
ucResChemelEment1.FillCraftElement();
////if (_htHmpJobInfo != null && _htHmpJobInfo["PLANSTEEL"] != null)
//// ucResChemelEment1.GetStandardElement(_htHmpJobInfo["PLANSTEEL"].ToString(), ucPlan1.ultraDataSource1.Rows[0]["CAST_ID"].ToString());
//ucResChemelEment1.FillCraftElement();
_UpdateColumnName.Clear();
_UpdateBefore.Clear();
_UpdateAfter.Clear();
}
}
///
/// 保存
///
///
///
private void Save()
{
if (ultraDataSource2.Rows[0]["HEATPROCESSNO"].ToString().Trim().Length == 0)
{
MessageBox.Show("请选择要更新的脱硫号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
//出钢时间判断
if (!string.IsNullOrEmpty(this.ultraDataSource1.Rows[0]["DFRSTARTTIME"].ToString()) && !string.IsNullOrEmpty(this.ultraDataSource1.Rows[0]["DFRENDTIME"].ToString()))
{
if (Convert.ToDateTime(this.ultraDataSource1.Rows[0]["DFRSTARTTIME"]) < Convert.ToDateTime(this.ultraDataSource1.Rows[0]["DFRENDTIME"]))
ultraDataSource1.Rows[0]["DFRTIME"] = CStaticMethod.caculateTimeSeconds(Convert.ToDateTime(this.ultraDataSource1.Rows[0]["DFRSTARTTIME"]), Convert.ToDateTime(this.ultraDataSource1.Rows[0]["DFRENDTIME"]));
else
{
MessageBox.Show("脱硫开始时间不能大于脱硫结束时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
SaveData(); //保存数据
RefreshData(); //刷新数据
}
private string GetClassCode()
{
string bcbb = "";
return bcbb;
}
private void JudgeIfChangeClass()
{
try
{
myThread = new Thread(new ThreadStart(QueryClass));
myThread.IsBackground = true;
myThread.Priority = ThreadPriority.Normal;
myThread.Start();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void QueryClass()
{
try
{
int i = 0, scanLH = 5;
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
while (true)
{
if (!this.On_Off_Thread)
{
System.Threading.Thread.Sleep(500);
continue;
}
Thread.Sleep(1000 * 5);
string strError = "";
DateTime currTime = DateTime.Now;
if (strError == "")
{
datetime = currTime.ToString("HH:mm:ss");
}
string Z1 = "07:45:00", Z2 = "08:17:00", Z3 = "15:45:00", Z4 = "16:17:00", Z5 = "23:45:00", Z6 = "23:59:59", Z7 = "00:00:00", Z8 = "00:17:00";
if ((string.Compare(datetime, Z1) >= 0 && string.Compare(datetime, Z2) < 0)
|| (string.Compare(datetime, Z3) >= 0 && string.Compare(datetime, Z4) < 0) || (string.Compare(datetime, Z5) >= 0 && string.Compare(datetime, Z6) < 0) || (string.Compare(datetime, Z7) >= 0 && string.Compare(datetime, Z8) < 0))
{
}
else
{
if (ubJJB.Enabled == true)
ubJJB.Enabled = false;
m_bJJBFlag = false;
m_bDelay = false;
// label7.Text = "";
}
scanLH++;
if (scanLH == 6)
{
scanLH = 0;
//刷新炉号信息
if (threadGoOn)
{
RefreshStoveInfo(DateTime.Now.ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd"), " where 1=1");
}
}
}
}
catch
{
myThread.Abort();
}
}
private void ubJJB_Click(object sender, EventArgs e)
{
foreach (Form mdiChild in this.MdiParent.MdiChildren)
{
if (mdiChild.Text == DEVICE_POS + "#炼钢转炉交接班管理")
{
mdiChild.Activate();
return;
}
}
frmCcmMgt frm = new frmCcmMgt(DEVICE_POSITION);
frm.Text = DEVICE_POS + "#炼钢转炉交接班管理";
frm.MdiParent = this.MdiParent;
frm.AutoSize = true;
frm.Show();
}
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
if (this.checkBox2.Checked == true)
{
threadGoOn = false;
this.ultraDateTimeEditor1.Enabled = true;
this.ultraDateTimeEditor2.Enabled = true;
button37.Enabled = true;
}
else
{
threadGoOn = true;
this.ultraDateTimeEditor1.Enabled = false;
this.ultraDateTimeEditor2.Enabled = false;
button37.Enabled = false;
RefreshStoveInfo(DateTime.Now.ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd"), " where 1=1");
}
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Relieve":
foreach (Form mdiChild in this.MdiParent.MdiChildren)
{
if (mdiChild.Text == DEVICE_POS + "#炼钢转炉交接班管理")
{
mdiChild.Activate();
return;
}
}
frmCcmMgt frm = new frmCcmMgt(DEVICE_POSITION);
frm.Text = DEVICE_POS + "#炼钢转炉交接班管理";
frm.MdiParent = this.MdiParent;
frm.AutoSize = true;
frm.Show();
break;
case "Refresh":
DialogResult result = DialogResult.No;
result = MessageBox.Show(this, "刷新将撤消界面上所做的修改,继续?", "提示", MessageBoxButtons.YesNo,
MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
if (result == DialogResult.Yes)
{
RefreshData();
}
break;
case "Save"://新增
ultraGrid2.Select(); //释放焦点
Save();
break;
case "Exit":
this.Close();
break;
default:
break;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
RefreshStoveInfo(DateTime.Now.ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd"), " where 1=1");
}
private bool CheckIsNumberByASCII(string sSrc)
{
bool bRet = true;
ASCIIEncoding AE = new ASCIIEncoding();
byte[] bArray = AE.GetBytes(sSrc);
for (int i = 0; i < bArray.Length; i++)
{
if (bArray[i] == 46)
{
continue;
}
if (bArray[i] < 48 || bArray[i] > 57)
{
bRet = false;
break;
}
}
return bRet;
}
private void btAddLH_Click(object sender, EventArgs e)
{
}
public void AfterAddNewLH(string v_JRCLH)
{
m_szJRCLH = v_JRCLH;
RefreshStoveInfo(DateTime.Now.ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd"), " where 1=1");
}
private void ultraGrid4_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
if (e.Cell.Column.Key == "YQLS")
{
if (_htHmpJobInfo.Count > 0)
{
string szOut = "", szWhere = " WHERE HEATNO = '" + _htHmpJobInfo["HEATNO"].ToString() + "' AND STATIONCODE = 'C" + _htHmpJobInfo["STATIONCODE"].ToString() +
"' AND DISPOSALTIME='" + _htHmpJobInfo["DISPOSALTIME"].ToString() + "' and (samplingname = 'GUNAHIGH' or samplingname = 'GUNBHIGH') order by samplingdate desc";
object obj = null;
if (szOut == "" && obj != null)
{
DataTable dt = (obj as DataSet).Tables[0];
frmOggHistory frmOHis = new frmOggHistory();
frmOHis.dtOggHistory = dt;
frmOHis.WindowState = FormWindowState.Normal;
frmOHis.ShowDialog();
}
}
else
MessageBox.Show("当前没有炉次信息,请选择要查看的炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
else if (e.Cell.Column.Key == "BLOWO2TIMES")
{
if (_htHmpJobInfo.Count > 0)
{
string szOut = "", szWhere = " and HEATNO = '" + _htHmpJobInfo["HEATNO"].ToString() + "' AND STATIONCODE = '" + _htHmpJobInfo["STATIONCODE"].ToString() +
"' AND DISPOSALTIME='" + _htHmpJobInfo["DISPOSALTIME"].ToString() + "'";
object obj = null;
if (szOut == "" && obj != null)
{
DataTable dt = (obj as DataSet).Tables[0];
frmO2Times frmO2 = new frmO2Times();
frmO2.dtO2Times = dt;
frmO2.WindowState = FormWindowState.Normal;
frmO2.ShowDialog();
}
}
else
MessageBox.Show("当前没有炉次信息,请选择要查看的炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
else
{
frmSetTime frm = new frmSetTime(e.Cell.Value);
frm.Location = CStaticMethod.GetChildWindowLocation(frm.Size);
frm.ShowDialog();
if (frm._returnTime > new DateTime(2000, 1, 1, 0, 0, 0, 0))
{
DateTime dt = frm._returnTime;
e.Cell.Value = dt;
}
}
}
private void ultraGrid4_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
if (ultraGrid4.ActiveCell.Text != "" && e.Cell.Value.GetType().ToString() != "System.DateTime"
&& e.Cell.Value.GetType().ToString() != "System.DBNull" && e.Cell.Column.Key != "MOLIRNTYPE" && e.Cell.Column.Key != "BLKREDMODE" && e.Cell.Column.Key != "MEMO")
{
try
{
Convert.ToDecimal(ultraGrid4.ActiveCell.Text);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "提示");
ultraGrid4.ActiveCell.Value = "";
}
}
}
#region "记录实绩修改日志"
///
/// 设置用户控件委托
///
private void SetUserControlDelegate()
{
///修改数据之前事情
ultraGrid1.AfterCellUpdate += new Infragistics.Win.UltraWinGrid.CellEventHandler(ultraGrid1_AfterCellUpdate);
ultraGrid3.AfterCellUpdate += new Infragistics.Win.UltraWinGrid.CellEventHandler(ultraGrid3_AfterCellUpdate);
ultraGrid4.AfterCellUpdate += new Infragistics.Win.UltraWinGrid.CellEventHandler(ultraGrid4_AfterCellUpdate);
///修改数据之后事情
ultraGrid1.BeforeCellUpdate += new Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventHandler(ultraGrid1_BeforeCellUpdate);
ultraGrid3.BeforeCellUpdate += new Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventHandler(ultraGrid3_BeforeCellUpdate);
ultraGrid4.BeforeCellUpdate += new Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventHandler(ultraGrid4_BeforeCellUpdate);
}
void ultraGrid1_BeforeCellUpdate(object sender, Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventArgs e)
{
if (!string.IsNullOrEmpty(e.Cell.Column.Header.Caption.Trim()))
{
if (_UpdateBefore != null && _UpdateBefore.Contains(e.Cell.Column.Key))
{
_UpdateBefore.Remove(e.Cell.Column.Key);
_UpdateColumnName.Remove(e.Cell.Column.Key);
}
_UpdateBefore.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
_UpdateColumnName.Add(e.Cell.Column.Key, e.Cell.Column.Header.Caption);
}
}
void ultraGrid1_AfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
if (!string.IsNullOrEmpty(e.Cell.Column.Header.Caption.Trim()))
{
if (_UpdateAfter.Contains(e.Cell.Column.Key))
{
_UpdateAfter.Remove(e.Cell.Column.Key);
//_UpdateColumnName.Remove(e.Cell.Column.Key);
}
_UpdateAfter.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
}
}
private void ultraGrid4_AfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
if (_UpdateAfter.Contains(e.Cell.Column.Key))
{
_UpdateAfter.Remove(e.Cell.Column.Key);
//_UpdateColumnName.Remove(e.Cell.Column.Key);
}
_UpdateAfter.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
}
private void ultraGrid4_BeforeCellUpdate(object sender, Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventArgs e)
{
if (_UpdateBefore != null && _UpdateBefore.Contains(e.Cell.Column.Key))
{
_UpdateBefore.Remove(e.Cell.Column.Key);
_UpdateColumnName.Remove(e.Cell.Column.Key);
}
_UpdateBefore.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
_UpdateColumnName.Add(e.Cell.Column.Key, e.Cell.Column.Header.Caption);
}
#endregion
private void ultraGrid3_AfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
if (_UpdateAfter.Contains(e.Cell.Column.Key))
{
_UpdateAfter.Remove(e.Cell.Column.Key);
//_UpdateColumnName.Remove(e.Cell.Column.Key);
}
_UpdateAfter.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
}
private void ultraGrid3_BeforeCellUpdate(object sender, Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventArgs e)
{
if (_UpdateBefore != null && _UpdateBefore.Contains(e.Cell.Column.Key))
{
_UpdateBefore.Remove(e.Cell.Column.Key);
_UpdateColumnName.Remove(e.Cell.Column.Key);
}
_UpdateBefore.Add(e.Cell.Column.Key, e.Cell.Value.ToString());
_UpdateColumnName.Add(e.Cell.Column.Key, e.Cell.Column.Header.Caption);
}
private void ucResChemelEment1_Load(object sender, EventArgs e)
{
}
private DataSet returnCommonDataSet(string sqlStr)
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
CoreClientParam CCP_Query = new CoreClientParam();
CCP_Query.ServerName = "Core.LgMes.Server.Common.ComDBExecute";
CCP_Query.MethodName = "doSimpleQuery";
CCP_Query.ServerParams = new object[] { sqlStr };
CCP_Query.SourceDataTable = dt;
try
{
this.ExecuteQueryToDataTable(CCP_Query, CoreInvokeType.Internal);
ds.Tables.Add(dt);
}
catch
{
}
return ds;
}
private DataSet returnHmpRealDataSet(string sqlWhere)
{
return Core.LgMes.Client.lgBll.lgResMgt.CommonAtomStlHmpMgt.returnDsOfHmpInfo(new ClientParam("", sqlWhere,this.ob));
}
private string returnLasetTempTime(DataSet ds)
{
try
{
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
return ds.Tables[0].Rows[0]["SWBTEMPERATURE_DATE"].ToString();
}
}
return "";
}
catch
{
return "";
}
}
private void setHmpTempTime()
{
try
{
DataSet ds = returnHmpRealDataSet(string.Format(" and hudwid = '{0}'", m_szLH));
string hmpTime = Core.Mes.Client.Common.lgCommon.returnColumnValueFromDsByColumnName(ds, "SWBTEMPERATURE_DATE").ToString();
this.ultraDataSource3.Rows[0]["SWBTEMPERATURE_DATE"] = Convert.ToDateTime(hmpTime);
}
catch
{
}
}
}
}