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_PRODUCE_PLAN
    {
        [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 LineId { get; set; }

        [StringLength(50)]
        [DisplayName("批次")]
        public string Batch { get; set; }

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

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

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

        [StringLength(50)]
        [DisplayName("班组")]
        public string TeamName { get; set; }

        [StringLength(50)]
        [DisplayName("班次")]
        public string ShiftName { get; set; }

        [StringLength(50)]
        [DisplayName("开始时间")]
        public string BeginTime { get; set; }

        [StringLength(50)]
        [DisplayName("结束时间")]
        public string EndTime { get; set; }

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

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