using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.PnCost.Models; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; 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; namespace Core.StlMes.Client.PnCost { public partial class frmBaseMetalGrade : FrmBase { #region 定义变量 public frmBaseMetalGrade() { InitializeComponent(); } #endregion #region 初始化 private void frmBaseMetalGrade_Load(object sender, EventArgs e) { //EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); ultraCheckEditor3.Checked = false; ultraTextEditor1.Enabled = false; } #endregion #region 方法 public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "Query": Query("query", "query"); break; case "Add": Add(); break; case "Update": Update(); break; case "Delete": Delete(); break; case "Resume": DoResume(); break; case "Close": this.Close(); break; } } /// 查询方法 /// /// 查询方法 /// private void Query(string strGang, string wuliao) { #region 条件验证 //钢种 string strChan = ""; if (ultraCheckEditor3.Checked)//钢种是否选择 { strChan = ultraTextEditor1.Text.Trim();//钢种 } #endregion DataTable data = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseMetalGrade.query", new object[] { strChan }, ob); GridHelper.CopyDataToDatatable(data, dataTable1, true); //GridHelper.RefreshAndAutoSize(ultraGrid1); //List data = EntityHelper.GetData( // "com.steering.pss.pncost.base.ComBaseMetalGrade.query", new object[] { strChan }, ob); //comBaseGradeEntityBindingSource.DataSource = data; if (strGang == "query") { if (ultraGrid1.Rows.Count == 0) { return; } this.ultraGrid1.Rows[0].Activate();//激活行 带出右边表格数据 ultraGrid1RowActivate(); } else { for (int i = 0; i < ultraGrid1.Rows.Count; i++) { if (ultraGrid1.Rows[i].Cells["GRADECODE"].Value.ToString() == strGang) { this.ultraGrid1.Rows[i].Activate();//激活行 带出右边表格数据 } } List datanew = EntityHelper.GetData( "com.steering.pss.pncost.base.ComBaseMetalGrade.rightquery", new object[] { strGang }, ob); costBaseMetalRGradeEntityBindingSource.DataSource = datanew; for (int i = 0; i < ultraGrid2.Rows.Count; i++) { if (ultraGrid2.Rows[i].Cells["VALIDFLAG"].Value.ToString() == "无效") { ultraGrid2.Rows[i].Appearance.ForeColor = Color.Red; } if (ultraGrid2.Rows[i].Cells["ITEMCODE"].Value.ToString() == wuliao) { ultraGrid2.Rows[i].Activate();//激活行 带出右边表格数据 } } if (ultraGrid2.ActiveRow != null) { UltraGridRow ugr = ultraGrid2.ActiveRow; ultraTextEditor3.Text = ugr.Cells["ITEMNAME"].Value.ToString(); ultraTextEditor3.Tag = ugr.Cells["ITEMCODE"].Value.ToString(); ultraNumericEditor1.Value = ugr.Cells["INPUTAMOUNT"].Value.ToString(); ultraTextEditor2.Text = ugr.Cells["MEMO"].Value.ToString(); } } } /// 获取左侧数据响应右侧 /// /// 获取左侧数据响应右侧 /// private void ultraGrid1RowActivate() { if (ultraGrid1.Rows.Count == 0) { return; } if (ultraGrid1.ActiveRow != null) { UltraGridRow ugr = ultraGrid1.ActiveRow; string strGang = ultraGrid1.ActiveRow.Cells["GRADECODE"].Value.ToString(); List data = EntityHelper.GetData( "com.steering.pss.pncost.base.ComBaseMetalGrade.rightquery", new object[] { strGang }, ob); costBaseMetalRGradeEntityBindingSource.DataSource = data; if (ultraGrid2.Rows.Count == 0) { return; } this.ultraGrid2.Rows[0].Activate();//激活行 带出右边表格数据 ultraGrid2RowActivate(); } } /// 获取数据填写到编辑栏 /// /// 获取数据填写到编辑栏 /// private void ultraGrid2RowActivate() { if (ultraGrid2.Rows.Count == 0) { return; } for (int i = 0; i < ultraGrid2.Rows.Count; i++) { if (ultraGrid2.Rows[i].Cells["VALIDFLAG"].Value.ToString() == "无效") { ultraGrid2.Rows[i].Appearance.ForeColor = Color.Red; } } if (ultraGrid2.ActiveRow != null) { UltraGridRow ugr = ultraGrid2.ActiveRow; ultraTextEditor3.Text = ugr.Cells["ITEMNAME"].Value.ToString(); ultraTextEditor3.Tag = ugr.Cells["ITEMCODE"].Value.ToString(); ultraNumericEditor1.Value = ugr.Cells["INPUTAMOUNT"].Value.ToString(); ultraTextEditor2.Text = ugr.Cells["MEMO"].Value.ToString(); } } /// 新增方法 /// /// 新增方法 /// private void Add() { string strGang = ""; string wuliao = ""; try { #region 验证输入信息 //钢种 if (ultraGrid1.Rows.Count == 0) { MessageUtil.ShowWarning("钢种数据为空,无法新增!"); return; } strGang = ultraGrid1.ActiveRow.Cells["GRADECODE"].Value.ToString(); //合金物料 wuliao = ultraTextEditor3.Tag.ToString2(); //投入量 if (ultraNumericEditor1.Value.ToString2() == "0.00")//投入量是否输入 { MessageUtil.ShowWarning("请输入投入量!"); return; } DataTable dt = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseMetalGrade.queryNum", new Object[] { strGang, wuliao }, ob); if (dt.Rows[0][0].ToString() == "1") { MessageUtil.ShowWarning("输入的钢种与合金物料重复!,请重新输入"); return; } if (MessageBox.Show("是否确认新增?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } #endregion CostBaseMetalRGradeEntity parm = new CostBaseMetalRGradeEntity(); parm.Gradecode = strGang; parm.ItemCode = ultraTextEditor3.Tag.ToString2(); parm.ItemName = ultraTextEditor3.Text.ToString2(); parm.InputAmount = ultraNumericEditor1.Value == null ? 0 : decimal.Parse(ultraNumericEditor1.Value.ToString()); parm.Memo = ultraTextEditor2.Text.ToString2(); parm.CreateName = this.UserInfo.GetUserName(); string JsonStr = JSONFormat.Format(parm); ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseMetalGrade.insert", new object[] { JsonStr }, ob); } catch (Exception ex) { MessageUtil.ShowError("新增失败!'" + ex + "'"); return; } MessageUtil.ShowTips("新增成功!"); #region 新增后定位 Query(strGang, wuliao); #endregion } /// 修改方法 /// /// 修改方法 /// private void Update() { string strGang = ""; string wuliao = ""; try { #region 验证信息 UltraGridRow ugr = ultraGrid2.ActiveRow; if (ugr == null) { MessageUtil.ShowWarning("请选择你要修改的记录!"); return; } if (ugr.Cells["VALIDFLAG"].Value.ToString() != "有效") { MessageUtil.ShowWarning("数据无效,无法修改!"); return; } //投入量 if (ultraNumericEditor1.Value.ToString2() == "0.00")//投入量是否输入 { MessageUtil.ShowWarning("请输入投入量!"); return; } //钢种 strGang = ultraGrid1.ActiveRow.Cells["GRADECODE"].Value.ToString(); //合金物料 wuliao = ultraTextEditor3.Tag.ToString2(); if (ultraTextEditor3.Tag.ToString2() != ultraGrid2.ActiveRow.Cells["ITEMCODE"].Value.ToString()) { DataTable dt = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseMetalGrade.queryNum", new Object[] { strGang, wuliao }, ob); if (dt.Rows[0][0].ToString() == "1") { MessageUtil.ShowWarning("输入的钢种与合金物料重复!,请重新输入"); return; } } if (MessageBox.Show("是否确认修改?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } #endregion string hejin = ultraGrid2.ActiveRow.Cells["ITEMCODE"].Value.ToString(); CostBaseMetalRGradeEntity parm = new CostBaseMetalRGradeEntity(); parm.Gradecode = ultraGrid1.ActiveRow.Cells["GRADECODE"].Value.ToString(); parm.ItemCode = ultraTextEditor3.Tag.ToString2(); parm.ItemName = ultraTextEditor3.Text.ToString2(); parm.InputAmount = ultraNumericEditor1.Value == null ? 0 : decimal.Parse(ultraNumericEditor1.Value.ToString()); parm.Memo = ultraTextEditor2.Text.ToString2(); parm.UpdateName = this.UserInfo.GetUserName(); string JsonStr = JSONFormat.Format(parm); ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseMetalGrade.update", new object[] { JsonStr, hejin }, ob); } catch (Exception ex) { MessageUtil.ShowError("修改失败!'" + ex + "'"); return; } MessageUtil.ShowTips("修改成功!"); Query(strGang, wuliao); } /// 删除方法 /// /// 删除方法 /// private void Delete() { string strGang = ""; string wuliao = ""; try { #region 删除选定信息验证 UltraGridRow row = this.ultraGrid2.ActiveRow;//定位选定行 if (row == null || row.Index < 0) { MessageUtil.ShowWarning("请选择需要作废的数据行!"); return; } //是否已经是无效方案 if (row.Cells["VALIDFLAG"].Value.ToString() != "有效") { MessageUtil.ShowWarning("选择的数据已经作废!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认作废数据?") == System.Windows.Forms.DialogResult.No) { return; } strGang = row.Cells["GRADECODE"].Value.ToString(); wuliao = row.Cells["ITEMCODE"].Value.ToString(); #endregion CostBaseMetalRGradeEntity parm = new CostBaseMetalRGradeEntity(); parm.Gradecode = row.Cells["GRADECODE"].Value.ToString(); parm.ItemCode = row.Cells["ITEMCODE"].Value.ToString(); parm.ItemName = row.Cells["ITEMNAME"].Value.ToString(); parm.UpdateName = this.UserInfo.GetUserName(); parm.DeleteName = this.UserInfo.GetUserName(); string JsonStr = JSONFormat.Format(parm); ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseMetalGrade.delete", new object[] { JsonStr }, ob); } catch (Exception ex) { MessageUtil.ShowError("删除失败!'" + ex.Message + "'"); return; } MessageUtil.ShowTips("删除成功!"); Query(strGang, wuliao); } /// 恢复方法 /// /// 恢复方法 /// private void DoResume() { string strGang = ""; string wuliao = ""; try { #region 恢复选定信息验证 UltraGridRow row = this.ultraGrid2.ActiveRow;//定位选定行 if (row == null || row.Index < 0) { MessageUtil.ShowWarning("请选择需要恢复的数据行!"); return; } //是否已经是无效方案 if (row.Cells["VALIDFLAG"].Value.ToString() != "无效") { MessageUtil.ShowWarning("选择的数据是有效数据!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认恢复数据?") == System.Windows.Forms.DialogResult.No) { return; } strGang = row.Cells["GRADECODE"].Value.ToString(); wuliao = row.Cells["ITEMCODE"].Value.ToString(); #endregion CostBaseMetalRGradeEntity parm = new CostBaseMetalRGradeEntity(); parm.Gradecode = row.Cells["GRADECODE"].Value.ToString(); parm.ItemCode = row.Cells["ITEMCODE"].Value.ToString(); parm.ItemName = row.Cells["ITEMNAME"].Value.ToString(); parm.UpdateName = this.UserInfo.GetUserName(); string JsonStr = JSONFormat.Format(parm); ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseMetalGrade.resume", new object[] { JsonStr }, ob); } catch (Exception ex) { MessageUtil.ShowError("恢复失败!'" + ex.Message + "'"); return; } MessageUtil.ShowTips("恢复成功!"); Query(strGang, wuliao); } #endregion #region 事件 /// 选中左侧Grid1行 /// /// 选中左侧Grid1行 /// private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { ultraGrid1RowActivate(); } /// 钢种条件 /// /// 钢种条件 /// private void ultraCheckEditor3_CheckedChanged(object sender, EventArgs e) { ultraTextEditor1.Enabled = this.ultraCheckEditor3.Checked; } /// 弹出层选择 /// /// 弹出层选择 /// private void ultraTextEditor3_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { frmPurMat fpm = new frmPurMat(ob); if (fpm.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ultraTextEditor3.Text = fpm.MatName; ultraTextEditor3.Tag = fpm.MatCode; } } /// 选中右侧Grid行 /// /// 选中右侧Grid行 /// private void ultraGrid2_AfterRowActivate(object sender, EventArgs e) { ultraGrid2RowActivate(); } #endregion } }