namespace WCS.Application;

/// <summary>
/// 报警信息表
/// </summary>
[SugarTable("WCSAlarmInfo","报警信息表")]
public class WcsAlarmInfo : EntityBaseData
{
    /// <summary>
    /// PLCIP地址
    /// </summary>
    [Required]
    [SugarColumn(ColumnName = "PlcIP", ColumnDescription = "PLCIP地址", Length = 20)]
    public string PlcIP { get; set; }
    
    /// <summary>
    /// PLCIP地址
    /// </summary>
    [Required]
    [SugarColumn(ColumnName = "PlcPort", ColumnDescription = "PLCIP地址")]
    public int PlcPort { get; set; }

    /// <summary>
    /// 工位号
    /// </summary>
    [Required]
    [SugarColumn(ColumnName = "StationNum", ColumnDescription = "工位号", Length = 4)]
    public string StationNum { get; set; }

    /// <summary>
    /// 报警编号
    /// </summary>
    [Required]
    [SugarColumn(ColumnName = "AlarmCode", ColumnDescription = "报警编号", Length = 20)]
    public string AlarmCode { get; set; }
    
    /// <summary>
    /// 报警描述
    /// </summary>
    [SugarColumn(ColumnName = "AlarmName", ColumnDescription = "报警描述", Length = 100)]
    public string? AlarmName { get; set; }
    
    /// <summary>
    /// 显示屏ip地址
    /// </summary>
    [SugarColumn(ColumnName = "LedIP", ColumnDescription = "显示屏ip地址", Length = 20)]
    public string? LedIP { get; set; }

    /// <summary>
    /// 状态
    /// </summary>
    [SugarColumn(ColumnName = "Status", ColumnDescription = "状态")]
    public YesNoEnum? Status { get; set; } = YesNoEnum.N;
    
    /// <summary>
    /// 设备类型
    /// </summary>
    [SugarColumn(ColumnName = "Type", ColumnDescription = "设备类型", Length = 20)]
    public PLCTypeEnum Type { get; set; }
    
    /// <summary>
    /// 报警日期
    /// </summary>
    [SugarColumn(ColumnName = "AlarmTime", ColumnDescription = "报警日期")]
    public DateTime? AlarmTime { get; set; }
    
    /// <summary>
    /// LED状态
    /// </summary>
    [SugarColumn(ColumnName = "LedStatus", ColumnDescription = "LED状态")]
    public int? LedStatus { get; set; }
    
}