using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using ChangKeTec.Wms.Models.Enums;


namespace ChangKeTec.Wms.Models.Wms
{
    public partial class VS_STOCK_DETAIL
    {
        [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
        public long UID { get; set; }

        [Key]
        [Column(Order = 0)]
        [StringLength(50)]
        [DisplayName("ÏäÂë")]
        public string BarCode { get; set; }

        [Key]
        [Column(Order = 1)]
        [StringLength(50)]
        [DisplayName("¿âλ")]
        public string LocCode { get; set; }


        [Key]
        [Column(Order = 2)]
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        [DisplayName("״̬")]
        public EnumStockState State { get; set; }

        [Required(AllowEmptyStrings = true)]
        [StringLength(50)]
        [DisplayName("ÎïÁϺÅ")]
        public string PartCode { get; set; }

        [Required(AllowEmptyStrings = true)]
        [StringLength(50)]
        [DisplayName("Åú´Î")]
        public string Batch { get; set; }

        [Column(TypeName = "money")]
        [DisplayName("ÊýÁ¿")]
        
        public decimal Qty { get; set; }

        [StringLength(50)]
        [Required(AllowEmptyStrings = true)]
        [DisplayName("¹©Ó¦É̱àºÅ")]
        public string VendId { get; set; } = "";

        [DisplayName("¹©Ó¦ÉÌÃû³Æ")]
        public string VendName { get; set; }

        [StringLength(50)]
        [Required(AllowEmptyStrings = true)]
        [DisplayName("¹©Ó¦ÉÌÅú´Î")]
        public string VendBatch { get; set; } = "";

        [DisplayName("ÃèÊöÒ»")]
        public string PartDesc1 { get; set; }

        [DisplayName("ÃèÊö¶þ")]
        public string PartDesc2 { get; set; }

        [DisplayName("ÏîÄ¿±àºÅ")]
        public string ProjectId { get; set; }

        [DisplayName("µ¥Î»")]
        public string Unit { get; set; }

        [StringLength(50)]
        [DisplayName("¿âÇø")]
        public string AreaCode { get; set; }

        [DisplayName("ERP¿âλ")]
        public string ErpLocCode { get; set; }

        [StringLength(50)]
        [Required(AllowEmptyStrings = true)]
        [DisplayName("Æ÷¾ßºÅ")]
        public string EqptCode { get; set; } = "";

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


        [Column(TypeName = "money")]
        
        public decimal Amount { get; set; }


        [DisplayName("ÊÕ»õʱ¼ä")]
        public DateTime ReceiveDate { get; set; }

        [Column(TypeName = "date")]
        [DisplayName("Éú²úÈÕÆÚ")]
        public DateTime ProduceDate { get; set; }

        [Column(TypeName = "date")]
        [DisplayName("ʧЧÈÕÆÚ")]
        public DateTime OverdueDate { get; set; }

        [DisplayName("±ä¸üʱ¼ä")]
        public DateTime UpdateTime { get; set; }

        [Column(TypeName = "money")]
        [DisplayName("±ä¸üÊýÁ¿")]
        public decimal UpdateQty { get; set; }

        [StringLength(50)]
        [DisplayName("×·ËݱàºÅ")]
        public string TracebackCode { get; set; }

        
        public int VinState { get; set; }

        [StringLength(500)]
        [DisplayName("±¸×¢")]
        public string Remark { get; set; }

    }
}