using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using CoreFS.CA06; using Core.Mes.Client.Comm.Control; using System.Collections; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; //不需要审核 //GRID1存放实时采集的数据(当前采集的数据放在第一条);点击Grid1,GRID2显示同炉号数据 //GRID3查询显示手工录入的数据并且可手工新增信息,不允许修改 namespace Core.StlMes.Client.Lims.Data.Steer { public partial class FrmSteerDataCollect : FrmBase { private string strTime = ""; private string[] arrId; public FrmSteerDataCollect() { InitializeComponent(); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框 } private void FrmSteerDataCollect_Load(object sender, EventArgs e) { arrId = this.ValidDataPurviewIds;//获取数据权限 InitColumns(); PublicSteer.ColumnsWidth(ultraGrid1, 0, 60); PublicSteer.ColumnsWidth(ultraGrid2, 0, 60); PublicSteer.ColumnsWidth(ultraGrid3, 0, 60); //GridHelper.RefreshAndAutoSize(ultraGrid2);//自适应 timer1.Enabled = true; } private void InitColumns() { string[] chemMax = PublicSteer.chemMax.Split(' '); string[] chemMin = PublicSteer.chemMin.Split(' '); string[] arrColumnsBase = new string[] { "CHK", "HEAT_NO", "SAMPLE_NO", "SAMPLE_SOURCE", "STEEL_NO", "CHECK_NAME", "CHECK_TIME", "CHECK_SHIFT", "CHECK_CLASS" }; string[] arrCaptionBase = new string[] { "选择", "炉号", "试样号", "来源", "钢号", "录入人", "录入时间", "班次", "班组" }; PublicSteer.InitColumns(arrColumnsBase, chemMax, arrCaptionBase, chemMin, dataTable1); PublicSteer.InitColumns(arrColumnsBase, chemMax, arrCaptionBase, chemMin, dataTable2); PublicSteer.InitColumns(arrColumnsBase, chemMax, arrCaptionBase, chemMin, dataTable3); PublicSteer.setColumnShowOrHidden(ultraGrid1, new string[] { "CHK" }, false); PublicSteer.setColumnShowOrHidden(ultraGrid2, new string[] { "CHK" }, false); PublicSteer.setOtherColumnReadOnly(ultraGrid1, null);//可编辑列 PublicSteer.setOtherColumnReadOnly(ultraGrid2, null);//可编辑列 ultraGrid3.DisplayLayout.Bands[0].Columns["SAMPLE_SOURCE"].EditorComponent = ultraSAMPLE_SOURCE;//样品类型 ultraGrid3.DisplayLayout.Bands[0].Columns["SAMPLE_SOURCE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; } public override void ToolBar_Click(object sender, string ToolbarKey) { //查询、确认、退出 switch (ToolbarKey) { case "Query": if (ultraTabControl1.SelectedTab.Index == 0) { QueryChemAuditResult_Collect();//查询采集信息 } else if (ultraTabControl1.SelectedTab.Index == 1) { QueryChemAuditResult_Hand(); } break; case "Add": AddChemAuditResult(); break; case "Update": //UpdateChemAuditResult(); break; case "Audit": //CancelUpdateCheckConsignDetail(); break; case "SelectData": SelectChemAuditResult(); break; case "Close": if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes) { this.Close(); } break; } } private void QueryChemAuditResult_Collect() { try { //string[] arr = this.ValidDataPurviewIds;//获取数据权限ID //查询最近十条信息 DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResult_Collect", new Object[] { arrId }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable1.Rows.Clear(); dataTable2.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable UltraGridColumn[] cols = new UltraGridColumn[] { ultraGrid1.DisplayLayout.Bands[0].Columns["CHECK_TIME"] }; PublicSteer.RefreshAndAutoSizeColumns(ultraGrid1, cols);//刷新Grid;//刷新Grid } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } //查询手工录入数据 private void QueryChemAuditResult_Hand() { try { ArrayList arrayList = steerQueryBase1.GetQueryInfo(); DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResult_Hand", new Object[] { arrayList, arrId }, ob);//加入权限 if (dt == null || dt.Rows.Count == 0) { dataTable3.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable3, true);//把dt复制给dataTable UltraGridColumn[] cols = new UltraGridColumn[] { ultraGrid3.DisplayLayout.Bands[0].Columns["CHECK_TIME"] }; PublicSteer.RefreshAndAutoSizeColumns(ultraGrid3, cols);//刷新Grid } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } //点击ultraGrid1,ultraGrid2查询出同炉号的数据 private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { try { string strHEAT_NO = ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim(); ArrayList al = new ArrayList(); al.Add(strHEAT_NO); DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultHeatNo", new Object[] { al }, ob); GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable UltraGridColumn[] cols = new UltraGridColumn[] { ultraGrid2.DisplayLayout.Bands[0].Columns["CHECK_TIME"] }; PublicSteer.RefreshAndAutoSizeColumns(ultraGrid2, cols);//刷新Grid;//刷新Grid } catch (Exception ex) { MessageUtil.ShowWarning(ex.Message); return; } } //private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) //{ // try // { // string strHEAT_NO = ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim(); // ArrayList al = new ArrayList();. // al.Add(strHEAT_NO); // DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultHeatNo", // new Object[] { al }, ob); // GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable // //GridHelper.RefreshAndAutoSize(ultraGrid2);//刷新Grid // } // catch (Exception ex) // { // MessageUtil.ShowWarning(ex.Message); // return; // } //} #region 人工录入 //修改熔炼数据 private void AddChemAuditResult() { try { ultraGrid3.UpdateData(); if (dataTable3 == null || dataTable3.Rows.Count == 0 || ultraGrid3.ActiveRow == null || ultraGrid3.ActiveRow.Activated == false) { MessageUtil.ShowWarning("请录入需要新增的数据!"); return; } if (ultraTabControl1.SelectedTab.Index != 1) { MessageUtil.ShowWarning("只有选择了人工录入页才能进行新增操作!"); return; } if (ultraGrid3.ActiveRow.Cells["HEAT_NO"].Text.Trim() == "") { MessageUtil.ShowWarning("炉号不能为空!"); return; } if (ultraGrid3.ActiveRow.Cells["SAMPLE_SOURCE"].Text.Trim() == "") { MessageUtil.ShowWarning("来源不能为空!"); return; } ArrayList al = new ArrayList(); al.Add(ultraGrid3.ActiveRow.Cells["SAMPLE_NO"].Text.Trim()); al.Add(ultraGrid3.ActiveRow.Cells["HEAT_NO"].Text.Trim()); PublicServer.GetDataTips("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultTipsIsHave", new Object[] { al, "1", "此炉号和试样号已经存在请重新录入!" }, ob);//判定数据库是否有同样的是否能新增 if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == DialogResult.Yes) { al.Add(ultraGrid3.ActiveRow.Cells["HEAT_NO"].Text.Trim()); PublicServer.GetDataTips("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultTips_", new Object[] { al, "11", "质保部已判定不能新增!" }, ob); string strSqlParm = "INSERT INTO STEER_CHEM_AUDIT_RESULT(ONH_FLAG,ONH_CHECK_TIME,DEPT_ID,DEPT_NAME,"; string strSqlValue = "VALUES('1',SYSDATE,'" + UserInfo.GetDeptid() + "','" + UserInfo.GetDepartment() + "',"; foreach (DataColumn dc in dataTable3.Columns) { if (dc.ColumnName == "CHK") { continue; } strSqlParm += dc.ColumnName + ","; if (dc.ColumnName == "CHECK_TIME") { strSqlValue += "SYSDATE,"; continue; } strSqlValue += "'"; if (dc.ColumnName == "SAMPLE_SOURCE") { strSqlValue += ultraGrid3.ActiveRow.Cells[dc.ColumnName].Value.ToString(); } else if (dc.ColumnName == "CHECK_NAME") { strSqlValue += UserInfo.GetUserName(); } else if (dc.ColumnName == "CHECK_SHIFT") { strSqlValue += UserInfo.GetUserOrderText(); } else if (dc.ColumnName == "CHECK_CLASS") { strSqlValue += UserInfo.GetUserName(); } else { strSqlValue += ultraGrid3.ActiveRow.Cells[dc.ColumnName].Text.Trim();//(ultraGrid3.ActiveRow.Cells[dc.ColumnName].Text.Trim() == "" ? "" : ultraGrid3.ActiveRow.Cells[dc.ColumnName].Text.Trim()); } strSqlValue += "',"; } strSqlParm += "DATA_TYPE"; strSqlValue += "1"; strSqlParm += ")"; strSqlValue += ")"; PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.AddChemAuditResult", new Object[] { strSqlParm + strSqlValue }, this.ob); PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult_", new Object[] { al }, this.ob); QueryChemAuditResult_Hand(); PublicSteer.ActiveOperateRow(ultraGrid3, new string[] { "SAMPLE_NO", "HEAT_NO" }, al.ToArray()); MessageUtil.ShowTips("新增成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (toolMenu == null) return; if (ultraTabControl1.SelectedTab.Index == 0) { if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Add")) { this.toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("SelectData")) { this.toolMenu.Toolbars[0].Tools["SelectData"].InstanceProps.Visible = DefaultableBoolean.False; } } else if (ultraTabControl1.SelectedTab.Index == 1) { if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Add")) { this.toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("SelectData")) { this.toolMenu.Toolbars[0].Tools["SelectData"].InstanceProps.Visible = DefaultableBoolean.True; } } } private void SelectChemAuditResult() { if (ultraTabControl1.SelectedTab.Index != 1) { MessageUtil.ShowWarning("只有选择了人工录入页才能进行选择操作!"); return; } dataTable3.Rows.Clear(); WinSteerSelectData addR = new WinSteerSelectData(arrId); addR.Ob = this.ob; addR.ShowDialog(); if (addR.DialogResult != DialogResult.OK) { return; } UltraGridRow ur = addR.UgRow; if (ur == null) { return; } DataRow dr = dataTable3.NewRow(); foreach (DataColumn dc in dataTable3.Columns) { if (dc.ColumnName == "CHK") { dr[dc.ColumnName] = "True"; continue; } if (dc.ColumnName == "HEAT_NO") { continue; } if (ur.Cells.Exists(dc.ColumnName)) { dr[dc.ColumnName] = ur.Cells[dc.ColumnName].Text.Trim(); } } dataTable3.Rows.Add(dr); //ultraGrid3.Rows //dataTable1.ImportRow(ur.) } #endregion private void timer1_Tick(object sender, EventArgs e) { try { if (ultraTabControl1.SelectedTab.Index == 0) { DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResult_First", new Object[] { }, ob); if (strTime != dt.Rows[0]["CHECK_TIME"].ToString()) { strTime = dt.Rows[0]["CHECK_TIME"].ToString(); QueryChemAuditResult_Collect(); } } } //catch (Exception ex) catch { //MessageUtil.ShowWarning(ex.Message); //return; } } } }