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 frmBaseBatching : FrmBase { #region 定义变量 public frmBaseBatching() { InitializeComponent(); } #endregion #region 初始化 private void frmBaseBatching_Load(object sender, EventArgs e) { EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); LoadData(); ultraCheckEditor1.Checked = false; ultraTextEditor1.Enabled = false; ultraCheckEditor3.Checked = false; ultraComboEditor2.Enabled = false; } /// 绑定产线 /// /// 绑定产线 /// private void LoadData() { DataTable dt = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseBatching.queryPlineNew", new object[] { }, ob); ultraComboEditor2.DisplayMember = "PLINE_NAME"; ultraComboEditor2.ValueMember = "PLINE_CODE"; ultraComboEditor2.DataSource = dt; ultraComboEditor1.DisplayMember = "PLINE_NAME"; ultraComboEditor1.ValueMember = "PLINE_CODE"; ultraComboEditor1.DataSource = dt; } #endregion #region 方法 public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "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() { #region 条件验证 //配料方案 string strPei = ""; if (ultraCheckEditor1.Checked)//配料方案是否选择 { if (ultraTextEditor1.Text == "")//配料方案是否输入 { MessageUtil.ShowWarning("请输入配料方案!"); return; } else { strPei = ultraTextEditor1.Text.Trim();//配料方案 } } //产线 string strChan = ""; if (ultraCheckEditor3.Checked)//产线是否选择 { strChan = ultraComboEditor2.Text;//产线 } #endregion List data = EntityHelper.GetData( "com.steering.pss.pncost.base.ComBaseBatching.query", new object[] { strPei, strChan }, ob); costBaseBatchingEntityBindingSource.DataSource = data; if (ultraGrid1.Rows.Count == 0) { return; } for (int i = 0; i < ultraGrid1.Rows.Count; i++) { if (ultraGrid1.Rows[i].Cells["VALIDFLAG"].Value.ToString() == "无效") { ultraGrid1.Rows[i].Appearance.ForeColor = Color.Red; } } this.ultraGrid1.Rows[0].Activate(); RowActivate(); } /// 获取数据填写到编辑栏 /// /// 获取数据填写到编辑栏 /// private void RowActivate() { if (ultraGrid1.Rows.Count == 0) { return; } if (ultraGrid1.ActiveRow != null) { ultraTextEditor4.Text = ultraGrid1.ActiveRow.Cells["BATCHINGNAME"].Value.ToString(); ultraNumericEditor1.Value = ultraGrid1.ActiveRow.Cells["MATERIEL"].Value.ToString(); ultraComboEditor1.Value = ultraGrid1.ActiveRow.Cells["PLINECODE"].Value.ToString(); ultraTextEditor2.Text = ultraGrid1.ActiveRow.Cells["MEMO"].Value.ToString(); if (ultraGrid1.ActiveRow.Cells["DefVal"].Value.ToString().Equals("是")) { ultraDEF_VAL.Checked = true; } else { ultraDEF_VAL.Checked = false; } } } /// 新增方法 /// /// 新增方法 /// private void Add() { string BatchingName = ""; try { #region 验证输入信息 //配料方案 if (ultraTextEditor4.Text == "")//配料方案是否输入 { MessageUtil.ShowWarning("请输入配料方案!"); return; } //铁水 if (ultraNumericEditor1.Value.ToString2() == "0.00")//铁水是否输入 { MessageUtil.ShowWarning("请输入铁水!"); return; } //产线 if (ultraComboEditor1.Text == "")//产线是否输入 { MessageUtil.ShowWarning("请选择产线!"); return; } DataTable dt = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseBatching.queryNum", new Object[] { ultraTextEditor4.Text.Trim().ToString2(), ultraComboEditor1.Text.Trim().ToString2() }, ob); if (dt.Rows[0][0].ToString() == "1") { MessageUtil.ShowWarning("输入的配料方案与产线重复!请重新输入"); return; } if (ultraDEF_VAL.Checked) { DataTable dt1 = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseBatching.queryNum1", new Object[] { ultraComboEditor1.Text.Trim().ToString2() }, ob); if (dt1.Rows[0][0].ToString() == "1") { MessageUtil.ShowWarning("输入的产线已有默认配料方案!请重新输入"); return; } } if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == System.Windows.Forms.DialogResult.No) { return; } #endregion BatchingName = ultraTextEditor4.Text.Trim(); CostBaseBatchingEntity parm = new CostBaseBatchingEntity(); parm.BatchingName = ultraTextEditor4.Text.Trim(); parm.Materiel = ultraNumericEditor1.Value == null ? 0 : decimal.Parse(ultraNumericEditor1.Value.ToString()); parm.PlineCode = ultraComboEditor1.Value.ToString2(); parm.PlineName = ultraComboEditor1.Text; parm.Memo = ultraTextEditor2.Text.ToString2(); parm.CreateName = this.UserInfo.GetUserName(); if (ultraDEF_VAL.Checked) { parm.DefVal = "1"; } else { parm.DefVal = "0"; } DataTable dtcode = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseBatching.querycodeNum", new Object[] { ultraTextEditor4.Text.Trim().ToString2() }, ob); if (dtcode.Rows.Count != 0) { parm.BatchingCode = dtcode.Rows[0][0].ToString(); string JsonStr = JSONFormat.Format(parm); ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseBatching.insertnew", new object[] { JsonStr }, ob); } else { string JsonStr = JSONFormat.Format(parm); ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseBatching.insert", new object[] { JsonStr }, ob); } } catch (Exception ex) { MessageUtil.ShowError("新增失败!'" + ex.Message + "'"); return; } MessageUtil.ShowTips("新增成功"); Query(); for (int i = 0; i < ultraGrid1.Rows.Count; i++) { if (ultraGrid1.Rows[i].Cells["BATCHINGNAME"].Value.ToString() == BatchingName) { ultraGrid1.Rows[i].Activate(); ultraTextEditor4.Text = ultraGrid1.ActiveRow.Cells["BATCHINGNAME"].Value.ToString(); ultraNumericEditor1.Value = ultraGrid1.ActiveRow.Cells["MATERIEL"].Value.ToString(); ultraComboEditor1.Value = ultraGrid1.ActiveRow.Cells["PLINECODE"].Value.ToString(); ultraTextEditor2.Text = ultraGrid1.ActiveRow.Cells["MEMO"].Value.ToString(); } } } /// 修改方法 /// /// 修改方法 /// private void Update() { UltraGridRow ugr = ultraGrid1.ActiveRow; string stringnew = ""; try { #region 验证信息 if (ugr == null) { MessageUtil.ShowWarning("请选择你要修改的记录!"); return; } if (ugr.Cells["VALIDFLAG"].Value.ToString() == "无效") { MessageUtil.ShowWarning("数据无效,无法修改!"); return; } //配料方案 if (ultraTextEditor4.Text.Trim() == "")//配料方案是否输入 { MessageUtil.ShowWarning("请输入配料方案!"); return; } //铁水 if (ultraNumericEditor1.Value.ToString2() == "0.00")//铁水是否输入 { MessageUtil.ShowWarning("请输入铁水!"); return; } //产线 if (ultraComboEditor1.Text == "")//产线是否输入 { MessageUtil.ShowWarning("请选择产线!"); return; } if (ultraComboEditor1.Text != ugr.Cells["PLINENAME"].Value.ToString() || ugr.Cells["BATCHINGNAME"].Value.ToString() != ultraTextEditor4.Text.Trim()) { DataTable dt = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseBatching.queryNum", new Object[] { ultraTextEditor4.Text.Trim(), ultraComboEditor1.Text.Trim().ToString2() }, ob); if (dt.Rows[0][0].ToString() == "1") { MessageUtil.ShowWarning("输入的配料方案与产线重复!,请重新输入!"); return; } } if (ultraDEF_VAL.Checked) { DataTable dt1 = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseBatching.queryNum2", new Object[] { ultraTextEditor4.Text.Trim().ToString2(), ultraComboEditor1.Text.Trim().ToString2() }, ob); if (dt1.Rows[0][0].ToString() == "1") { MessageUtil.ShowWarning("输入的产线已有默认配料方案!请重新输入"); return; } } if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == System.Windows.Forms.DialogResult.No) { return; } #endregion stringnew = ultraTextEditor4.Text.Trim(); CostBaseBatchingEntity parm = new CostBaseBatchingEntity(); parm.BatchingName = ultraTextEditor4.Text.Trim(); parm.Materiel = ultraNumericEditor1.Value == null ? 0 : decimal.Parse(ultraNumericEditor1.Value.ToString()); parm.PlineCode = ultraComboEditor1.Value.ToString2(); parm.PlineName = ultraComboEditor1.Text; parm.Memo = ultraTextEditor2.Text.ToString2(); parm.UpdateName = this.UserInfo.GetUserName(); if (ultraDEF_VAL.Checked) { parm.DefVal = "1"; } else { parm.DefVal = "0"; } DataTable dtcode = ServerHelper.GetData("com.steering.pss.pncost.base.ComBaseBatching.querycodeNum", new Object[] { ultraTextEditor4.Text.Trim().ToString2() }, ob); if (dtcode.Rows.Count == 0)// { string JsonStr = JSONFormat.Format(parm); ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseBatching.updatenew", new object[] { JsonStr, ugr.Cells["BATCHINGCODE"].Value.ToString(), ugr.Cells["PLINECODE"].Value.ToString() }, ob); } else//修改后的方案存在 { parm.BatchingCode = dtcode.Rows[0][0].ToString(); string JsonStr = JSONFormat.Format(parm); ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseBatching.update", new object[] { JsonStr, ugr.Cells["BATCHINGCODE"].Value.ToString(), ugr.Cells["PLINECODE"].Value.ToString() }, ob); } } catch (Exception ex) { MessageUtil.ShowError("修改失败!'" + ex.Message + "'"); return; } MessageUtil.ShowTips("修改成功!"); Query(); for (int i = 0; i < ultraGrid1.Rows.Count; i++) { if (ultraGrid1.Rows[i].Cells["BATCHINGNAME"].Value.ToString() == stringnew) { ultraGrid1.Rows[i].Activate(); ultraTextEditor4.Text = ultraGrid1.ActiveRow.Cells["BATCHINGNAME"].Value.ToString(); ultraNumericEditor1.Value = ultraGrid1.ActiveRow.Cells["MATERIEL"].Value.ToString(); ultraComboEditor1.Value = ultraGrid1.ActiveRow.Cells["PLINECODE"].Value.ToString(); ultraTextEditor2.Text = ultraGrid1.ActiveRow.Cells["MEMO"].Value.ToString(); } } } /// 删除方法 /// /// 删除方法 /// private void Delete() { UltraGridRow row = this.ultraGrid1.ActiveRow;//定位选定行 string stringnew = ""; string plinecode = ""; try { #region 删除选定信息验证 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; } #endregion stringnew = row.Cells["BATCHINGCODE"].Value.ToString(); plinecode = row.Cells["PLINECODE"].Value.ToString(); CostBaseBatchingEntity parm = new CostBaseBatchingEntity(); parm.BatchingCode = row.Cells["BATCHINGCODE"].Value.ToString(); parm.PlineCode = row.Cells["PLINECODE"].Value.ToString(); parm.DeleteName = this.UserInfo.GetUserName(); string JsonStr = JSONFormat.Format(parm); ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseBatching.delete", new object[] { JsonStr }, ob); } catch (Exception ex) { MessageUtil.ShowError("删除失败!'" + ex.Message + "'"); return; } MessageUtil.ShowTips("删除成功!"); Query(); for (int i = 0; i < ultraGrid1.Rows.Count; i++) { if (ultraGrid1.Rows[i].Cells["BATCHINGCODE"].Value.ToString() == stringnew && ultraGrid1.Rows[i].Cells["PLINECODE"].Value.ToString() == plinecode) { ultraGrid1.Rows[i].Activate(); ultraTextEditor4.Text = ultraGrid1.ActiveRow.Cells["BATCHINGNAME"].Value.ToString(); ultraNumericEditor1.Value = ultraGrid1.ActiveRow.Cells["MATERIEL"].Value.ToString(); ultraComboEditor1.Value = ultraGrid1.ActiveRow.Cells["PLINECODE"].Value.ToString(); ultraTextEditor2.Text = ultraGrid1.ActiveRow.Cells["MEMO"].Value.ToString(); } } } /// 恢复方法 /// /// 恢复方法 /// private void DoResume() { UltraGridRow row = this.ultraGrid1.ActiveRow;//定位选定行 string stringnew = ""; string plinecode = ""; try { #region 删除选定信息验证 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; } #endregion stringnew = row.Cells["BATCHINGCODE"].Value.ToString(); plinecode = row.Cells["PLINECODE"].Value.ToString(); CostBaseBatchingEntity parm = new CostBaseBatchingEntity(); parm.BatchingCode = row.Cells["BATCHINGCODE"].Value.ToString(); parm.PlineCode = row.Cells["PLINECODE"].Value.ToString(); parm.UpdateName = this.UserInfo.GetUserName(); string JsonStr = JSONFormat.Format(parm); ServerHelper.SetData("com.steering.pss.pncost.base.ComBaseBatching.resume", new object[] { JsonStr }, ob); } catch (Exception ex) { MessageUtil.ShowError("恢复失败!'" + ex.Message + "'"); return; } MessageUtil.ShowTips("恢复成功!"); Query(); for (int i = 0; i < ultraGrid1.Rows.Count; i++) { if (ultraGrid1.Rows[i].Cells["BATCHINGCODE"].Value.ToString() == stringnew && ultraGrid1.Rows[i].Cells["PLINECODE"].Value.ToString() == plinecode) { ultraGrid1.Rows[i].Activate(); ultraTextEditor4.Text = ultraGrid1.ActiveRow.Cells["BATCHINGNAME"].Value.ToString(); ultraNumericEditor1.Value = ultraGrid1.ActiveRow.Cells["MATERIEL"].Value.ToString(); ultraComboEditor1.Value = ultraGrid1.ActiveRow.Cells["PLINECODE"].Value.ToString(); ultraTextEditor2.Text = ultraGrid1.ActiveRow.Cells["MEMO"].Value.ToString(); } } } #endregion #region 事件 /// 配料方案选择事件 /// /// 配料方案选择事件 /// private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e) { ultraTextEditor1.Enabled = this.ultraCheckEditor1.Checked; } /// 产线选择事件 /// /// 产线选择事件 /// private void ultraCheckEditor3_CheckedChanged(object sender, EventArgs e) { ultraComboEditor2.Enabled = this.ultraCheckEditor3.Checked; } /// 选中行,编辑处数据 /// /// 选中行,编辑处数据 /// private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { RowActivate(); } #endregion } }