using System; using System.Collections.Generic; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using CoreFS.CA06; using Core.StlMes.Client.LgCommon; namespace Core.StlMes.Client.LgIntegrationQuery { public partial class FrmYCJJB : frmStyleBase { string strLG_ZG = "LG"; //判断是炼钢还是轧钢 public FrmYCJJB() { InitializeComponent(); } public string _devNum = ""; Dictionary dic = null; public string workShopNo = ""; DataTable Tempdt = new DataTable(); /// /// load事件 /// /// /// private void FrmYCJJB_Load(object sender, EventArgs e) { //判断是炼钢还是轧钢 if (this.Key.IndexOf('@') > 0) strLG_ZG = this.Key.Substring(this.Key.IndexOf('@') + 1, 2); uce_GWCode.SelectedIndex = 0; uce_YCJJBFlag.SelectedIndex = 0; initPos(); GetBCName(); BandingUltraGrid1(); } // 初始化岗位 /// /// 初始化岗位 /// public void initPos() { uce_GWCode.Items.Clear(); uce_GWCode.Items.Add("LG", "炼钢"); uce_GWCode.Items.Add("HMP01", "1#脱硫站"); uce_GWCode.Items.Add("HMP02", "2#脱硫站"); uce_GWCode.Items.Add("BOF01", "1#转炉"); uce_GWCode.Items.Add("BOF02", "2#转炉"); uce_GWCode.Items.Add("BOF03", "3#转炉"); uce_GWCode.Items.Add("BOF04", "4#转炉"); //uce_GWCode.Items.Add("BOF05", "5#转炉"); uce_GWCode.Items.Add("CAS01", "1#吹氩站"); uce_GWCode.Items.Add("CAS02", "2#吹氩站"); uce_GWCode.Items.Add("CAS03", "3#吹氩站"); uce_GWCode.Items.Add("CAS04", "4#吹氩站"); //uce_GWCode.Items.Add("CAS05", "5#吹氩站"); uce_GWCode.Items.Add("LFS01", "1#精炼炉"); uce_GWCode.Items.Add("LFS02", "2#精炼炉"); uce_GWCode.Items.Add("CCM01", "1#连铸机"); uce_GWCode.Items.Add("CCM02", "2#连铸机"); uce_GWCode.Items.Add("CCM03", "3#连铸机"); uce_GWCode.Items.Add("CCM04", "4#连铸机"); // uce_GWCode.Items.Add("CMM05", "5#连铸机"); //if (workShopNo == "1") //{ // uce_GWCode.Items.Add("HMP01", "1#脱硫站"); // uce_GWCode.Items.Add("BOF01", "1#转炉"); // uce_GWCode.Items.Add("BOF02", "2#转炉"); // uce_GWCode.Items.Add("CAS01", "1#吹氩站"); // uce_GWCode.Items.Add("CAS02", "2#吹氩站"); // uce_GWCode.Items.Add("LFS01", "1#精炼炉"); // uce_GWCode.Items.Add("CCM01", "1#连铸机"); // uce_GWCode.Items.Add("CMM02", "2#连铸机"); //} //else //{ // uce_GWCode.Items.Add("BOF03", "3#转炉"); // uce_GWCode.Items.Add("BOF04", "4#转炉"); // uce_GWCode.Items.Add("BOF05", "5#转炉"); // uce_GWCode.Items.Add("CAS03", "3#吹氩站"); // uce_GWCode.Items.Add("CAS04", "4#吹氩站"); // uce_GWCode.Items.Add("CAS05", "5#吹氩站"); // uce_GWCode.Items.Add("LFS02", "2#精炼炉"); // uce_GWCode.Items.Add("LFS03", "3#精炼炉"); // uce_GWCode.Items.Add("CCM03", "3#连铸机"); // uce_GWCode.Items.Add("CMM04", "4#连铸机"); // uce_GWCode.Items.Add("CMM05", "5#连铸机"); //} } // 显示grid的班次班组 /// /// 显示grid的班次班组 /// private void GetBCName() { dic = new Dictionary(); dic.Add("31", "晚-甲"); dic.Add("32", "晚-乙"); dic.Add("33", "晚-丙"); dic.Add("34", "晚-丁"); dic.Add("11", "白-甲"); dic.Add("12", "白-乙"); dic.Add("13", "白-丙"); dic.Add("14", "白-丁"); dic.Add("21", "中-甲"); dic.Add("22", "中-乙"); dic.Add("23", "中-丙"); dic.Add("24", "中-丁"); } // 绑定ultraGrid1控件数据 /// /// 绑定ultraGrid1控件数据 /// private void BandingUltraGrid1() { string strStartTime = ""; string strEndTime = ""; string strStacode = ""; string strYcjjb = ""; string bcName = ""; if (Convert.ToDateTime(uldtBeginTime.Value) > Convert.ToDateTime(uldtEndTime.Value)) { MessageBox.Show("时间条件的开始时间不能大于结束时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } else { strStartTime = this.uldtBeginTime.DateTime.ToString("yyyy-MM-dd"); strEndTime = this.uldtEndTime.DateTime.ToString("yyyy-MM-dd"); } if (chkPosition.Checked) { if (uce_GWCode.SelectedIndex == -1) { MessageBox.Show("岗位不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); uce_GWCode.Focus(); return; } strStacode = uce_GWCode.Value.ToString(); } if (CHK_YCJJB.Checked) { strYcjjb = uce_YCJJBFlag.Value.ToString(); } //strWhere += " and substr(a.processcode,1,2)='" + strLG_ZG + "'"; //定义一个ArrayList集合存储变量[参数]值 string NowTime = DateTime.Now.ToString("yyyy-MM-dd"); ArrayList arrymain = new ArrayList(); arrymain.Add("FrmYCJJB.select"); arrymain.Add(strStacode); arrymain.Add(strYcjjb); arrymain.Add(strStartTime == "" ? NowTime : strStartTime); arrymain.Add(strEndTime == "" ? NowTime : strEndTime); DataTable YCJJBDt = GetYCJJBData(arrymain); if (YCJJBDt == null) { MessageBox.Show("获取交接班信息失败!"); } else { Tempdt = YCJJBDt.Copy(); dataTable1.Clear(); if (YCJJBDt.Rows.Count > 0) { foreach (DataRow Drow in YCJJBDt.Rows) { DataRow newRow = dataTable1.NewRow(); foreach (DataColumn dataColumn in YCJJBDt.Columns) { if (dataColumn.ColumnName == "SHIFTCODE") { dic.TryGetValue(Drow[dataColumn.ColumnName].ToString(), out bcName); newRow[dataColumn.ColumnName] = bcName; } else { newRow[dataColumn.ColumnName] = Drow[dataColumn.ColumnName].ToString(); } } dataTable1.Rows.Add(newRow); } dataTable1.AcceptChanges(); } PublicMethod.RefreshAndAutoSize(ultraGrid1); } } // 绑定ultraGrid2控件数据 /// /// 绑定ultraGrid2控件数据 /// private void BandingUltraGrid2(string strJCH) { DataTable YCJJBDetailDt = GetYCJJBDetailData(strJCH); if (YCJJBDetailDt == null) { MessageBox.Show("根据交接班ID获取交接班从表信息失败!"); } else { if (YCJJBDetailDt.Rows.Count > 0) { dataTable2.Clear(); foreach (DataRow Drow in YCJJBDetailDt.Rows) { DataRow newRow = dataTable2.NewRow(); foreach (DataColumn dataColumn in YCJJBDetailDt.Columns) { if (dataColumn.ColumnName == "ITEMTYPE") { if (Drow[dataColumn.ColumnName].ToString() == "设备运行") { ultraGrid2.DisplayLayout.Bands["Table1"].Columns["ITEMVALUE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; Infragistics.Win.UltraWinGrid.UltraDropDown ultraCombo = new Infragistics.Win.UltraWinGrid.UltraDropDown(); DataTable dt = new DataTable(); dt.TableName = "DropList"; DataColumn dc = new DataColumn("BCCODE", Type.GetType("System.String")); dt.Columns.Add(dc); dc = new DataColumn("BCNAME", Type.GetType("System.String")); dt.Columns.Add(dc); DataRow dr = dt.NewRow(); dr["BCCODE"] = "正常"; dr["BCNAME"] = "正常"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["BCCODE"] = "不正常"; dr["BCNAME"] = "不正常"; dt.Rows.Add(dr); ultraCombo.DisplayMember = "BCNAME"; ultraCombo.ValueMember = "BCCODE"; ultraCombo.Width = ultraGrid2.DisplayLayout.Bands["Table1"].Columns["ITEMVALUE"].Width; ultraCombo.DataSource = dt.DefaultView; foreach (System.Data.DataColumn col in dt.Columns) { if (col.ColumnName != "BCNAME") { ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Hidden = true; } else { ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Band.ColHeadersVisible = false; ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Width = ultraCombo.Width; } } ultraGrid2.DisplayLayout.Bands["Table1"].Columns["ITEMVALUE"].ValueList = ultraCombo; //JJBStaticFunction.SetGridDropDownList("ITEMTYPE", "Table1", "班次", 90, ultraGrid2, dt, "BCCODE", "BCNAME"); } else { ultraGrid2.DisplayLayout.Bands["Table1"].Columns["ITEMVALUE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Edit; } } newRow[dataColumn.ColumnName] = Drow[dataColumn.ColumnName].ToString(); } dataTable2.Rows.Add(newRow); } dataTable2.AcceptChanges(); } } } // 获取交接班主表数据 /// /// 获取交接班主表数据 /// /// private DataTable GetYCJJBData(ArrayList arry) { string strErr = ""; try { CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = this.ob; DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (strErr == "" && ds != null) { return ds.Tables[0]; } else { return null; } } catch (System.Exception exp) { WriteLog("Core.StlMes.Client.LgIntegrationQuery.FrmYCJJB" + exp.Message); return null; } finally { } } // 根据交接班主表信息获取从表数据 /// /// 根据交接班主表信息获取从表数据 /// /// private DataTable GetYCJJBDetailData(string strNumid) { try { string strErr = ""; //获取交接班从表数据 //定义一个ArrayList集合存储变量[参数]值 string NowTime = DateTime.Now.ToString("yyyy-MM-dd"); ArrayList arry = new ArrayList(); arry.Add("FrmYCJJB_Detail.select"); arry.Add(strNumid); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = this.ob; DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (strErr == "" && ds != null) { return ds.Tables[0]; } else { return null; } } catch (System.Exception exp) { WriteLog("Core.StlMes.Client.LgIntegrationQuery.FrmYCJJB" + exp.Message); return null; } finally { } } // 初始化UltraDropDown控件 废弃不用 /// /// 初始化UltraDropDown控件 /// private void InitUltraDropDown() { string strErr = ""; try { //班次绑定 DataTable tb = new DataTable(); DataColumn cn = new DataColumn("BCCode", System.Type.GetType("System.String")); DataColumn cn1 = new DataColumn("BCName", System.Type.GetType("System.String")); tb.Columns.Add(cn); tb.Columns.Add(cn1); string[] szS = new string[2]; tb.Rows.Add(szS); tb.Rows[0]["BCCode"] = "31"; tb.Rows[0]["BCName"] = "晚-甲"; tb.Rows.Add(szS); tb.Rows[1]["BCCode"] = "32"; tb.Rows[1]["BCName"] = "晚-乙"; tb.Rows.Add(szS); tb.Rows[2]["BCCode"] = "33"; tb.Rows[2]["BCName"] = "晚-丙"; tb.Rows.Add(szS); tb.Rows[3]["BCCode"] = "34"; tb.Rows[3]["BCName"] = "晚-丁"; tb.Rows.Add(szS); tb.Rows[4]["BCCode"] = "11"; tb.Rows[4]["BCName"] = "白-甲"; tb.Rows.Add(szS); tb.Rows[5]["BCCode"] = "12"; tb.Rows[5]["BCName"] = "白-乙"; tb.Rows.Add(szS); tb.Rows[6]["BCCode"] = "13"; tb.Rows[6]["BCName"] = "白-丙"; tb.Rows.Add(szS); tb.Rows[7]["BCCode"] = "14"; tb.Rows[7]["BCName"] = "早-丁"; tb.Rows.Add(szS); tb.Rows[8]["BCCode"] = "21"; tb.Rows[8]["BCName"] = "中-甲"; tb.Rows.Add(szS); tb.Rows[9]["BCCode"] = "22"; tb.Rows[9]["BCName"] = "中-乙"; tb.Rows.Add(szS); tb.Rows[10]["BCCode"] = "23"; tb.Rows[10]["BCName"] = "中-丙"; tb.Rows.Add(szS); tb.Rows[11]["BCCode"] = "24"; tb.Rows[11]["BCName"] = "中-丁"; Infragistics.Win.UltraWinGrid.UltraDropDown ultraCombo = new Infragistics.Win.UltraWinGrid.UltraDropDown(); this.ultraGrid1.FindForm().Controls.Add(ultraCombo); ultraCombo.DisplayMember = "BCName"; ultraCombo.ValueMember = "BCCode"; ultraCombo.Visible = false; ultraCombo.DataSource = tb.DefaultView; ultraGrid1.DisplayLayout.Bands[0].Columns["shiftcode"].ValueList = ultraCombo; ultraCombo.DisplayLayout.Bands[0].Columns["BCCode"].Band.ColHeadersVisible = false; int str = ultraGrid1.DisplayLayout.Bands[0].Columns["shiftcode"].Width; ultraCombo.DisplayLayout.Bands[0].Columns["BCName"].Width = ultraGrid1.DisplayLayout.Bands[0].Columns["shiftcode"].Width; ultraCombo.DisplayLayout.Bands[0].Columns["BCCode"].Hidden = true; //获取岗位信息 ArrayList arry = new ArrayList(); arry.Add("FrmYCJJB_Process.select"); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = this.ob; DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (strErr == "" && ds != null) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { uce_GWCode.Items.Add(i); uce_GWCode.Items[i].DisplayText = ds.Tables[0].Rows[i]["DESCRIPTION"].ToString(); uce_GWCode.Items[i].DataValue = ds.Tables[0].Rows[i]["NAME_"].ToString(); } } } catch (Exception exp) { WriteLog("Core.StlMes.Client.LgIntegrationQuery.FrmYCJJB" + exp.Message); } } /// /// 写日志信息到日志文件 /// /// private void WriteLog(string str) { string strDate = System.DateTime.Now.Year.ToString() + System.DateTime.Now.Month.ToString() + System.DateTime.Now.Day.ToString(); System.IO.TextWriter tw = new System.IO.StreamWriter(System.Windows.Forms.Application.StartupPath + "\\log\\log_" + strDate + ".log", true); tw.WriteLine(str); tw.Close(); } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Save": if (ultraGrid1.Rows.Count > 0 && ultraGrid1.ActiveRow != null) { //更新交接班从表信息 UpdateJJBDetailData(); //重新绑定UltraGrid2 // BandingUltraGrid2(ultraGrid1.ActiveRow.Cells["numid"].Text.Trim()); } break; case "Query": //重新绑定UltraGrid1 BandingUltraGrid1(); break; case "Exit": this.Close(); break; default: break; } } // 更新交接班从表信息 /// /// 更新交接班从表信息 /// private void UpdateJJBDetailData() { try { string strXMValue = ""; ultraGrid2.UpdateData(); DataTable dt = dataTable2.GetChanges(); if (dt == null) { return; } if (dt.Rows.Count == 0) { MessageBox.Show("没有需要更新的行!"); return; } foreach (DataRow dr in dt.Rows) { if (dr["Itemtype"].ToString() == "设备运行") { if (dr["ItemValue"].ToString() != "正常" && dr["ItemValue"].ToString() != "不正常") { MessageBox.Show( "[ " + dr["ItemName"].ToString() + " ] 项目数值必须为正常和不正常,请重新输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error); return; } } else { try { if (dr["ItemValue"] != null) Convert.ToString(dr["ItemValue"]); } catch( Exception ex) { MessageBox.Show( "[ " + dr["ItemName"].ToString() + " ] 项目数值" + ex.Message, "提示",MessageBoxButtons.OK,MessageBoxIcon.Error); return; } } } foreach (DataRow dr in dt.Rows) { if (dr["Itemtype"].ToString() == "设备运行") { if (dr["ItemValue"].ToString() == "正常") { strXMValue = "1"; } else if (dr["ItemValue"].ToString() == "不正常") { strXMValue = "0"; } else { strXMValue = dr["ItemValue"].ToString(); } } else { strXMValue = dr["ItemValue"].ToString(); } //岗位绑定 string strErr = ""; string outstr = ""; //定义一个ArrayList集合存储变量[参数]值 ArrayList arry = new ArrayList(); arry.Add("FrmYCJJB_DetailUpdate.select"); arry.Add(strXMValue); arry.Add(dr["numid"].ToString()); arry.Add(dr["ItemCode"].ToString()); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = this.ob; outstr = cctos.NoQueryFunctions("Core.LgMes.Server.Common.ComDBSave", "doSimpleSave", arry, out strErr); if (strErr != "" || outstr != "") { MessageBox.Show("保存失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } else { MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } BandingUltraGrid2(dr["numid"].ToString()); } } catch (System.Exception exp) { WriteLog("Core.StlMes.Client.LgIntegrationQuery.FrmYCJJB" + exp.Message); } finally { } } public void GridKeyDown(int RowId, Infragistics.Win.UltraWinGrid.UltraGrid GRID) { switch (RowId) { case 38: GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode); GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.AboveCell); GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode); break; case 37: GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode); GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.PrevCellByTab); GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode); break; case 39: GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode); GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.NextCellByTab); GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode); break; case 40: GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode); GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.BelowCell); GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode); break; case 13://回车 GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode); GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.NextCellByTab); GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode); break; } } private void ultraGrid1_KeyDown(object sender, KeyEventArgs e) { GridKeyDown(e.KeyValue, ultraGrid1); } private void ultraGrid1_Click(object sender, EventArgs e) { if (ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Index < 0) { return; } else if (ultraGrid1.ActiveRow.Index >= 0) { //this.ultraGrid1.ActiveRow.Selected = true; if (this.ultraGrid1.ActiveRow.Cells["numid"].Text.Trim() != "") { dataTable2.Clear(); BandingUltraGrid2(this.ultraGrid1.ActiveRow.Cells["numid"].Text.Trim()); } } } //private void ultraGrid1_AfterCellActivate(object sender, EventArgs e) //{ // if (this.ultraGrid1.DisplayLayout.ActiveRow != null) // { // foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in this.ultraGrid1.Rows) // { // if (row == this.ultraGrid1.ActiveRow) // { // row.Appearance.BackColor = Color.GreenYellow; // } // else // { // row.Appearance.BackColor = Color.White; // } // } // } //} //private void ultraGrid2_AfterCellActivate(object sender, EventArgs e) //{ // if (this.ultraGrid2.DisplayLayout.ActiveRow != null) // { // foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in this.ultraGrid2.Rows) // { // if (row == this.ultraGrid2.ActiveRow) // { // row.Appearance.BackColor = Color.GreenYellow; // } // else // { // row.Appearance.BackColor = Color.White; // } // } // } //} private void ultraCheckEditor8_CheckedChanged(object sender, EventArgs e) { if (this.CHK_YCJJB.Checked == false) { this.uce_YCJJBFlag.Enabled = false; uce_YCJJBFlag.SelectedIndex = 0; } else { this.uce_YCJJBFlag.Enabled = true; } } private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e) { if (this.chkPosition.Checked == false) { this.uce_GWCode.Enabled = false; } else { this.uce_GWCode.Enabled = true; } } private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e) { } // 异常交班 /// /// 异常交班 /// private void uce_YCJJBFlag_ValueChanged(object sender, EventArgs e) { BandingUltraGrid1(); } // 岗位 /// /// 岗位 /// private void uce_GWCode_ValueChanged(object sender, EventArgs e) { BandingUltraGrid1(); } } }