using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.PlnSaleOrd.BaseMethod; using Core.StlMes.Client.PlnSaleOrd.炼钢计划.entity; using CoreFS.CA06; namespace Core.StlMes.Client.PlnSaleOrd.炼钢计划 { public partial class FrmCastInterruption : FrmBase { public FrmCastInterruption() { InitializeComponent(); } public FrmCastInterruption(PlnSteelforfurnaceNewEntity PlnSteelforfurnaceNewEntity, List Furnaces, OpeBase _ob) { InitializeComponent(); InterruptionFurnace = PlnSteelforfurnaceNewEntity; ListFurnace = Furnaces; ob = _ob; } public PlnSteelforfurnaceNewEntity InterruptionFurnace { get; set; } public List ListFurnace { get; set; } public void RefreshData() { if (InterruptionFurnace == null) { InterruptionFurnace = ListFurnace.FirstOrDefault(); } long MinSeq = (long)ListFurnace.Min(p => p.FurnacenoSeq); if (MinSeq > InterruptionFurnace.FurnacenoSeq) MinSeq = (long)InterruptionFurnace.FurnacenoSeq; List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelManagement.SelectPlnSteelforfurnaceEntity", new object[] { InterruptionFurnace.EfPlineCode, MinSeq }, ob); //初始化放缩 plnSteelforfurnaceNewEntityBindingSource.DataSource = listSource.Where(p => p.Status != "00" && p.CastNo != InterruptionFurnace.CastNo && ListFurnace.Any(q=>q.Gradecode==p.Gradecode)); GridHelper.RefreshAndAutoSize(ugStove); } private void FrmCastInterruption_Load(object sender, EventArgs e) { //显示实体类属性中文描述 EntityHelper.ShowGridCaption(ugStove.DisplayLayout.Bands[0]); BaseHelper.setOtherColumnReadOnly(ugStove, new[] { "Check" }); //绑定Valuelist 根据实体类值显示 var list = SteelManagementHelper.GetValuelistLogic(); SteelManagementHelper.SetGridValuelist(ref ugStove, "IfMonitorLg", ref list); list = SteelManagementHelper.GetStatus(); SteelManagementHelper.SetGridValuelist(ref ugStove, "Status", ref list); list = SteelManagementHelper.GetValuelistLogic(); SteelManagementHelper.SetGridValuelist(ref ugStove, "IfConfirm", ref list); list = SteelManagementHelper.GetBofType(); SteelManagementHelper.SetGridValuelist(ref ugStove, "BofType", ref list); list = SteelManagementHelper.GetHeatStatus(); SteelManagementHelper.SetGridValuelist(ref ugStove, "HeatState", ref list); BaseHelper.MergedCell(ugStove, new[] { "CastNo", "CastSeq", "Furnaceno" }); RefreshData(); } private void utmMain_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "Close": // ButtonTool this.Close(); break; case "Refresh": // ButtonTool RefreshData(); break; case "NewCast": // ButtonTool InterruptionNewCast(); break; case "TurnToCast": // ButtonTool TurnToCast(); break; } } private void TurnToCast() { if (ugStove.ActiveRow == null) { MessageUtil.ShowWarning("请选择转入的炉计划!"); return; } if (MessageUtil.ShowYesNoAndQuestion( "浇次中断,选中的炉计划将生产新的浇次移至选中的浇次内,请确认!" ) == DialogResult.No) return; PlnSteelforfurnaceNewEntity ActivePlnSteelforfurnaceNewEntity = ugStove.ActiveRow.ListObject as PlnSteelforfurnaceNewEntity; var param1 = SteelHelper.SetData( "com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelManagement.AdjustFurnaceSeq", new object[] { ListFurnace.Select(p => p.Furnaceno).ToList(), ActivePlnSteelforfurnaceNewEntity.Furnaceno, 1 }, ob); if (param1 != null) DialogResult = DialogResult.OK; } private void InterruptionNewCast() { if (MessageUtil.ShowYesNoAndQuestion( "浇次中断,选中的炉计划将生产新的浇次移至最后一浇,请确认!" ) == DialogResult.No) return; var param1 = SteelHelper.SetData( "com.steering.pss.plnsaleord.steelMarkingPlan.FrmSteelManagement.AdjustFurnaceSeq", new object[] { ListFurnace.Select(p => p.Furnaceno).ToList(), InterruptionFurnace.Furnaceno,6 }, ob); if (param1 != null) DialogResult = DialogResult.OK; } } }