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 Core.Mes.Client.Common; using System.Collections; namespace Core.LgMes.Client.LgJobMgt { public partial class frmSendIron : frmStyleBase { public frmSendIron() { InitializeComponent(); } private string _szCZSJ; private DataSet _dsTBH = new DataSet(); public string _szTBH = "", _szTLCLH = "", _szMolirnsource = "", _szIronpotwgt = "", _szIrontemPerature = "", _szRsstoveNo = "", _szRsWgt; public string strVan = ""; public OpeBase ob; //服务端URL public string strKR_Charge_NO = ""; /// /// 获取铁水发送数据 /// private void GetIronSendData(string strFlag) { string strErr = ""; string strHmp = "1"; string strMis = "1"; if (strFlag == "True") { strHmp = "10"; strMis = "9"; } ArrayList arry = new ArrayList(); arry.Add("GetIronSendData.Select");//此ID为XML文件ID arry.Add(strHmp); //是否显已发送数据 arry.Add(strMis); //是否显已发送数据 arry.Add(strHmp); //是否显已发送数据 CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; // 获取铁水发送数据 DataSet ds = ccTs.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob", "GetIronSendData", arry, out strErr); if (strErr == "" && ds != null) { ultraDataSource2.Rows.Clear(); if (ds.Tables.Count > 0) { int intIndex = 0; foreach (DataRow dr in ds.Tables[0].Rows) { ultraDataSource2.Rows.Add(new object[] {dr["FLAG"].ToString()=="0"?false:true, dr["HEATPROCESSNO"].ToString(), dr["EQUIPMENTNO"].ToString(), dr["HUDWID"].ToString(), dr["MOLIRNLEAVE"].ToString(), dr["IRONPWRAPNO"].ToString(), dr["LEAVEWGT"].ToString(), dr["DFRSTARTTIME"], dr["DFRENDTIME"], dr["DFRTIME"].ToString(), dr["SWBTEMPERATURE"].ToString(), dr["LEAVEWGTTIME"], dr["MN"].ToString(), dr["SI"].ToString(), dr["P"].ToString(), dr["S"].ToString(), dr["IRONSOURCE"].ToString() }); if (ultragridInIron.Rows[intIndex].Cells["MOLIRNLEAVE"].Value.ToString().Length > 0) { ultragridInIron.Rows[intIndex].Cells["MOLIRNLEAVE"].Appearance.BackColor = Color.LawnGreen; for (int i = 0; i < ultragridHeatNo.Rows.Count; i++) { if (ultragridHeatNo.Rows[i].Cells["HEATNO"].Value.ToString() == ultragridInIron.Rows[intIndex].Cells["MOLIRNLEAVE"].Value.ToString()) ultragridHeatNo.Rows[i].Cells["HEATNO"].Appearance.BackColor = Color.LawnGreen; } } intIndex++; } } else MessageBox.Show("铁水信息查询失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } } /// /// 获取计划炉次号 /// private void GetPlanHeatNoData() { string strErr = ""; int intBof1Count = 5; int intBof2Count = 5; int intBof1Index = 0; int intBof2Index = 0; string strBof1HeatNo = ""; string strBof2HeatNo = ""; ArrayList arry = new ArrayList(); arry.Add("GetPlanHeatNoData.Select");//此ID为XML文件ID CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; // 获取计划炉次号 DataSet ds = ccTs.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob", "GetPlanHeatNoData", arry, out strErr); if (strErr == "" && ds != null) { ultradsHeatNo.Rows.Clear(); if (ds.Tables.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { ultradsHeatNo.Rows.Add(new object[] {dr["FLAG"].ToString()=="0"?false:true, dr["STATIONCODE"].ToString(), dr["HEATNO"].ToString(), dr["STEELNAME"].ToString() }); if (dr["STATIONCODE"].ToString() == "1") { intBof1Index = intBof1Index + 1; strBof1HeatNo = dr["HEATNO"].ToString(); } if (dr["STATIONCODE"].ToString() == "2") { intBof2Index = intBof2Index + 1; strBof2HeatNo = dr["HEATNO"].ToString(); } } string NowTime = DateTime.Now.ToString("yyyy").Substring(3, 1); if (intBof1Index < intBof1Count) { int intMaxHeat = 0; int intMaxIndex = 1; for (int i = intBof1Index; i < intBof1Count; i++) { intMaxHeat = (Int32.Parse(strBof1HeatNo.Substring(4, 5), System.Globalization.NumberStyles.AllowLeadingSign) + intMaxIndex); ultradsHeatNo.Rows.Add(new object[] {false, "1", "J"+NowTime+"1-" + intMaxHeat.ToString().PadLeft(5, '0') + "A", "" }); intMaxIndex = intMaxIndex + 1; } } if (intBof2Index < intBof2Count) { int intMaxHeat = 0; int intMaxIndex = 1; for (int i = intBof2Index; i < intBof2Count; i++) { intMaxHeat = (Int32.Parse(strBof2HeatNo.Substring(4, 5), System.Globalization.NumberStyles.AllowLeadingSign) + intMaxIndex); ultradsHeatNo.Rows.Add(new object[] {false, "2", "J"+NowTime+"2-" + intMaxHeat.ToString().PadLeft(5, '0')+ "A", "" }); intMaxIndex = intMaxIndex + 1; } } ultragridHeatNo.DisplayLayout.Bands[0].Columns["HEATNO"].SortIndicator = Infragistics.Win.UltraWinGrid.SortIndicator.Ascending; foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ultrRow in ultragridHeatNo.Rows) { if (ultrRow.Cells["STATIONCODE"].Value.ToString() == "2") ultrRow.Appearance.BackColor = Color.LightCyan; } } else MessageBox.Show("计划炉次信息查询失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } } /// /// 发送铁水数据到转炉模型 /// private void SendIronDataBof() { string strSqlID = ""; //sqlId string strErr = ""; //错误信息 string strCharge_NO = ""; string strLadle_NO = ""; string strIron_Weight = ""; string strKR_Charge_NO = ""; string strIron_Temp = ""; string strSample_NO = ""; ultragridHeatNo.UpdateData(); ultragridInIron.UpdateData(); //炉次计划,获取炉号 foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ultragr in ultragridHeatNo.Rows) { if (Convert.ToBoolean(ultragr.Cells["FLAG"].Value) == true) strCharge_NO = ultragr.Cells["HEATNO"].Value.ToString(); } //铁水信息 foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ultragr in ultragridInIron.Rows) { if (Convert.ToBoolean(ultragr.Cells["FLAG"].Value) == true) { strLadle_NO = ultragr.Cells["IRONPWRAPNO"].Value.ToString(); strIron_Weight = ultragr.Cells["LEAVEWGT"].Value.ToString(); strKR_Charge_NO = ultragr.Cells["HUDWID"].Value.ToString(); strIron_Temp = ultragr.Cells["SWBTEMPERATURE"].Value.ToString().Trim();//SWBTEMPERATURE if (strIron_Temp == "")//不允许铁水温度为空 { if (MessageBox.Show("铁水温度不能为空,你可以在温度栏中输入温度(不推荐)!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.No) { MessageBox.Show("取消发送", "提示!", MessageBoxButtons.OK); return; } } if (ultragr.Cells["HUDWID"].Value.ToString().Substring(2, 1) != "3") strSample_NO = ultragr.Cells["IRONSOURCE"].Value.ToString(); break; ; } } if (string.IsNullOrEmpty(strCharge_NO) || string.IsNullOrEmpty(strKR_Charge_NO)) { MessageBox.Show("请选择要发送的铁水信息和目标炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (MessageBox.Show("是否确认将【处理号:" + strKR_Charge_NO + "铁包号:" + strLadle_NO + "】发送给【" + strCharge_NO + "】炉次!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.Yes) { strSqlID = "SendIronDataBof.Send"; //SQLID Hashtable ht = new Hashtable(); ht.Add("I1", strCharge_NO); //炉号 ht.Add("I2", strLadle_NO); //铁水罐号 ht.Add("I3", strIron_Weight); //铁水重量 ht.Add("I4", strKR_Charge_NO); //脱硫预处理号 ht.Add("I5", strIron_Temp); //铁水温度 ht.Add("I6", strSample_NO); //平台取样号 ht.Add("O1", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob", "SendIronDataBof", strSqlID, ht, out strErr); if (strErr == "") { MessageBox.Show("铁水信息发送成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); GetPlanHeatNoData(); GetIronSendData("False"); } else MessageBox.Show("铁水信息发送失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } /// /// 取消铁水发送数据 /// private void CancelIronSendData() { string strSqlID = ""; //sqlId string strErr = ""; //错误信息 string strCharge_NO = ""; string strLadle_NO = ""; string strIron_Weight = ""; string strKR_Charge_NO = ""; string strIron_Temp = ""; string strSample_NO = ""; ultragridHeatNo.UpdateData(); ultragridInIron.UpdateData(); //铁水信息 foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ultragr in ultragridInIron.Rows) { if (Convert.ToBoolean(ultragr.Cells["FLAG"].Value) == true) { strLadle_NO = ultragr.Cells["IRONPWRAPNO"].Value.ToString(); strKR_Charge_NO = ultragr.Cells["HUDWID"].Value.ToString(); strCharge_NO = ultragr.Cells["MOLIRNLEAVE"].Value.ToString(); break; ; } } if (string.IsNullOrEmpty(strKR_Charge_NO)) { MessageBox.Show("请选择要取消发送的铁水信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (string.IsNullOrEmpty(strCharge_NO)) { MessageBox.Show("您选择的是未发送的铁水信息,请选择已经发送的铁水信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (MessageBox.Show("是否确认取消【处理号:" + strKR_Charge_NO + "铁包号:" + strLadle_NO + "】目标炉次【" + strCharge_NO + "】铁水信息!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.Yes) { strSqlID = "CancelIronSendData.Send"; //SQLID Hashtable ht = new Hashtable(); ht.Add("I1", strLadle_NO); //铁水罐号 ht.Add("I2", strKR_Charge_NO); //脱硫预处理号 ht.Add("O1", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob", "CancelIronSendData", strSqlID, ht, out strErr); if (strErr == "") { MessageBox.Show("铁水信息取消发送成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); GetPlanHeatNoData(); GetIronSendData("False"); } else MessageBox.Show("铁水信息取消发送失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void frmSendIron_Load(object sender, EventArgs e) { ultragridHeatNo.DisplayLayout.CaptionVisible = Infragistics.Win.DefaultableBoolean.True; ultragridInIron.DisplayLayout.CaptionVisible = Infragistics.Win.DefaultableBoolean.True; GetPlanHeatNoData(); GetIronSendData("False"); if (!string.IsNullOrEmpty(strKR_Charge_NO)) { for (int i = 0; i < ultragridInIron.Rows.Count; i++) { if (ultragridInIron.Rows[i].Cells["HUDWID"].Value.ToString() == strKR_Charge_NO) ultragridInIron.Rows[i].Cells["Flag"].Value = true; } } } private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { switch (e.ClickedItem.Name) { case "tlSend": { SendIronDataBof(); break; } case "blCancel": { CancelIronSendData(); break; } case "blExit": { this.Close(); break; } case "SendOver": { GetIronSendData("True"); break; } case "HideSendOver": { GetIronSendData("False"); break; } default: break; } } private void ultragridInIron_Click(object sender, EventArgs e) { for (int j = 0; j < ultragridInIron.Rows.Count; j++) { if (j != ultragridInIron.ActiveRow.Index) ultragridInIron.DisplayLayout.Rows[j].Cells["Flag"].Value = false; } } private void ultragridHeatNo_Click(object sender, EventArgs e) { for (int j = 0; j < ultragridHeatNo.Rows.Count; j++) { if (j != ultragridHeatNo.ActiveRow.Index) ultragridHeatNo.DisplayLayout.Rows[j].Cells["Flag"].Value = false; } } private void ultragridInIron_AfterCellActivate(object sender, EventArgs e) { //if (e.ToString..Cell.Column.Key == "SWBTEMPERATURE") // 温度 //{ frmBfIronTemp frm = new frmBfIronTemp(); frm.Location = CStaticMethod.GetChildWindowLocation(frm.Size); frm.ob = this.ob; frm.ShowDialog(); //if (frm._strHeatProcessNo != "") //{ // ultragridInIronEdit.Rows[0].Cells["Temptrue"].Value = frm._strPTIronTemp; // ultragridInIronEdit.Rows[0].Cells["Temptrue"].Tag = frm._strHeatProcessNo; //} } /// /// 从弹出窗口选取温度 /// /// /// private void ultragridInIron_DoubleClickCell(object sender, Infragistics.Win.UltraWinGrid.DoubleClickCellEventArgs e) { if (e.Cell.Column.Key == "SWBTEMPERATURE") { frmBfIronTemp frm = new frmBfIronTemp(); frm.Location = CStaticMethod.GetChildWindowLocation(frm.Size); frm.ob = this.ob; frm.ShowDialog(); if (frm._strHeatProcessNo != "") { //string UserName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName().Trim(); //string FormerTemperature= ultragridInIron.ActiveRow.Cells["SWBTEMPERATURE"].Text;//修改前温度 //string AfterTemperature ="";//修改后温度 //string MisId = ultragridInIron.ActiveRow.Cells["HUDWID"].Text;//贴 object A = frm._strPTIronTemp; ultragridInIron.ActiveRow.Cells["SWBTEMPERATURE"].Value = frm._strPTIronTemp; //AfterTemperature = ultragridInIron.ActiveRow.Cells["SWBTEMPERATURE"].Text; //ModifyRecord(UserName, FormerTemperature, AfterTemperature, MisId); } } } //private void ModifyRecord(string UserName, string FormerTemperature, string AfterTemperature, string MisId) //{ // string sql = string.Format("insert into tpm_Modify_importiron(UserName,FormerTemperature, AfterTemperature,Misid,Uptime) values('{0}','{1}','{2}','{3}',sysdate) ", UserName, FormerTemperature, AfterTemperature, MisId); // ccp.ServerName = "Core.JgMcms.BaseDataManage.OtherBaseInfo"; // ccp.MethodName = "ExcuteNonQuery"; // ccp.ServerParams = new object[] { strSql }; // this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); //} } }