using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.IO;
using System.Diagnostics;
using CoreFS.CA06;
using Core.Mes.Client.Common;
using Infragistics.Win.UltraWinGrid;
namespace Core.LgMes.Client.LgDeviceManager
{
public partial class FrmILFire : frmStyleBase
{
private bool bOK = false;
private string strInitID = "";
private OpeBase ob = null;
#region "================================Add on 2009-07-28=============================="
#endregion
public FrmILFire(string strInitID, OpeBase oba)
{
InitializeComponent();
ob = oba;
this.strInitID = strInitID;
}
private void FrmILFire_Load(object sender, EventArgs e)
{
proc_GetID(strInitID);
bOK = true;
cbbID_SelectedIndexChanged(null, null);
}
private void cbbID_SelectedIndexChanged(object sender, EventArgs e)
{
if (!bOK)
return;
if (cbbID.Items.Count == 0 || cbbID.SelectedIndex < 0)
{
ResetControlsBase(true);
ResetControlsRepair();
btnStart.Enabled = btnEnd.Enabled = false;
return;
}
string strID = cbbID.Text.Trim();
ResetControlsBase(false);
ResetControlsRepair();
proc_GetBaseInfo(strID);
proc_GetFireInfo(strID);
}
private void proc_GetBaseInfo(string strID)
{
try
{
string strErr = "";
ArrayList arry = new ArrayList();
arry.Add("FrmILBaseInfo_Query3");
arry.Add(cbbID.Text.Trim());
CommonClientToServer ccs = new CommonClientToServer();
ccs.ob = this.ob;
DataSet ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr);
if (strErr == "" && ds != null && ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
tbCurrStatus.Text = ds.Tables[0].Rows[0]["当前状态"].ToString(); //当前状态
tbAgeTS.Text = ds.Tables[0].Rows[0]["铁水包龄"].ToString(); //铁水包龄
tbAgeBG.Text = ds.Tables[0].Rows[0]["半钢包龄"].ToString(); //半钢包龄
}
else
{
btnStart.Enabled = btnEnd.Enabled = false;
}
}
else
{
MessageBox.Show("铁包状态信息查询出错!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
MessageBox.Show("铁包状态信息查询出错!\r\n" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void proc_GetFireInfo(string strID)
{
try
{
string strErr = "";
string strWhere = " and TOOLTYPE = '铁包' and FIRINGTOOLID = '" + this.cbbID.Text.Trim() + "' "
+ "and BEGINTIME is not null and ENDTIME is null";
ArrayList arry = new ArrayList();
ArrayList sqlList = new ArrayList();
arry.Add("FrmILHistory_Query4");
sqlList.Add(strWhere);
CoreClientParam CCP_LgEts = new CoreClientParam();
DataTable dt = new DataTable();
CCP_LgEts.ServerName = "Core.LgMes.Server.Common.ComDBQuery";
CCP_LgEts.MethodName = "doQuery";
CCP_LgEts.ServerParams = new object[] { arry, sqlList };
CCP_LgEts.SourceDataTable = dt;
//this.ExecuteQueryToDataTable(CCP_LgEts, CoreInvokeType.Internal);
DataSet ds = new DataSet();
ds.Tables.Add(dt);
if (strErr == "" && ds != null && ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
tbWDKQ.Text = Convert.ToString(ds.Tables[0].Rows[0]["烤前温度"]);
tbWDKH.Text = Convert.ToString(ds.Tables[0].Rows[0]["烤后温度"]);
cbbWZ.Text = Convert.ToString(ds.Tables[0].Rows[0]["烘烤站号"]);
// dateTimePicker1.CustomFormat = "yyyy-MM-dd HH:mm:ss";
dateTimePicker1.Value = Convert.ToDateTime(Convert.ToString(ds.Tables[0].Rows[0]["开始时间"]));
//dateTimePicker2.CustomFormat = "yyyy-MM-dd HH:mm:ss";
dateTimePicker2.Value = DateTime.Now;
tbMemo.Text = Convert.ToString(ds.Tables[0].Rows[0]["备注"]);
btnStart.Enabled = false;
btnEnd.Enabled = true;
}
else
{
// dateTimePicker1.CustomFormat = "yyyy-MM-dd HH:mm:ss";
dateTimePicker1.Value = DateTime.Now;
btnStart.Enabled = true;
btnEnd.Enabled = false;
}
}
else
{
MessageBox.Show("铁包烘烤信息查询出错!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
MessageBox.Show("铁包烘烤信息查询出错!\r\n" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void proc_GetID(string strID)
{
try
{
string strErr = "";
ArrayList arry = new ArrayList();
arry.Add("FrmILBaseInfo_Query3");
arry.Add(strID);
CommonClientToServer ccs = new CommonClientToServer();
ccs.ob = this.ob;
DataSet ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr);
if (strErr == "" && ds != null && ds.Tables.Count > 0)
{
Core.Mes.Client.Common.Globals.FillUlcmeItems(cbbID, ds.Tables[0]);
this.cbbID.DataSource = ds.Tables[0];
this.cbbID.DisplayMember = "铁包编号";
if (ds.Tables[0].Rows.Count == 0)
{
ResetControlsBase(true);
ResetControlsRepair();
btnStart.Enabled = btnEnd.Enabled = false;
return;
}
if (strID.Length > 0)
cbbID.Text = strID;
cbbID_SelectedIndexChanged(null, null);
}
else
{
MessageBox.Show("铁包包号信息查询出错!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
MessageBox.Show("铁包包号信息查询出错!\r\n" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
///
/// 烘烤开始
///
private void IB_FireStart()
{
if (cbbID.Items.Count == 0 ||
cbbID.SelectedIndex < 0)
{
proc_GetID("");
MessageBox.Show("请选择需要烘烤的铁包!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
cbbID.Focus();
return;
}
string strErr = "";
ArrayList arry = new ArrayList();
arry.Add("FrmILBaseInfo_Query3");
arry.Add(cbbID.Text.Trim());
CommonClientToServer ccs = new CommonClientToServer();
ccs.ob = this.ob;
DataSet ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr);
if (!(strErr == "" && ds != null && ds.Tables.Count > 0))
{
MessageBox.Show("铁包[" + cbbID.Text.Trim() + "]烘烤操作失败,请重试!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
if (ds.Tables[0].Rows.Count == 0)
{
MessageBox.Show("铁包编号[" + cbbID.Text.Trim() + "]不存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
cbbID.Focus();
return;
}
string strCurrStatus = Convert.ToString(ds.Tables[0].Rows[0]["当前状态"]);
if (strCurrStatus != "备用")
{
MessageBox.Show("铁包[" + cbbID.Text.Trim() + "]当前状态为[" + strCurrStatus + "],不能开始烘烤!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
cbbID.Focus();
return;
}
if (cbbWZ.SelectedIndex < 0)
{
MessageBox.Show("请选择烘烤站号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
cbbWZ.Focus();
return;
}
if (MessageBox.Show("确认开始烘烤铁包[" + cbbID.Text.Trim() + "]吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
try
{
strErr = "";
string strSql = "insert into DEV_TOOLFIRINGDETAIL "
+ "(FIRINGID, TOOLTYPE, FIRINGTOOLID, CYCID, OVENID, BEGINTIME, ENDTIME, TEMPERATUREBEFOREFIRING, TEMPERATUREBEHINDFIRING, MEMO) "
+ "values "
+ "("
+ "(select nvl(max(to_number(FIRINGID)), 0) + 1 from DEV_TOOLFIRINGDETAIL), "
+ "'铁包', "
+ "'" + cbbID.Text.Trim() + "', "
+ "(select nvl(max(CYCID), 0) + 1 from DEV_TOOLFIRINGDETAIL where TOOLTYPE = '铁包' and FIRINGTOOLID = '" + cbbID.Text.Trim() + "'), "
+ "'" + cbbWZ.Text.Trim() + "', "
+ "to_date('" + (dateTimePicker1.Text.Length > 0 ? Convert.ToDateTime(dateTimePicker1.Value).ToString("yyyy-MM-dd HH:mm:ss") : DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")) + "', 'yyyy-MM-dd HH24:mi:ss'), "
+ "null, "
+ "'" + tbWDKQ.Text.Trim() + "', "
+ "'" + tbWDKH.Text.Trim() + "', "
+ "'" + tbMemo.Text.Trim() + "' "
+ ")";
//ClientCommon._RemotingHelp.ExecuteMethod("LgDeviceManager", "Core.LgMes.Server.LgDeviceManager.LadleManager", "SetData", new object[] { strSql }, out strErr);
if (strErr != "")
{
MessageBox.Show("铁包[" + cbbID.Text.Trim() + "]烘烤操作失败!\n" + strErr, "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
strErr = "";
strSql = "update dev_ib_base_info set "
+ "STATUS = '烘烤' "
+ "where LADLEID = '" + cbbID.Text.Trim() + "'";
//ClientCommon._RemotingHelp.ExecuteMethod("LgDeviceManager", "Core.LgMes.Server.LgDeviceManager.LadleManager", "SetData", new object[] { strSql }, out strErr);
if (strErr != "")
{
MessageBox.Show("铁包[" + cbbID.Text.Trim() + "]烘烤操作失败!\n" + strErr, "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
proc_GetID(cbbID.Text.Trim());
FrmIronLadleManage frm = (FrmIronLadleManage)this.Tag;
if (!frm._bAutoRefresh)
{
frm.GetID();
frm.GetAndSetData();
}
MessageBox.Show("铁包[" + cbbID.Text.Trim() + "]烘烤开始!", "提示");
}
catch (Exception ex)
{
MessageBox.Show("铁包烘烤操作失败!\r\n" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
}
///
/// 烘烤结束
///
private void IB_FireEnd()
{
if (cbbID.Items.Count == 0 ||
cbbID.SelectedIndex < 0)
{
proc_GetID("");
MessageBox.Show("请选择需要结束烘烤的铁包!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
cbbID.Focus();
return;
}
string strErr = "";
ArrayList arry = new ArrayList();
arry.Add("FrmILBaseInfo_Query3");
arry.Add(cbbID.Text.Trim());
CommonClientToServer ccs = new CommonClientToServer();
ccs.ob = this.ob;
DataSet ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr);
if (!(strErr == "" && ds != null && ds.Tables.Count > 0))
{
MessageBox.Show("铁包[" + cbbID.Text.Trim() + "]结束烘烤操作失败,请重试!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
if (ds.Tables[0].Rows.Count == 0)
{
MessageBox.Show("铁包编号[" + cbbID.Text.Trim() + "]不存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
cbbID.Focus();
return;
}
string strCurrStatus = Convert.ToString(ds.Tables[0].Rows[0]["当前状态"]);
if (strCurrStatus != "烘烤")
{
MessageBox.Show("铁包[" + cbbID.Text.Trim() + "]当前状态为[" + strCurrStatus + "],还未开始烘烤!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
cbbID.Focus();
return;
}
if (cbbWZ.SelectedIndex < 0)
{
MessageBox.Show("请选择烘烤站号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
cbbWZ.Focus();
return;
}
if (MessageBox.Show("确认铁包[" + cbbID.Text.Trim() + "]烘烤结束吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
try
{
strErr = "";
string strSql = "update DEV_TOOLFIRINGDETAIL set "
+ "OVENID = '" + cbbWZ.Text.Trim() + "', "
+ "TEMPERATUREBEFOREFIRING = '" + tbWDKQ.Text.Trim() + "', "
+ "TEMPERATUREBEHINDFIRING = '" + tbWDKH.Text.Trim() + "', "
+ "MEMO = '" + tbMemo.Text.Trim() + "', "
+ "BEGINTIME = to_date('" + Convert.ToDateTime(dateTimePicker1.Value).ToString("yyyy-MM-dd HH:mm:ss") + "', 'yyyy-MM-dd HH24:mi:ss'), "
+ "ENDTIME = to_date('" + (dateTimePicker2.Text.Length > 0 ? Convert.ToDateTime(dateTimePicker2.Value).ToString("yyyy-MM-dd HH:mm:ss") : DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")) + "', 'yyyy-MM-dd HH24:mi:ss') "
+ "where TOOLTYPE = '铁包' and FIRINGTOOLID = '" + cbbID.Text.Trim() + "' "
+ "and BEGINTIME is not null and ENDTIME is null";
//ClientCommon._RemotingHelp.ExecuteMethod("LgDeviceManager", "Core.LgMes.Server.LgDeviceManager.LadleManager", "SetData", new object[] { strSql }, out strErr);
if (strErr != "")
{
MessageBox.Show("铁包[" + cbbID.Text.Trim() + "]烘烤操作失败!\n" + strErr, "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
strErr = "";
strSql = "update dev_ib_base_info set "
+ "STATUS = '备用' "
+ "where LADLEID = '" + cbbID.Text.Trim() + "'";
//ClientCommon._RemotingHelp.ExecuteMethod("LgDeviceManager", "Core.LgMes.Server.LgDeviceManager.LadleManager", "SetData", new object[] { strSql }, out strErr);
if (strErr != "")
{
MessageBox.Show("铁包[" + cbbID.Text.Trim() + "]结束烘烤操作失败!\n" + strErr, "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
proc_GetID(cbbID.Text.Trim());
FrmIronLadleManage frm = (FrmIronLadleManage)this.Tag;
if (!frm._bAutoRefresh)
{
frm.GetID();
frm.GetAndSetData();
}
MessageBox.Show("铁包[" + cbbID.Text.Trim() + "]烘烤结束!", "提示");
}
catch (Exception ex)
{
MessageBox.Show("铁包结束烘烤操作失败!\r\n" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
}
private void ResetControlsBase(bool bFlag)
{
try
{
if (bFlag)
cbbID.SelectedIndex = -1;
tbCurrStatus.Clear();
tbAgeTS.Clear();
tbAgeBG.Clear();
}
catch { }
}
private void ResetControlsRepair()
{
try
{
tbWDKQ.Clear();
tbWDKH.Clear();
cbbWZ.SelectedIndex = -1;
dateTimePicker1.Value = dateTimePicker2.Value = null;
tbMemo.Clear();
}
catch { }
}
private void textBoxNumber_KeyPress(object sender, KeyPressEventArgs e)
{
try
{
if (!(Char.IsNumber(e.KeyChar) || e.KeyChar == '\b'))
e.Handled = true;
}
catch { }
}
private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
switch (e.ClickedItem.Name)
{
case "FireStart":
{
IB_FireStart();
break;
}
case "FireEnd":
{
IB_FireEnd();
break;
}
case "CLOSE":
{
this.Close();
break;
}
default:
break;
}
}
}
}