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 Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Tool; using System.Collections; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; namespace Core.StlMes.Client.Lims.Data.PipeAndOutdec { public partial class WinBaseChemStdSteelSelect_Temp : FrmBase { private string strCHECK_NO; public string StrCHECK_NO { get { return strCHECK_NO; } set { strCHECK_NO = value; } } private string strSAMPLE_NAME;//试样名称 public string StrSAMPLE_NAME { get { return strSAMPLE_NAME; } set { strSAMPLE_NAME = value; } } private string strSTEEL_NO; public string StrSTEEL_NO { get { return strSTEEL_NO; } set { strSTEEL_NO = value; } } public WinBaseChemStdSteelSelect_Temp() { InitializeComponent(); } public WinBaseChemStdSteelSelect_Temp(OpeBase ob) { this.ob = ob; InitializeComponent(); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); //ultraGrid5.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.Default; ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; ultraGridSC.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; ultraGrid4.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; ultraGrid5.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; } private void WinBaseChemStdSteelSelect_Temp_Load(object sender, EventArgs e) { InitColumns(); RefreshBaseData(); //RefreshUltraGridAutoSize(); txtSAMPLE_NAME.Text = strSAMPLE_NAME; } private void InitColumns() { string[] arrColumns = new string[] { "CHECK_NO", "SAMPLE_NAME", "ELEMENTS", "SAMPLE_NO", "STEEL_NO" }; string[] arrCaption = new string[] { "检验编号", "试样名称", "元素", "试样号", "钢号" }; PublicPipeAndOutdec.InitColumns(arrColumns, arrCaption, dataTable1, ultraGrid1, new string[] { "CHECK_NO", "SAMPLE_NAME", "STEEL_NO" }, true, new string[] { "SAMPLE_NAME" }); PublicPipeAndOutdec.InitColumns(arrColumns, arrCaption, dataTable2, ultraGrid2, new string[] { "SAMPLE_NO", "STEEL_NO" }, true, null); PublicPipeAndOutdec.InitColumns(arrColumns, arrCaption, dataTable3, ultraGrid3, new string[] { "SAMPLE_NO", "STEEL_NO" }, true, null); PublicPipeAndOutdec.InitColumns(arrColumns, arrCaption, dataTable4, ultraGrid4, new string[] { "CHECK_NO", "SAMPLE_NAME" }, false, null); PublicPipeAndOutdec.InitColumns(arrColumns, arrCaption, dataTable6, ultraGridSC, new string[] { "STEEL_NO" }, true, null);//"SAMPLE_NO", string[] chemMax = PublicPipeAndOutdec.chemMax.Split(' '); string[] chemMin = PublicPipeAndOutdec.chemMin.Split(' '); string[] arrColumnsBase = new string[] { "SAMPLE_NO", "STEEL_NO" }; string[] arrCaptionBase = new string[] { "试样号", "钢号" }; PublicPipeAndOutdec.InitColumns(arrColumnsBase, chemMax, arrCaptionBase, chemMin, dataTable5); PublicPipeAndOutdec.setOtherColumnReadOnly(ultraGrid5, chemMax);//可编辑列 } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key.ToString()) { case "Refresh": RefreshBaseData(); break; case "Confirm": SaveChemStdSteelSelect(); break; case "Clear": ClearNowRules(); break; case "Delete": DeleteChemStdSteelSelect(); break; case "Close": if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes) { this.Close(); } break; } } //刷新可选钢种和标钢 /// /// 刷新可选钢种和标钢 /// private void RefreshUltraGridAutoSize() { GridHelper.RefreshAndAutoSize(ultraGridSC); GridHelper.RefreshAndAutoSize(ultraGrid3); GridHelper.RefreshAndAutoSize(ultraGrid4); GridHelper.RefreshAndAutoSize(ultraGrid5); //UltraGridColumn[] cols5 = new UltraGridColumn[] { ultraGrid5.DisplayLayout.Bands[0].Columns["SAMPLE_NO"], ultraGrid5.DisplayLayout.Bands[0].Columns["STEEL_NO"] }; //GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid5, cols5); } //刷新可选钢种和标钢 /// /// 刷新可选钢种和标钢 /// private void RefreshBaseData() { QueryChemStdSteelSelect_Distinct_SC(); QueryChemStdSteelSelect_Distinct(); QueryChemStdSteelInfo(); } //查询钢种 /// /// 查询钢种 /// private void QueryChemStdSteelSelect_Distinct_SC() { try { DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseChemStdSteelSelect.QueryChemStdSteelSelect_Distinct", new Object[] { }, ob); if (dt == null || dt.Rows.Count == 0) { //MessageUtil.ShowWarning("找不到钢种!"); return; } GridHelper.CopyDataToDatatable(dt, dataTable6, true);//把dt复制给dataTable1 GridHelper.RefreshAndAutoSize(ultraGridSC); } catch { } } //查询钢种 /// /// 查询钢种 /// private void QueryChemStdSteelSelect_Distinct() { try { dataTable3.Rows.Clear(); dataTable4.Rows.Clear(); dataTable5.Rows.Clear(); //ArrayList arrayList = new ArrayList(); //arrayList.Add(strSTEEL_NO); //arrayList.Add(strSTEEL_NO); //arrayList.Add(strSTEEL_NO); //arrayList.Add(strCHECK_NO); DataTable dt = PublicServer.GetData("com.steering.lims.data.outdec.FrmOutdecChemDataManage.QueryChemStdSteelSelect_Distinct", new Object[] { }, ob); if (dt == null || dt.Rows.Count == 0) { //MessageUtil.ShowWarning("没有临时修约规则!"); return; } GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1 GridHelper.RefreshAndAutoSize(ultraGrid1); PublicPipeAndOutdec.ActiveOperateRow(ultraGrid1, "CHECK_NO", strCHECK_NO); } catch { } } //查询标钢 /// /// 查询标钢 /// private void QueryChemStdSteelInfo() { try { ArrayList al = new ArrayList(); al.Add(""); al.Add(""); al.Add(""); al.Add(""); DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseChemStdSteel.QueryChemStdSteelInfo", new Object[] { }, ob);//al if (dt == null || dt.Rows.Count == 0) { //MessageUtil.ShowWarning("没有可选标钢!"); return; } GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable1 GridHelper.RefreshAndAutoSize(ultraGrid2); } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } //查询标钢 /// /// 查询标钢 /// private void QueryChemStdSteelSelect() { try { if (ultraGrid1.ActiveRow != null && ultraGrid1.ActiveRow.Activated == true) { ArrayList al = new ArrayList(); al.Add(ultraGrid1.ActiveRow.Cells["CHECK_NO"].Text.Trim()); DataTable dt = PublicServer.GetData("com.steering.lims.data.outdec.FrmOutdecChemDataManage.QueryChemStdSteelSelect", new Object[] { al }, ob); dataTable3.Rows.Clear(); dataTable4.Rows.Clear(); dataTable5.Rows.Clear(); if (dt == null || dt.Rows.Count == 0) { //MessageUtil.ShowWarning("没有可选标钢!"); return; } DataRow newDr; foreach (DataRow dr in dt.Rows) { newDr = dataTable3.NewRow(); newDr["SAMPLE_NO"] = dr["SAMPLE_NO"]; newDr["STEEL_NO"] = dr["SELECT_STEEL_NO"]; dataTable3.Rows.Add(newDr); newDr = dataTable5.NewRow(); newDr["STEEL_NO"] = dr["SELECT_STEEL_NO"]; newDr["SAMPLE_NO"] = dr["SAMPLE_NO"]; foreach (DataColumn dc in dt.Columns) { if (dc.ColumnName.IndexOf("ANA_") == 0) { if (dataTable5.Columns.Contains(dc.ColumnName)) { if (dr[dc.ColumnName].ToString() == "0") { newDr[dc.ColumnName] = ""; } else { DataRow newDr4 = dataTable4.NewRow(); newDr4["ELEMENTS"] = dc.ColumnName.Substring(4, 1) + dc.ColumnName.Substring(4).ToLower().Remove(0, 1); newDr4["SAMPLE_NO"] = dr["SAMPLE_NO"]; newDr4["STEEL_NO"] = dr["SELECT_STEEL_NO"]; dataTable4.Rows.Add(newDr4); newDr[dc.ColumnName] = "√"; } } } } dataTable5.Rows.Add(newDr); } RefreshUltraGridAutoSize(); //GridHelper.RefreshAndAutoSize(ultraGrid2); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } //确认修约规则 /// /// 确认修约规则 /// private void SaveChemStdSteelSelect() { try { if (dataTable3.Rows.Count == 0 || dataTable4.Rows.Count == 0) { MessageUtil.ShowWarning("请挑选修约规则再保存!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认保存此修约规则?") == DialogResult.Yes) { //string strCHECK_NO = ultraGrid1.ActiveRow.Cells["CHECK_NO"].Text.Trim();//选择钢号 //string strSTEEL_NO = ultraGrid1.ActiveRow.Cells["STEEL_NO"].Text.Trim();//选择钢号 string strSELECT_NAME = UserInfo.GetUserName();//选择人 string strSELECT_TIME = DateTime.Now.ToString(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));//选择时间 string strSELECT_SHIFT = UserInfo.GetUserOrderText();//选择班次 string strSELECT_CLASS = UserInfo.GetUserGroupText();//选择班次 ArrayList alAll = new ArrayList(); ArrayList alDelete = new ArrayList(); ArrayList alSelect = new ArrayList();//存放参数集合 ArrayList alDeleteParams = new ArrayList(); ArrayList alSelectParams = new ArrayList();//存放单条参数 alDeleteParams.Add(strCHECK_NO); alDelete.Add(alDeleteParams); ultraGrid5.UpdateData(); foreach (DataRow dr in dataTable5.Rows) { //alSelect = new ArrayList(); alSelectParams = new ArrayList(); alSelectParams.Add(strCHECK_NO); alSelectParams.Add(txtSAMPLE_NAME.Text.Trim()); alSelectParams.Add(strSTEEL_NO); alSelectParams.Add(strSELECT_NAME); //alSelectParams.Add(strSELECT_TIME); alSelectParams.Add(strSELECT_SHIFT); alSelectParams.Add(strSELECT_CLASS); foreach (DataColumn dc in dataTable5.Columns) { if (dc.ColumnName == "STEEL_NO") { alSelectParams.Add(dr["STEEL_NO"].ToString()); } else if (dc.ColumnName == "SAMPLE_NO") { alSelectParams.Add(dr["SAMPLE_NO"].ToString()); } else { if (dr[dc.ColumnName].ToString() == "") { alSelectParams.Add("0"); } else { alSelectParams.Add("1"); } } } alSelect.Add(alSelectParams); } alAll.Add(alDelete); alAll.Add(alSelect); PublicServer.SetData("com.steering.lims.data.outdec.FrmOutdecChemDataManage.SaveChemStdSteelSelect", new Object[] { alAll }, this.ob); QueryChemStdSteelSelect_Distinct(); PublicPipeAndOutdec.ActiveOperateRow(ultraGrid1, "CHECK_NO", strCHECK_NO); MessageUtil.ShowTips("保存成功!"); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } //清空已选择修约规则 /// /// 清空已选择修约规则 /// private void ClearNowRules() { if (MessageUtil.ShowYesNoAndQuestion("是否确认清空界面已维护的修约规则?") == DialogResult.Yes) { dataTable3.Rows.Clear(); dataTable4.Rows.Clear(); dataTable5.Rows.Clear(); } } //删除已保存修约规则 /// /// 删除已保存修约规则 /// private void DeleteChemStdSteelSelect() { if (ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Activated == false) { MessageUtil.ShowWarning("请选择需要删除的数据!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认删除已维护的修约规则?") == DialogResult.Yes) { string strSTEEL_NO = ultraGrid1.ActiveRow.Cells["CHECK_NO"].Text.Trim(); ArrayList al = new ArrayList(); al.Add(strSTEEL_NO); PublicServer.SetData("com.steering.lims.data.outdec.FrmOutdecChemDataManage.DeleteChemStdSteelSelect", new Object[] { al }, this.ob); QueryChemStdSteelSelect_Distinct(); //PublicPipeAndOutdec.ActiveOperateRow(ultraGrid1, "STEEL_NO", strSTEEL_NO); MessageUtil.ShowTips("删除成功!"); } } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { QueryChemStdSteelSelect(); } private void btnConfirm_Click(object sender, EventArgs e) { //if (ultraGrid1.ActiveRow != null && ultraGrid1.ActiveRow.Activated == true && ultraGrid2.ActiveRow != null && ultraGrid2.ActiveRow.Activated == true) //{ foreach (DataRow dataRow in dataTable3.Rows) { if (dataRow["SAMPLE_NO"].ToString().Trim() == ultraGrid2.ActiveRow.Cells["SAMPLE_NO"].Text.Trim() && dataRow["STEEL_NO"].ToString().Trim() == ultraGrid2.ActiveRow.Cells["STEEL_NO"].Text.Trim()) { MessageUtil.ShowWarning("已经选择了此标钢!"); return; } } DataRow dr = dataTable3.NewRow(); dr["SAMPLE_NO"] = ultraGrid2.ActiveRow.Cells["SAMPLE_NO"].Text.Trim(); dr["STEEL_NO"] = ultraGrid2.ActiveRow.Cells["STEEL_NO"].Text.Trim(); dataTable3.Rows.Add(dr); dr = dataTable5.NewRow(); foreach (DataColumn dc in dataTable5.Columns) { if (dc.ColumnName == "SAMPLE_NO") { dr["SAMPLE_NO"] = ultraGrid2.ActiveRow.Cells["SAMPLE_NO"].Text.Trim(); } else if (dc.ColumnName == "STEEL_NO") { dr["STEEL_NO"] = ultraGrid2.ActiveRow.Cells["STEEL_NO"].Text.Trim(); } else { dr[dc.ColumnName] = ""; } } dataTable5.Rows.Add(dr); //} GridHelper.RefreshAndAutoSize(ultraGrid3); GridHelper.RefreshAndAutoSize(ultraGrid5); } private void btnCancel_Click(object sender, EventArgs e) { //ultraGrid1.ActiveRow != null && ultraGrid1.ActiveRow.Activated == true && if (ultraGrid3.ActiveRow != null && ultraGrid3.ActiveRow.Activated == true) { string strSAMPLE_NO = ultraGrid3.ActiveRow.Cells["SAMPLE_NO"].Text.Trim(); string strSTEEL_NO = ultraGrid3.ActiveRow.Cells["STEEL_NO"].Text.Trim(); dataTable3.Rows.RemoveAt(ultraGrid3.ActiveRow.Index); //取消选择则要在Grid5删掉 for (int i = 0; i < dataTable4.Rows.Count; i++) { if (dataTable4.Rows[i]["SAMPLE_NO"].ToString().Trim() == strSAMPLE_NO && dataTable4.Rows[i]["STEEL_NO"].ToString().Trim() == strSTEEL_NO) { dataTable4.Rows.Remove(dataTable4.Rows[i]); i--; } } //取消选择则要在Grid5删掉 foreach (DataRow dr in dataTable5.Rows) { if (dr["SAMPLE_NO"].ToString().Trim() == strSAMPLE_NO && dr["STEEL_NO"].ToString().Trim() == strSTEEL_NO) { dataTable5.Rows.Remove(dr); return; } } } } private void ultraGrid5_CellChange(object sender, CellEventArgs e) { } private void ultraGrid5_ClickCell(object sender, ClickCellEventArgs e) { if (PublicPipeAndOutdec.chemMax.IndexOf(e.Cell.Column.Key) >= 0) { if (e.Cell.Text.Trim() == "") { e.Cell.Value = "√"; //判断其他行是否有一样选择的元素没有则新增有则提示 foreach (DataRow drow in dataTable4.Rows) { if ("ANA_" + drow["ELEMENTS"].ToString().ToUpper() == e.Cell.Column.Key) { e.Cell.Value = ""; MessageUtil.ShowWarning("其他标钢已经选择了此元素!"); return; } } DataRow dr = dataTable4.NewRow(); dr["ELEMENTS"] = e.Cell.Column.Header.Caption.Trim();//e.Cell.Column.Key.Substring(0, 1) + e.Cell.Column.Key.ToLower().Remove(0, 1); dr["SAMPLE_NO"] = e.Cell.Row.Cells["SAMPLE_NO"].Text.Trim(); dr["STEEL_NO"] = e.Cell.Row.Cells["STEEL_NO"].Text.Trim(); dataTable4.Rows.Add(dr); GridHelper.RefreshAndAutoSize(ultraGrid4); } else { e.Cell.Value = ""; //取消选择则要在Grid4删掉 foreach (DataRow dr in dataTable4.Rows) { if ("ANA_" + dr["ELEMENTS"].ToString().ToUpper() == e.Cell.Column.Key && dr["SAMPLE_NO"].ToString().Trim() == e.Cell.Row.Cells["SAMPLE_NO"].Text.Trim() && dr["STEEL_NO"].ToString().Trim() == e.Cell.Row.Cells["STEEL_NO"].Text.Trim()) { dataTable4.Rows.Remove(dr); return; } } } } } //查询生产修约规则 /// /// 查询生产修约规则 /// private void QueryChemStdSteelSelect_SC() { try { if (ultraGridSC.ActiveRow != null && ultraGridSC.ActiveRow.Activated == true) { ArrayList al = new ArrayList(); al.Add(ultraGridSC.ActiveRow.Cells["STEEL_NO"].Text.Trim()); DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseChemStdSteelSelect.QueryChemStdSteelSelect", new Object[] { al }, ob); dataTable3.Rows.Clear(); dataTable4.Rows.Clear(); dataTable5.Rows.Clear(); if (dt == null || dt.Rows.Count == 0) { //MessageUtil.ShowWarning("没有可选标钢!"); return; } DataRow newDr; foreach (DataRow dr in dt.Rows) { newDr = dataTable3.NewRow(); newDr["SAMPLE_NO"] = dr["SAMPLE_NO"]; newDr["STEEL_NO"] = dr["SELECT_STEEL_NO"]; dataTable3.Rows.Add(newDr); newDr = dataTable5.NewRow(); newDr["STEEL_NO"] = dr["SELECT_STEEL_NO"]; newDr["SAMPLE_NO"] = dr["SAMPLE_NO"]; foreach (DataColumn dc in dt.Columns) { if (dc.ColumnName.IndexOf("ANA_") == 0) { if (dataTable5.Columns.Contains(dc.ColumnName)) { if (dr[dc.ColumnName].ToString() == "0") { newDr[dc.ColumnName] = ""; } else { DataRow newDr4 = dataTable4.NewRow(); newDr4["ELEMENTS"] = dc.ColumnName.Substring(4, 1) + dc.ColumnName.Substring(4).ToLower().Remove(0, 1); newDr4["SAMPLE_NO"] = dr["SAMPLE_NO"]; newDr4["STEEL_NO"] = dr["SELECT_STEEL_NO"]; dataTable4.Rows.Add(newDr4); newDr[dc.ColumnName] = "√"; } } } } dataTable5.Rows.Add(newDr); } RefreshUltraGridAutoSize(); //GridHelper.RefreshAndAutoSize(ultraGrid2); } } catch (Exception e) { MessageUtil.ShowWarning(e.Message); return; } } private void ultraGridSC_Click(object sender, EventArgs e) { if (chkIS_SC.Checked) { QueryChemStdSteelSelect_SC(); } } } }