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

namespace CK.SCP.Models.ExchangeCenterTables
{
    [Description("WMS库位表")]
    public class TES_WMS_LOCATION : TED_BASE,ITaskTable
    {
        [Description("库位代码")]
        [StringLength(50)]
        public string Location { get; set; }

        [Description("描述")]
        [StringLength(50)]
        public string Desc { get; set; }

        [Description("ERP库位")]
        [StringLength(50)]
        public string ErpLocation { get; set; }

        [Description("库区")]
        [StringLength(50)]
        public string Area { get; set; }

        [Description("库存状态")]
        [StringLength(50)]
        public string InventoryStatus { get; set; }

        [Description("库管员")]
        [StringLength(50)]
        public string WarehouseKeeper { get; set; }

        [Description("仓库")]
        [StringLength(50)]
        public string WhseCode { get; set; }

        [Description("允许负库存")]
        public bool IsEnableNegativeStock { get; set; }

        [Description("允许零库存")]
        public bool AutoRemoveZeroStockDetail { get; set; }

        [Description("最大容量")]
        public decimal MaxBoxQty { get; set; }

        [Description("允许混放")]
        public bool IsEnableMix { get; set; }

        [Description("项目编号")]
        [StringLength(50)]
        public string ProjectId { 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("修改人")]
        [StringLength(50)]
        public string UpdateUser { get; set; }

        [Description("修改时间")]
        public DateTime? UpdateTime { get; set; }

        [Description("已删除")]
        public bool IsDeleted { get; set; }

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

        [StringLength(50)]
        public string Site { get; set; }

        public Guid TaskID { get; set; }

        [StringLength(50)]
        public string CommandType { get; set; }

        public Guid DataID { get; set; }
    }
}