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;
}
}
}