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 { } } } }