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.Mes.Client.Common; namespace Core.LgMes.Client.LgIntegrationQuery { public partial class FrmYCJJB : Core.Mes.Client.Common.frmStyleBase { string strLG_ZG = "LG"; //判断是炼钢还是轧钢 public FrmYCJJB() { InitializeComponent(); } public string _devNum = ""; DataTable Tempdt = new DataTable(); /// /// /// /// /// private void FrmYCJJB_Load(object sender, EventArgs e) { //判断是炼钢还是轧钢 if (this.Key.IndexOf('@') > 0) strLG_ZG = this.Key.Substring(this.Key.IndexOf('@') + 1, 2); //初始化UltraDropDown控件 //InitUltraDropDown(); uce_GWCode.SelectedIndex = 0; uce_YCJJBFlag.SelectedIndex = 0; //绑定ultraGrid1控件数据 BandingUltraGrid1(); } /// /// 绑定ultraGrid1控件数据 /// private void BandingUltraGrid1() { string strStartTime = ""; string strEndTime = ""; string strStacode = ""; string strYcjjb = ""; //获取浇次计划信息 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 == true) { strStacode = uce_GWCode.Value.ToString(); } if (CHK_YCJJB.Checked == true) { 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) { newRow[dataColumn.ColumnName] = Drow[dataColumn.ColumnName].ToString(); } dataTable1.Rows.Add(newRow); } dataTable1.AcceptChanges(); } } } /// /// 绑定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) { 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.LgMes.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.LgMes.Client.LgIntegrationQuery.FrmYCJJB" + exp.Message); return null; } finally { } } /// /// 初始化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"] = "11"; tb.Rows[0]["BCName"] = "夜-甲"; tb.Rows.Add(szS); tb.Rows[1]["BCCode"] = "12"; tb.Rows[1]["BCName"] = "夜-乙"; tb.Rows.Add(szS); tb.Rows[2]["BCCode"] = "13"; tb.Rows[2]["BCName"] = "夜-丙"; tb.Rows.Add(szS); tb.Rows[3]["BCCode"] = "14"; tb.Rows[3]["BCName"] = "夜-丁"; tb.Rows.Add(szS); tb.Rows[4]["BCCode"] = "21"; tb.Rows[4]["BCName"] = "白-甲"; tb.Rows.Add(szS); tb.Rows[5]["BCCode"] = "22"; tb.Rows[5]["BCName"] = "白-乙"; tb.Rows.Add(szS); tb.Rows[6]["BCCode"] = "23"; tb.Rows[6]["BCName"] = "白-丙"; tb.Rows.Add(szS); tb.Rows[7]["BCCode"] = "24"; tb.Rows[7]["BCName"] = "早-丁"; tb.Rows.Add(szS); tb.Rows[8]["BCCode"] = "31"; tb.Rows[8]["BCName"] = "中-甲"; tb.Rows.Add(szS); tb.Rows[9]["BCCode"] = "32"; tb.Rows[9]["BCName"] = "中-乙"; tb.Rows.Add(szS); tb.Rows[10]["BCCode"] = "33"; tb.Rows[10]["BCName"] = "中-丙"; tb.Rows.Add(szS); tb.Rows[11]["BCCode"] = "34"; 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.LgMes.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 = ""; //定义一个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; DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBSave", "doSimpleSave", arry, out strErr); } } catch (System.Exception exp) { WriteLog("Core.LgMes.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(); } } }