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 FrmSteerDataManage : FrmBase { public FrmSteerDataManage() { 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; } private void FrmSteerDataManage_Load(object sender, EventArgs e) { InitColumns(); PublicSteer.ColumnsWidth(ultraGrid1, 0, 60); PublicSteer.ColumnsWidth(ultraGrid2, 0, 60); } private void InitColumns() { string[] chemMax = PublicSteer.chemMax.Split(' '); string[] chemMin = PublicSteer.chemMin.Split(' '); string[] arrColumnsBase = new string[] { "CHK", "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, new string[] { "CHK", "CHECK_SHIFT", "CHECK_CLASS" });//可编辑列 //ultraGrid1.DisplayLayout.Bands[0].Columns["CHECK_SHIFT"].EditorComponent = ultraCHECK_SHIFT; //ultraGrid1.DisplayLayout.Bands[0].Columns["CHECK_CLASS"].EditorComponent = ultraCHECK_CLASS; PublicSteer.setOtherColumnReadOnly(ultraGrid2, new string[] { "CHK", "UPDATE_VALUE" });//可编辑列 } public override void ToolBar_Click(object sender, string ToolbarKey) { //查询、确认、退出 switch (ToolbarKey) { case "Query": QueryChemAuditResult();//查询采集信息 break; case "Add": //AddChemAuditResult(); break; case "Update": UpdateChemAuditResult(); break; case "UpdateClass": UpdateChemAuditResult_Class(); break; case "Delete": DeleteChemAuditResult(); break; case "Audit": //CancelUpdateCheckConsignDetail(); break; case "Close": if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes) { this.Close(); } break; } } //查询已审核数据 private void QueryChemAuditResult() { try { ArrayList arrayList = steerQueryBase1.GetQueryInfo(); string[] arr = this.ValidDataPurviewIds;//获取数据权限ID if (arr == null) { MessageUtil.ShowTips("无科室权限,请配置科室权限!"); return; } DataTable dt = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.QueryChemAuditResult", new Object[] { arrayList, arr, chkCHECK_CLASS.Checked.ToString().ToUpper() }, 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.FrmSteerDataCollect.QueryChemAuditResultHeatSampleNo", new Object[] { al }, ob); //foreach (DataColumn dc in dt.Columns) //{ //if (dc.ColumnName.IndexOf("ANA_") == 0 && dt.Rows[0][dc.ColumnName].ToString().Trim() != "" && dc.ColumnName != "ANA_O" && dc.ColumnName != "ANA_N" && dc.ColumnName != "ANA_H") //{ //20160426修改 if (dt != null && dt.Rows.Count > 0) { foreach (DataColumn dc in dataTable1.Columns) { if (dc.ColumnName.IndexOf("ANA_") == 0 && dt.Columns.Contains(dc.ColumnName) && dc.ColumnName != "ANA_O" && dc.ColumnName != "ANA_N" && dc.ColumnName != "ANA_H") { 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_VALUE"] = ""; dataTable2.Rows.Add(dr); } } } //GridHelper.CopyDataToDatatable(dt, dataTable4, true);//把dt复制给dataTable //GridHelper.RefreshAndAutoSize(ultraGrid2);//刷新Grid 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 UpdateChemAuditResult() { try { if (dataTable1 == null || dataTable1.Rows.Count == 0) { MessageUtil.ShowWarning("请选择需要修改的数据!"); return; } //判定是否勾选了数据 string strCondition = "";//拼接SQL条件 string strCondition1 = ""; bool isUpdate = false; ultraGrid2.UpdateData(); //foreach (DataRow dr in dataTable2.Rows) //{ // //20160426修改 // if (dr["CHK"].ToString() == "True" && (dr["ELEMENTS"].ToString() == "Als" || dr["UPDATE_VALUE"].ToString().Trim() != "")) // { // isUpdate = true; // strCondition += ",ANA_" + dr["ELEMENTS"].ToString() + "='" + dr["UPDATE_VALUE"].ToString() + "'"; // } //} string strSAMPLE_NO = ultraGrid1.ActiveRow.Cells["SAMPLE_NO"].Text.Trim(); string strHEAT_NO = ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim(); if (!doQueryCxData(strHEAT_NO, strSAMPLE_NO)) { foreach (DataRow dr in dataTable2.Rows) { //20160426修改 if (dr["CHK"].ToString() == "True" && dr["ELEMENTS"].ToString() == "Als" && dr["UPDATE_VALUE"].ToString().Trim() != "") { isUpdate = true; strCondition = ",ANA_Als='" + dr["UPDATE_VALUE"].ToString() + "'"; } } } else { foreach (DataRow dr in dataTable2.Rows) { //20160426修改 if (dr["CHK"].ToString() == "True" && dr["UPDATE_VALUE"].ToString().Trim() != "") { isUpdate = true; strCondition += ",ANA_" + dr["ELEMENTS"].ToString() + "='" + dr["UPDATE_VALUE"].ToString() + "'"; } } } if (isUpdate == false) { MessageUtil.ShowWarning("没有勾选填写需要修改的数据!"); return; } strCondition = strCondition.Remove(0, 1); ArrayList alDelete = new ArrayList(); alDelete.Add(strSAMPLE_NO); alDelete.Add(strHEAT_NO); if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.Yes) { ArrayList alOperate = new ArrayList(); alOperate.Add(UserInfo.GetUserName());//操作人 alOperate.Add("0");//操作类型 alOperate.Add("0"); alOperate.Add(strSAMPLE_NO); alOperate.Add(strHEAT_NO); alOperate.Add(ultraGrid1.ActiveRow.Cells["ID"].Text.Trim()); ArrayList al = new ArrayList(); al.Add(strSAMPLE_NO); al.Add(strHEAT_NO); al.Add(ultraGrid1.ActiveRow.Cells["ID"].Text.Trim()); // 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.FrmSteerDataCollect.UpdateChemAuditResult", new Object[] { strCondition, al, alOperate }, this.ob); //20160324修改先保存到检化验数据库再删除SQL server // PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult", //new Object[] { alDelete }, this.ob);//删除质保数据 QueryChemAuditResult(); PublicSteer.ActiveOperateRow(ultraGrid1, new string[] { "SAMPLE_NO", "HEAT_NO" }, al.ToArray()); MessageUtil.ShowTips("修改成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } /// /// 查询产销是否同步产销成分 /// /// private bool doQueryCxData(string strHEAT_NO, string strSAMPLE_NO) { DataTable ds = PublicServer.GetData("com.steering.lims.data.steer.FrmSteerDataCollect.doQueryCxFlag", new object[] { strHEAT_NO, strSAMPLE_NO }, ob); if (ds.Rows[0][0].ToString().Equals("1")) { //MessageUtil.ShowTips(strHEAT_NO + "熔炼成分已同步产销,不允许操作数据!"); return false; } return true; } //修改熔炼数据 private void UpdateChemAuditResult_Class() { try { if (dataTable1 == null || dataTable1.Rows.Count == 0) { MessageUtil.ShowWarning("请选择需要修改的数据!"); return; } if (ultraCHECK_SHIFT.Text == "") { MessageUtil.ShowWarning("班次不能为空!"); return; } if (ultraCHECK_CLASS.Text == "") { MessageUtil.ShowWarning("班组不能为空!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认修改班次班组?") == DialogResult.Yes) { bool isAdd = false; ArrayList all = new ArrayList(); ArrayList alOperate = new ArrayList(); ultraGrid1.UpdateData(); foreach (DataRow dr in dataTable1.Rows) { if (dr["CHK"].ToString() == "True") { isAdd = true; alOperate = new ArrayList(); alOperate.Add(UserInfo.GetUserName());//操作人 alOperate.Add(ultraCHECK_SHIFT.Text.Trim());//操作类型 alOperate.Add(ultraCHECK_CLASS.Text.Trim()); alOperate.Add(dr["SAMPLE_NO"].ToString()); alOperate.Add(dr["HEAT_NO"].ToString()); all.Add(alOperate); } } if (isAdd == false) { MessageUtil.ShowWarning("请选择至少一条需要修改的数据!"); return; } PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.UpdateChemAuditResult_Class", new Object[] { all }, this.ob); QueryChemAuditResult(); //PublicSteer.ActiveOperateRow(ultraGrid1, new string[] { "SAMPLE_NO", "HEAT_NO" }, al.ToArray()); MessageUtil.ShowTips("修改班次班组成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } //修改熔炼数据 private void DeleteChemAuditResult() { try { if (dataTable1 == null || dataTable1.Rows.Count == 0 || ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Activated == false) { MessageUtil.ShowWarning("请点击选择需要删除的数据!"); return; } string strSAMPLE_NO = ultraGrid1.ActiveRow.Cells["SAMPLE_NO"].Text.Trim(); string strHEAT_NO = ultraGrid1.ActiveRow.Cells["HEAT_NO"].Text.Trim(); ArrayList alDelete = new ArrayList(); alDelete.Add(strSAMPLE_NO); alDelete.Add(strHEAT_NO); if (!doQueryCxData(strHEAT_NO, strSAMPLE_NO)) { return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.Yes) { ArrayList alOperate = new ArrayList(); alOperate.Add(UserInfo.GetUserName());//操作人 alOperate.Add("0");//操作类型 alOperate.Add("1"); alOperate.Add(strSAMPLE_NO); alOperate.Add(strHEAT_NO); alOperate.Add(ultraGrid1.ActiveRow.Cells["ID"].Text.Trim()); ArrayList al = new ArrayList(); al.Add(strSAMPLE_NO); al.Add(strHEAT_NO); al.Add(ultraGrid1.ActiveRow.Cells["ID"].Text.Trim()); // 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.FrmSteerDataCollect.DeleteChemAuditResult", new Object[] { al, alOperate }, this.ob); //20160324修改先保存到检化验数据库再删除SQL server // PublicServer.SetData("com.steering.lims.data.steer.FrmSteerDataCollect.DeleteZBResult", //new Object[] { alDelete }, this.ob);//删除质保数据 QueryChemAuditResult(); //PublicSteer.ActiveOperateRow(ultraGrid1, new string[] { "SAMPLE_NO", "HEAT_NO" }, al.ToArray()); MessageUtil.ShowTips("删除成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { PublicSteer.SelectRow(ultraGrid1); } } }