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_Model.Models
{
    [SugarTable("Dt_Platform", "设备工艺参数")]
    public class Platform : BaseEntity
    {
        /// <summary>
        /// 主键ID
        /// </summary>
        [ImporterHeader(Name = "主键")]
        [ExporterHeader(DisplayName = "主键")]
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int Id { get; set; }
        /// <summary>
        /// 站台编号,唯一标识每个站台的编号
        /// </summary>
        [ImporterHeader(Name = "站台编号,唯一标识每个站台的编号")]
        [ExporterHeader(DisplayName = "站台编号,唯一标识每个站台的编号")]
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "站台编号,唯一标识每个站台的编号")]
        public string PlatCode { get; set; }

        /// <summary>
        /// 站台名称,站台的名称或描述
        /// </summary>
        [ImporterHeader(Name = "站台名称")]
        [ExporterHeader(DisplayName = "站台名称")]
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "站台名称")]
        public string PlatformName { get; set; }

        /// <summary>
        /// 对应堆垛机
        /// </summary>
        [ImporterHeader(Name = "对应堆垛机")]
        [ExporterHeader(DisplayName = "对应堆垛机")]
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "对应堆垛机")]
        public string Stacker { get; set; }

        /// <summary>
        /// 执行方法
        /// </summary>
        [ImporterHeader(Name = "执行方法")]
        [ExporterHeader(DisplayName = "执行方法")]
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "执行方法")]
        public string ExecutionMethod { get; set; }

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

        /// <summary>
        /// 对应PLC编号,与站台对应的PLC的编号
        /// </summary>
        [ImporterHeader(Name = "对应PLC编号")]
        [ExporterHeader(DisplayName = "对应PLC编号")]
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "对应PLC编号")]
        public string PLCCode { get; set; }

        /// <summary>
        /// 站台位置
        /// </summary>
        [ImporterHeader(Name = "站台位置")]
        [ExporterHeader(DisplayName = "站台位置")]
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "站台位置")]
        public string Location { get; set; }

        /// <summary>
        /// 站台容量
        /// </summary>
        [ImporterHeader(Name = "站台容量")]
        [ExporterHeader(DisplayName = "站台容量")]
        [SugarColumn(IsNullable = true, ColumnDescription = "站台容量")]
        public int Capacity { get; set; }

        /// <summary>
        /// 站台状态,默认为'Active'
        /// </summary>
        [ImporterHeader(Name = "站台状态")]
        [ExporterHeader(DisplayName = "站台状态")]
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "站台状态")]
        public string Status { get; set; } = "Active";


        /// <summary>
        /// 生产产线
        /// </summary>
        [ImporterHeader(Name = "生产产线")]
        [ExporterHeader(DisplayName = "生产产线")]
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "生产产线")]
        public string ProductionLine { get; set; }
        
    }
}