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;
using Core.Mes.Client.Comm.Server;
using Core.StlMes.Client.PlnSaleOrd.工序排产;
using Core.StlMes.Client.PlnSaleOrd.窗体;
namespace Core.StlMes.Client.PlnSaleOrd.JGGXPln
{
public partial class FrmSpitBill : 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 double spitRatio;
private OpeBase ob;
private ProducEntity entity = null;
private double waitReaWt;//上料吨
private int waitReaNum;//上料支
public FrmSpitBill(double waitSpitWgt, int waitSpitNum, double spitRatio, OpeBase _ob,double reaWt, int reaNum)
{
this.waitSpitWgt = waitSpitWgt;
this.waitSpitNum = waitSpitNum;
waitReaWt = reaWt;
waitReaNum = reaNum;
this.spitRatio = spitRatio;
ob = _ob;
//窗体居中
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 = waitSpitWgt - waitReaWt;
ultraNumericEditor2.Value = waitSpitNum - waitReaNum;
if (numF != 0)
{
int spitNum = int.Parse(waitSpitNum.ToString()) - numF;
if (spitNum > 0)
{
ultraNumericEditor2.Value = spitNum;
double spitWgt = spitNum * spitRatio;
numEditorAlready.Value = spitWgt;
}
}
}
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);
if (int.Parse(spitNum) > waitSpitNum - waitReaNum)
{
MessageUtil.ShowWarning("拆分支数已大于可拆分支数-已上料支数!");
return;
}
this.Close();
}
private void buttonCancel_Click(object sender, EventArgs e)
{
this.Close();
}
//输入支数
private void ultraNumericEditor2_ValueChanged(object sender, EventArgs e)
{
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;
}
}
}