using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Threading;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using Infragistics.Win.UltraWinGrid;
using Infragistics.Win.UltraWinDataSource;
using CoreFS.CA06;
using Core.Mes.Client.Common;
//using Core.LgMes.Client.LgIntegrationQuery;
namespace Core.LgMes.Client.LgDeviceManager
{
public partial class FrmPotMgt : FrmLgDevFunctions
{
private bool bReadOnly = false; //是否只读权限 add on 2009-3-24
private bool bShow = true; //第一次显示详细信息
private Thread _getDataThread; // 取数据线程
private bool _bIfGetData = true; // 控制取数据线程循环的标志
private DataSet _dsMain;
private bool _IsUpdateFlag = false;
private bool _flagaffterrow = true;
private bool _IsEdit = false;
private bool _IsStatus = false;
private int Flagi = 0;
private delegate void SetDataThreadDelegate(); // 刷新数据线程的一个委托方法,目的是达到界面所有数
private int ifgb = 0;//用以存储窗体关闭前(后)的值
//以下为烘烤信息申明
public string _strPotNo = "";
private bool _IsInsert = true;
private string _strWorkNo = "";
///
/// 设置ultraGrid颜色
///
private void SetEditAreaStyle()
{
try
{
uGrdUseladle.DisplayLayout.Override.HeaderAppearance.BackColorAlpha = Infragistics.Win.Alpha.Default;
uGrdUseladle.DisplayLayout.Override.CardAreaAppearance.BackColor = Color.FromArgb(204, 221, 239);
uGrdUseladle.DisplayLayout.Override.HeaderAppearance.BackColor = Color.FromArgb(204, 221, 239);
uGrdUseladle.DisplayLayout.Override.CellAppearance.BackColor = Color.FromArgb(255, 255, 255);
uGrdGBLadleinfo.DisplayLayout.Override.HeaderAppearance.BackColorAlpha = Infragistics.Win.Alpha.Default;
uGrdGBLadleinfo.DisplayLayout.Override.CardAreaAppearance.BackColor = Color.FromArgb(204, 221, 239);//背景色
uGrdGBLadleinfo.DisplayLayout.Override.HeaderAppearance.BackColor = Color.FromArgb(204, 221, 239);//列头
uGrdGBLadleinfo.DisplayLayout.Override.CellAppearance.BackColor = Color.FromArgb(255, 255, 255);//列表颜色
uGrdMaintInfo.DisplayLayout.Override.HeaderAppearance.BackColorAlpha = Infragistics.Win.Alpha.Default;
uGrdMaintInfo.DisplayLayout.Override.CardAreaAppearance.BackColor = Color.FromArgb(204, 221, 239);
uGrdMaintInfo.DisplayLayout.Override.HeaderAppearance.BackColor = Color.FromArgb(204, 221, 239);
uGrdMaintInfo.DisplayLayout.Override.CellAppearance.BackColor = Color.FromArgb(255, 255, 255);
uGrdPostTime.DisplayLayout.Override.HeaderAppearance.BackColorAlpha = Infragistics.Win.Alpha.Default;
uGrdPostTime.DisplayLayout.Override.CardAreaAppearance.BackColor = Color.FromArgb(204, 221, 239);
uGrdPostTime.DisplayLayout.Override.HeaderAppearance.BackColor = Color.FromArgb(204, 221, 239);
uGrdPostTime.DisplayLayout.Override.CellAppearance.BackColor = Color.FromArgb(255, 255, 255);
}
catch { }
}
public FrmPotMgt()
{
InitializeComponent();
this.uDTEStart.DateTime = DateTime.Now;
this.uDTEEnd.DateTime = DateTime.Now;
this.btnWithTime.Click += new System.EventHandler(this.button1_Click);
this.chkStart.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
this.chkEnd.CheckedChanged += new System.EventHandler(this.checkBox2_CheckedChanged);
}
#region "formload"
private void proc_SetToolButtonsInvisible()
{
try
{
uTbMTool.Tools["add"].SharedProps.Visible = false;
uTbMTool.Tools["del"].SharedProps.Visible = false;
uTbMTool.Tools["edit"].SharedProps.Visible = false;
uTbMTool.Tools["Toast"].SharedProps.Visible = false;
uTbMTool.Tools["repair"].SharedProps.Visible = false;
}
catch { }
}
///
/// 增加、删除、修改权限
///
///
private bool proc_JudgeReadOnly()
{
try
{
if (bReadOnly )
MessageBox.Show("您没有操作权限!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return bReadOnly;
}
catch { return true; }
}
private void frmLadleManage_Load(object sender, EventArgs e)
{
{
string strKey = this.Key;
if (strKey.IndexOf("@") > 0 && strKey.Substring(strKey.IndexOf("@") + 1) == "1")
{
bReadOnly = true;
proc_SetToolButtonsInvisible();
}
} //add on 2009-3-24
this.SetEditAreaStyle();
StartUpThread();
initializeData();
Getpotbasedata();
Getrightdata();//钢包发送查询
SetColumnGBLVL();
SetColumnUSESTATE();
SetColumnPOSITION();
SetColumnPOTSTYLE();
SetColumnhuaban();
SetColumnnaicai();
SetColumnVentilate();
SetColumnPotStatus();
SetPlanSteel();
SetColumnBKDZ();
SetColumnPairehisNC();
}
///
/// 加载钢包烘烤信息
///
private void GetData(string strPotNo)
{
try
{
string strOut = "";
DataSet ds = QueryToFunions("Core.LgMes.Server.LgDeviceManager.potmanger", "GetCurrHotPot", strPotNo, ob);
if (strOut == "" && ds.Tables[0].Rows.Count > 0)
{
this.cmbBakingNo.Text = ds.Tables[0].Rows[0]["OVENID"].ToString();//烘烤站号
this.uDTEStart.Text = ds.Tables[0].Rows[0]["BEGINTIME"].ToString();//开始时间
this.txtBakingTime.Text = ds.Tables[0].Rows[0]["duration"].ToString();//用时
_strWorkNo = ds.Tables[0].Rows[0]["FIRINGID"].ToString();//记录编号
this.chkStart.Checked = true;
this.chkStart.BackColor = Color.Pink;
_IsInsert = false;
_IsStatus = true;
Flagi++;
}
else
{ _IsStatus = false; }
}
catch { }
}
private void button1_Click(object sender, EventArgs e)
{
GetDuration();
}
///
/// 获取时间
///
private void GetDuration()
{
try
{
string strOut = "";
DataSet ds = QueryToFunions("Core.LgMes.Server.LgDeviceManager.potmanger", "GetCurrDuration", this.uDTEStart.DateTime.ToString("yyyy-MM-dd HH:mm:ss"), ob);
if (strOut != "")
{
MessageBox.Show(strOut, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
this.txtBakingTime.Text = ds.Tables[0].Rows[0][0].ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
///
/// 烘烤开始
///
///
///
private void checkBox1_CheckedChanged(object sender, System.EventArgs e)
{
if (this.chkStart.Checked)
{
this.chkStart.BackColor = Color.Pink;
this.uDTEStart.DateTime = System.DateTime.Now;
}
else
{
this.chkStart.BackColor = Color.Transparent;
}
}
///
/// 烘烤结束
///
///
///
private void checkBox2_CheckedChanged(object sender, System.EventArgs e)
{
if (this.chkEnd.Checked)
{
this.chkEnd.BackColor = Color.Pink;
this.uDTEEnd.DateTime = System.DateTime.Now;
GetDuration();
}
else
{
this.chkEnd.BackColor = Color.Transparent;
}
}
///
/// 钢包状态
///
private void SetColumnUSESTATE()
{
DataTable dt = new DataTable();
dt.TableName = "JIALIAO";
DataColumn dc = new DataColumn("BCBM", Type.GetType("System.String"));
dt.Columns.Add(dc);
dc = new DataColumn("BCNA", Type.GetType("System.String"));
dt.Columns.Add(dc);
DataRow dr = dt.NewRow();
dr["BCBM"] = "在用";
dr["BCNA"] = "在用";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["BCBM"] = "待用";
dr["BCNA"] = "待用";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["BCBM"] = "备用";
dr["BCNA"] = "备用";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["BCBM"] = "大修";
dr["BCNA"] = "大修";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["BCBM"] = "中修";
dr["BCNA"] = "中修";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["BCBM"] = "小修";
dr["BCNA"] = "小修";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["BCBM"] = "烘烤";
dr["BCNA"] = "烘烤";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["BCBM"] = "维修";
dr["BCNA"] = "维修";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["BCBM"] = "事故钢包";
dr["BCNA"] = "事故钢包";
dt.Rows.Add(dr);
JJBStaticFunction.SetGridDropDownListCell("STATUS", 0, "使用状态", 60, uGrdUseladle, dt, "BCBM", "BCNA");
}
///
/// 钢包当前位置
///
private void SetColumnPOSITION()
{
DataTable dt = new DataTable();
dt.TableName = "JIALIAO";
DataColumn dc = new DataColumn("BCBM", Type.GetType("System.String"));
dt.Columns.Add(dc);
dc = new DataColumn("BCNA", Type.GetType("System.String"));
dt.Columns.Add(dc);
DataRow dr = dt.NewRow();
dr["BCBM"] = "装包区域";
dr["BCNA"] = "装包区域";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["BCBM"] = "维修区域";
dr["BCNA"] = "维修区域";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["BCBM"] = "行车吊包";
dr["BCNA"] = "行车吊包";
dt.Rows.Add(dr);
JJBStaticFunction.SetGridDropDownListCell("NOWPOSITION", 0, "当前位置", 60, uGrdUseladle, dt, "BCBM", "BCNA");
}
///
/// 钢包种类
///
private void SetColumnPOTSTYLE()
{
DataTable dt = new DataTable();
dt.TableName = "JIALIAO";
DataColumn dc = new DataColumn("BCBM", Type.GetType("System.String"));
dt.Columns.Add(dc);
dc = new DataColumn("BCNA", Type.GetType("System.String"));
dt.Columns.Add(dc);
DataRow dr = dt.NewRow();
dr["BCBM"] = "有碳包";
dr["BCNA"] = "有碳包";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["BCBM"] = "无碳包";
dr["BCNA"] = "无碳包";
dt.Rows.Add(dr);
/*
* 修改描述:新增微碳包选项
* 修改人:ym
* 修改时间:20131217
*/
dr = dt.NewRow();
dr["BCBM"] = "微碳包";
dr["BCNA"] = "微碳包";
dt.Rows.Add(dr);
JJBStaticFunction.SetGridDropDownListCell("LADLETYPE", 0, "钢包种类", 60, uGrdUseladle, dt, "BCBM", "BCNA");
}
///
/// 滑板制造厂
///
private void SetColumnhuaban()
{
DataTable dt = new DataTable();
dt = GetFactory(LadleCommonClass.strSlideBoardFactoryCode);
JJBStaticFunction.SetGridDropDownListCell("HBMANUFACTURER", 0, "滑板制造厂", 82, uGrdUseladle, dt, "BASECODE", "BASENAME");
}
///
/// 耐材制造厂
///
private void SetColumnnaicai()
{
DataTable dt = new DataTable();
dt = GetFactory(LadleCommonClass.strRefractoryMatterFactoryCode);
JJBStaticFunction.SetGridDropDownListCell("NCMANUFACTURER", 0, "耐材制造厂", 71, uGrdUseladle, dt, "BASECODE", "BASENAME");
}
///
/// 耐材制造厂
///
private void SetColumnPairehisNC()
{
DataTable dt = new DataTable();
dt = GetFactory(LadleCommonClass.strRefractoryMatterFactoryCode);
JJBStaticFunction.SetGridDropDownListCell("MATERIALREPLACING", 0, "耐材制造厂", 71, uGrdMaintInfo, dt, "BASECODE", "BASENAME");
}
///
/// 透气蕊厂家
///
private void SetColumnVentilate()
{
DataTable dt = new DataTable();
dt = GetFactory(LadleCommonClass.strVentilateFactoryCode);
JJBStaticFunction.SetGridDropDownListCell("BRICKFACTORY", 0, "透气蕊制造厂", 82, uGrdUseladle, dt, "BASECODE", "BASENAME");
}
///
/// 包口掉砖
///
private void SetColumnBKDZ()
{
DataTable dt = new DataTable();
dt = GetFactory(LadleCommonClass.strVentilateBKDZFactoryCode);
JJBStaticFunction.SetGridDropDownListCell("BKDZ", 0, "包口掉砖", 82, uGrdUseladle, dt, "BASECODE", "BASENAME");
}
///
/// 钢包等级
///
private void SetColumnGBLVL()
{
DataTable dt = new DataTable();
dt = GetFactory(LadleCommonClass.strVentilateLVLFactoryCode);
JJBStaticFunction.SetGridDropDownListCell("LVL", 0, "钢包等级", 82, uGrdUseladle, dt, "BASENAME", "BASENAME");
}
///
/// 钢包包况
///
private void SetColumnPotStatus()
{
DataTable dt = new DataTable();
dt = GetFactory(LadleCommonClass.strVentilatePotSFactoryCode);
JJBStaticFunction.SetGridDropDownListCell("POTSTATUS", 0, "钢包包况", 82, uGrdUseladle, dt, "BASECODE", "BASENAME");
}
#endregion
private void SetPlanSteel()
{
string strErr = "";
ArrayList arry = new ArrayList();
arry.Add("LoadGetSteel.Query");
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))
{
JJBStaticFunction.SetGridDropDownListCell("PLANSTEEL", 0, "钢种", 82, uGrdUseladle, ds.Tables[0], "STEEL", "STEEL");
}
}
///
/// 判断1#、2# 转炉是否在生产
///
private void IsBofProduction()
{
string strErr = "";
ArrayList arrybof = new ArrayList();
arrybof.Add("ISBofOneTwoPro.Query");
CommonClientToServer ccsTwo = new CommonClientToServer();
ccsTwo.ob = this.ob;
DataSet dsBof = ccsTwo.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arrybof, out strErr);
if (Convert.ToInt32(dsBof.Tables[0].Rows[0][0]) > 0)
{
try
{
frmPotSendArrivall frmPotSA = new frmPotSendArrivall("", ob);
frmPotSA._ds = this._dsMain.Copy();
ifgb = 1;
frmPotSA.ShowDialog(this);
ifgb = 0;
}
catch { }
}
}
#region Thread Handle
///
/// 启动线程主程序
///
private void StartUpThread()
{
ThreadStart ts = new ThreadStart(GetDataThread);
_getDataThread = new Thread(ts);
_getDataThread.Name = "GetDataThread ";
_getDataThread.Start();
}
///
/// 取数据线程程序
///
private void GetDataThread()
{
while (_bIfGetData)
{
try
{
this.Invoke(new SetDataThreadDelegate(Getpotbasedata));
this.Invoke(new SetDataThreadDelegate(Getrightdata));//钢包发送查询
//Thread.Sleep(15000);
/*
* 修改线程刷数据时间,延长到60s
*/
Thread.Sleep(60000);
}
catch { }
}
}
#endregion
#region "function"
///
/// 钢包烘烤记录
///
///
///
private DataRow GetHotInfoData(string strNo)
{
string strWhere = " FIRINGTOOLID = '" + strNo + "'";
try
{
DataSet ds = QueryFunctions("Core.LgMes.Server.LgDeviceManager.potmanger", "GetHotRecLog", strWhere);
if (ds.Tables[0].Rows.Count > 0)
{
DataRow dr = ds.Tables[0].Rows[0];
return dr;
}
else
{
return null;
}
}
catch
{
return null;
}
}
#endregion
#region "function"
///
/// 钢包维修记录
///
///
///
private DataRow GetRepairData(string strNo)
{
try
{
DataSet ds = QueryFunctions("Core.LgMes.Server.LgDeviceManager.potmanger", "GetLatelyRepair", "'" + strNo + "'");
if (ds.Tables[0].Rows.Count > 0)
{
DataRow dr = ds.Tables[0].Rows[0];
return dr;
}
else
{
return null;
}
}
catch
{
return null;
}
}
///
/// 岗位时间查询
///
///
///
private DataRow Getworkdata(string strNo)
{
try
{
DataSet ds = QueryFunctions("Core.LgMes.Server.LgDeviceManager.potmanger", "Getworkdata", strNo);
DataRow dr = ds.Tables[0].Rows[0];
return dr;
}
catch
{
return null;
}
}
///
/// 钢包信息查询
///
public void Getpotbasedata()
{
try
{
_dsMain = QueryFunctions("Core.LgMes.Server.LgDeviceManager.potmanger", "Getpotbasedata", "");
uDSrLadleInfo.Rows.Clear();
if (_dsMain.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in _dsMain.Tables[0].Rows)
{
uDSrLadleInfo.Rows.Add(new object[] {
dr["LADLEID"].ToString(),
dr["LVL"].ToString(),
dr["HEATNO"].ToString(),
dr["STATUS"].ToString(),
dr["POTSTATUS"].ToString(),
dr["AGE"].ToString(),
dr["NOWPOSITION"].ToString(),
dr["CVTPOS"].ToString(),
dr["CURRSTEELWEIGHT"].ToString(),
dr["STEELACCOUNT"].ToString(),
dr["CURRARRIVETIME"].ToString(),
dr["LADLETYPE"].ToString(),
dr["PLANSTEEL"].ToString() ,
dr["BKDZ"].ToString(),
dr["BRICKCOUNT"].ToString()
});
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
SetLeftTableRowColor();
SetRowColor_ByLanletype();
}
///
/// 钢包发送查询
///
private void Getrightdata()
{
try
{
//DataSet ds = QueryFunctions("Core.LgMes.Server.LgDeviceManager.potmanger", "Getsenddata", "");
DataSet ds = GetrightdataSql11();
uDSrSendLadle.Rows.Clear();
if (ds != null && ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
uDSrSendLadle.Rows.Add(new object[] {
dr["SENDTOOLID"].ToString(),
dr["SENDOVENSEATID"].ToString(),
dr["SENDTIME"].ToString(),
dr["CASOKTIME"].ToString(),
dr["STOPPOTTIME"].ToString(),
dr["CCMENDTIME"].ToString()
});
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
private DataSet GetrightdataSql11()
{
string strErr="";
DataSet ds = new DataSet();
CommonClientToServer cctos = new CommonClientToServer();
cctos.ob = this.ob;
ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBExecute",
"doSimpleQuery", GetrightdataSql(), out strErr);
return ds;
}
///
/// 数据为空时显示列头
///
private void initializeData()
{
uDSrGBLadleinfo.Rows.Add(new object[] { "", "", "", "" });
uDSrUseladle.Rows.Add(new object[] { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "","" });
uDSrMaintInfo.Rows.Add(new object[] { "", "", "", null, null, null, "" });
//uDHotInfo.Rows.Add(new object[]{"",null,null,""});
uDSrPostTime.Rows.Add(new object[] { "", null, null, "", null, null, "", null, null, "", null, null, "", null, null, "", null, null, "", "", "", "", "", "" });
}
private void SetDetailData(string strNo)
{
DataRow dr = GetDetailTableData(strNo);
SetDataSource(this.uDSrGBLadleinfo, dr);
SetDataSource(this.uDSrUseladle, dr);//使用信息
dr = Getworkdata(strNo);
SetDataSource(this.uDSrPostTime, dr);//在站信息
//dr = GetRepairData(strNo);
//SetDataSource(this.uDSrMaintInfo, dr);//维修信息
//dr = GetHotInfoData(strNo);
//SetDataSource(this.uDHotInfo, dr);//烘烤信息
}
private DataRow GetDetailTableData(string strNo)
{
string strErr = "";
try
{
ArrayList arry = new ArrayList();
arry.Add("GetDETAIL_LFVDTIME.Query");
arry.Add(strNo);
arry.Add(strNo);
arry.Add(strNo);
CommonClientToServer ccs = new CommonClientToServer();
ccs.ob = this.ob;
DataSet ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr);
DataRow dr = ds.Tables[0].Rows[0];
return dr;
}
catch
{
return null;
}
}
private void SetDataSource(UltraDataSource uds, DataRow dr)
{
string strErr = "";
int count = uds.Band.Columns.Count;
string strNo = this.uGrdLadleInfo.ActiveRow.Cells[0].Value.ToString();//获取钢包号
string strHeaNo = this.uGrdLadleInfo.ActiveRow.Cells[2].Value.ToString();//获取钢包号
//获取钢包维修时间
ArrayList arry = new ArrayList();
arry.Add("GetRepairTypeByToolid.Query");
arry.Add(strNo);
CommonClientToServer ccs = new CommonClientToServer();
ccs.ob = this.ob;
DataSet ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr);
//获取钢包烘烤时间
ArrayList ArryWX = new ArrayList();
ArryWX.Add("GetTOOLFIRINGByToolid.Query");
ArryWX.Add(strNo);
CommonClientToServer ccsWX = new CommonClientToServer();
ccsWX.ob = this.ob;
DataSet dsWX = ccsWX.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", ArryWX, out strErr);
//获取精炼工序吹氩流量
ArrayList ArryH = new ArrayList();
ArryH.Add("GetLFSArfluxbyHeaNo.Query");
ArryH.Add(strHeaNo);
ArryH.Add(strHeaNo);
CommonClientToServer ccsH = new CommonClientToServer();
ccsH.ob = this.ob;
DataSet dsH = ccsH.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", ArryH, out strErr);
//获取精炼工序吹氩时间
ArrayList ArryC = new ArrayList();
ArryC.Add("GetLFSBlowTimeByHeaNo.Query");
ArryC.Add(strHeaNo);
ArryC.Add(strHeaNo);
CommonClientToServer ccsC = new CommonClientToServer();
ccsC.ob = this.ob;
DataSet dsC = ccsC.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", ArryC, out strErr);
//获取连铸工序是否引流信息
ArrayList ArryF = new ArrayList();
ArryF.Add("GetCCMSFLOWFLAGByHeaNo.Query");
ArryF.Add(strNo);
ArryF.Add(strNo);
CommonClientToServer ccsF = new CommonClientToServer();
ccsF.ob = this.ob;
DataSet dsF = ccsF.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", ArryF, out strErr);
for (int i = 0; i < count; i++)
{
try
{
string strCol = uds.Band.Columns[i].Key;
uds.Rows[0][strCol] = "";
if (dr != null)
{
if (strCol == "REPAIRTYPE")
{
uds.Rows[0][strCol] = ds.Tables[0].Rows.Count < 0 ? "" : ds.Tables[0].Rows[0][0].ToString();
}
else if (strCol == "HOTTIME")
{ uds.Rows[0][strCol] = dsWX.Tables[0].Rows.Count < 0 ? "" : dsWX.Tables[0].Rows[0]["HOTTIME"].ToString(); }
else if (strCol == "ARFLUX")
{ uds.Rows[0][strCol] = dsH.Tables[0].Rows.Count < 0 ? "" : dsH.Tables[0].Rows[0][0].ToString(); }
else if (strCol == "CASTIME")
{ uds.Rows[0][strCol] = dsC.Tables[0].Rows.Count < 0 ? "" : dsC.Tables[0].Rows[0][0].ToString(); }
else if (strCol == "BALEMOULDFLAG")
{ uds.Rows[0][strCol] = dsF.Tables[0].Rows.Count < 0 ? "" : dsF.Tables[0].Rows[0][0].ToString(); }
else
uds.Rows[0][strCol] = dr[strCol];
}
}
catch { }
}
}
private void SetLeftTableRowColor()
{
for (int i = 0; i < this.uGrdLadleInfo.Rows.Count; i++)
{
switch (this.uGrdLadleInfo.Rows[i].Cells[3].Value.ToString())
{
case "在用":
this.uGrdLadleInfo.Rows[i].Appearance.BackColor = Color.LightGreen;
break;
case "待用":
this.uGrdLadleInfo.Rows[i].Appearance.BackColor = Color.LightYellow;
break;
case "烘烤":
this.uGrdLadleInfo.Rows[i].Appearance.BackColor = Color.LightBlue;
break;
default:
this.uGrdLadleInfo.Rows[i].Appearance.BackColor = Color.LightCyan;
break;
}
}
}
private void SetRowColor_ByLanletype()
{
for (int i = 0; i < this.uGrdLadleInfo.Rows.Count; i++)
{
switch (this.uGrdLadleInfo.Rows[i].Cells["LADLETYPE"].Value.ToString())
{
case "无碳包":
this.uGrdLadleInfo.Rows[i].Cells["LADLETYPE"].Appearance.BackColor = Color.Red;
break;
default:
break;
}
string brickCount = this.uGrdLadleInfo.Rows[i].Cells["BRICKCOUNT"].Text.Trim();
if (!string.IsNullOrEmpty(brickCount) && Convert.ToInt32(brickCount) >= 35)
{
this.uGrdLadleInfo.Rows[i].Cells["BRICKCOUNT"].Appearance.BackColor = Color.Red;
}
}
}
///
/// 获取滑板、耐材、透气蕊厂家
///
private DataTable GetFactory(string strBaseCode)
{
DataTable dtFactory = null;
try
{
ArrayList ar = new ArrayList();
ar.Add(strBaseCode);
ar.Add("");
ar.Add("order by BASENAME");
DataSet ds = QueryArray("Core.LgMes.Server.LgDeviceManager.LadleManager", "GetFactory", new object[] { ar });
if (ds.Tables[0].Rows.Count > 0)
{
dtFactory = ds.Tables[0];
}
}
catch { }
return dtFactory;
}
private void ultraGrid1_AfterRowActivate_1(object sender, EventArgs e)
{
//if (!bShow) return;
if (this.uGrdLadleInfo.ActiveRow == null) return;
//if (!_flagaffterrow) return;
string strNo = this.uGrdLadleInfo.ActiveRow.Cells[0].Value.ToString();//获取钢包号
txtPotNo.Text = strNo;//显示烘烤钢包号LADLEID
SetDetailData(strNo);
//bShow = false;
//加载钢包烘烤信息
GetData(strNo);
if (_IsStatus == false && Flagi == 0)
{
this.chkStart.BackColor = Color.Transparent;
this.chkEnd.BackColor = Color.Transparent;
}
if (_IsStatus == false && Flagi > 0)
{
this.chkStart.BackColor = Color.LightSteelBlue;
//this.chkEnd.BackColor = Color.LightSteelBlue;
}
}
private void ultraToolbarsManager2_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
string strPotNo = this.uDSrGBLadleinfo.Rows[0]["LADLEID"].ToString();
switch (e.Tool.Key)
{
case "add":
_IsEdit = false;
if (proc_JudgeReadOnly())
return;
Edit();
this.uTbMTool.Tools["ok"].Tag = "add";
_flagaffterrow = false;
break;
case "del":
if (proc_JudgeReadOnly())
return;
if (strPotNo == null || strPotNo == "") return;
DialogResult dr = MessageBox.Show("删除钢包将删除所有相关信息,是否确认?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (dr == DialogResult.No) return;
if (Del(strPotNo))
{
_IsUpdateFlag = true;
RefreshRightTable();
}
Getpotbasedata();
break;
case "edit":
_IsEdit = true;
if (proc_JudgeReadOnly())
return;
Edit();
this.uTbMTool.Tools["ok"].Tag = "edit";
_flagaffterrow = false;
break;
case "query":
frmrequipot frm = new frmrequipot();
frm.ShowDialog();
if (frm._updateFlag)
{
string strNo = frm._strPotNo;
SetDetailData(strNo);
}
break;
case "ok":
if (strPotNo == null || strPotNo == "")
{
MessageBox.Show("请输入钢包号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (Update(this.uTbMTool.Tools["ok"].Tag.ToString()))
{
SetDetailToolBarEnable(true);
this.SetGridCellAllowEdit(uGrdUseladle, false);
this.SetGridCellAllowEdit(uGrdGBLadleinfo, false);
_IsUpdateFlag = true;
}
Getpotbasedata();
break;
case "cancel":
_flagaffterrow = true;
SetDetailToolBarEnable(true);
this.SetGridCellAllowEdit(uGrdUseladle, false);
this.SetGridCellAllowEdit(uGrdGBLadleinfo, false);
break;
case "fore":
//将位置移动到前一条记录
if (uGrdLadleInfo.ActiveRow == null)
{
uGrdLadleInfo.Rows[0].Activate();
}
else
{
int nIndex = uGrdLadleInfo.ActiveRow.Index;
nIndex = nIndex - 1;
if (nIndex < 0) nIndex = 0;
uGrdLadleInfo.Rows[nIndex].Activate();
}
break;
case "next":
if (uGrdLadleInfo.ActiveRow == null)
{
uGrdLadleInfo.Rows[0].Activate();
}
else
{
int nIndex = uGrdLadleInfo.ActiveRow.Index;
nIndex = nIndex + 1;
if (nIndex >= uGrdLadleInfo.Rows.Count) nIndex = 0;
uGrdLadleInfo.Rows[nIndex].Activate();
//ultraGrid1_AfterRowActivate_1(null, null);
string strNo = this.uGrdLadleInfo.ActiveRow.Cells[0].Value.ToString();//获取钢包号
SetDetailData(strNo);
}
break;
}
}
///
/// 菜单栏
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
/*
* 修改描述:原有的写法直接取激活行,有时候会报控制
* 加个异常捕捉
* 修改人:ym
* 修改时间:20131217
*/
string strPotNo = "";
try
{
if (this.uGrdGBLadleinfo.ActiveRow == null)
{
this.uGrdGBLadleinfo.ActiveRow = this.uGrdGBLadleinfo.Rows[0];
}
strPotNo = uGrdGBLadleinfo.ActiveRow.Cells["LADLEID"].Value.ToString();// this.ultraDataSource7.Rows[0]["LADLEID"].ToString();
}
catch
{
}
ArrayList ar = new ArrayList();
switch (ToolbarKey)
{
case "Query":
Getpotbasedata();
break;
case "LadleBakeRecord"://展现钢包烘烤记录
frmhothis HotRecfrmLog = new frmhothis(ob);
HotRecfrmLog.potno = strPotNo;
HotRecfrmLog.ShowDialog();
break;
case "LadleUseOfRecords"://钢包使用历史
frmworkhis frmkhis = new frmworkhis(ob);
frmkhis.potno = strPotNo;
frmkhis.ShowDialog();
break;
case "LadleBake"://钢包烘烤
if (proc_JudgeReadOnly())
return;
frmhot frm1 = new frmhot(ob);
frm1._strPotNo = strPotNo;
frm1.ShowDialog();
break;
case "LadleMaintenance"://钢包维修
if (proc_JudgeReadOnly())
return;
frmpotrepaire frm2 = new frmpotrepaire(this.ob);
frm2._strPotNo = strPotNo;
frm2.ShowDialog();
break;
case "LadleMaintRecord"://钢包维修记录
frmrepairehis frm3 = new frmrepairehis(ob);
frm3.potno = strPotNo;
frm3.ShowDialog();
break;
case "LadleRecord"://钢包发送
frmPotSendArrivall frmPotSA = new frmPotSendArrivall(strPotNo, ob);
frmPotSA._ds = this._dsMain.Copy();
frmPotSA.ShowDialog(this);
break;
case "LadleRecordJL"://钢包发送记录
FrmPotSendSuccesful frmPot = new FrmPotSendSuccesful(ob);
frmPot.ShowDialog();
break;
case "LevelRecord"://等级记录
frmpotrank frm4 = new frmpotrank(ob);
if (this.uGrdLadleInfo.ActiveRow != null)
{
try
{
frm4._strPotNo = this.uGrdLadleInfo.ActiveRow.Cells["LADLEID"].Value.ToString();
}
catch { }
}
frm4.ShowDialog();
break;
case "Hide"://隐藏钢包信息
bool b = this.ultraExpandableGroupBox1.Expanded;
if (this.uGrdLadleInfo.ActiveRow != null && !b)
{
string strNo = this.uGrdLadleInfo.ActiveRow.Cells[0].Value.ToString();
SetDetailData(strNo);
}
this.ultraExpandableGroupBox1.Expanded = !b;
break;
case "exit":
Close();
break;
case "GbYcComfirm":
frmPotAbnormal frmPAF = new frmPotAbnormal(ob);
frmPAF.ShowDialog();
break;
}
}
private void Edit()
{
SetDetailToolBarEnable(false);
SetGridCellAllowEdit(this.uGrdUseladle, true);
SetGridCellAllowEdit(this.uGrdGBLadleinfo, true);
}
///
/// 点击修改或删除时显示确认和取消按钮
///
///
private void SetDetailToolBarEnable(bool bEnable)
{
int count = this.uTbMTool.Tools.Count;
for (int i = 0; i < count; i++)
{
this.uTbMTool.Tools[i].SharedProps.Enabled = bEnable;
}
this.uTbMTool.Tools["ok"].SharedProps.Enabled = !bEnable;
this.uTbMTool.Tools["cancel"].SharedProps.Enabled = !bEnable;
this.uTbMTool.Tools["ok"].SharedProps.Visible = !bEnable;
this.uTbMTool.Tools["cancel"].SharedProps.Visible = !bEnable;
}
///
/// 钢包和钢包使用信息是否可以编辑
///
///
///
private void SetGridCellAllowEdit(Infragistics.Win.UltraWinGrid.UltraGrid ug, bool IsAllow)
{
Infragistics.Win.UltraWinGrid.UltraGridBand band = ug.DisplayLayout.Bands[0];
for (int i = 0; i < band.Columns.Count; i++)
{
if (IsAllow) band.Columns[i].CellActivation = Activation.AllowEdit;
else band.Columns[i].CellActivation = Activation.NoEdit;
}
}
///
/// 使用信息删除
///
///
///
private bool Del(string strPotNo)
{
string strMsg = string.Format("删除{0}号钢包失败!", strPotNo);
try
{
string strOut = "";
strOut = NoQueryFunctions("Core.LgMes.Server.DEV.Methods.DEVPublicMethods", "UpdateMethods", new object[] { "delete DEV_GB_BASE_INFO where LADLEID = '" + strPotNo + "'" });
if (strOut == "")
{
strMsg = string.Format("删除{0}号钢包成功!", strPotNo);
return true;
}
}
catch { }
MessageBox.Show(strMsg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return false;
}
private void RefreshRightTable()
{
if (_IsUpdateFlag)
{
Getpotbasedata();
_IsUpdateFlag = false;
}
}
///
/// 钢包信息新增修改
///
///
///
private bool Update(string strOpe)
{
ArrayList ar = new ArrayList();
this.uGrdUseladle.UpdateData();
this.uGrdGBLadleinfo.UpdateData();
AddParmToArrayFromDataSource(this.uGrdGBLadleinfo, ar);
AddParmToArrayFromDataSource(this.uGrdUseladle, ar);
string strMethod = "";
string strMsg = "";
string strOut = "";
switch (strOpe)
{
case "add":
strMethod = "STL_DEV_Info.STL_GBInsertTPM_INFO";// "InsertTPM_POTBASEINFO";
strMsg = "新增失败!\n";
break;
case "edit":
strMethod = "STL_DEV_Info.STL_GBUpdateTPM_INFO";//UpdateTPM_POTBASEINFO";
strMsg = "修改失败!\n";
break;
}
try
{
string[] strParams = (string[])ar.ToArray(typeof(string));
ProcedureZ("Core.LgMes.Server.DEV.Methods.DEVPublicMethods", "procedure", new object[] { strMethod, strParams }, ob, out strOut, out strMsg);
if (Convert.ToInt32(strOut) > 0)
{
if (strMethod == "STL_DEV_Info.STL_GBInsertTPM_INFO")
{
MessageBox.Show("钢包号【" + ar[0].ToString() + "】新增成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
SetDetailToolBarEnable(true);
SetGridCellAllowEdit(this.uGrdUseladle, false);
SetGridCellAllowEdit(this.uGrdGBLadleinfo, false);
}
else
{
MessageBox.Show("钢包号【" + ar[0].ToString() + "】修改成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
SetDetailToolBarEnable(true);
SetGridCellAllowEdit(this.uGrdUseladle, false);
SetGridCellAllowEdit(this.uGrdGBLadleinfo, false);
}
}
else
{
MessageBox.Show(strMsg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
SetDetailToolBarEnable(true);
SetGridCellAllowEdit(this.uGrdUseladle, false);
SetGridCellAllowEdit(this.uGrdGBLadleinfo, false);
}
}
catch { }
return false;
}
///
/// 获取Grid所有值
///
///
///
private void AddParmToArrayFromDataSource(UltraGrid ug, ArrayList ar)
{
int count = ug.DisplayLayout.Bands[0].Columns.Count;
for (int i = 0; i < count; i++)
{
if (ug.Rows[0].Cells[i].Value == null || ug.Rows[0].Cells[i].Value.ToString().Trim() == "")
{
if (ug.DisplayLayout.Bands[0].Columns[i].Tag != null && ug.DisplayLayout.Bands[0].Columns[i].Tag.ToString() == "string")
ar.Add("");
else
ar.Add("0");
}
else
{
if (ug.Rows[0].Cells[i].Column.ToString() == "POTSTATUS")
ar.Add(ug.Rows[0].Cells[i].Text.ToString());
else
ar.Add(ug.Rows[0].Cells[i].Value);
}
}
}
#endregion
private void ultraGrid4_AfterCellListCloseUp(object sender, CellEventArgs e)
{
switch (e.Cell.Column.Key)
{
case "POTSTATUS":
if (e.Cell.Text == "新包" || e.Cell.Text == "中修包")
{
try
{
this.uGrdGBLadleinfo.Rows[0].Cells["LVL"].Value = "D";
this.uGrdGBLadleinfo.UpdateData();
}
catch { }
}
else if (e.Cell.Text != "干净" && this.uGrdGBLadleinfo.Rows[0].Cells["LVL"].Value.ToString() == "A")//获取包级
{
try
{
this.uGrdGBLadleinfo.Rows[0].Cells["LVL"].Value = "B";
this.uGrdGBLadleinfo.UpdateData();
}
catch { }
}
break;
case "LVL":
if (this.uGrdGBLadleinfo.Rows[0].Cells["POTSTATUS"].Value.ToString() != "干净" && e.Cell.Text == "A")
{
this.uGrdGBLadleinfo.Rows[0].Cells["LVL"].Value = "B";
this.uGrdGBLadleinfo.UpdateData();
}
break;
}
}
private void uGrdLadleInfo_Click(object sender, EventArgs e)
{
try
{
if (uGrdLadleInfo.Rows.Count == 0) return;
if (uGrdLadleInfo.ActiveRow == null) return;
if (!_flagaffterrow) return;
string strNo = this.uGrdLadleInfo.ActiveRow.Cells[0].Value.ToString();//获取钢包号
SetDetailData(strNo);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
///
/// 钢包发送-到达
///
///
///
private void uGrdLadleInfo_DoubleClickRow(object sender, DoubleClickRowEventArgs e)
{
string strPotNo = uGrdGBLadleinfo.ActiveRow.Cells["LADLEID"].Value.ToString();
//frmPotSendArrivall frmPotSA = new frmPotSendArrivall(strPotNo, ob);
//frmPotSA._ds = this._dsMain.Copy();
//frmPotSA.ShowDialog(this);
}
///
/// 定时器弹出子窗体
///
///
///
private void timer_Tick(object sender, EventArgs e)
{
/*
* 修改描述:取消定时器自动弹出钢包-发送功能
* 修改人:ym
* 修改时间:20131217
*/
return;
try
{
if (ifgb == 0)
{
IsBofProduction();
}
}
catch { }
}
///
/// 确定事件
///
private void proc_OK()
{
string strPotNo = uGrdGBLadleinfo.ActiveRow.Cells["LADLEID"].Value.ToString();
if (this.cmbBakingNo.Text.Trim().Length == 0)
{
MessageBox.Show("请选择烘烤位置!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (uDTEStart.DateTime.Date > uDTEEnd.DateTime.Date)
{
MessageBox.Show("烘烤开始日期不能大于烘烤结束日期!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
try
{
ArrayList ar = new ArrayList();
ar.Clear();
ar.Add(_IsInsert.ToString());
ar.Add(strPotNo);
ar.Add(_strWorkNo);
ar.Add(this.cmbBakingNo.Text.Trim());
ar.Add(this.chkStart.Checked.ToString());
ar.Add(this.chkEnd.Checked.ToString());
ar.Add(this.uDTEStart.DateTime.ToString("yyyy-MM-dd HH:mm:ss"));
ar.Add(this.uDTEEnd.DateTime.ToString("yyyy-MM-dd HH:mm:ss"));
string strOut = "";
string[] strParams = (string[])ar.ToArray(typeof(string));
string Mse = "";
ProcedureZ("Core.LgMes.Server.DEV.Methods.DEVPublicMethods", "procedure", new object[] { "STL_DEV_Info.stl_gbsetcurrhotpot", strParams }, ob, out strOut, out Mse);
if (Convert.ToInt32(strOut) <= 0)
{
MessageBox.Show(Mse, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
//清空钢包烘烤信息
this.chkStart.BackColor = Color.LightSteelBlue;
this.chkEnd.BackColor = Color.LightSteelBlue;
this.txtBakingTime.Text = "";
cmbBakingNo.SelectedIndex = -1;
txtPotNo.Text = "";
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private String GetrightdataSql()
{
string Sql = "with tmp1 as (select * from "
+ " (select ladleid,cycid,casoktime,STOPPOTTIME,castingendtime,row_number()"
+ "over( partition by ladleid order by cycid desc) xh from dev_gb_use_detail) where xh<3)"
+ "select a.SENDTOOLID SENDTOOLID,a.SENDOVENSEATID SENDOVENSEATID,"
+ "to_char(a.SENDTIME, 'yyyy-mm-dd hh24:mi') SENDTIME,"
+ "to_char(c.casoktime, 'hh24:mi') CASOKTIME,c.STOPPOTTIME,to_char(d.castingendtime, 'hh24:mi') CCMENDTIME "
+ "from DEV_TOOLSENDDETAIL a, DEV_GB_BASE_INFO b, tmp1 c,tmp1 d "
+ "where a.SENDID = b.SENDID and (b.ladleid = c.ladleid and c.xh=1) "
+ "and (b.ladleid = d.ladleid and d.xh=2) order by sendtime desc";
return Sql;
}
private void btnOK_Click(object sender, EventArgs e)
{
this.proc_OK();
}
private void btnCancel_Click(object sender, EventArgs e)
{
//this.Close();
}
}
}