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(); } /// /// 构造方法 /// /// 操作类型,0-为添加,1-为修改 public FrmPlan(ActionType actionType) { InitializeComponent(); this._actionType = actionType; } /// /// 构造方法 /// /// 操作类型,0-为添加,1-为修改 /// 初始份数 /// 配方物料 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 属性定义 /// /// 物料信息 /// public SimplePmtRecipe Recipe { get { return this._recipe; } } public string RecipeVersion { get { return this.cmbRecipeVersion.SelectedItem as string; } } /// /// 计划数 /// public int PlanNum { get { return this._planNum; } } /// /// 拉缸名称 /// //public string CyName //{ // get // { // return this.cmbCylinder.Text; // } //} /// /// 拉缸条码 /// //public string CyBarCode //{ // get // { // return this.cmbCylinder.SelectedValue as string; // } //} /// /// 泵名称 /// public string PumpName { get { return this.cmbPump.Text; } } /// /// 泵条码 /// public string PumpBarCode { get { return this.cmbPump.SelectedValue as string; } } /// /// 地磅 /// public string Weighbridge { get { return this.cmbWeighbridge.Text as string; } } #endregion #region 方法定义 /// /// 初始化界面文本 /// 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")); } /// /// 初始化配方列表 /// public void InitData() { List 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 cyList = CylinderHelper.GetCylinderTList(); //this.cmbCylinder.Items.Clear(); //this.cmbCylinder.DataSource = cyList; //this.cmbCylinder.DisplayMember = "Name"; //this.cmbCylinder.ValueMember = "BarCode"; //泵 List 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; } } /// /// 初始化选中的配方版本数据 /// public void InitRecipeVersionData() { if (this.cmbRecipeMaterial.SelectedItem != null) { SimplePmtRecipe recipe = this.cmbRecipeMaterial.SelectedItem as SimplePmtRecipe; List 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(); } } /// /// 自动完成实现 /// /// /// private void cmbRecipeMaterial_TextUpdate(object sender, EventArgs e) { this.InitData(); //设置光标位置,否则光标位置始终保持在第一列,造成输入关键词的倒序排列 this.cmbRecipeMaterial.SelectionStart = this.cmbRecipeMaterial.Text.Length; //保持鼠标指针原来状态,有时候鼠标指针会被下拉框覆盖,所以要进行一次设置。 Cursor = Cursors.Default; //自动弹出下拉框 this.cmbRecipeMaterial.DroppedDown = true; } /// /// 配方名称更改 /// /// /// 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 } }