namespace Admin.NET.Plugin.AiDOP.Entity.S0.Sales; /// /// 物料主数据(S0 Sales / sales_material) /// [SugarTable("ado_s0_sales_material", "S0 物料主数据")] public class AdoS0Material { [SugarColumn(ColumnDescription = "主键", IsPrimaryKey = true, IsIdentity = true, ColumnDataType = "bigint")] public long Id { get; set; } [SugarColumn(ColumnDescription = "关联公司 ID", ColumnDataType = "bigint")] public long CompanyRefId { get; set; } [SugarColumn(ColumnDescription = "关联工厂 ID", ColumnDataType = "bigint")] public long FactoryRefId { get; set; } [SugarColumn(ColumnDescription = "物料编码", Length = 100)] public string Code { get; set; } = string.Empty; [SugarColumn(ColumnDescription = "物料名称", Length = 200)] public string Name { get; set; } = string.Empty; [SugarColumn(ColumnDescription = "英文名称", Length = 200, IsNullable = true)] public string? NameEn { get; set; } [SugarColumn(ColumnDescription = "物料类型", Length = 100, IsNullable = true)] public string? MaterialType { get; set; } [SugarColumn(ColumnDescription = "单位", Length = 50, IsNullable = true)] public string? Unit { get; set; } [SugarColumn(ColumnDescription = "规格型号", Length = 200, IsNullable = true)] public string? Spec { get; set; } [SugarColumn(ColumnDescription = "计划类别", Length = 100, IsNullable = true)] public string? PlCategory { get; set; } [SugarColumn(ColumnDescription = "图纸编号", Length = 100, IsNullable = true)] public string? DrawingNo { get; set; } [SugarColumn(ColumnDescription = "语言版本", Length = 50, IsNullable = true)] public string? Language { get; set; } [SugarColumn(ColumnDescription = "业务版本", Length = 50, IsNullable = true)] public string? BizVersion { get; set; } [SugarColumn(ColumnDescription = "产品编码", Length = 100, IsNullable = true)] public string? ProductCode { get; set; } [SugarColumn(ColumnDescription = "物料属性", Length = 50, IsNullable = true)] public string? MaterialAttribute { get; set; } [SugarColumn(ColumnDescription = "默认库位 ID", ColumnDataType = "bigint", IsNullable = true)] public long? DefaultLocationId { get; set; } [SugarColumn(ColumnDescription = "默认货架 ID", ColumnDataType = "bigint", IsNullable = true)] public long? DefaultRackId { get; set; } [SugarColumn(ColumnDescription = "库存类型编码", Length = 50, IsNullable = true)] public string? StockTypeCode { get; set; } [SugarColumn(ColumnDescription = "安全库存", ColumnDataType = "decimal(18,5)", IsNullable = true)] public decimal? SafetyStock { get; set; } [SugarColumn(ColumnDescription = "保质期(天)", IsNullable = true)] public int? ShelfLifeDays { get; set; } [SugarColumn(ColumnDescription = "到期预警天数", IsNullable = true)] public int? ExpireWarningDays { get; set; } [SugarColumn(ColumnDescription = "采购提前期(天)", IsNullable = true)] public int? PurchaseLeadDays { get; set; } [SugarColumn(ColumnDescription = "最小订货量", ColumnDataType = "decimal(18,5)", IsNullable = true)] public decimal? MinOrderQty { get; set; } [SugarColumn(ColumnDescription = "最大订货量", ColumnDataType = "decimal(18,5)", IsNullable = true)] public decimal? MaxOrderQty { get; set; } [SugarColumn(ColumnDescription = "订货倍数", ColumnDataType = "decimal(18,5)", IsNullable = true)] public decimal? OrderMultiple { get; set; } [SugarColumn(ColumnDescription = "备料提前期(天)", IsNullable = true)] public int? PreparationLeadDays { get; set; } [SugarColumn(ColumnDescription = "按需采购", ColumnDataType = "boolean")] public bool IsOnDemand { get; set; } [SugarColumn(ColumnDescription = "特殊需求类型", Length = 50, IsNullable = true)] public string? SpecialReqType { get; set; } [SugarColumn(ColumnDescription = "需检验", ColumnDataType = "boolean")] public bool IsInspectionRequired { get; set; } [SugarColumn(ColumnDescription = "检验天数", IsNullable = true)] public int? InspectionDays { get; set; } [SugarColumn(ColumnDescription = "关键物料", ColumnDataType = "boolean")] public bool IsKeyMaterial { get; set; } [SugarColumn(ColumnDescription = "主要物料", ColumnDataType = "boolean")] public bool IsMainMaterial { get; set; } [SugarColumn(ColumnDescription = "需预处理", ColumnDataType = "boolean")] public bool IsPreprocess { get; set; } [SugarColumn(ColumnDescription = "自动批次", ColumnDataType = "boolean")] public bool IsAutoBatch { get; set; } [SugarColumn(ColumnDescription = "需打标签", ColumnDataType = "boolean")] public bool IsLabelRequired { get; set; } [SugarColumn(ColumnDescription = "批次先进先出提醒", ColumnDataType = "boolean")] public bool IsBatchFifoReminder { get; set; } [SugarColumn(ColumnDescription = "批次先进先出严格", ColumnDataType = "boolean")] public bool IsBatchFifoStrict { get; set; } [SugarColumn(ColumnDescription = "库存周转率", ColumnDataType = "decimal(18,5)", IsNullable = true)] public decimal? InventoryTurnoverRate { get; set; } [SugarColumn(ColumnDescription = "禁用状态", Length = 20)] public string ForbidStatus { get; set; } = "normal"; [SugarColumn(ColumnDescription = "备注", Length = 500, IsNullable = true)] public string? Remark { get; set; } [SugarColumn(ColumnDescription = "启用", ColumnDataType = "boolean")] public bool IsEnabled { get; set; } = true; [SugarColumn(ColumnDescription = "创建时间")] public DateTime CreatedAt { get; set; } = DateTime.Now; [SugarColumn(ColumnDescription = "更新时间", IsNullable = true)] public DateTime? UpdatedAt { get; set; } }