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.工序排产.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 FrmProdSchAmount : FrmBase { private string[] plineCode = null;//获取产线代码 public FrmProdSchAmount() { InitializeComponent(); } private void FrmProdSchAmount_Load(object sender, EventArgs e) { BaseHelper.setOtherColumnReadOnly(ultraGridZgS, new string[] { "CHC", "AmountNum", "BilletWeight" }); BaseHelper.setOtherColumnReadOnly(entityGrid1, new string[] { "CHC" }); BaseHelper.setOtherColumnReadOnly(entityGrid2, new string[] { "CHC" }); BaseHelper.setColumnBackColor(ultraGridZgS, new string[] { "AmountNum", "BilletWeight" }); BaseHelper.InitCellPosition(ultraGridZgS, new string[] { "GxPlanNo", "OrderSeq", "DeliveryNo", "Outdiameter", "Wallthick", "LenRollMax", "LenRollMin", "Aimoutdiameter", "Aimwallthick", "Aimlength", "DiameterGp", "LenGpSingle", "RollLength", "LenCuthead", "LenCutend", "OutnumCut", "DiameterMandrel", "InWeightS", "InNumS", "WeigthS", "NumS", "AddWtIn", "AddNumIn", "MatchWtIn", "MatchNumIn", "GxProSeq", "PlanUsetime", "BatchedWt", "BatchedNum", "Finishweight", "Finishnum", "ProcessingCost", "TotalCost" ,"FinishWgt","OutdiameterZg","WallthickZg","DifTime","GpreqNum","GpreqWeight","TubeEndRatio","WeigthSMin","PlansNum","TimeDiffer","AfProNum","AmountDifference","AmountNum","AmountWet","BilletWeight" }); BaseHelper.setUltraGridColumnMaxInput(ultraGridZgS, new string[] { "WeigthS", "WeigthSMin", "GpreqWeight", "InWeightS", "AddWtIn", "MatchWtIn", "BatchedWt", "AmountDifference", "AmountWet", "BilletWeight" }); plineCode = PlanHelper.InitDropPlinePower("D", comPline, this.ValidDataPurviewIds, this.ob); PlanHelper.InitEditGroup("1218", ultraGridZgS, this, "OutsBilletFl"); PlanHelper.InitEditGroup("1219", ultraGridZgS, this, "OutsStlPipeFl"); InitColorStyle(); } private void InitColorStyle() { ultraGridZgS.DisplayLayout.Bands[0].Columns["PlanTimeB"].Format = "yyyy-MM-dd HH:mm:ss"; ultraGridZgS.DisplayLayout.Bands[0].Columns["PlanTimeB"].MaskInput = "yyyy-mm-dd hh:mm:ss"; ultraGridZgS.DisplayLayout.Bands[0].Columns["PlanTimeB"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTime; //ultraGridZgS.DisplayLayout.Bands[0].Columns["AfInfo"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton; //ultraGridZgS.DisplayLayout.Bands[0].Columns["AfInfo"].CellAppearance.BackColor = Color.GreenYellow; ultraGridZgS.DisplayLayout.Bands[0].Columns["DiameterMandrel"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton; //ultraGridZgS.DisplayLayout.Bands[0].Columns["AfProLin"].CellAppearance.BackColor = Color.GreenYellow; //ultraGridZgS.DisplayLayout.Bands[0].Columns["TimeDiffer"].CellAppearance.BackColor = Color.GreenYellow; //ultraGridZgS.DisplayLayout.Bands[0].Columns["AfProNum"].CellAppearance.BackColor = Color.GreenYellow; //ultraGridZgS.DisplayLayout.Bands[0].Columns["AfProLin"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton; UltraNumericEditor[] uneArr = new UltraNumericEditor[3]; for (int i = 0; i < uneArr.Length; i++) { uneArr[i] = new UltraNumericEditor(); uneArr[i].NumericType = NumericType.Double; if (i == 1) { uneArr[i].MaskInput = "nnnnn"; } else { uneArr[i].MaskInput = "nnnnn.nn"; } uneArr[i].SpinButtonDisplayStyle = Infragistics.Win.ButtonDisplayStyle.Always; this.Controls.Add(uneArr[i]); uneArr[i].Visible = false; } uneArr[0].SpinIncrement = 0.01; uneArr[1].SpinIncrement = 50; uneArr[2].SpinIncrement = 10; ultraGridZgS.DisplayLayout.Bands[0].Columns["Outdiameter"].EditorComponent = uneArr[0]; ultraGridZgS.DisplayLayout.Bands[0].Columns["Wallthick"].EditorComponent = uneArr[0]; ultraGridZgS.DisplayLayout.Bands[0].Columns["OutdiameterZg"].EditorComponent = uneArr[0]; ultraGridZgS.DisplayLayout.Bands[0].Columns["WallthickZg"].EditorComponent = uneArr[0]; ultraGridZgS.DisplayLayout.Bands[0].Columns["Aimoutdiameter"].EditorComponent = uneArr[0]; ultraGridZgS.DisplayLayout.Bands[0].Columns["Aimwallthick"].EditorComponent = uneArr[0]; ultraGridZgS.DisplayLayout.Bands[0].Columns["LenGpSingle"].EditorComponent = uneArr[2]; ultraGridZgS.DisplayLayout.Bands[0].Columns["LenCuthead"].EditorComponent = uneArr[1]; ultraGridZgS.DisplayLayout.Bands[0].Columns["LenCutend"].EditorComponent = uneArr[1]; } 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 orderNo = ""; if (chcOrderNo.Checked) { orderNo = txtOrderNo.Text.Trim(); } string proPlanId = ""; if (chcProPlanId.Checked) { proPlanId = txtProPlanId.Text.Trim(); } List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.order.FrmProdSchAmount.query", new object[] { plineCode, proPlanId, orderNo, statusArr, comPlineCode }, this.ob); plnOrderZgSEntityAmounBindingSource.DataSource = listSource; foreach (UltraGridRow ugr in ultraGridZgS.Rows) { //if (!ugr.Cells["Finishweight"].Text.ToString().Equals("")) //{ // ugr.Cells["AmountDifference"].Value = double.Parse(ugr.Cells["Finishweight"].Value.ToString()) - double.Parse(ugr.Cells["WeigthS"].Value.ToString()); //} if (!ugr.Cells["GpreqNum"].Text.Equals("") &&!ugr.Cells["GpreqNum"].Text.ToString().Equals("0")) { ugr.Cells["BilletWeight"].Activation = Activation.ActivateOnly; ugr.Cells["BilletWeight"].Appearance.BackColor = Color.Transparent; } } } 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 orderNo = ""; if (chcOrderNo.Checked) { orderNo = txtOrderNo.Text.Trim(); } string proPlanId = ""; if (chcProPlanId.Checked) { proPlanId = txtProPlanId.Text.Trim(); } List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.order.FrmProdSchAmount.queryBl", new object[] { plineCode, proPlanId, orderNo, statusArr, comPlineCode }, this.ob); bindingSource2.DataSource = listSource; //foreach (UltraGridRow ugr in ultraGridZgS.Rows) //{ // if (!ugr.Cells["Finishweight"].Text.ToString().Equals("")) // { // ugr.Cells["AmountDifference"].Value = double.Parse(ugr.Cells["Finishweight"].Value.ToString()) - double.Parse(ugr.Cells["WeigthS"].Value.ToString()); // } //} } finally { wf3.Close(); this.Cursor = Cursors.Default; } } /// /// 删除 /// private void DoDelete() { entityGrid1.UpdateData(); ArrayList list = new ArrayList(); IQueryable checkRows = this.entityGrid1.Rows.AsQueryable().Where(" CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("未选择补量订单!"); return; } foreach (UltraGridRow uRow in checkRows) { ArrayList param = new ArrayList(); param.Add(UserInfo.GetUserName()); param.Add(uRow.Cells["GpreqNum"].Value.ToString()); param.Add(uRow.Cells["GpreqWeight"].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.order.FrmProdSchAmount"; 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 = ultraGridZgS.ActiveRow; if (ugrAc == null) { return; } List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.order.FrmProdSchAmount.queryPlnBl", new object[] { ugrAc.Cells["ProPlanId"].Text.Trim().ToString() }, this.ob); bindingSource1.DataSource = listSource; } } /// /// 补量 /// private void DoAdd() { try { ultraGridZgS.UpdateData(); ArrayList list = new ArrayList(); IQueryable checkRows = this.ultraGridZgS.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["OrderNo"].Value.ToString() + ",请输入补量支数!"); return; } if (uRow.Cells["AmountWet"].Text.ToString().Equals("")) { MessageUtil.ShowTips("合同号为:" + uRow.Cells["OrderNo"].Value.ToString() + ",请输入补量重量!"); return; } //重量与支数验证 //if (double.Parse(uRow.Cells["AmountWet"].Value.ToString()) <= 0 || int.Parse(uRow.Cells["AmountNum"].Value.ToString()) <= 1) //{ // MessageUtil.ShowTips("合同号为:" + uRow.Cells["OrderNo"].Value.ToString() + ",补量需坯重量为0吨,支数小于或者等于1支!"); // return; //} ArrayList param = new ArrayList(); param.Add(UserInfo.GetUserName()); 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()); param.Add(uRow.Cells["BilletWeight"].Value.ToString()); list.Add(param); } PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.order.FrmProdSchAmount"; ccp.MethodName = "addAmount"; 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("补量成功!")) { Query(); } } catch (Exception ex) { PlanComm.WaitFromColse(this.Cursor); if (!(ex is MESException)) { MessageUtil.ShowError(ex.Message); } } } /// /// ultraGridZgS 改变事件 /// /// /// private void ultraGridZgS_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugrAc = ultraGridZgS.ActiveRow; if (ugrAc == null) { return; } List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.order.FrmProdSchAmount.queryPlnBl", new object[] { ugrAc.Cells["ProPlanId"].Text.Trim().ToString() }, this.ob); bindingSource1.DataSource = listSource; } private void FrmProdSchAmount_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 ultraGridZgS_CellChange(object sender, CellEventArgs e) { UltraGridRow ugrAc = ultraGridZgS.ActiveRow; if (ugrAc == null) { return; } ultraGridZgS.UpdateData(); if (e.Cell.Column.Key.Equals("AmountNum")) { if (e.Cell.Row.Cells["GpreqNum"].Text.Equals("") || e.Cell.Row.Cells["GpreqNum"].Text.Equals("0")) { if (e.Cell.Row.Cells["BilletWeight"].Text.Equals("") || e.Cell.Row.Cells["BilletWeight"].Text.Equals("0.000")) { MessageUtil.ShowTips("请输入单倍坯重!"); return; } // MessageUtil.ShowTips("需坯支吨不能为空或为零!"); //e.Cell.Row.Cells["AmountNum"].Value = "0"; //e.Cell.Row.Cells["AmountWet"].Value = "0"; //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 { if (e.Cell.Row.Cells["GpreqNum"].Text.Equals("") || e.Cell.Row.Cells["GpreqNum"].Text.Equals("0")) { //if (e.Cell.Row.Cells["BilletWeight"].Text.Equals("") || e.Cell.Row.Cells["BilletWeight"].Text.Equals("0.000")) //{ // e.Cell.Row.Cells["AmountWet"].Value = ((double.Parse(e.Cell.Row.Cells["GpreqWeight"].Value.ToString()) / double.Parse(e.Cell.Row.Cells["GpreqNum"].Value.ToString())) * double.Parse(e.Cell.Row.Cells["AmountNum"].Value.ToString())).ToString("f3"); //} //else //{ e.Cell.Row.Cells["AmountWet"].Value = (double.Parse(e.Cell.Row.Cells["BilletWeight"].Value.ToString()) * double.Parse(e.Cell.Row.Cells["AmountNum"].Value.ToString())).ToString("f3"); //} } else { e.Cell.Row.Cells["AmountWet"].Value = ((double.Parse(e.Cell.Row.Cells["GpreqWeight"].Value.ToString()) / double.Parse(e.Cell.Row.Cells["GpreqNum"].Value.ToString())) * double.Parse(e.Cell.Row.Cells["AmountNum"].Value.ToString())).ToString("f3"); } } } } if (e.Cell.Column.Key.Equals("BilletWeight")) { if (e.Cell.Row.Cells["BilletWeight"].Value == null) { e.Cell.Row.Cells["AmountWet"].Value = "0"; } else { string Bilwt = e.Cell.Row.Cells["BilletWeight"].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["AmountNum"].Text.Equals("")) { e.Cell.Row.Cells["AmountWet"].Value = (double.Parse(e.Cell.Row.Cells["BilletWeight"].Value.ToString()) * double.Parse(e.Cell.Row.Cells["AmountNum"].Value.ToString())).ToString("f3"); } } } } } private void chcPline_CheckedChanged(object sender, EventArgs e) { if (chcOrderNo.Checked) { txtOrderNo.Enabled = true; } else { txtOrderNo.Enabled = false; } if (chcPline.Checked) { comPline.Enabled = true; } else { comPline.Enabled = false; } if (chcProPlanId.Checked) { txtProPlanId.Enabled = true; } else { txtProPlanId.Enabled = false; } } } }