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

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

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

        /// <summary>
        /// 设备报警规则id,关联dms_base_alarm_rule的alarm_rule_id
        /// </summary>
        [SugarColumn(ColumnName = "alarm_rule_id")]
        public long AlarmRuleId { get; set; }

        /// <summary>
        /// 报警开始时间
        /// </summary>
        [SugarColumn(ColumnName = "alarm_begin_time")]
        public DateTime? AlarmBeginTime { get; set; }

        /// <summary>
        /// 报警结束时间
        /// </summary>
        [SugarColumn(ColumnName = "alarm_end_time")]
        public DateTime? AlarmEndTime { get; set; }

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

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

        /// <summary>
        /// 报警数据
        /// </summary>
        [SugarColumn(ColumnName = "alarm_data")]
        public string AlarmData { get; set; }

        /// <summary>
        /// 报警状态（0未处理 1人工已处理 2自动恢复）
        /// </summary>
        [SugarColumn(ColumnName = "alarm_status")]
        public string AlarmStatus { get; set; }

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

        /// <summary>
        /// 通知状态（0未通知 1已通知）
        /// </summary>
        [SugarColumn(ColumnName = "notice_status")]
        public string NoticeStatus { get; set; }

        /// <summary>
        /// 处理人员
        /// </summary>
        [SugarColumn(ColumnName = "handle_user")]
        public string HandleUser { get; set; }

        /// <summary>
        /// 处理时间
        /// </summary>
        [SugarColumn(ColumnName = "handle_time")]
        public DateTime? HandleTime { get; set; }

        /// <summary>
        /// 原因分析
        /// </summary>
        [SugarColumn(ColumnName = "cause_analysis")]
        public string CauseAnalysis { 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; }
    }
}
