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