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.Tool; using System.Collections; using Core.Mes.Client.Comm.Control; using Infragistics.Win.UltraWinGrid; namespace Core.StlMes.Client.Lims.Data.Steer { public partial class FrmSteerRecheckDataManage : FrmBase { public FrmSteerRecheckDataManage() { InitializeComponent(); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; //ultraGrid2.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.False;//不显示行头 ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; //ultraGrid4.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.False;//不显示行头 ultraGrid4.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; } private void FrmSteerRecheckDataManage_Load(object sender, EventArgs e) { InitColumns(); PublicSteer.ColumnsWidth(ultraGrid1, 0, 60); PublicSteer.ColumnsWidth(ultraGrid2, 0, 60); PublicSteer.ColumnsWidth(ultraGrid3, 0, 60); PublicSteer.ColumnsWidth(ultraGrid4, 0, 60); } private void InitColumns() { string[] chemMax = PublicSteer.chemMax.Split(' '); string[] chemMin = PublicSteer.chemMin.Split(' '); string[] arrColumnsBase = new string[] { "ID", "HEAT_NO", "SAMPLE_NO", "STEEL_NO", "CHECK_NAME", "CHECK_TIME", "CHECK_SHIFT", "CHECK_CLASS" }; string[] arrCaptionBase = new string[] { "ID", "炉号", "试样号", "钢号", "录入人", "录入时间", "班次", "班组" }; PublicSteer.InitColumns(arrColumnsBase, chemMax, arrCaptionBase, chemMin, dataTable1); PublicSteer.setColumnShowOrHidden(ultraGrid1, new string[] { "ID" }, false); PublicSteer.setOtherColumnReadOnly(ultraGrid1, null);//可编辑列 PublicSteer.InitColumns(arrColumnsBase, chemMax, arrCaptionBase, chemMin, dataTable3); PublicSteer.setColumnShowOrHidden(ultraGrid3, new string[] { "ID" }, false); PublicSteer.setOtherColumnReadOnly(ultraGrid3, null);//可编辑列 string[] arrColumnsUpdate = new string[] { "CHK", "ELEMENTS", "START_VALUE", "UPDATE_VALUE1", "UPDATE_VALUE2" }; string[] arrCaptionUpdate = new string[] { "选择", "元素", "原始值", "修改值1", "修改值2" }; PublicSteer.InitColumns(arrColumnsUpdate, arrCaptionUpdate, dataTable2); PublicSteer.setOtherColumnReadOnly(ultraGrid2, new string[] { "CHK", "UPDATE_VALUE1", "UPDATE_VALUE2" });//可编辑列 PublicSteer.InitColumns(arrColumnsUpdate, arrCaptionUpdate, dataTable4); PublicSteer.setOtherColumnReadOnly(ultraGrid4, new string[] { "CHK", "UPDATE_VALUE1", "UPDATE_VALUE2" });//可编辑列 } public override void ToolBar_Click(object sender, string ToolbarKey) { //查询、确认、退出 switch (ToolbarKey) { case "Query": if (ultraTabControl1.SelectedTab.Index == 0) { QueryChemAuditResult();//查询采集信息 } else if (ultraTabControl1.SelectedTab.Index == 1) { QueryChemAuditResult_Log();//查询采集信息 } break; case "Add": AddSteerChemRecheckResult(); break; case "Update": UpdateSteerChemRecheckResult(); break; case "Delete": DeleteSteerChemRecheckResult(); break; case "Audit": //CancelUpdateCheckConsignDetail(); break; case "Close": if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes) { this.Close(); } break; } } //查询已审核数据 private void QueryChemAuditResult() { try { ArrayList arrayList = steerQueryBase1.GetQueryInfo("0"); string[] arr = this.ValidDataPurviewIds;//获取数据权限ID if (arr == null) { MessageUtil.ShowTips("无科室权限,请配置科室权限!"); return; } DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerRecheckDataManage.QueryChemAuditResult", new Object[] { arrayList, arr }, 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 } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { try { dataTable2.Rows.Clear(); ArrayList al = new ArrayList(); al.Add(ultraGrid1.ActiveRow.Cells["SAMPLE_NO"].Text.Trim()); al.Add(ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim()); DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerRecheckDataManage.QueryChemAuditResultHeatSampleNo", new Object[] { al }, ob); foreach (DataColumn dc in dt.Columns) { if (dc.ColumnName.IndexOf("ANA_") == 0 && dt.Rows[0][dc.ColumnName].ToString().Trim() != "") { DataRow dr = dataTable2.NewRow(); dr["CHK"] = "False"; dr["ELEMENTS"] = dc.ColumnName.Substring(4, 1) + dc.ColumnName.Substring(4).ToLower().Remove(0, 1); dr["START_VALUE"] = dt.Rows[0][dc.ColumnName].ToString().Trim(); dr["UPDATE_VALUE1"] = ""; dr["UPDATE_VALUE2"] = ""; dataTable2.Rows.Add(dr); } } UltraGridColumn[] cols = new UltraGridColumn[] { ultraGrid2.DisplayLayout.Bands[0].Columns["CHK"], ultraGrid2.DisplayLayout.Bands[0].Columns["ELEMENTS"] }; PublicSteer.RefreshAndAutoSizeColumns(ultraGrid2, cols);//刷新Grid } catch (Exception ex) { MessageUtil.ShowWarning(ex.Message); return; } } //修改熔炼数据 private void AddSteerChemRecheckResult() { try { if (dataTable1 == null || dataTable1.Rows.Count == 0) { MessageUtil.ShowWarning("请选择需要新增的数据!"); return; } ArrayList all = new ArrayList(); ArrayList add1 = new ArrayList();//复检1 ArrayList add2 = new ArrayList();//复检2 //判定是否勾选了数据 string strCondition = "";//拼接SQL条件 string value1 = ""; string value2 = ""; bool isUpdate = false; ultraGrid2.UpdateData(); foreach (DataRow dr in dataTable2.Rows) { strCondition += ",ANA_" + dr["ELEMENTS"].ToString().ToUpper(); if (dr["CHK"].ToString() == "True") { isUpdate = true; if (dr["UPDATE_VALUE1"].ToString().Trim() != "" && dr["UPDATE_VALUE2"].ToString().Trim() != "") { value1 += ",'" + dr["UPDATE_VALUE1"].ToString().Trim() + "'"; value2 += ",'" + dr["UPDATE_VALUE2"].ToString().Trim() + "'"; } else { MessageUtil.ShowWarning("元素" + dr["ELEMENTS"].ToString() + "复检值不完整!"); return; } } else { value1 += ",'" + dr["START_VALUE"].ToString().Trim() + "'"; value2 += ",'" + dr["START_VALUE"].ToString().Trim() + "'"; } } if (isUpdate == false) { MessageUtil.ShowWarning("没有勾选填写需要新增的数据!"); return; } strCondition = strCondition.Remove(0, 1); value1 = value1.Remove(0, 1); value2 = value2.Remove(0, 1); string strSAMPLE_NO = ultraGrid1.ActiveRow.Cells["SAMPLE_NO"].Text.Trim(); string strHEAT_NO = ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim(); string strID = ultraGrid1.ActiveRow.Cells["ID"].Text.Trim(); ArrayList alUpdate = new ArrayList(); alUpdate.Add("1"); alUpdate.Add(strSAMPLE_NO); alUpdate.Add(strHEAT_NO); alUpdate.Add(strID); //add1.Add(strCondition);//复检样1 add1.Add(strSAMPLE_NO + "F1"); //add1.Add(value1); add1.Add(strSAMPLE_NO); add1.Add(strHEAT_NO); add1.Add(strID); //add2.Add(strCondition);//复检样1 add2.Add(strSAMPLE_NO + "F2"); //add2.Add(value2); add2.Add(strSAMPLE_NO); add2.Add(strHEAT_NO); add2.Add(strID); ArrayList allCondition = new ArrayList(); ArrayList addCondition1 = new ArrayList();//复检1 ArrayList addCondition2 = new ArrayList();//复检2 addCondition1.Add(strCondition); addCondition1.Add(value1); addCondition2.Add(strCondition); addCondition2.Add(value2); allCondition.Add(addCondition1); allCondition.Add(addCondition2); // PublicServer.GetDataTips("com.steering.lims.data.steer.FrmSteerRecheckDataManage.QueryChemAuditResultTips", //new Object[] { al, "1", "产销系统已预判不能修改!" }, ob);//判定状态位是否能修改 if (MessageUtil.ShowYesNoAndQuestion("是否确认新增复检记录?") == DialogResult.Yes) { all.Add(alUpdate); all.Add(add1); all.Add(add2); PublicServer.SetData("com.steering.lims.data.steer.FrmSteerRecheckDataManage.AddSteerChemRecheckResult", new Object[] { all, allCondition }, this.ob); QueryChemAuditResult(); QueryChemAuditResult_Log(); PublicSteer.ActiveOperateRow(ultraGrid3, new string[] { "SAMPLE_NO", "HEAT_NO" }, new string[] { strSAMPLE_NO, strHEAT_NO }); MessageUtil.ShowTips("新增成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } //查询已审核数据 private void QueryChemAuditResult_Log() { try { ArrayList arrayList = steerQueryBase1.GetQueryInfo("1"); string[] arr = this.ValidDataPurviewIds;//获取数据权限ID if (arr == null) { MessageUtil.ShowTips("无科室权限,请配置科室权限!"); return; } DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerRecheckDataManage.QueryChemAuditResult", new Object[] { arrayList, arr }, ob); if (dt == null || dt.Rows.Count == 0) { dataTable3.Rows.Clear(); dataTable4.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; } } private void ultraGrid3_AfterRowActivate(object sender, EventArgs e) { try { dataTable4.Rows.Clear(); ArrayList al = new ArrayList(); al.Add(ultraGrid3.ActiveRow.Cells["SAMPLE_NO"].Text.Trim()); al.Add(ultraGrid3.ActiveRow.Cells["HEAT_NO"].Text.Trim()); DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerRecheckDataManage.QueryChemAuditRecheckResult", new Object[] { al }, ob); if (dt == null || dt.Rows.Count < 3) { dataTable4.Rows.Clear(); return; } foreach (DataColumn dc in dt.Columns) { if (dc.ColumnName.IndexOf("ANA_") == 0 && dt.Rows[0][dc.ColumnName].ToString().Trim() != "") { DataRow dr = dataTable4.NewRow(); dr["CHK"] = "False"; dr["ELEMENTS"] = dc.ColumnName.Substring(4, 1) + dc.ColumnName.Substring(4).ToLower().Remove(0, 1); dr["START_VALUE"] = dt.Rows[0][dc.ColumnName].ToString().Trim(); dr["UPDATE_VALUE1"] = dt.Rows[1][dc.ColumnName].ToString().Trim(); dr["UPDATE_VALUE2"] = dt.Rows[2][dc.ColumnName].ToString().Trim(); dataTable4.Rows.Add(dr); } } foreach (UltraGridRow dr in ultraGrid4.Rows) { if (dr.Cells["START_VALUE"].Text.Trim() != dr.Cells["UPDATE_VALUE1"].Text.Trim() || dr.Cells["START_VALUE"].Text.Trim() != dr.Cells["UPDATE_VALUE2"].Text.Trim()) { dr.Appearance.BackColor = Color.LightGray; } } UltraGridColumn[] cols = new UltraGridColumn[] { ultraGrid4.DisplayLayout.Bands[0].Columns["CHK"], ultraGrid4.DisplayLayout.Bands[0].Columns["ELEMENTS"] }; PublicSteer.RefreshAndAutoSizeColumns(ultraGrid4, cols);//刷新Grid } catch (Exception ex) { MessageUtil.ShowWarning(ex.Message); return; } } //修改熔炼数据 private void UpdateSteerChemRecheckResult() { try { if (ultraTabControl1.SelectedTab.Index != 1) { MessageUtil.ShowWarning("只有选择复检记录页才能进行修改操作!"); return; } if (dataTable3 == null || dataTable3.Rows.Count == 0 || ultraGrid3.ActiveRow == null || ultraGrid3.ActiveRow.Activated == false) { 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(); string strID = ultraGrid3.ActiveRow.Cells["ID"].Text.Trim(); for (int i = 1; i < 3; i++) { ArrayList alDelete = new ArrayList(); alDelete.Add(strSAMPLE_NO + "F" + i); alDelete.Add(strHEAT_NO); PublicServer.GetDataTips("com.steering.lims.data.steer.FrmSteerRecheckDataManage.QueryChemAuditResultTips", new Object[] { alDelete, "11", "质保部已判定不能修改!" }, ob);//判定状态位是否能修改暂时用 } // for (int i = 1; i < 3; i++) // { // ArrayList alDelete = new ArrayList(); // alDelete.Add(strSAMPLE_NO + "F" + i); // alDelete.Add(strHEAT_NO); // PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult", //new Object[] { alDelete }, this.ob); // } //判定是否勾选了数据 string strCondition = "";//拼接SQL条件 string value1 = ""; string value2 = ""; ultraGrid4.UpdateData(); foreach (DataRow dr in dataTable4.Rows) { strCondition += ",ANA_" + dr["ELEMENTS"].ToString().ToUpper(); if (dr["UPDATE_VALUE1"].ToString().Trim() != "" && dr["UPDATE_VALUE2"].ToString().Trim() != "") { value1 += ",'" + dr["UPDATE_VALUE1"].ToString().Trim() + "'"; value2 += ",'" + dr["UPDATE_VALUE2"].ToString().Trim() + "'"; } else { MessageUtil.ShowWarning("元素" + dr["ELEMENTS"].ToString() + "复检值不完整!"); return; } } strCondition = strCondition.Remove(0, 1); value1 = value1.Remove(0, 1); value2 = value2.Remove(0, 1); ArrayList add1 = new ArrayList();//复检1 ArrayList add2 = new ArrayList();//复检2 //add1.Add(strCondition);//复检样1 add1.Add(strSAMPLE_NO + "F1"); //add1.Add(value1); add1.Add(strSAMPLE_NO); add1.Add(strHEAT_NO); add1.Add(strID); //add2.Add(strCondition);//复检样1 add2.Add(strSAMPLE_NO + "F2"); //add2.Add(value2); add2.Add(strSAMPLE_NO); add2.Add(strHEAT_NO); add2.Add(strID); ArrayList allCondition = new ArrayList(); ArrayList addCondition1 = new ArrayList();//复检1 ArrayList addCondition2 = new ArrayList();//复检2 addCondition1.Add(strCondition); addCondition1.Add(value1); addCondition2.Add(strCondition); addCondition2.Add(value2); allCondition.Add(addCondition1); allCondition.Add(addCondition2); ArrayList alDeletes = new ArrayList(); alDeletes.Add(strSAMPLE_NO + "F"); alDeletes.Add(strHEAT_NO); ArrayList all = new ArrayList(); all.Add(alDeletes);//先删除后新增 all.Add(add1); all.Add(add2); PublicServer.SetData("com.steering.lims.data.steer.FrmSteerRecheckDataManage.UpdateSteerChemRecheckResult", new Object[] { all, allCondition }, this.ob); //20160324修改先保存到检化验数据库再删除SQL server for (int i = 1; i < 3; i++) { ArrayList alDelete = new ArrayList(); alDelete.Add(strSAMPLE_NO + "F" + i); alDelete.Add(strHEAT_NO); PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult", new Object[] { alDelete }, this.ob); } QueryChemAuditResult_Log(); //QueryChemAuditResult(); PublicSteer.ActiveOperateRow(ultraGrid3, new string[] { "SAMPLE_NO", "HEAT_NO" }, new string[] { strSAMPLE_NO, strHEAT_NO }); MessageUtil.ShowTips("修改成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } //删除熔炼数据 private void DeleteSteerChemRecheckResult() { try { if (ultraTabControl1.SelectedTab.Index != 1) { MessageUtil.ShowWarning("只有选择复检记录页才能进行删除操作!"); return; } if (dataTable3 == null || dataTable3.Rows.Count == 0 || ultraGrid3.ActiveRow == null || ultraGrid3.ActiveRow.Activated == false) { 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(); for (int i = 1; i < 3; i++) { ArrayList alDelete = new ArrayList(); alDelete.Add(strSAMPLE_NO + "F" + i); alDelete.Add(strHEAT_NO); PublicServer.GetDataTips("com.steering.lims.data.steer.FrmSteerRecheckDataManage.QueryChemAuditResultTips", new Object[] { alDelete, "11", "质保部已判定不能删除!" }, ob);//判定状态位是否能修改暂时用 } // for (int i = 1; i < 3; i++) // { // ArrayList alDelete = new ArrayList(); // alDelete.Add(strSAMPLE_NO + "F" + i); // alDelete.Add(strHEAT_NO); // PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult", //new Object[] { alDelete }, this.ob); // } ArrayList al = new ArrayList(); al.Add("0"); al.Add(strSAMPLE_NO); al.Add(strHEAT_NO); al.Add(ultraGrid3.ActiveRow.Cells["ID"].Text.Trim()); ArrayList alDeletes = new ArrayList(); alDeletes.Add(strSAMPLE_NO + "F"); alDeletes.Add(strHEAT_NO); ArrayList all = new ArrayList(); all.Add(al); all.Add(alDeletes); PublicServer.SetData("com.steering.lims.data.steer.FrmSteerRecheckDataManage.DeleteSteerChemRecheckResult", new Object[] { all }, this.ob); //20160324修改先保存到检化验数据库再删除SQL server for (int i = 1; i < 3; i++) { ArrayList alDelete = new ArrayList(); alDelete.Add(strSAMPLE_NO + "F" + i); alDelete.Add(strHEAT_NO); PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult", new Object[] { alDelete }, this.ob); } QueryChemAuditResult_Log(); QueryChemAuditResult(); PublicSteer.ActiveOperateRow(ultraGrid1, new string[] { "SAMPLE_NO", "HEAT_NO" }, new string[] { strSAMPLE_NO, strHEAT_NO }); MessageUtil.ShowTips("删除成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } } }