using CyberX8_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 _currentRampProfileSteps; private ObservableCollection _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 CurrentRampProfileSteps { get { return _currentRampProfileSteps; } set { _currentRampProfileSteps = value; InvokePropertyChanged(nameof(CurrentRampProfileSteps));} } [JsonProperty] public ObservableCollection 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 /// /// 计算Recipe总时间 /// /// public int CalculateRecipeTotalTime() { int count = this.PlatingDelaySeconds; foreach (var item in this.CurrentRampProfileSteps) { count += item.CurrentRampDurartionSeconds; } return count; } } }