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