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.Enums;

using CK.SCP.Models.ExchangeCenterTables;namespace CK.SCP.Models.DataCenterTables
{
    [Description("工艺变更表")]
    public class TT_ROUTING : TED_BASE,ITaskTable
    {
        [IsDataGridColum(true, 1)]
        [Description("工艺流程代码")]
        [StringLength(50)]
        public string RoutingCode { get; set; }
        [IsDataGridColum(true, 2)]
        [Description("工序")]
        public int Operation { get; set; }
        [IsDataGridColum(true, 3)]
        [Description("开始日期")]
        public DateTime StartDate { get; set; }
        [IsDataGridColum(true, 4)]
        [Description("标准工序")]
        [StringLength(50)]
        public string StandardOperration { get; set; }
        [IsDataGridColum(true, 5)]
        [Description("工作中心")]
        [StringLength(50)]
        public string WorkCenter { get; set; }
        [IsDataGridColum(true, 6)]
        [Description("机器")]
        [StringLength(50)]
        public string Machine { get; set; }
        [IsDataGridColum(true, 7)]
        [Description("说明")]
        [StringLength(50)]
        public string Description { get; set; }
        [IsDataGridColum(true, 8)]
        [Description("机器数/工序")]
        public int MachinesPerOperation { get; set; }
        [IsDataGridColum(true, 9)]
        [Description("平行加工件数")]
        public int OverlapUnits { get; set; }
        [IsDataGridColum(true, 10)]
        [Description("排队时间")]
        public decimal QueueTime { get; set; }
        [IsDataGridColum(true, 11)]
        [Description("等待时间")]
        public decimal WaitTime { get; set; }
        [IsDataGridColum(true, 12)]
        [Description("划分阶段的工序")]
        public bool MilestoneOperation { get; set; }
        [IsDataGridColum(true, 13)]
        [Description("转包提前期")]
        public int SubcontractLt { get; set; }
        [IsDataGridColum(true, 14)]
        [Description("设置人员")]
        public decimal SetupCrew { get; set; }
        [IsDataGridColum(true, 15)]
        [Description("操作全体成员")]
        public decimal RunCrew { get; set; }
        [IsDataGridColum(true, 16)]
        [Description("设置时间")]
        public decimal SetupTime { get; set; }
        [IsDataGridColum(true, 17)]
        [Description("运行时间")]
        public decimal RunTime { get; set; }
        [IsDataGridColum(true, 18)]
        [Description("移动时间")]
        public decimal MoveTime { get; set; }
        [IsDataGridColum(true, 19)]
        [Description("结束日期")]
        public DateTime EndDate { get; set; }
        [IsDataGridColum(true, 20)]
        [Description("产出率")]
        public decimal YieldPercent { get; set; }
        [IsDataGridColum(true, 21)]
        [Description("工具代码")]
        [StringLength(50)]
        public string ToolCode { get; set; }
        [IsDataGridColum(true, 22)]
        [Description("供应商")]
        [StringLength(50)]
        public string Supplier { get; set; }
        [IsDataGridColum(true, 23)]
        [Description("库存价值")]
        public decimal InventoryValue { get; set; }
        [IsDataGridColum(true, 24)]
        [Description("转包成本")]
        public decimal SubcontractCost { get; set; }
        [IsDataGridColum(true, 25)]
        [Description("备注")]
        public bool Comments { get; set; }

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

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

        [IsDataGridColum(true, 28)]
        [Description("备注")]
        public string Remark { get; set; }
        [IsDataGridColum(true, 29)]
        [Description("任务编号")]
        public Guid TaskID { get; set; }
        [IsDataGridColum(true, 30)]
        [Description("命令类型")]
        [StringLength(50)]
        public string CommandType { get; set; }
        [IsDataGridColum(true, 31)]
        [Description("数据ID")]
        public Guid DataID { get; set; }

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

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