using Core.Mes.Client.Comm.Tool; using CoreFS.CA06; using System; 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.炼钢计划.control { public partial class FrmFurnaceOrdBreak : FrmBase { /// /// 可分配重量 /// private double waitSpitWgt; /// /// 可分配支数 /// private int waitSpitNum; /// /// 已分配重量 /// private double alreadySpitWgt = 0; public double AlreadySpitWgt { get { return alreadySpitWgt; } set { alreadySpitWgt = value; } } /// /// 已分配支数 /// private int alreadySpitNum = 0; public int AlreadySpitNum { get { return alreadySpitNum; } set { alreadySpitNum = value; } } private double spitRatio; public FrmFurnaceOrdBreak(double waitSpitWgt, int waitSpitNum, double _spitRatio) { spitRatio = _spitRatio; this.waitSpitWgt = waitSpitWgt; this.waitSpitNum = waitSpitNum; //窗体居中 this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; //取消窗体默认关闭按钮 this.ControlBox = false; InitializeComponent(); } private void FrmFurnaceOrdBreak_Load(object sender, EventArgs e) { numEditorAllow.Value = waitSpitWgt; ultraNumericEditor1.Value = waitSpitNum; } private void buttonCommit_Click(object sender, EventArgs e) { string spitNum = ultraNumericEditor2.Value == null ? "0" : ultraNumericEditor2.Value.ToString(); //string spitWgt = numEditorAlready.Value == null ? "0" : numEditorAlready.Value.ToString(); if (int.Parse(spitNum) <= 0) { MessageUtil.ShowWarning("拆分支数不能为0支!"); return; } if (Convert.ToInt32(spitNum) >= waitSpitNum) { MessageUtil.ShowWarning("拆分支数不能大于/等于可分配支数!"); return; } double spitWgt = Convert.ToInt32(spitNum) * spitRatio; alreadySpitWgt = Convert.ToDouble(spitWgt); //通过重量与支数的比例计划 分配支数 alreadySpitNum = Convert.ToInt32(spitNum); this.Close(); } private void buttonCancel_Click(object sender, EventArgs e) { this.Close(); } private void numEditorAlready_ValueChanged(object sender, EventArgs e) { if (numEditorAlready == null) { numEditorAlready.Value = 0; ultraNumericEditor2.Value = 0; return; } string spitWt = numEditorAlready.Value.ToString(); if (double.Parse(spitWt) > waitSpitWgt) { numEditorAlready.Value = waitSpitWgt; ultraNumericEditor2.Value = waitSpitNum; return; } int spitNum = (int)Math.Ceiling(double.Parse(spitWt) / spitRatio); ultraNumericEditor2.Value = spitNum; } } }