using Newtonsoft.Json;
using Prism.Mvvm;
using System;
namespace TeamAAS_VP.Models.Feeder
{
///
/// 螺丝供料器(物料)配置,用于记录螺丝批次与剩余数量等信息。
///
public class ScrewFeederInfo : BindableBase
{
private Guid _Id = Guid.NewGuid();
public Guid Id
{
get { return _Id; }
set { SetProperty(ref _Id, value); }
}
private int _FeederNumber;
///
/// 供料器编号(与物理供料器编号对应)
///
public int FeederNumber
{
get { return _FeederNumber; }
set { SetProperty(ref _FeederNumber, value); }
}
private string _Name;
///
/// 供料器名称
///
public string Name
{
get { return _Name; }
set { SetProperty(ref _Name, value); }
}
private string _BatchNumber;
///
/// 当前螺丝批次号
///
public string BatchNumber
{
get { return _BatchNumber; }
set { SetProperty(ref _BatchNumber, value); }
}
private int _RemainingCount;
///
/// 剩余螺丝数量
///
public int RemainingCount
{
get { return _RemainingCount; }
set { SetProperty(ref _RemainingCount, value); }
}
private int _PackSize;
///
/// 每包螺丝的数量值
///
public int PackSize
{
get { return _PackSize; }
set { SetProperty(ref _PackSize, value); }
}
private int _LowLevelThreshold;
///
/// 低量报警阈值(当 RemainingCount <= LowLevelThreshold 时触发报警)
///
public int LowLevelThreshold
{
get { return _LowLevelThreshold; }
set { SetProperty(ref _LowLevelThreshold, value); }
}
private bool _LowLevelAlarmEnabled = false;
///
/// 是否启用低量报警
///
public bool LowLevelAlarmEnabled
{
get { return _LowLevelAlarmEnabled; }
set { SetProperty(ref _LowLevelAlarmEnabled, value); }
}
private bool _IsLowLevelAlarmActive = false;
///
/// 当前是否处于低量报警状态(由服务维护)
///
public bool IsLowLevelAlarmActive
{
get { return _IsLowLevelAlarmActive; }
set { SetProperty(ref _IsLowLevelAlarmActive, value); }
}
public ScrewFeederInfo Clone()
{
return new ScrewFeederInfo
{
Id = this.Id,
FeederNumber = this.FeederNumber,
Name = this.Name,
BatchNumber = this.BatchNumber,
RemainingCount = this.RemainingCount,
PackSize = this.PackSize,
LowLevelThreshold = this.LowLevelThreshold,
LowLevelAlarmEnabled = this.LowLevelAlarmEnabled,
IsLowLevelAlarmActive = this.IsLowLevelAlarmActive
};
}
}
}