using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using Core.StlMes.Client.SaleOrder.BLL; using CoreFS.CA06; using Core.Mes.Client.Comm.Tool; using Infragistics.Win.UltraWinGrid; using Core.StlMes.Client.SaleOrder.Dialog; namespace Core.StlMes.Client.SaleOrder.Control { public partial class PlaSaleOrdProcCtrl : UserControl { private PlaSaleOrdProcBLL _plaSaleOrdProcBLL; private PlnSaleordProcEntity _queryCondition; private string _ordLnPk = ""; private OpeBase ob; private string _flag = ""; public PlaSaleOrdProcCtrl(System.Windows.Forms.Control container, OpeBase ob, string flag) { InitializeComponent(); this.ob = ob; this._flag = flag; _plaSaleOrdProcBLL = new PlaSaleOrdProcBLL(ob); container.Controls.Add(this); this.Dock = DockStyle.Fill; EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); } public void Query(PlnSaleordProcEntity queryCondition, string ordLnPk) { _queryCondition = queryCondition; _ordLnPk = ordLnPk; plnSaleordProcEntityBindingSource.DataSource = _plaSaleOrdProcBLL.query( queryCondition.CraftFileNo, queryCondition.CraftNoV); } public void UpGradeCraft() { ultraGrid1.UpdateData(); IQueryable rows = ultraGrid1.Rows.AsQueryable().Where("CHK = 'True'"); if (rows.Count() == 0) { MessageUtil.ShowWarning("请选择一条记录!"); return; } string craftNo = ""; string craftNoV = ""; if (_flag == "CraftFile") { CraftOrdDesignFilePopup craftOrdDesignFilePopup = new CraftOrdDesignFilePopup(); craftOrdDesignFilePopup.ob = this.ob; craftOrdDesignFilePopup.CustomInfo = "AppointCraftFile"; craftOrdDesignFilePopup.UltraToolbarsManager1.Tools["确认选择"].SharedProps.Visible = true; craftOrdDesignFilePopup.UltraToolbarsManager1.Tools["指定工艺文件"].SharedProps.Visible = false; if (craftOrdDesignFilePopup.ShowDialog() == DialogResult.OK) { IQueryable craftFileRows = craftOrdDesignFilePopup.UltraGrid1.Rows.AsQueryable().Where("CHK = 'True'"); craftNo = craftFileRows.First().GetValue("CRAFT_NO"); craftNoV = craftFileRows.First().GetValue("CRAFT_NO_V"); } else { return; } } else { if (MessageUtil.ShowYesNoAndQuestion("是否确认更换到最新版本的工艺文件?") == DialogResult.No) { return; } CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob); CraftOrdDesignEntity craftOrdDesign = craftOrdDesignBLL.GetNewValidCraft(_ordLnPk); craftNo = craftOrdDesign.CraftNo; craftNoV = craftOrdDesign.CraftNoV; } List plaSaleOrdProcList = new List(); foreach (UltraGridRow row in rows) { PlnSaleordProcEntity plaSaleOrdProc = (PlnSaleordProcEntity)row.ListObject; PlnSaleordProcEntity parm = EntityHelper.CopyEntity(plaSaleOrdProc); DataTable dtPlaProc = _plaSaleOrdProcBLL.QueryPlaProcByPk(parm.OrdLnDlyPk, parm.PlnDivideId); if (dtPlaProc.Rows[0]["PLANSTATUS"].ToString() != "2" && dtPlaProc.Rows[0]["PLANSTATUS"].ToString() != "3") { MessageUtil.ShowWarning("只能更换已下发、生成中的排产行!"); row.Activate(); return; } parm.CraftNoNew = craftNo; parm.CraftNoVNew = craftNoV; plaSaleOrdProcList.Add(parm); } _plaSaleOrdProcBLL.UpgradeCraft(plaSaleOrdProcList); MessageUtil.ShowTips("更换成功!"); Query(_queryCondition, _ordLnPk); } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "更换文件": UpGradeCraft(); break; } } } }