You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

355 lines
13 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using Mesnac.Action.Base;
using System.Text;
using System.Windows.Forms;
using ICSharpCode.Core;
using Mesnac.Action.ChemicalWeighing.Entity;
using Mesnac.Action.ChemicalWeighing.Technical;
using Mesnac.Action.ChemicalWeighing.Technical.PmtRecipe;
using Mesnac.Action.ChemicalWeighing.CylinderManage;
using Mesnac.Action.ChemicalWeighing.PumpManage;
namespace Mesnac.Action.ChemicalWeighing.Product.PptPlan
{
public partial class FrmPlan : Form
{
#region 字段定义
private ActionType _actionType = ActionType.Add; //操作类型0-为添加1-为修改
private int _planNum; //计划数
private SimplePmtRecipe _recipe = null; //配方对象
#endregion
#region 构造方法
public FrmPlan()
{
InitializeComponent();
}
/// <summary>
/// 构造方法
/// </summary>
/// <param name="actionType">操作类型0-为添加1-为修改</param>
public FrmPlan(ActionType actionType)
{
InitializeComponent();
this._actionType = actionType;
}
/// <summary>
/// 构造方法
/// </summary>
/// <param name="actionType">操作类型0-为添加1-为修改</param>
/// <param name="planNum">初始份数</param>
/// <param name="recipe">配方物料</param>
public FrmPlan(ActionType actionType, int planNum, SimplePmtRecipe recipe)
{
InitializeComponent();
this._actionType = actionType;
this._planNum = planNum;
this._recipe = recipe;
this.txtPlanNum.Text = planNum.ToString();
}
#endregion
#region 属性定义
/// <summary>
/// 物料信息
/// </summary>
public SimplePmtRecipe Recipe
{
get { return this._recipe; }
}
public string RecipeVersion
{
get
{
return this.cmbRecipeVersion.SelectedItem as string;
}
}
/// <summary>
/// 计划数
/// </summary>
public int PlanNum
{
get { return this._planNum; }
}
/// <summary>
/// 拉缸名称
/// </summary>
//public string CyName
//{
// get
// {
// return this.cmbCylinder.Text;
// }
//}
/// <summary>
/// 拉缸条码
/// </summary>
//public string CyBarCode
//{
// get
// {
// return this.cmbCylinder.SelectedValue as string;
// }
//}
/// <summary>
/// 泵名称
/// </summary>
public string PumpName
{
get
{
return this.cmbPump.Text;
}
}
/// <summary>
/// 泵条码
/// </summary>
public string PumpBarCode
{
get
{
return this.cmbPump.SelectedValue as string;
}
}
/// <summary>
/// 地磅
/// </summary>
public string Weighbridge
{
get
{
return this.cmbWeighbridge.Text as string;
}
}
#endregion
#region 方法定义
/// <summary>
/// 初始化界面文本
/// </summary>
public void InitUI()
{
if (this._actionType == ActionType.Add)
{
this.Text = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_FrmPlan_Text_Add")); //添加新计划
}
else if (this._actionType == ActionType.Modify)
{
this.Text = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_FrmPlan_Text_Modify")); //修改计划
}
this.label1.Text = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_FrmPlan_label1_Text")); //配方名称
this.label2.Text = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_FrmPlan_label2_Text")); //配方版本
this.label3.Text = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_FrmPlan_label3_Text")); //份 数
this.btnOk.Text = StringParser.Parse(ResourceService.GetString("Mesnac_Dialog_btnOK"));
this.btnCancel.Text = StringParser.Parse(ResourceService.GetString("Mesnac_Dialog_btnCancel"));
}
/// <summary>
/// 初始化配方列表
/// </summary>
public void InitData()
{
List<SimplePmtRecipe> lst = null;
lst = TechnicalHelper.GetRecipeMaterialListPY();
this.cmbRecipeMaterial.Items.Clear();
this.cmbRecipeMaterial.DataSource = lst;
this.cmbRecipeMaterial.DisplayMember = "Recipe_Name";
this.cmbRecipeMaterial.ValueMember = "ID";
//foreach (SimplePmtRecipe r in lst)
//{
// this.cmbRecipeMaterial.Items.Add(r);
//}
#region 新增绑定拉缸
//拉缸
List<Hw_Cylinder> cyList = CylinderHelper.GetCylinderTList();
//this.cmbCylinder.Items.Clear();
//this.cmbCylinder.DataSource = cyList;
//this.cmbCylinder.DisplayMember = "Name";
//this.cmbCylinder.ValueMember = "BarCode";
//泵
List<Hw_Pump> pumpList = PumpHelper.GetHwPumpTList();
this.cmbPump.Items.Clear();
this.cmbPump.DataSource = pumpList;
this.cmbPump.DisplayMember = "Name";
this.cmbPump.ValueMember = "BarCode";
#endregion
if (this._actionType == ActionType.Modify)
{
bool flag = false;
foreach (SimplePmtRecipe r in this.cmbRecipeMaterial.Items)
{
if (r.MaterialGUID == this._recipe.MaterialGUID)
{
this.cmbRecipeMaterial.SelectedItem = r;
flag = true;
break;
}
}
if (!flag)
{
this.cmbRecipeMaterial.Text = this._recipe.Content;
}
this.cmbRecipeMaterial.Enabled = false;
this.cmbRecipeVersion.SelectedItem = this._recipe.Version;
this.cmbRecipeVersion.Enabled = false;
}
}
/// <summary>
/// 初始化选中的配方版本数据
/// </summary>
public void InitRecipeVersionData()
{
if (this.cmbRecipeMaterial.SelectedItem != null)
{
SimplePmtRecipe recipe = this.cmbRecipeMaterial.SelectedItem as SimplePmtRecipe;
List<string> recipeVersionList = TechnicalHelper.GetRecipeVersionList(recipe.Recipe_Name);
this.cmbRecipeVersion.DataSource = recipeVersionList;
}
}
#endregion
#region 事件处理
private void FrmPlan_Load(object sender, EventArgs e)
{
this.InitUI();
this.InitData();
}
private void FrmPlan_Activated(object sender, EventArgs e)
{
if (this._actionType == ActionType.Modify)
{
this.txtPlanNum.Focus();
}
else
{
this.cmbRecipeMaterial.Focus();
}
}
/// <summary>
/// 自动完成实现
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void cmbRecipeMaterial_TextUpdate(object sender, EventArgs e)
{
this.InitData();
//设置光标位置,否则光标位置始终保持在第一列,造成输入关键词的倒序排列
this.cmbRecipeMaterial.SelectionStart = this.cmbRecipeMaterial.Text.Length;
//保持鼠标指针原来状态,有时候鼠标指针会被下拉框覆盖,所以要进行一次设置。
Cursor = Cursors.Default;
//自动弹出下拉框
this.cmbRecipeMaterial.DroppedDown = true;
}
/// <summary>
/// 配方名称更改
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void cmbRecipeMaterial_SelectedIndexChanged(object sender, EventArgs e)
{
this.InitRecipeVersionData();
}
private void btnOk_Click(object sender, EventArgs e)
{
SimplePmtRecipe recipe = this.cmbRecipeMaterial.SelectedItem as SimplePmtRecipe;
recipe.ID= this.cmbRecipeMaterial.SelectedValue as string;
int planNum = 0;
if (recipe == null || string.IsNullOrEmpty(recipe.ID))
{
string msg1 = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_FrmPlan_msg1")); //请选择配方名称!
MessageBox.Show(msg1, Mesnac.Basic.LanguageHelper.Caption, MessageBoxButtons.OK, MessageBoxIcon.Information);
this.cmbRecipeMaterial.Focus();
return;
}
if (String.IsNullOrEmpty(this.cmbRecipeVersion.SelectedItem as string))
{
string msg1_1 = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_FrmPlan_msg1_1")); //请选择配方版本!
MessageBox.Show(msg1_1, Mesnac.Basic.LanguageHelper.Caption, MessageBoxButtons.OK, MessageBoxIcon.Information);
this.cmbRecipeVersion.Focus();
return;
}
if (String.IsNullOrEmpty(this.txtPlanNum.Text))
{
string msg2 = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_FrmPlan_msg2")); //请输入份数!
MessageBox.Show(msg2, Mesnac.Basic.LanguageHelper.Caption, MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (!int.TryParse(this.txtPlanNum.Text, out planNum))
{
string msg3 = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_FrmPlan_msg3")); //份数只能为整型数字!
MessageBox.Show(msg3, Mesnac.Basic.LanguageHelper.Caption, MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (planNum <= 0)
{
string msg4 = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_FrmPlan_msg4")); //份数必须大于0!
MessageBox.Show(msg4, Mesnac.Basic.LanguageHelper.Caption, MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
//if (String.IsNullOrEmpty(this.cmbCylinder.Text as string))
//{
// string msg1_1 = "请选择拉缸!";
// MessageBox.Show(msg1_1, Mesnac.Basic.LanguageHelper.Caption, MessageBoxButtons.OK, MessageBoxIcon.Information);
// this.cmbCylinder.Focus();
// return;
//}
if (String.IsNullOrEmpty(this.cmbPump.Text as string))
{
string msg1_1 = "请选择泵!";
MessageBox.Show(msg1_1, Mesnac.Basic.LanguageHelper.Caption, MessageBoxButtons.OK, MessageBoxIcon.Information);
this.cmbRecipeVersion.Focus();
return;
}
if (String.IsNullOrEmpty(this.cmbWeighbridge.Text as string))
{
string msg1_1 = "请选择地磅!";
MessageBox.Show(msg1_1, Mesnac.Basic.LanguageHelper.Caption, MessageBoxButtons.OK, MessageBoxIcon.Information);
this.cmbWeighbridge.Focus();
return;
}
this._recipe = recipe;
this._planNum = planNum;
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
#endregion
#region 取消
private void btnCancel_Click(object sender, EventArgs e)
{
this.Dispose();
}
#endregion
}
}