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 Core.Mes.Client.Comm.Format; using System.Collections; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Server; namespace Core.StlMes.Client.SaleOrder { public delegate void PopupOrderCraftHandler(object sender, PopupOrderCraftArgs e); public partial class PopupOrderCraft : FrmBase { private IQueryable _queryableMscPlineStiTc; private SlmOrdDesignMscPlStiTcEntity _queryCondition = new SlmOrdDesignMscPlStiTcEntity(); public event PopupOrderCraftHandler PopupOrderCraftEvent; private bool _isOk = false; public PopupOrderCraft(SlmOrdDesignMscPlStiTcEntity queryCondition, OpeBase ob) { InitializeComponent(); ExceptionHelper.RegistException(); this.ob = ob; _queryCondition = queryCondition; _queryableMscPlineStiTc = ultraGrid2.Rows.AsQueryable().Where("Chk = 'True'"); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); GetMscPline(); GetMscPlSti(); } private void GetMscPline() { string strJSON = JSONFormat.Format(_queryCondition); DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderCraft.getMscPline", new object[] { strJSON }, ob); cmbMscPline.ComboBox.DataSource = dt; if (cmbMscPline.ComboBox.Items.Count > 0) { cmbMscPline.ComboBox.SelectedIndex = 0; cmbMscPline_CheckBox_CheckedChanged(null, null); } } private void GetMscPlSti() { string strJSON = JSONFormat.Format(_queryCondition); List listSource = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderCraft.getMscPlSti", new object[] { strJSON }, ob); mscPlStiEntityBindingSource.DataSource = listSource; if (listSource.Count == 0) { mscPlStiTcEntityBindingSource.Clear(); ultraLabel1.Text = "制程:无"; } } private void GetMscPlStiTc(SlmOrdDesignMscPlStiEntity mscPlSti) { String strJSON = JSONFormat.Format(mscPlSti); List listSource = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderCraft.getMscPlStiTc", new object[] { strJSON }, ob); mscPlStiTcEntityBindingSource.DataSource = listSource; } private void Save() { if (ultraGrid1.ActiveRow == null) { MessageUtil.ShowWarning("请选择全制程工序点信息!"); return; } else if (_queryableMscPlineStiTc.Count() == 0) { MessageUtil.ShowWarning("请选择全制程工序点-工艺参数信息(MPS)!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认保存?") == DialogResult.No) return; SlmOrdDesignMscPlStiEntity mscPlSti = (SlmOrdDesignMscPlStiEntity)ultraGrid1.ActiveRow.ListObject; PopupOrderMpsNo popupOrdMpsNo = new PopupOrderMpsNo(_queryCondition.OrdLnPk.ToString(), ob); ArrayList listMpsNo = new ArrayList(); if (popupOrdMpsNo.ShowDialog() == DialogResult.OK) { listMpsNo.Add(_queryCondition.OrdLnPk.ToString()); listMpsNo.Add(popupOrdMpsNo.TextBox1.Text.Trim()); } else { GetMscPlSti(); return; } ArrayList list = new ArrayList(); foreach (UltraGridRow row in _queryableMscPlineStiTc.ToArray()) { SlmOrdDesignMscPlStiTcEntity mscPlStiTcTmp = EntityHelper.CopyEntity(mscPlSti); SlmOrdDesignMscPlStiTcEntity mscPlStiTc = (SlmOrdDesignMscPlStiTcEntity)row.ListObject; mscPlStiTcTmp.CraftitemCode = mscPlStiTc.CraftitemCode.ToString(); mscPlStiTcTmp.CraftitemDesc = mscPlStiTc.CraftitemDesc.ToString(); mscPlStiTcTmp.OrdPk = _queryCondition.OrdPk.ToString(); mscPlStiTcTmp.OrdLnPk = _queryCondition.OrdLnPk.ToString(); mscPlStiTcTmp.UserName = UserInfo.GetUserName(); string strJSON = JSONFormat.Format(mscPlStiTcTmp); list.Add(strJSON); } ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderCraft.setMscPlStiTc", new object[] { list, listMpsNo }, ob); MessageUtil.ShowTips("保存成功!"); GetMscPlSti(); } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "查询": GetMscPlSti(); break; case "保存": Save(); break; case "确认": Ok(); break; case "关闭": this.Close(); break; } } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { SlmOrdDesignMscPlStiEntity mscPlSti = (SlmOrdDesignMscPlStiEntity)ultraGrid1.ActiveRow.ListObject; GetMscPlStiTc(mscPlSti); ultraLabel1.Text = "制程:生产产线[" + mscPlSti.MscPline.ToString() + "] 全程路径[" + mscPlSti.WholeBacklogDesc.ToString() + "]"; } private void ultraGrid2_CellChange(object sender, CellEventArgs e) { ultraGrid2.UpdateData(); } private void cmbMscPline_ComboBox_SelectionChangeCommitted(object sender, EventArgs e) { _queryCondition.MscPline = cmbMscPline.SelecteValue.ToString(); } private void cmbMscPline_CheckBox_CheckedChanged(object sender, EventArgs e) { if (cmbMscPline.Checked) { _queryCondition.MscPline = cmbMscPline.SelecteValue.ToString(); } else { _queryCondition.MscPline = ""; } } private void Ok() { if (isChoiceCraft() == false) { MessageUtil.ShowWarning("请至少维护一条工艺参数!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认?") == DialogResult.No) return; _isOk = true; this.Close(); } private bool isChoiceCraft() { string strJSON = JSONFormat.Format(_queryCondition); DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderCraft.getCraftCount", new object[] { strJSON }, ob); if (dt.Rows[0][0].ToString() == "0") { return false; } else { return true; } } private void PopupOrderCraft_FormClosing(object sender, FormClosingEventArgs e) { if (PopupOrderCraftEvent != null) { PopupOrderCraftArgs e2 = new PopupOrderCraftArgs(); if (_isOk) { e2.Result = "1"; } else { e2.Result = "0"; } PopupOrderCraftEvent(this, e2); } } private void PopupOrderCraft_Load(object sender, EventArgs e) { } } public class PopupOrderCraftArgs : EventArgs { private string _result = ""; public string Result { get { return _result; } set { _result = value; } } } }