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; using Core.Mes.Client.Comm.Tool; using CoreFS.CA06; namespace Core.StlMes.Client.PlnSaleOrd { public partial class FrmSpitWgt : FrmBase { /// /// 可分配重量 /// private double waitSpitWgt; /// /// 可分配支数 /// private int waitSpitNum; /// /// 已分配重量 /// private double alreadySpitWgt = 0; /// /// 可分配剩余支数 /// private int numF; public double AlreadySpitWgt { get { return alreadySpitWgt; } set { alreadySpitWgt = value; } } /// /// 已分配支数 /// private int alreadySpitNum = 0; public int AlreadySpitNum { get { return alreadySpitNum; } set { alreadySpitNum = value; } } /// /// 可均分炉数 /// private int countNum; /// /// 可均分炉数 /// public int CountNum { get { return countNum; } set { countNum = value; } } /// /// 重量与支数比例 /// private double spitRatio; private string procesCode; private string castingtype; private string furnDz; public FrmSpitWgt(double waitSpitWgt, int waitSpitNum, double spitRatio, string _procesCode, int _numF, string _castingtype,string _furnDz) { this.waitSpitWgt = waitSpitWgt; this.waitSpitNum = waitSpitNum; this.spitRatio = spitRatio; this.procesCode = _procesCode; castingtype = _castingtype; numF = _numF; furnDz = _furnDz; //窗体居中 this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; //取消窗体默认关闭按钮 this.ControlBox = false; InitializeComponent(); } private void FrmSpitWgt_Load(object sender, EventArgs e) { numEditorAllow.Value = waitSpitWgt; ultraNumericEditor1.Value = waitSpitNum; numEditorAlready.Value = 0; ultraNumericEditor2.Value = 0; if (procesCode.Equals("D")) { ultraLabel2.Text = "可分配需坯重量:"; ultraLabel7.Text = "可分配需坯支数:"; if (numF != 0) { int spitNum = int.Parse(waitSpitNum.ToString()) - numF; if (spitNum > 0) { ultraNumericEditor2.Value = spitNum; double spitWgt = spitNum * spitRatio; numEditorAlready.Value = spitWgt; } } //ultraNumericEditor3.Visible = false; //ultraLabel9.Visible = false; //ultraLabel10.Visible = false; } else if (procesCode.Equals("B")) { ultraLabel2.Text = "可分配待冶炼重量:"; ultraLabel7.Text = "可分配待冶炼支数:"; if (castingtype.Equals("连铸")) { numEditorAlready.Enabled = true; ultraNumericEditor2.Enabled = false; } else { numEditorAlready.Enabled = false; ultraNumericEditor2.Enabled = true; } //ultraNumericEditor3.Visible = true; //ultraLabel9.Visible = true; //ultraLabel10.Visible = true; } else { ultraLabel2.Text = "可分配待投入重量:"; ultraLabel7.Text = "可分配待投入支数:"; //ultraNumericEditor3.Visible = false; //ultraLabel9.Visible = false; //ultraLabel10.Visible = false; } } 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); //CountNum = Convert.ToInt32(ultraNumericEditor3.Value); CountNum = 1; this.Close(); } private void buttonCancel_Click(object sender, EventArgs e) { this.Close(); } //private void numEditorAlready_ValueChanged(object sender, EventArgs e) //{ // if (numEditorAlready.Value == null) // { // numEditorAlready.Value = 0; // ultraNumericEditor2.Value = 0; // return; // } // string spitWgt = numEditorAlready.Value.ToString(); // if (Double.Parse(spitWgt) > waitSpitWgt) // { // numEditorAlready.Value = waitSpitWgt; // ultraNumericEditor2.Value = waitSpitNum; // return; // } // int spitNum = (int)Math.Ceiling(alreadySpitWgt / spitRatio); // ultraNumericEditor2.Value = spitNum; //} //输入支数 private void ultraNumericEditor2_ValueChanged(object sender, EventArgs e) { if (castingtype==null||!castingtype.Equals("连铸")) { if (ultraNumericEditor2 == null) { numEditorAlready.Value = 0; ultraNumericEditor2.Value = 0; return; } string spitNum = ultraNumericEditor2.Value.ToString(); if (int.Parse(spitNum) > waitSpitNum) { numEditorAlready.Value = waitSpitWgt; ultraNumericEditor2.Value = waitSpitNum; return; } double spitWgt = int.Parse(spitNum) * spitRatio; numEditorAlready.Value = spitWgt; int numCont = 0; if (furnDz != null) { if (furnDz.Equals("1")) { numCont = (int)Math.Round(waitSpitWgt / spitWgt, 0); } else { numCont = (int)Math.Round(waitSpitWgt / spitWgt, 0) - 1; } if (numCont == 0) { numCont = 1; } } ultraNumericEditor3.Value = numCont; } } //输入重量 private void numEditorAlready_ValueChanged(object sender, EventArgs e) { if (castingtype != null && castingtype.Equals("连铸")) { 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; int numCont = 0; if (furnDz != null) { if (furnDz.Equals("1")) { numCont = (int)Math.Round(waitSpitWgt / double.Parse(spitWt), 0); } else { numCont = (int)Math.Round(waitSpitWgt / double.Parse(spitWt), 0) - 1; } if (numCont == 0) { numCont = 1; } } ultraNumericEditor3.Value = numCont; } } private void ultraNumericEditor3_ValueChanged(object sender, EventArgs e) { if (ultraNumericEditor3 == null) { ultraNumericEditor3.Value = 1; return; } if (numEditorAlready == null || double.Parse(numEditorAlready.Value.ToString()) == 0) { ultraNumericEditor3.Value = 1; } else { int numCont = 0; if (furnDz != null) { if (furnDz.Equals("1")) { numCont = (int)Math.Round(waitSpitWgt / double.Parse(numEditorAlready.Value.ToString()), 0); } else { numCont = (int)Math.Round(waitSpitWgt / double.Parse(numEditorAlready.Value.ToString()), 0) - 1; } if (numCont == 0) { numCont = 1; } } int countNum = int.Parse(ultraNumericEditor3.Value.ToString()); if (countNum > numCont) { ultraNumericEditor3.Value = numCont; } } } } }