#region << 版 本 注 释 >>
/*----------------------------------------------------------------
 * 命名空间:WIDESEAWCS_QuartzJob
 * 创建者:胡童庆
 * 创建时间:2024/8/2 16:13:36
 * 版本:V1.0.0
 * 描述:设备协议实体
 *
 * ----------------------------------------------------------------
 * 修改人:
 * 修改时间:
 * 版本:V1.0.1
 * 修改说明:
 * 
 *----------------------------------------------------------------*/
#endregion << 版 本 注 释 >>

using Magicodes.ExporterAndImporter.Core;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.DB.Models;

namespace WIDESEAWCS_QuartzJob.Models
{
    /// <summary>
    /// 设备协议
    /// </summary>
    [SugarTable(nameof(Dt_DeviceProtocol), "设备协议")]
    public class Dt_DeviceProtocol : BaseEntity
    {
        /// <summary>
        /// 主键
        /// </summary>
        [ImporterHeader(IsIgnore = true)]
        [ExporterHeader(IsIgnore = true)]
        [SugarColumn(IsIdentity = true, IsPrimaryKey = true, ColumnDescription = "主键")]
        public int Id { get; set; }

        /// <summary>
        /// 设备主键
        /// </summary>
        [ImporterHeader(IsIgnore = true)]
        [ExporterHeader(IsIgnore = true)]
        [SugarColumn(IsNullable = false, ColumnDescription = "设备主键")]
        public int DeviceId { get; set; }

        /// <summary>
        /// 设备子编号
        /// </summary>
        [ImporterHeader(Name = "设备子编号")]
        [ExporterHeader(DisplayName = "设备子编号")]
        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "设备子编号")]
        public string DeviceChildCode { get; set; }

        /// <summary>
        /// 协议数据块
        /// </summary>
        [ImporterHeader(Name = "协议数据块")]
        [ExporterHeader(DisplayName = "协议数据块")]
        [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "协议数据块")]
        public string DeviceProDataBlock { get; set; }

        /// <summary>
        /// 偏移量
        /// </summary>
        [ImporterHeader(Name = "偏移量")]
        [ExporterHeader(DisplayName = "偏移量")]
        [SugarColumn(IsNullable = false, DecimalDigits = 1, ColumnDescription = "偏移量")]
        public decimal DeviceProOffset { get; set; }

        /// <summary>
        /// 数据类型
        /// </summary>
        [ImporterHeader(Name = "数据类型")]
        [ExporterHeader(DisplayName = "数据类型")]
        [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "数据类型")]
        public string DeviceProDataType { get; set; }

        /// <summary>
        /// 数据长度
        /// </summary>
        [ImporterHeader(Name = "数据长度")]
        [ExporterHeader(DisplayName = "数据长度")]
        [SugarColumn(IsNullable = false, ColumnDescription = "数据长度", DefaultValue = "1")]
        public int DeviceProDataLength { get; set; }

        /// <summary>
        /// 参数名称
        /// </summary>
        [ImporterHeader(Name = "参数名称")]
        [ExporterHeader(DisplayName = "参数名称")]
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "参数名称")]
        public string DeviceProParamName { get; set; }

        /// <summary>
        /// 参数类型
        /// </summary>
        [ImporterHeader(Name = "参数类型")]
        [ExporterHeader(DisplayName = "参数类型")]
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "参数类型")]
        public string DeviceProParamType { get; set; }

        /// <summary>
        /// 参数说明
        /// </summary>
        [ImporterHeader(Name = "参数说明")]
        [ExporterHeader(DisplayName = "参数说明")]
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "参数说明")]
        public string DeviceProParamDes { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [ImporterHeader(Name = "备注")]
        [ExporterHeader(DisplayName = "备注")]
        [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "备注")]
        public string DeviceProRemark { get; set; }
    }
}