using Core.Mes.Client.Comm; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.PlnSaleOrd.BaseMethod; using Core.StlMes.Client.PlnSaleOrd.工序排产; using Core.StlMes.Client.PlnSaleOrd.炼钢计划.entity; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; 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.PlnSaleOrd.炼钢计划 { public partial class FrmLgAmount : FrmBase { private string[] plineCode = null;//获取产线代码 public FrmLgAmount() { InitializeComponent(); } private void FrmLgAmount_Load(object sender, EventArgs e) { //设置列头名称 EntityHelper.ShowGridCaption(ultraGridCast.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); BaseHelper.setOtherColumnReadOnly(ultraGridCast, new string[] { "CHC", "AmountNum" }); BaseHelper.setOtherColumnReadOnly(ultraGrid1, new string[] { "CHC" }); BaseHelper.setOtherColumnReadOnly(ultraGrid2, new string[] { "CHC" }); BaseHelper.setColumnBackColor(ultraGridCast, new string[] { "AmountNum" }); BaseHelper.InitCellPosition(ultraGridCast, new string[] { "GxPlanNo", "OrderSeq", "DeliveryNo", "PlanWtS", "PlanNumS", "PlanUsetime", "GxProSeq", "PlnDivideId", "DiameterLz", "LenGpSingle", "CutNumGp", "CutLoseLen", "LengthLz", "WtCastOne", "CastNumCalc", "FurnaceNumCalc", "FurnaceWt", "PlanedWt", "PlanedNum", "Finishweight", "FinishNum", "CastNum", "FurnaceNum", "AddWtBegin", "AddWtEnd", "AddWtAhead", "AddWtNext", "CanWgt", "CanNum", "GradeSort", "ProcessingCostA", "TotalCostA", "ProcessingCostB", "TotalCostB", "ManualNum", "PlanWtSold", "PlanNumSold", "AmountNum", "AmountWet" }); BaseHelper.setUltraGridColumnMaxInput(ultraGridCast, new string[] { "PlanWtS", "CanWgt", "PlanedWt", "PlanWtSold", "AmountWet" }); plineCode = PlanHelper.InitDropPlinePower("B", comPline, this.ValidDataPurviewIds, this.ob); InitColorStyle(); } private void InitColorStyle() { ultraGridCast.DisplayLayout.Bands[0].Columns["PlanTimeB"].Format = "yyyy-MM-dd HH:mm:ss"; ultraGridCast.DisplayLayout.Bands[0].Columns["PlanTimeB"].MaskInput = "yyyy-mm-dd hh:mm:ss"; ultraGridCast.DisplayLayout.Bands[0].Columns["PlanTimeB"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTime; } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query"://查询 if (ultraTabControl1.SelectedTab.Key.Equals("0")) { Query(); } else { QueryBl(); } break; case "Delete"://删除 DoDelete(); break; case "Add"://补量 DoAdd(); break; case "Close": //关闭 this.Close(); break; default: break; } } /// /// 查询 /// private void Query() { //产线 string comPlineCode = ""; if (chcPline.Checked) { if (comPline.Text.Equals("")) { MessageUtil.ShowTips("请选择产线!"); return; } else { comPlineCode = comPline.Value.ToString(); } } WaitingForm2 wf3 = new WaitingForm2("正在刷新,请稍候...."); try { this.Cursor = Cursors.WaitCursor; //执行状态 string[] statusArr = contorlPlanStatusBL1.statusArr; string proPlanId = ""; if (chcProPlanId.Checked) { proPlanId = txtProPlanId.Text.Trim(); } List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.steelMarkingPlan.FrmLgAmount.query", new object[] { plineCode, proPlanId, statusArr, comPlineCode }, this.ob); plnOrderCastSEntityAmounBindingSource.DataSource = listSource; } finally { wf3.Close(); this.Cursor = Cursors.Default; } } /// ///补量信息 /// private void QueryBl() { //产线 string comPlineCode = ""; if (chcPline.Checked) { if (comPline.Text.Equals("")) { MessageUtil.ShowTips("请选择产线!"); return; } else { comPlineCode = comPline.Value.ToString(); } } WaitingForm2 wf3 = new WaitingForm2("正在刷新,请稍候...."); try { this.Cursor = Cursors.WaitCursor; //执行状态 string[] statusArr = contorlPlanStatusBL1.statusArr; string proPlanId = ""; if (chcProPlanId.Checked) { proPlanId = txtProPlanId.Text.Trim(); } List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.steelMarkingPlan.FrmLgAmount.queryBl", new object[] { plineCode, proPlanId, statusArr, comPlineCode }, this.ob); bindingSource2.DataSource = listSource; } finally { wf3.Close(); this.Cursor = Cursors.Default; } } /// /// 删除 /// private void DoDelete() { ultraGrid1.UpdateData(); ArrayList list = new ArrayList(); IQueryable checkRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未选择补量订单!"); return; } foreach (UltraGridRow uRow in checkRows) { ArrayList param = new ArrayList(); param.Add(uRow.Cells["ProPlanId"].Value.ToString()); param.Add(uRow.Cells["GxPlanNo"].Value.ToString()); list.Add(param); } PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.steelMarkingPlan.FrmLgAmount"; ccp.MethodName = "deleteAmount"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("删除成功!")) { UltraGridRow ugrAc = ultraGridCast.ActiveRow; if (ugrAc == null) { return; } List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.steelMarkingPlan.FrmLgAmount.queryPlnBl", new object[] { ugrAc.Cells["ProPlanId"].Text.Trim().ToString() }, this.ob); bindingSource1.DataSource = listSource; } } /// /// 补量 /// private void DoAdd() { try { ultraGridCast.UpdateData(); ArrayList list = new ArrayList(); IQueryable checkRows = this.ultraGridCast.Rows.AsQueryable().Where(" CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未选择铸造订单!"); return; } foreach (UltraGridRow uRow in checkRows) { if (uRow.Cells["AmountNum"].Text.ToString().Equals("")) { MessageUtil.ShowTips("订单号为:" + uRow.Cells["ProPlanId"].Value.ToString() + "/" + uRow.Cells["GxPlanNo"].Value.ToString() + ",请输入补量支数!"); return; } if (uRow.Cells["AmountWet"].Text.ToString().Equals("")) { MessageUtil.ShowTips("订单号为:" + uRow.Cells["ProPlanId"].Value.ToString() + "/" + uRow.Cells["GxPlanNo"].Value.ToString() + ",请输入补量重量!"); return; } if (!uRow.Cells["ExeStatusZg"].Text.ToString().Equals("计划")) { MessageUtil.ShowTips("订单号为:" + uRow.Cells["ProPlanId"].Value.ToString() + ",对应轧管订单没有计划状态,不能补量!"); return; } ArrayList param = new ArrayList(); param.Add(uRow.Cells["AmountNum"].Value.ToString()); param.Add(uRow.Cells["AmountWet"].Value.ToString()); param.Add(uRow.Cells["ProPlanId"].Value.ToString()); param.Add(uRow.Cells["GxPlanNo"].Value.ToString()); list.Add(param); } PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.steelMarkingPlan.FrmLgAmount"; ccp.MethodName = "addAmount"; ccp.ServerParams = new object[] { list,this.UserInfo.GetUserName() }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("补量成功!")) { Query(); } } catch (Exception ex) { PlanComm.WaitFromColse(this.Cursor); if (!(ex is MESException)) { MessageUtil.ShowError(ex.Message); } } } /// /// ultraGridCast 改变事件 /// /// /// private void ultraGridCast_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugrAc = ultraGridCast.ActiveRow; if (ugrAc == null) { return; } List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.steelMarkingPlan.FrmLgAmount.queryPlnBl", new object[] { ugrAc.Cells["ProPlanId"].Text.Trim().ToString() }, this.ob); bindingSource1.DataSource = listSource; } private void FrmLgAmount_Shown(object sender, EventArgs e) { if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Close")) { toolMenu.Toolbars[0].Tools["Close"].InstanceProps.Visible = DefaultableBoolean.True; } } /// /// tab 改变事件 /// /// /// private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (toolMenu == null) return; if (e.Tab.TabControl.SelectedTab.Key.Equals("0")) { if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Close")) { toolMenu.Toolbars[0].Tools["Close"].InstanceProps.Visible = DefaultableBoolean.True; } } else { if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Close")) { toolMenu.Toolbars[0].Tools["Close"].InstanceProps.Visible = DefaultableBoolean.True; } } } private void ultraGridCast_CellChange(object sender, CellEventArgs e) { UltraGridRow ugrAc = ultraGridCast.ActiveRow; if (ugrAc == null) { return; } ultraGridCast.UpdateData(); if (e.Cell.Column.Key.Equals("AmountNum")) { if (e.Cell.Row.Cells["WtCastOne"].Text.Equals("") || e.Cell.Row.Cells["WtCastOne"].Text.Equals("0.000")) { MessageUtil.ShowTips("请输入铸造坯单重!"); return; } if (e.Cell.Row.Cells["AmountNum"].Value == null) { e.Cell.Row.Cells["AmountNum"].Value = "0"; e.Cell.Row.Cells["AmountWet"].Value = "0"; } else { string actCount = e.Cell.Row.Cells["AmountNum"].Value.ToString(); if (!StringUtil.IsInt(actCount) || actCount == "0")//actCount == "" || int.Parse(actCount)==0 { e.Cell.Row.Cells["AmountNum"].Value = "0"; e.Cell.Row.Cells["AmountWet"].Value = "0"; } else { e.Cell.Row.Cells["AmountWet"].Value = (double.Parse(e.Cell.Row.Cells["WtCastOne"].Value.ToString()) * double.Parse(e.Cell.Row.Cells["AmountNum"].Value.ToString())).ToString("f3"); } } } if (e.Cell.Column.Key.Equals("WtCastOne")) { if (e.Cell.Row.Cells["WtCastOne"].Value == null) { e.Cell.Row.Cells["AmountWet"].Value = "0"; } else { string Bilwt = e.Cell.Row.Cells["WtCastOne"].Value.ToString(); if (!StringUtil.IsDouble(Bilwt) || Bilwt == "0.00")//actCount == "" || int.Parse(actCount)==0 { e.Cell.Row.Cells["AmountWet"].Value = "0"; } else { if (!e.Cell.Row.Cells["AmountWet"].Text.Equals("")) { e.Cell.Row.Cells["AmountWet"].Value = (double.Parse(e.Cell.Row.Cells["WtCastOne"].Value.ToString()) * double.Parse(e.Cell.Row.Cells["AmountNum"].Value.ToString())).ToString("f3"); } } } } } private void chcPline_CheckedChanged(object sender, EventArgs e) { if (chcPline.Checked) { comPline.Enabled = true; } else { comPline.Enabled = false; } if (chcProPlanId.Checked) { txtProPlanId.Enabled = true; } else { txtProPlanId.Enabled = false; } } } }