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
{
    /// <summary>
    /// 采购订单明细表
    /// </summary>
    [Description("采购订单明细表")]
    public class TED_PO_DET : TED_BASE,ITaskTable
    {
        [Description("采购订单号")]
        [StringLength(50)]
        public string PurchaseOrder { get; set; }

        [Description("采购订单行")]
        public int Line { get; set; }

        [Description("订单类型")]
        [StringLength(50)]
        public string PoType { get; set; }
        [Description("到货日期")]
        public DateTime DueDate { get; set; }

        [Description("零件号")]
        [StringLength(50)]
        public string PartCode { get; set; }

        [Description("订货数量")]
        public decimal Qty { get; set; }

        [Description("未结数量")]
        public decimal QtyOpen { get; set; }

        [Description("标包数量")]
        public decimal PackQty { get; set; }

        [Description("币种")]
        [StringLength(50)]
        public string Currency { get; set; }

        [Description("价格")]
        public decimal Price { get; set; }

        [Description("采购单位")]
        [StringLength(50)]
        public string PoUm { get; set; }

        [Description("存储单位")]
        [StringLength(50)]
        public string LocUm { get; set; }

        [Description("单位转换率")]
        public decimal Conv { get; set; }

        [Description("订单明细状态")]
        public int Status { 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; }

        [Description("地点")]
        [StringLength(50)]
        public string Site { get; set; }
        [Description("零件开始时间")]
        public DateTime StartDate { get; set; }
        [Description("零件结束时间")]
        public DateTime EndDate { get; set; }
        [Description("加工单号")]
        [StringLength(50)]
        public string Workorderlot { get; set; }
        [Description("工序")]
        public int Operation { get; set; }
        [Description("库位")]
        [StringLength(8)]
        public string Location { get; set; }
        [Description("固定天数")]
        public int Firmdays { get; set; }
        [Description("日程天数")]
        public int Scheduledays { get; set; }
        [Description("日程周数")]
        public int Scheduleweeks { get; set; }
        [Description("日程月数")]
        public int Schedulemonth { get; set; }
        [Description("供应商零件")]
        [StringLength(50)]
        public string Supplieritem { get; set; }
        [Description("发货样式")]
        [StringLength(2)]
        public string Dliverypatterncode { get; set; }
        [Description("发货时间样式")]
        [StringLength(2)]
        public string Deliverytimecode { get; set; }
        [Description("运输周期")]
        public int Transportdays { get; set; }
        [Description("价格表")]
        [StringLength(50)]
        public string Pricelist { get; set; }
    }
}