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

using CK.SCP.Models.ExchangeCenterTables;namespace CK.SCP.Models.DataCenterTables
{
    [Description("生产线零件关系")]
    public class TS_LINE_PART : IUpdatableTable, ISoftDelete, IDomain
    {
        [Required(ErrorMessage = "代码不能为空")]
        [Index("IndexLinePart", Order = 0, IsUnique = true, IsClustered = false)]
        [IsDataGridColum(true, 1)]
        [Description("物料号")]
        [StringLength(50)]
        public string PartCode { get; set; }
        [IsDataGridColum(true, 2)]
        [Description("生产线")]
        [StringLength(50)]
        public string ProductionLine { get; set; }
        [IsDataGridColum(true, 3)]
        [Description("地点")]
        [StringLength(50)]
        public string Site { get; set; }
        [IsDataGridColum(true, 4)]
        [Description("开始日期")]
        public DateTime StartDate { get; set; }
        [IsDataGridColum(true, 5)]
        [Description("件数/小时")]
        public decimal UnitsHour { get; set; }
        [IsDataGridColum(true, 6)]
        [Description("项数")]
        public decimal NumberOfLines { get; set; }
        [IsDataGridColum(true, 7)]
        [Description("设置时间-天")]
        public int SetupTime { get; set; }
        [IsDataGridColum(true, 8)]
        [Description("设置时间")]
        [StringLength(50)]
        public string SetupTimeHMS { get; set; }
        [IsDataGridColum(true, 9)]
        [Description("主生产线")]
        public bool PrimaryLine { get; set; }
        [IsDataGridColum(true, 10)]
        [Description("设置人员")]
        public decimal SetupCrew { get; set; }
        [IsDataGridColum(true, 11)]
        [Description("大小")]
        public int SetSize { get; set; }
        [IsDataGridColum(true, 12)]
        [Description("操作全体成员")]
        public decimal RunCrew { get; set; }
        [IsDataGridColum(true, 13)]
        [Description("大小")]
        public int RunSize { get; set; }
        [IsDataGridColum(true, 14)]
        [Description("物料清单代码")]
        [StringLength(50)]
        public string BomCode { get; set; }
        [IsDataGridColum(true, 15)]
        [Description("工艺流程")]
        [StringLength(50)]
        public string Routing { get; set; }
        [IsDataGridColum(true, 16)]
        [Description("工具ID")]
        [StringLength(50)]
        public string ToolId { get; set; }
        [IsDataGridColum(true, 17)]
        [Description("运行顺序1")]
        [StringLength(50)]
        public string RunSequence1 { get; set; }
        [IsDataGridColum(true, 18)]
        [Description("运行顺序2")]
        [StringLength(50)]
        public string RunSequence2 { get; set; }
        [IsDataGridColum(true, 19)]
        [Description("备注")]
        public bool Comments { get; set; }


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

        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int UID { get; set; }
        [IsDataGridColum(true, 20)]
        [Description("创建人")]
        [StringLength(50)]
        public string CreateUser { get; set; }
        [IsDataGridColum(true, 21)]
        [Description("创建时间")]
        public DateTime CreateTime { get; set; }

        [IsDataGridColum(true, 22)]
        [Description("备注")]
        public string Remark { get; set; }
        [IsDataGridColum(true, 23)]
        [Description("修改人")]
        [StringLength(50)]
        public string UpdateUser { get; set; }
        [IsDataGridColum(true, 24)]
        [Description("修改时间")]
        public DateTime? UpdateTime { get; set; }

        [Description("已删除")]
        public bool IsDeleted { get; set; }
        [Description("域")]
        [StringLength(50)]
        public string Domain { get; set; }
    }
}