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 TB_DELIVER_ASK
    {
        [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
        public int UID { get; set; }

        [Key]
        [Column(Order = 0)]
        [StringLength(50)]
        [DisplayName("单据编号")]
        public string BillNum { get; set; }

        [Key]
        [Column(Order = 1)]
        [StringLength(50)]
        [DisplayName("物料号")]
        public string PartCode { get; set; }

        [NotMapped]
        [DisplayName("物料描述")]
        public string PartDesc => WmsCache.GetPartDesc(PartCode);

        [Key]
        [Column(Order = 2)]
        [StringLength(50)]
        [DisplayName("发货位置")]
        public string CellCode { get; set; }
        
        [Required(AllowEmptyStrings = true)]
        [StringLength(50)]
        [DisplayName("目标库位")]
        public string ToLocCode { get; set; }

        [NotMapped]
        [DisplayName("库位描述")]
        public string LocDesc => WmsCache.GetLocName(ToLocCode);

        [StringLength(50)]
        [DisplayName("客户物料号")]
        public string CustPartCode { get; set; }

        [Column(TypeName = "money")]
        [DisplayName("拣料指导数量")]
        
        public decimal PlanQty { get; set; }

        [Column(TypeName = "money")]
        [DisplayName("数量")]
        public decimal Qty { get; set; }


        [DisplayName("状态")]
        public EnumStockState State { get; set; }


        [DisplayName("截止时间")]
        public DateTime EndTime { get; set; }

       

        [StringLength(200)]
        [DisplayName("备注")]
        public string Remark { get; set; }

        [NotMapped]
        [DisplayName("计划员")]
        public string Planner { get; set; }

        [NotMapped]
        
        public string PartGroup { get; set; }

        [NotMapped]
        [DisplayName("单据时间")]
        public DateTime BillTime { get; set; }
    }
}