using Admin.NET.Core;
namespace Admin.NET.Application.Entity;
/// 
/// 物料
/// 
[SugarTable("Materials","物料")]
public class Materials  : EntityTenant
{
    /// 
    /// 名称
    /// 
    [SugarColumn(ColumnName = "Name", ColumnDescription = "名称", Length = 32)]
    public string? Name { get; set; }
    
    /// 
    /// 分类
    /// 
    [Required]
    [SugarColumn(ColumnName = "Classify", ColumnDescription = "分类")]
    public long Classify { get; set; }
    
    /// 
    /// 编码
    /// 
    [SugarColumn(ColumnName = "CodeNum", ColumnDescription = "编码", Length = 32)]
    public string? CodeNum { get; set; }
    
    /// 
    /// 别名
    /// 
    [SugarColumn(ColumnName = "AliasName", ColumnDescription = "别名", Length = 32)]
    public string? AliasName { get; set; }
    
    /// 
    /// 助记码
    /// 
    [SugarColumn(ColumnName = "SimpleNumber", ColumnDescription = "助记码", Length = 32)]
    public string? SimpleNumber { get; set; }
    
    /// 
    /// 规格型号
    /// 
    [SugarColumn(ColumnName = "Specifications", ColumnDescription = "规格型号", Length = 32)]
    public string? Specifications { get; set; }
    
    /// 
    /// 可用状态
    /// 
    [Required]
    [SugarColumn(ColumnName = "IsEnable", ColumnDescription = "可用状态")]
    public bool IsEnable { get; set; }
    /// 
    /// 品牌
    /// 
    [SugarColumn(ColumnName = "Brand", ColumnDescription = "品牌", Length = 32)]
    public string? Brand { get; set; }
    /// 
    /// 保质期
    /// 
    [SugarColumn(ColumnName = "ShelfLife", ColumnDescription = "保质期", Length = 32)]
    public int? ShelfLife { get; set; }
    /// 
    /// 保质期单位
    /// 
    [SugarColumn(ColumnName = "ShelfLifeUnit", ColumnDescription = "保质期单位", Length = 32)]
    public string? ShelfLifeUnit { get; set; }
    /// 
    /// 统一零售价
    /// 
    [SugarColumn(ColumnName = "Price", ColumnDescription = "统一零售价")]
    public decimal? Price { get; set; }
    /// 
    /// 条形码
    /// 
    [SugarColumn(ColumnName = "BarCode", ColumnDescription = "条形码", Length = 32)]
    public string? BarCode { get; set; }
    /// 
    /// 单位组ID
    /// 
    [SugarColumn(ColumnName = "UnitGroupId", ColumnDescription = "单位组ID")]
    public long? UnitGroupId { get; set; }
    /// 
    /// 基本单位
    /// 
    [SugarColumn(ColumnName = "Unit", ColumnDescription = "基本单位", Length = 32)]
    public string? Unit { get; set; }
    /// 
    /// 生产单位
    /// 
    [SugarColumn(ColumnName = "ProductUnit", ColumnDescription = "生产单位", Length = 32)]
    public string? ProductUnit { get; set; }
    /// 
    /// 采购单位
    /// 
    [SugarColumn(ColumnName = "ProcureUnit", ColumnDescription = "采购单位", Length = 32)]
    public string? ProcureUnit { get; set; }
    /// 
    /// 库存单位
    /// 
    [SugarColumn(ColumnName = "InventoryUnit", ColumnDescription = "库存单位", Length = 32)]
    public string? InventoryUnit { get; set; }
    /// 
    /// 销售单位
    /// 
    [SugarColumn(ColumnName = "SaleUnit", ColumnDescription = "销售单位", Length = 32)]
    public string? SaleUnit { get; set; }
    /// 
    /// 分销单位
    /// 
    [SugarColumn(ColumnName = "RetailStoreUnit", ColumnDescription = "分销单位", Length = 32)]
    public string? RetailStoreUnit { get; set; }
    /// 
    /// 包装关系ID
    /// 
    [SugarColumn(ColumnName = "PackagId", ColumnDescription = "包装关系ID")]
    public long? PackagId { get; set; }
    [Navigate(NavigateType.OneToOne, nameof(Id))]
    [Newtonsoft.Json.JsonIgnore]
    [System.Text.Json.Serialization.JsonIgnore]
    public List? PackageInfos { get; set; }
    /// 
    /// 推广ID
    /// 
    [SugarColumn(ColumnName = "PromotionId", ColumnDescription = "推广ID")]
    public long? PromotionId { get; set; }
    /// 
    /// 备注
    /// 
    [SugarColumn(ColumnName = "Remarks", ColumnDescription = "备注", Length = 32)]
    public string? Remarks { get; set; }
    
}