using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.Drawing; using System.ComponentModel; using System.Data; namespace Mesnac.Controls.Feeding { /// /// 物料(胶料、小料)称量状态 /// [ToolboxBitmap(typeof(System.Windows.Forms.Label))] public class MaterialStatus : Label { #region 字段定义 private int _firstPloy = 0; private int _secondPloy = 0; private int _thirdPloy = 0; private int _fourthPloy = 0; private int _fifthPloy = 0; private int _sixthPloy = 0; private int _seventhPloy = 0; private int _eighthPloy = 0; private int _ninethPloy = 0; private int _tenthPloy = 0; private int _eleventhPloy = 0; private int _twelvethPloy = 0; private int _thirteenthPloy = 0; private int _fourteenthPloy = 0; private int _fifteenthPloy = 0; private int _sendingPloy = 0; private int _endAndWaitPloy = 0; private int _endWeight = 0; private int _weightAuto = 0; private string _materialType=string.Empty; private string _firstPloyName; private string _secondPloyName; private string _thirdPloyName; private string _fourthPloyName; private string _fifthPloyName; private string _sixthPloyName; private string _seventhPloyName; private string _eightPloyName; private string _ninethPloyName; private string _tenthPloyName; private string _eleventhPloyName; private string _twelvethPloyName; private string _thirteenthPloyName; private string _fourteenthPloyName; private string _fifteenthPloyName; private string _sendingPloyName; private string _endAndWaitPloyName; private string _endWeightName; private string _weightAutoName; private Dictionary _plyStatusValueList = new Dictionary() { { "FirstPloy", "正在称量第一种胶料" }, { "SecondPloy", "正在称量第二种胶料" }, { "ThirdPloy", "正在称量第三种胶料" }, { "FourthPloy", "正在称量第四种胶料" }, { "FifthPloy", "正在称量第五种胶料" }, { "SixthPloy", "正在称量第六种胶料" }, { "SeventhPloy", "正在称量第七种胶料" }, { "EighthPloy", "正在称量第八种胶料" }, { "NinethPloy", "正在称量第九种胶料" }, { "TenthPloy", "正在称量第十种胶料" }, { "EleventhPloy", "正在称量第十一种胶料" }, { "TwelvethPloy", "正在称量第十二种胶料" }, { "ThirteenthPloy", "正在称量第十三种胶料" }, { "FourteenthPloy", "正在称量第十四种胶料" }, { "FifteenthPloy", "正在称量第十五种胶料" }, { "SendingPloy", "正在送胶料..." }, { "EndAndWaitPloy", "等待送胶料" }, { "WeightAuto0", "手动" }, { "WeightAuto1", "自动" } }; private Dictionary _smallStatusValueList = new Dictionary() { { "FirstPloy", "正在称量第一种小料" }, { "SecondPloy", "正在称量第二种小料" }, { "ThirdPloy", "正在称量第三种小料" }, { "FourthPloy", "正在称量第四种小料" }, { "FifthPloy", "正在称量第五种小料" }, { "SixthPloy", "正在称量第六种小料" }, { "SendingPloy", "正在送小料..." }, { "EndAndWaitPloy", "等待送小料" }, { "WeightAuto0", "手动" }, { "WeightAuto1", "自动" } }; #endregion #region 属性定义 [TypeConverter(typeof(MaterialTypeConverter)), Category("Design")] public string MaterialType { get { return _materialType; } set { _materialType = value; } } /// /// 正在称第01种物料 /// [Description("正在称第01种物料"), Category("PLC")] public int FirstPloy { get { return _firstPloy; } set { _firstPloy = value; this.RefereshText(); } } /// /// 正在称第02种物料 /// [Description("正在称第02种物料"), Category("PLC")] public int SecondPloy { get { return _secondPloy; } set { _secondPloy = value; this.RefereshText(); } } /// /// 正在称第03种物料 /// [Description("正在称第03种物料"), Category("PLC")] public int ThirdPloy { get { return _thirdPloy; } set { _thirdPloy = value; this.RefereshText(); } } /// /// 正在称第04种物料 /// [Description("正在称第04种物料"), Category("PLC")] public int FourthPloy { get { return _fourthPloy; } set { _fourthPloy = value; this.RefereshText(); } } /// /// 正在称第05种物料 /// [Description("正在称第05种物料"), Category("PLC")] public int FifthPloy { get { return _fifthPloy; } set { _fifthPloy = value; this.RefereshText(); } } /// /// 正在称第06种物料 /// [Description("正在称第06种物料"), Category("PLC")] public int SixthPloy { get { return _sixthPloy; } set { _sixthPloy = value; this.RefereshText(); } } /// /// 正在称第07种物料 /// [Description("正在称第07种物料"), Category("PLC")] public int SeventhPloy { get { return _seventhPloy; } set { _seventhPloy = value; this.RefereshText(); } } /// /// 正在称第08种物料 /// [Description("正在称第08种物料"), Category("PLC")] public int EighthPloy { get { return _eighthPloy; } set { _eighthPloy = value; } } /// /// 正在称第09种物料 /// [Description("正在称第09种物料"), Category("PLC")] public int NinethPloy { get { return _ninethPloy; } set { _ninethPloy = value; } } /// /// 正在称第10种物料 /// [Description("正在称第10种物料"), Category("PLC")] public int TenthPloy { get { return _tenthPloy; } set { _tenthPloy = value; } } /// /// 正在称第11种物料 /// [Description("正在称第11种物料"), Category("PLC")] public int EleventhPloy { get { return _eleventhPloy; } set { _eleventhPloy = value; } } /// /// 正在称第12种物料 /// [Description("正在称第12种物料"), Category("PLC")] public int TwelvethPloy { get { return _twelvethPloy; } set { _twelvethPloy = value; } } /// /// 正在称第13种物料 /// [Description("正在称第13种物料"), Category("PLC")] public int ThirteenthPloy { get { return _thirteenthPloy; } set { _thirteenthPloy = value; } } /// /// 正在称第14种物料 /// [Description("正在称第14种物料"), Category("PLC")] public int FourteenthPloy { get { return _fourteenthPloy; } set { _fourteenthPloy = value; } } /// /// 正在称第15种物料 /// [Description("正在称第15种物料"), Category("PLC")] public int FifteenthPloy { get { return _fifteenthPloy; } set { _fifteenthPloy = value; } } /// /// 正在送物料 /// [Description("正在送物料"), Category("PLC")] public int SendingPloy { get { return _sendingPloy; } set { _sendingPloy = value; this.RefereshText(); } } /// /// 称量结束等待送物料 /// [Description("称量结束等待送物料"), Category("PLC")] public int EndAndWaitPloy { get { return _endAndWaitPloy; } set { _endAndWaitPloy = value; this.RefereshText(); } } /// /// 结束称量 /// [Description("结束称量"), Category("PLC")] public int EndWeight { get { return _endWeight; } set { _endWeight = value; this.RefereshText(); } } /// /// 秤自动 /// [Description("秤自动"), Category("PLC")] public int WeightAuto { get { return _weightAuto; } set { _weightAuto = value; this.RefereshText(); } } #endregion #region 动画属性定义 /// /// 正在称第01种物料动画属性 /// public string FirstPloyName { get { return _firstPloyName; } set { _firstPloyName = value; } } /// /// 正在称第02种物料动画属性 /// public string SecondPloyName { get { return _secondPloyName; } set { _secondPloyName = value; } } /// /// 正在称第03种物料动画属性 /// public string ThirdPloyName { get { return _thirdPloyName; } set { _thirdPloyName = value; } } /// /// 正在称第04种物料动画属性 /// public string FourthPloyName { get { return _fourthPloyName; } set { _fourthPloyName = value; } } /// /// 正在称第05种物料动画属性 /// public string FifthPloyName { get { return _fifthPloyName; } set { _fifthPloyName = value; } } /// /// 正在称第06种物料动画属性 /// public string SixthPloyName { get { return _sixthPloyName; } set { _sixthPloyName = value; } } /// /// 正在称第07种物料动画属性 /// public string SeventhPloyName { get { return _seventhPloyName; } set { _seventhPloyName = value; } } /// /// 正在称第08种物料动画属性 /// public string EightPloyName { get { return _eightPloyName; } set { _eightPloyName = value; } } /// /// 正在称第09种物料动画属性 /// public string NinethPloyName { get { return _ninethPloyName; } set { _ninethPloyName = value; } } /// /// 正在称第10种物料动画属性 /// public string TenthPloyName { get { return _tenthPloyName; } set { _tenthPloyName = value; } } /// /// 正在称第11种物料动画属性 /// public string EleventhPloyName { get { return _eleventhPloyName; } set { _eleventhPloyName = value; } } /// /// 正在称第12种物料动画属性 /// public string TwelvethPloyName { get { return _twelvethPloyName; } set { _twelvethPloyName = value; } } /// /// 正在称第13种物料动画属性 /// public string ThirteenthPloyName { get { return _thirteenthPloyName; } set { _thirteenthPloyName = value; } } /// /// 正在称第14种物料动画属性 /// public string FourteenthPloyName { get { return _fourteenthPloyName; } set { _fourteenthPloyName = value; } } /// /// 正在称第15种物料动画属性 /// public string FifteenthPloyName { get { return _fifteenthPloyName; } set { _fifteenthPloyName = value; } } /// /// 正在送物料动画属性 /// public string SendingPloyName { get { return _sendingPloyName; } set { _sendingPloyName = value; } } /// /// 称量结束等待送物料动画属性 /// public string EndAndWaitPloyName { get { return _endAndWaitPloyName; } set { _endAndWaitPloyName = value; } } /// /// 结束称量动画属性 /// public string EndWeightName { get { return _endWeightName; } set { _endWeightName = value; } } /// /// 秤自动动画属性 /// public string WeightAutoName { get { return _weightAutoName; } set { _weightAutoName = value; } } #endregion #region 业务逻辑处理,根据各属性值确定小料状态 /// /// 根据各属性值确定小料状态 /// private void RefereshText() { string tmp = String.Empty; if (this._firstPloy == 1 && !string.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["FirstPloy"]; //"正在称量第01种物料"; } else { tmp=this._smallStatusValueList["FirstPloy"]; } } if (this._secondPloy == 1 && !string.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["SecondPloy"]; //"正在称量第02种物料"; } else { tmp = this._smallStatusValueList["SecondPloy"]; } } if (this._thirdPloy == 1 && !string.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["ThirdPloy"]; //"正在称量第03种物料"; } else { tmp = this._smallStatusValueList["ThirdPloy"]; } } if (this._fourthPloy == 1 && !string.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["FourthPloy"]; //"正在称量第04种物料"; } else { tmp = this._smallStatusValueList["FourthPloy"]; } } if (this._fifthPloy == 1 && !string.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["FifthPloy"]; //"正在称量第05种物料"; } else { tmp = this._smallStatusValueList["FifthPloy"]; } } if (this._sixthPloy == 1 && !string.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["SixthPloy"]; //"正在称量第06种物料"; } else { tmp = this._smallStatusValueList["SixthPloy"]; } } if (this._seventhPloy == 1 && !string.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["SeventhPloy"]; //"正在称量第07种物料"; } } if (this._eighthPloy == 1 && !String.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["EighthPloy"]; //"正在称量第08种物料"; } } if (this._ninethPloy == 1 && !String.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["NinethPloy"]; //"正在称量第09种物料"; } } if (this._tenthPloy == 1 && !String.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["TenthPloy"]; //"正在称量第10种物料"; } } if (this._eleventhPloy == 1 && !String.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["EleventhPloy"]; //"正在称量第11种物料"; } } if (this._twelvethPloy == 1 && !String.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["TwelvethPloy"]; //"正在称量第12种物料"; } } if (this._thirteenthPloy == 1 && !String.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["ThirteenthPloy"]; //"正在称量第13种物料"; } } if (this._fourteenthPloy == 1 && !String.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["FourteenthPloy"]; //"正在称量第14种物料"; } } if (this.FifteenthPloy == 1 && !String.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["FifteenthPloy"]; //"正在称量第15种物料"; } } if (this._sendingPloy == 1 && !string.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["SendingPloy"]; //"正在送料..."; } else { tmp = this._smallStatusValueList["SendingPloy"]; } } if (this._endAndWaitPloy == 1 && !string.IsNullOrWhiteSpace(_materialType)) { if (_materialType == "胶料") { tmp = this._plyStatusValueList["EndAndWaitPloy"]; //"等待送小料"; } else { tmp = this._smallStatusValueList["EndAndWaitPloy"]; } } //if (this._endWeight == 0 && !string.IsNullOrWhiteSpace(_materialType)) //{ // if (this._weightAuto == 0) // { // if (_materialType == "胶料") // { // tmp = this._plyStatusValueList["WeightAuto0"]; //"手动"; // } // else // { // tmp = this._smallStatusValueList["WeightAuto0"]; // } // } //} //else //{ // if (this._weightAuto == 1) // { // if (_materialType == "胶料") // { // tmp = this._plyStatusValueList["WeightAuto1"]; //"手动"; // } // else // { // tmp = this._smallStatusValueList["WeightAuto1"]; // } // } //} this.Text = tmp; } #endregion ///// ///// 状态值列表,键固定 ///// //[Description("状态值集合"), Category("状态")] //public Dictionary StatusValueList //{ // get { return _statusValueList; } // set { _statusValueList = value; } //} } }