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 FrmProdSchAmountRcl : FrmBase { private string[] plineCode = null;//获取产线代码 public FrmProdSchAmountRcl() { InitializeComponent(); } private void FrmProdSchAmount_Load(object sender, EventArgs e) { EntityHelper.ShowGridCaption(ultraGridS.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(entityGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(entityGrid2.DisplayLayout.Bands[0]); BaseHelper.setOtherColumnReadOnly(ultraGridS, new string[] { "CHC", "AmountNum", "AmountWet" }); BaseHelper.setOtherColumnReadOnly(entityGrid1, new string[] { "CHC" }); BaseHelper.setOtherColumnReadOnly(entityGrid2, new string[] { "CHC" }); BaseHelper.setColumnBackColor(ultraGridS, new string[] { "AmountNum", "AmountWet" }); BaseHelper.InitCellPosition(ultraGridS, new string[] { "GxPlanNo", "OrderSeq", "DeliveryNo", "WeigthS", "NumS","WeigthSMin","AmountNum","AmountWet"}); BaseHelper.setUltraGridColumnMaxInput(ultraGridS, new string[] { "WeigthS", "WeigthSMin", "AmountWet" }); plineCode = PlanHelper.InitDropPlinePower("F", comPline, this.ValidDataPurviewIds, this.ob); } 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.FrmProdSchProcAmoun.query", new object[] { plineCode, proPlanId, orderNo, statusArr, comPlineCode,"F" }, this.ob); plnOrderZgSEntityAmounBindingSource.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 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.FrmProdSchProcAmoun.queryBl", new object[] { plineCode, proPlanId, orderNo, statusArr, comPlineCode, "F" }, 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(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.FrmProdSchProcAmoun"; ccp.MethodName = "deleteAmount"; ccp.ServerParams = new object[] { list,"F" }; 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 = ultraGridS.ActiveRow; if (ugrAc == null) { return; } List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.order.FrmProdSchProcAmoun.queryPlnBl", new object[] { ugrAc.Cells["ProPlanId"].Text.Trim().ToString(),"F" }, this.ob); bindingSource1.DataSource = listSource; } } /// /// 补量 /// private void DoAdd() { try { ultraGridS.UpdateData(); ArrayList list = new ArrayList(); IQueryable checkRows = this.ultraGridS.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()); list.Add(param); } PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.order.FrmProdSchProcAmoun"; ccp.MethodName = "addAmount"; ccp.ServerParams = new object[] { list,"F" }; 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 = ultraGridS.ActiveRow; if (ugrAc == null) { return; } List listSource = EntityHelper.GetData ("com.steering.pss.plnsaleord.order.FrmProdSchProcAmoun.queryPlnBl", new object[] { ugrAc.Cells["ProPlanId"].Text.Trim().ToString(), "F" }, 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 = ultraGridS.ActiveRow; if (ugrAc == null) { return; } ultraGridS.UpdateData(); if (e.Cell.Column.Key.Equals("AmountNum")) { 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["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("AmountWet")) { if (e.Cell.Row.Cells["AmountWet"].Value == null) { e.Cell.Row.Cells["AmountNum"].Value = "0"; e.Cell.Row.Cells["AmountWet"].Value = "0"; } else { string actCount = e.Cell.Row.Cells["AmountWet"].Value.ToString(); if (!StringUtil.IsDouble(actCount) || actCount == "0.0")//actCount == "" || int.Parse(actCount)==0 { e.Cell.Row.Cells["AmountNum"].Value = "0"; e.Cell.Row.Cells["AmountWet"].Value = "0"; } else { } } } } 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; } } } }