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