| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | using PunkHPX8_Core;using DocumentFormat.OpenXml.ExtendedProperties;using MECF.Framework.Common.CommonData;using Newtonsoft.Json;using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MECF.Framework.Common.RecipeCenter{    public class DepRecipe : NotifiableItem    {        #region 内部变量        private string _author;        private string _description;        private string _ppid;        private RecipeType _recipeType = RecipeType.DEP;        private DateTime _saveDate;        private DateTime _createDate;        private int _anodeType;        private string _chemistry;        private int _currentWarningLevel;        private int _cycleClampsMaxTries;        private int _faultPercent;        private int _platingDelaySeconds;        private int _volatageLimitMax;        private int _volatageLimitMin;        private int _voltageWarningLevel;        private bool _cycleClampsEnable;        private bool _hotPlatingCurrentOn;        private ObservableCollection<CurrentRampProfile> _currentRampProfileSteps;        private ObservableCollection<PulsePowerSupplyStep> _pulsePowerSupplySteps;        private bool _multiAnodeType;        private int _depositionPlatingSteps;        private string _depositionTotalTime;        private double _depositionTotalCurrent;        private int _totalTime;        #endregion        #region 属性        [JsonProperty]        public string Author { get { return _author; } set { _author = value; InvokePropertyChanged(nameof(Author)); } }        [JsonProperty]        public string Description { get { return _description; } set { _description = value; InvokePropertyChanged(nameof(Description)); } }        [JsonProperty]        public string Ppid { get { return _ppid; } set { _ppid = value; InvokePropertyChanged(nameof(Ppid)); } }        [JsonProperty]        public RecipeType RecipeType { get { return _recipeType; } set { _recipeType = value; InvokePropertyChanged(nameof(RecipeType)); } }        [JsonProperty]        public DateTime CreateDate { get { return _createDate; } set { _createDate = value; InvokePropertyChanged(nameof(CreateDate)); } }        [JsonProperty]        public DateTime SaveDate { get { return _saveDate; } set { _saveDate = value; InvokePropertyChanged(nameof(SaveDate)); } }        [JsonProperty]        public string Chemistry { get { return _chemistry; } set { _chemistry = value; InvokePropertyChanged(nameof(Chemistry)); } }        [JsonProperty]        public int AnodeType { get { return _anodeType; } set { _anodeType = value;InvokePropertyChanged(nameof(AnodeType)); } }        [JsonProperty]        public int CurrentWarningLevel { get { return _currentWarningLevel; } set { _currentWarningLevel = value; InvokePropertyChanged(nameof(CurrentWarningLevel)); } }        [JsonProperty]        public int CycleClampsMaxTries { get { return _cycleClampsMaxTries;} set { _cycleClampsMaxTries = value; InvokePropertyChanged(nameof(CycleClampsMaxTries)); } }        [JsonProperty]        public int FaultPercent { get { return _faultPercent; } set { _faultPercent = value; InvokePropertyChanged(nameof(FaultPercent)); } }        [JsonProperty]        public int PlatingDelaySeconds { get { return _platingDelaySeconds; } set { _platingDelaySeconds = value; InvokePropertyChanged(nameof(PlatingDelaySeconds)); } }        [JsonProperty]        public int VolatageLimitMax { get { return _volatageLimitMax;} set { _volatageLimitMax = value; InvokePropertyChanged(nameof(VolatageLimitMax)); } }        [JsonProperty]        public int VolatageLimitMin { get { return _volatageLimitMin;} set { _volatageLimitMin = value; InvokePropertyChanged(nameof(VolatageLimitMin)); } }        [JsonProperty]        public int VoltageWarningLevel { get { return _voltageWarningLevel; } set { _voltageWarningLevel = value; InvokePropertyChanged(nameof(VoltageWarningLevel)); } }        [JsonProperty]        public bool CycleClampsEnable { get { return _cycleClampsEnable; } set { _cycleClampsEnable = value;InvokePropertyChanged(nameof(CycleClampsEnable)); } }        [JsonProperty]        public bool HotPlatingCurrentOn { get { return _hotPlatingCurrentOn; } set { _hotPlatingCurrentOn = value;InvokePropertyChanged(nameof(HotPlatingCurrentOn)); } }        [JsonProperty]        public ObservableCollection<CurrentRampProfile> CurrentRampProfileSteps { get { return _currentRampProfileSteps; }             set { _currentRampProfileSteps = value; InvokePropertyChanged(nameof(CurrentRampProfileSteps));} }        [JsonProperty]        public ObservableCollection<PulsePowerSupplyStep> PulsePowerSupplySteps { get { return _pulsePowerSupplySteps; }             set { _pulsePowerSupplySteps = value; InvokePropertyChanged(nameof(PulsePowerSupplySteps));} }        [JsonProperty]        public bool MultiAnodeType { get { return _multiAnodeType; } set { _multiAnodeType = value; InvokePropertyChanged(nameof(MultiAnodeType));} }        [JsonProperty]        public int DepositionPlatingSteps { get { return _depositionPlatingSteps; } set { _depositionPlatingSteps = value; InvokePropertyChanged(nameof(DepositionPlatingSteps)); } }        [JsonProperty]        public string DepositionTotalTime { get { return _depositionTotalTime; } set { _depositionTotalTime = value; InvokePropertyChanged(nameof(DepositionTotalTime)); } }        [JsonProperty]        public double DepositionTotalCurrent { get { return _depositionTotalCurrent; } set { _depositionTotalCurrent = value; InvokePropertyChanged(nameof(DepositionTotalCurrent)); } }        [JsonProperty]        public int TotalTime { get { return _totalTime; } set { _totalTime = value; InvokePropertyChanged(nameof(TotalTime)); } }        #endregion        /// <summary>        /// 计算Recipe总时间        /// </summary>        /// <returns></returns>        public int CalculateRecipeTotalTime()        {            int count = this.PlatingDelaySeconds;            foreach (var item in this.CurrentRampProfileSteps)            {                count += item.CurrentRampDurartionSeconds;            }            return count;        }    }}
 |