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.CA03; using CoreFS.CA04; using CoreFS.CA06; using System.Collections; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Tool; using Infragistics.Win; namespace Core.StlMes.Client.Lims.Data.Steer { public partial class FrmSteerONHDataCJ : FrmBase { private string[] arrId;//权限 public FrmSteerONHDataCJ() { 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 FrmSteerONHDataCJ_Load(object sender, EventArgs e) { arrId = this.ValidDataPurviewIds;//获取数据权限 InitColumns(); PublicSteer.ColumnsWidth(ultraGrid2, 0, 60); PublicSteer.ColumnsWidth(ultraGrid3, 0, 60); BindComBox(); } private void InitColumns() { //"O2 (ppm)", "N2 (%)", "H2 (ppm)" string[] arrColumnsBase = new string[] { "ID", "HEAT_NO", "SAMPLE_NO", "STEEL_NO", "ANA_O", "ANA_N", "ANA_H", "ONH_CHECK_NAME", "ONH_CHECK_TIME", "ONH_CHECK_SHIFT", "ONH_CHECK_CLASS", "ONH_ONH_CHECK_TEMP", "ONH_DEVICE_NO", "ONH_DEVICE_NAME" }; string[] arrCaptionBase = new string[] { "ID", "炉号", "试样号", "钢号", "O", "N", "H", "录入人", "录入时间", "班次", "班组", "环境温度", "设备编码", "设备名称" }; PublicSteer.InitColumns(arrColumnsBase, arrCaptionBase, dataTable1); PublicSteer.InitColumns(arrColumnsBase, arrCaptionBase, dataTable2); PublicSteer.InitColumns(arrColumnsBase, arrCaptionBase, dataTable3); PublicSteer.setColumnShowOrHidden(ultraGrid1, new string[] { "HEAT_NO", "SAMPLE_NO" }, true); PublicSteer.setColumnShowOrHidden(ultraGrid2, new string[] { "ID" }, false); PublicSteer.setColumnShowOrHidden(ultraGrid3, new string[] { "ID" }, false); PublicSteer.setOtherColumnReadOnly(ultraGrid1, null);//可编辑列 PublicSteer.setOtherColumnReadOnly(ultraGrid2, null);//可编辑列 PublicSteer.setOtherColumnReadOnly(ultraGrid2, new string[] { "ANA_O", "ANA_N", "ANA_H" });//可编辑列 } //绑定下拉框 private void BindComBox() { Infragistics.Win.ValueList valueListNo = new Infragistics.Win.ValueList(); Infragistics.Win.ValueList valueListName = new Infragistics.Win.ValueList(); if (UserInfo.GetDeptid() == "002001020001" || UserInfo.GetDepartment() == "一快分") { valueListNo.ValueListItems.Add("2234070413"); valueListNo.ValueListItems.Add("3178"); valueListName.ValueListItems.Add("ELTRA ONH 2000"); valueListName.ValueListItems.Add("TCH600 ONH联测仪"); } else { } ultraONH_DEVICE_NO.ValueList = valueListNo; ultraONH_DEVICE_NAME.ValueList = valueListName; } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": if (ultraTabControl1.SelectedTab.Index == 0) { QueryChemAuditResultCheck(); } else if (ultraTabControl1.SelectedTab.Index == 1) { QueryChemAuditResult(); } break; case "Add": AddChemAuditResultONH(); break; case "Update": UpdateChemAuditResultONH(); break; case "Delete": DeleteChemAuditResultONH(); break; case "Audit": //AuditChemAuditResultONH(); break; case "Close": if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes) { this.Close(); } break; } } 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("Add")) { this.toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Update")) { this.toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { this.toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; } } else if (ultraTabControl1.SelectedTab.Index == 1) { if (toolMenu.Toolbars[0].Tools.Exists("Add")) { this.toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Update")) { this.toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { this.toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; } } } //查询需要录入的信息 private void QueryChemAuditResultCheck() { try { ArrayList arrayList = steerQueryBase1.GetQueryInfo(); DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerONHDataCJ.QueryChemAuditResultCheck", new Object[] { arrayList, arrId }, ob); if (dt == null || dt.Rows.Count == 0) { ClearData(); dataTable1.Rows.Clear(); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } //查询需要显示的信息 private void QueryChemAuditResultShow() { try { DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerONHDataCJ.QueryChemAuditResultShow", new Object[] { arrId }, ob); GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable UltraGridColumn[] cols = new UltraGridColumn[] { ultraGrid2.DisplayLayout.Bands[0].Columns["ONH_CHECK_TIME"] }; PublicSteer.RefreshAndAutoSizeColumns(ultraGrid2, cols);//刷新Grid //GridHelper.RefreshAndAutoSize(ultraGrid2);//刷新Grid } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } //查询已经录入的信息 private void QueryChemAuditResult() { try { ArrayList arrayList = steerQueryBase1.GetQueryInfo(); DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerONHDataCJ.QueryChemAuditResult", new Object[] { arrayList, arrId }, ob); GridHelper.CopyDataToDatatable(dt, dataTable3, true);//把dt复制给dataTable UltraGridColumn[] cols = new UltraGridColumn[] { ultraGrid3.DisplayLayout.Bands[0].Columns["ONH_CHECK_TIME"] }; PublicSteer.RefreshAndAutoSizeColumns(ultraGrid3, cols);//刷新Grid //GridHelper.RefreshAndAutoSize(ultraGrid3);//刷新Grid } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } //保存ONH需要录入的信息 private void AddChemAuditResultONH() { try { if (dataTable1 == null || dataTable1.Rows.Count == 0 || ultraGrid1.ActiveRow.Activated == false || txtHEAT_NO.Text == "") { MessageUtil.ShowWarning("请选择需要新增的试样信息!"); return; } if (ultraTabControl1.SelectedTab.Index != 0) { MessageUtil.ShowWarning("只有选择了未录入数据页才能进行新增操作!"); return; } if (txtANA_O.Text.Trim() == "" && txtANA_N.Text.Trim() == "" && txtANA_H.Text.Trim() == "") { MessageUtil.ShowWarning("ONH结果不能同时为空!"); return; } //double sum = (txtANA_O.Text.Trim() == "" ? 0 : Double.Parse(txtANA_O.Text.Trim())) + (txtANA_N.Text.Trim() == "" ? 0 : Double.Parse(txtANA_N.Text.Trim())) + (txtANA_H.Text.Trim() == "" ? 0 : Double.Parse(txtANA_H.Text.Trim())); //if (sum >= 100) //{ // MessageUtil.ShowWarning("ONH含量总数不能大于等于100!"); // return; //} if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == DialogResult.Yes) { string strSAMPLE_NO = txtSAMPLE_NO.Text.Trim(); string strHEAT_NO = txtHEAT_NO.Text.Trim(); ArrayList alDelete = new ArrayList(); alDelete.Add(strSAMPLE_NO); alDelete.Add(strHEAT_NO); // PublicServer.GetDataTips("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultTips", //new Object[] { alDelete, "11", "质保部已判定不能新增!" }, ob);//判定状态位是否能修改暂时用 // PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult", //new Object[] { alDelete }, this.ob); DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerONHDataCJ.QueryChemAuditResultIsHave", new Object[] { new object[] { strSAMPLE_NO, strHEAT_NO } }, ob);//判断数据库是否有数据 ArrayList arrayList = new ArrayList(); if (dt.Rows.Count == 0) { arrayList.Add(strHEAT_NO);//炉号 arrayList.Add(strSAMPLE_NO);//试样号 arrayList.Add(txtSTEEL_NO.Text.Trim());//钢号 arrayList.Add(UserInfo.GetDeptid());//部门ID arrayList.Add(UserInfo.GetDepartment());//部门名称 arrayList.Add(ultraONH_CHECK_NAME.Text.Trim() == "" ? UserInfo.GetUserName() : ultraONH_CHECK_NAME.Text.Trim());//试验人 //arrayList.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));//时间 arrayList.Add(ultraONH_CHECK_SHIFT.Text.Trim() == "" ? UserInfo.GetUserOrderText() : ultraONH_CHECK_SHIFT.Text.Trim());//班次 //arrayList.Add(ultraONH_CHECK_CLASS.Text.Trim() == "" ? UserInfo.GetUserName() : ultraONH_CHECK_CLASS.Text.Trim());//班组 arrayList.Add(ultraONH_CHECK_CLASS.Text.Trim());//班组 arrayList.Add(txtONH_CHECK_TEMP.Text.Trim());//温度 arrayList.Add(ultraONH_DEVICE_NO.Text.Trim());//设备编码 arrayList.Add(ultraONH_DEVICE_NAME.Text.Trim());//设备名称 arrayList.Add(PublicSteer.SavePoint(txtANA_O.Text.Trim(), 4));//O arrayList.Add(PublicSteer.SavePoint(txtANA_N.Text.Trim(), 4));//N arrayList.Add(PublicSteer.SavePoint(txtANA_H.Text.Trim(), 5));//H PublicServer.SetData("com.steering.lims.data.steer.FrmSteerONHDataCJ.AddChemAuditResult", new Object[] { arrayList }, ob); } else { arrayList.Add(ultraONH_CHECK_NAME.Text.Trim() == "" ? UserInfo.GetUserName() : ultraONH_CHECK_NAME.Text.Trim());//试验人 //arrayList.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));//时间 arrayList.Add(ultraONH_CHECK_SHIFT.Text.Trim() == "" ? UserInfo.GetUserOrderText() : ultraONH_CHECK_SHIFT.Text.Trim());//班次 arrayList.Add(ultraONH_CHECK_CLASS.Text.Trim());//班组 arrayList.Add(txtONH_CHECK_TEMP.Text.Trim());//温度 arrayList.Add(ultraONH_DEVICE_NO.Text.Trim());//设备编码 arrayList.Add(ultraONH_DEVICE_NAME.Text.Trim());//设备名称 arrayList.Add(PublicSteer.SavePoint(txtANA_O.Text.Trim(), 4));//O arrayList.Add(PublicSteer.SavePoint(txtANA_N.Text.Trim(), 4));//N arrayList.Add(PublicSteer.SavePoint(txtANA_H.Text.Trim(), 5));//H arrayList.Add(strSAMPLE_NO);//试样号 arrayList.Add(strHEAT_NO);//炉号 arrayList.Add(ultraGrid1.ActiveRow.Cells["ID"].Text.Trim()); PublicServer.SetData("com.steering.lims.data.steer.FrmSteerONHDataCJ.AddChemAuditResultONH", new Object[] { arrayList }, ob); } //20160324修改先保存到检化验数据库再删除SQL server // PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult", //new Object[] { alDelete }, this.ob); QueryChemAuditResultCheck(); QueryChemAuditResultShow();//显示15条数据 //QueryChemAuditResult(); PublicSteer.ActiveOperateRow(ultraGrid2, new string[] { "HEAT_NO", "SAMPLE_NO" }, new string[] { strHEAT_NO, strSAMPLE_NO }); MessageUtil.ShowTips("新增成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } //修改ONH需要录入的信息 private void UpdateChemAuditResultONH() { try { if (dataTable3 == null || dataTable3.Rows.Count == 0 || ultraGrid3.ActiveRow.Activated == false) { MessageUtil.ShowWarning("请选择需要修改的试样信息!"); return; } if (ultraTabControl1.SelectedTab.Index != 1) { MessageUtil.ShowWarning("只有选择了已录入数据页才能进行修改操作!"); return; } ultraGrid3.Update(); string strANA_O_Log = PublicSteer.SavePoint(ultraGrid3.ActiveRow.Cells["ANA_O"].Text.Trim(), 4); string strANA_N_Log = PublicSteer.SavePoint(ultraGrid3.ActiveRow.Cells["ANA_N"].Text.Trim(), 4); string strANA_H_Log = PublicSteer.SavePoint(ultraGrid3.ActiveRow.Cells["ANA_H"].Text.Trim(), 5); //判断是否符合规则 //double sum = (strANA_O_Log == "" ? 0 : Double.Parse(strANA_O_Log)) + (strANA_N_Log == "" ? 0 : Double.Parse(strANA_N_Log)) + (strANA_H_Log == "" ? 0 : Double.Parse(strANA_H_Log)); //if (sum >= 100) //{ // MessageUtil.ShowWarning("ONH含量总数不能大于等于100!"); // return; //} if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.Yes) { string strSAMPLE_NO = ultraGrid3.ActiveRow.Cells["SAMPLE_NO"].Text.Trim(); string strHEAT_NO = ultraGrid3.ActiveRow.Cells["HEAT_NO"].Text.Trim(); ArrayList arrayList = new ArrayList(); arrayList.Add(strANA_O_Log);//O arrayList.Add(strANA_N_Log);//N arrayList.Add(strANA_H_Log);//H arrayList.Add(strSAMPLE_NO);//试样号 arrayList.Add(strHEAT_NO);//炉号 arrayList.Add(ultraGrid3.ActiveRow.Cells["ID"].Text.Trim());//ID ArrayList alOperate = new ArrayList(); alOperate.Add(UserInfo.GetUserName());//操作人 alOperate.Add("1");//操作类型 alOperate.Add("0"); alOperate.Add(strSAMPLE_NO); alOperate.Add(strHEAT_NO); alOperate.Add(ultraGrid3.ActiveRow.Cells["ID"].Text.Trim()); ArrayList alDelete = new ArrayList(); alDelete.Add(strSAMPLE_NO); alDelete.Add(strHEAT_NO); // PublicServer.GetDataTips("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultTips", //new Object[] { alDelete, "11", "质保部已判定不能修改!" }, ob);//判定状态位是否能修改暂时用 20151228 // PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult", //new Object[] { alDelete }, this.ob);//删除质保数据 PublicServer.SetData("com.steering.lims.data.steer.FrmSteerONHDataCJ.UpdateChemAuditResultONH", new Object[] { arrayList, alOperate }, ob); //20160324修改先保存到检化验数据库再删除SQL server // PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult", //new Object[] { alDelete }, this.ob);//删除质保数据 //QueryChemAuditResultCheck(); QueryChemAuditResult(); PublicSteer.ActiveOperateRow(ultraGrid3, new string[] { "HEAT_NO", "SAMPLE_NO" }, new string[] { strHEAT_NO, strSAMPLE_NO }); MessageUtil.ShowTips("修改成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } //修改ONH需要录入的信息 private void DeleteChemAuditResultONH() { try { if (dataTable3 == null || dataTable3.Rows.Count == 0 || ultraGrid3.ActiveRow.Activated == false) { MessageUtil.ShowWarning("请选择需要删除的试样信息!"); return; } if (ultraTabControl1.SelectedTab.Index != 1) { MessageUtil.ShowWarning("只有选择了已录入数据页才能进行删除操作!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.Yes) { string strSAMPLE_NO = ultraGrid3.ActiveRow.Cells["SAMPLE_NO"].Text.Trim(); string strHEAT_NO = ultraGrid3.ActiveRow.Cells["HEAT_NO"].Text.Trim(); ArrayList arrayList = new ArrayList(); arrayList.Add(strSAMPLE_NO);//试样号 arrayList.Add(strHEAT_NO);//炉号 arrayList.Add(ultraGrid3.ActiveRow.Cells["ID"].Text.Trim()); ArrayList alOperate = new ArrayList(); alOperate.Add(UserInfo.GetUserName());//操作人 alOperate.Add("1");//操作类型 alOperate.Add("1"); alOperate.Add(strSAMPLE_NO); alOperate.Add(strHEAT_NO); alOperate.Add(ultraGrid3.ActiveRow.Cells["ID"].Text.Trim()); ArrayList alDelete = new ArrayList(); alDelete.Add(strSAMPLE_NO); alDelete.Add(strHEAT_NO); // PublicServer.GetDataTips("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResultTips", //new Object[] { alDelete, "11", "质保部已判定不能删除!" }, ob);//判定状态位是否能修改暂时用 // PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult", //new Object[] { alDelete }, this.ob); PublicServer.SetData("com.steering.lims.data.steer.FrmSteerONHDataCJ.DeleteChemAuditResultONH", new Object[] { arrayList, alOperate }, ob); //20160324修改先保存到检化验数据库再删除SQL server // PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult", //new Object[] { alDelete }, this.ob);//删除质保数据 QueryChemAuditResult(); QueryChemAuditResultCheck(); PublicSteer.ActiveOperateRow(ultraGrid1, new string[] { "HEAT_NO", "SAMPLE_NO" }, new string[] { strHEAT_NO, strSAMPLE_NO }); MessageUtil.ShowTips("删除成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } //清空数据 private void ClearData() { txtHEAT_NO.ReadOnly = true; txtSAMPLE_NO.ReadOnly = true; txtSTEEL_NO.ReadOnly = true; txtHEAT_NO.Text = ""; txtSAMPLE_NO.Text = ""; txtSTEEL_NO.Text = ""; txtANA_O.Text = ""; txtANA_N.Text = ""; txtANA_H.Text = ""; } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { ClearData(); //PublicSteer.ShowBaseInfo(ultraGrid1.ActiveRow, panel5); txtHEAT_NO.Text = ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim(); txtSAMPLE_NO.Text = ultraGrid1.ActiveRow.Cells["SAMPLE_NO"].Text.Trim(); txtSTEEL_NO.Text = ultraGrid1.ActiveRow.Cells["STEEL_NO"].Text.Trim(); } private void txtANA_O_TextChanged(object sender, EventArgs e) { if (txtANA_O.Text.Trim() != "") { if (StringUtil.IsDouble(txtANA_O.Text.Trim()) == false) { MessageUtil.ShowWarning("请输入数值!"); txtANA_O.Text = ""; return; } else { double a = Double.Parse(txtANA_O.Text.Trim()); if (a < 0 || a >= 100) { MessageUtil.ShowWarning("请输入大于等于0且小于100的数值!"); txtANA_O.Text = ""; return; } } } } private void txtANA_O_Leave(object sender, EventArgs e) { } private void txtANA_N_TextChanged(object sender, EventArgs e) { if (txtANA_N.Text.Trim() != "") { if (StringUtil.IsDouble(txtANA_N.Text.Trim()) == false) { MessageUtil.ShowWarning("请输入数值!"); txtANA_N.Text = ""; return; } else { double a = Double.Parse(txtANA_N.Text.Trim()); if (a < 0 || a >= 100) { MessageUtil.ShowWarning("请输入大于等于0且小于100的数值!"); txtANA_N.Text = ""; return; } } } } private void txtANA_N_Leave(object sender, EventArgs e) { } private void txtANA_H_TextChanged(object sender, EventArgs e) { if (txtANA_H.Text.Trim() != "") { if (StringUtil.IsDouble(txtANA_H.Text.Trim()) == false) { MessageUtil.ShowWarning("请输入数值!"); txtANA_H.Text = ""; return; } else { double a = Double.Parse(txtANA_H.Text.Trim()); if (a < 0 || a >= 100) { MessageUtil.ShowWarning("请输入大于等于0且小于100的数值!"); txtANA_H.Text = ""; return; } } } } private void txtANA_H_Leave(object sender, EventArgs e) { } private void ultraGrid3_CellChange(object sender, CellEventArgs e) { if (e.Cell.Text.Trim() != "") { if (StringUtil.IsDouble(e.Cell.Text) == false) { MessageUtil.ShowWarning("请输入数值!"); e.Cell.Value = ""; return; } else if (Double.Parse(e.Cell.Text) < 0 || Double.Parse(e.Cell.Text) >= 100) { MessageUtil.ShowWarning("请输入大于等于0且小于100的数值!"); e.Cell.Value = ""; return; } } } private void btInsert_Click(object sender, EventArgs e) { txtHEAT_NO.ReadOnly = false; txtSAMPLE_NO.ReadOnly = false; txtSTEEL_NO.ReadOnly = false; } } }