using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using CK.SCP.Models.Base;
using CK.SCP.Models.Enums;

namespace CK.SCP.Models.ExchangeCenterTables
{
    [Description("生产线表")]
    public class TES_LINE : TED_BASE,ITaskTable
    {
        [Description("生产线")]
        [StringLength(50)]
        public string ProductionLine { get; set; }

        [Description("地点")]
        [StringLength(50)]
        public string Site { get; set; }

        [Description("说明")]
        [StringLength(50)]
        public string Description { get; set; }

        [Description("件数/小时")]
        public decimal UnitsHour { get; set; }

        [Description("启用运行大小")]
        public bool EnableRunSize { get; set; }

        [Description("项数")]
        public decimal NumberOfLines { get; set; }

        [Description("持续时间缓冲-天")]
        public int DurationBuffer { get; set; }

        [Description("持续时间缓冲时间")]
        [StringLength(50)]
        public string DurationBufferHMS { get; set; }

        [Description("设置时间-天")]
        public int SetupTime { get; set; }

        [Description("设置时间")]
        [StringLength(50)]
        public string SetupTimeHMS { get; set; }

        [Description("自动固定")]
        public bool LnAutofirm { get; set; }

        [Description("上次自动固定")]
        public DateTime LnLastAutofirm { get; set; }

        [Description("生产调度者ID")]
        [StringLength(50)]
        public string LnScheduler { get; set; }

        [Description("期限结束")]
        [StringLength(50)]
        public string Dtendlit { get; set; }

        [Description("结束周期号")]
        public int EndNumber { get; set; }

        [Key]
        public Guid GUID { get; set; } = Guid.NewGuid();

        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int UID { get; set; }

        [Description("创建人")]
        [StringLength(50)]
        public string CreateUser { get; set; }

        [Description("创建时间")]
        public DateTime CreateTime { get; set; }


        [Description("备注")]
        public string Remark { get; set; }

        [Description("任务编号")]
        public Guid TaskID { get; set; }

        [Description("命令类型")]
        [StringLength(50)]
        public string CommandType { get; set; }

        public Guid DataID { get; set; }

        [Description("域")]
        [StringLength(50)]
        public string Domain { get; set; }
    }
}