using SqlSugar;
using System;
using System.Collections.Generic;
using System.Security.Principal;
using System.Text;

namespace SlnMesnac.Model.domain
{
    [SugarTable("dms_base_alarm_rule"), TenantAttribute("mes")]
    public class DmsBaseAlarmRule
    {
        /// <summary>
        /// 主键标识
        /// </summary>
        [SugarColumn(ColumnName = "alarm_rule_id", IsPrimaryKey = true, IsIdentity = true)]
        public long AlarmRuleId { get; set; }

        /// <summary>
        /// 设备台账id, 关联dms_base_device_ledger的device_id
        /// </summary>
        [SugarColumn(ColumnName = "device_id")]
        public long DeviceId { get; set; }

        /// <summary>
        /// 报警类型(1AGV 2PLC 3其他设备)
        /// </summary>
        [SugarColumn(ColumnName = "alarm_type")]
        public string AlarmType { get; set; }

        /// <summary>
        /// 报警级别(1一级 2二级 3三级)
        /// </summary>
        [SugarColumn(ColumnName = "alarm_level")]
        public string AlarmLevel { get; set; }

        /// <summary>
        /// 通知方式(1WEB 2公众号 3PLC)可多选
        /// </summary>
        [SugarColumn(ColumnName = "notice_type")]
        public string NoticeType { get; set; }

        /// <summary>
        /// 自动恢复标识(0否 1是)
        /// </summary>
        [SugarColumn(ColumnName = "recover_type")]
        public string RecoverType { get; set; }

        /// <summary>
        /// 报警持续时间(ms)
        /// </summary>
        [SugarColumn(ColumnName = "continue_time")]
        public long? ContinueTime { get; set; }

        /// <summary>
        /// 报警状态字
        /// </summary>
        [SugarColumn(ColumnName = "alarm_status_word")]
        public string AlarmStatusWord { get; set; }

        /// <summary>
        /// 报警原因
        /// </summary>
        [SugarColumn(ColumnName = "alarm_reason")]
        public string AlarmReason { get; set; }

        /// <summary>
        /// 处理建议
        /// </summary>
        [SugarColumn(ColumnName = "handle_suggest")]
        public string HandleSuggest { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [SugarColumn(ColumnName = "remark")]
        public string Remark { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        [SugarColumn(ColumnName = "create_by")]
        public string CreateBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [SugarColumn(ColumnName = "create_time")]
        public DateTime? CreateTime { get; set; }

        /// <summary>
        /// 更新人
        /// </summary>
        [SugarColumn(ColumnName = "update_by")]
        public string UpdateBy { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        [SugarColumn(ColumnName = "update_time")]
        public DateTime? UpdateTime { get; set; }
    }
}