namespace Admin.NET.Plugin.AiDOP.Entity.S0.Supply;
///
/// 货源清单 / 物料采购报价(复刻 srm_purchase,左联物料主数据仅用于展示)
///
[SugarTable("srm_purchase", "货源清单(srm_purchase)")]
public class AdoS0SrmPurchase
{
[SugarColumn(ColumnName = "id", ColumnDescription = "货源清单主键", IsPrimaryKey = true, IsIdentity = true, ColumnDataType = "bigint")]
public long Id { get; set; }
[SugarColumn(ColumnName = "company_ref_id", ColumnDescription = "公司 ID", ColumnDataType = "bigint")]
public long CompanyRefId { get; set; }
[SugarColumn(ColumnName = "factory_ref_id", ColumnDescription = "工厂 ID", ColumnDataType = "bigint")]
public long FactoryRefId { get; set; }
[SugarColumn(ColumnName = "domain_code", ColumnDescription = "工厂域编码", Length = 50, IsNullable = true)]
public string? DomainCode { get; set; }
[SugarColumn(ColumnName = "icitem_id", ColumnDescription = "物料 ID(FK 物料主数据)", ColumnDataType = "bigint")]
public long IcitemId { get; set; }
[SugarColumn(ColumnName = "icitem_name", ColumnDescription = "物料名称", Length = 200, IsNullable = true)]
public string? IcitemName { get; set; }
[SugarColumn(ColumnName = "supplier_type", ColumnDescription = "供应类别", Length = 50, IsNullable = true)]
public string? SupplierType { get; set; }
[SugarColumn(ColumnName = "is_active", ColumnDescription = "是否启用", ColumnDataType = "boolean")]
public bool IsActive { get; set; } = true;
[SugarColumn(ColumnName = "supplier_id", ColumnDescription = "供应商 ID(FK 供应商主数据)", ColumnDataType = "bigint")]
public long SupplierId { get; set; }
[SugarColumn(ColumnName = "supplier_name", ColumnDescription = "供应商名称", Length = 200, IsNullable = true)]
public string? SupplierName { get; set; }
[SugarColumn(ColumnName = "supplier_number", ColumnDescription = "供应商编码", Length = 100, IsNullable = true)]
public string? SupplierNumber { get; set; }
[SugarColumn(ColumnName = "order_price", ColumnDescription = "价格", ColumnDataType = "decimal(18,4)", IsNullable = true)]
public decimal? OrderPrice { get; set; }
[SugarColumn(ColumnName = "currency_type", ColumnDescription = "币种", Length = 20, IsNullable = true)]
public string? CurrencyType { get; set; }
[SugarColumn(ColumnName = "taxrate", ColumnDescription = "增值税率(%)", ColumnDataType = "decimal(18,4)", IsNullable = true)]
public decimal? Taxrate { get; set; }
[SugarColumn(ColumnName = "tariff", ColumnDescription = "关税(%)", ColumnDataType = "decimal(18,4)", IsNullable = true)]
public decimal? Tariff { get; set; }
[SugarColumn(ColumnName = "freight", ColumnDescription = "运费", ColumnDataType = "decimal(18,4)", IsNullable = true)]
public decimal? Freight { get; set; }
[SugarColumn(ColumnName = "price_terms", ColumnDescription = "价格条款", Length = 200, IsNullable = true)]
public string? PriceTerms { get; set; }
[SugarColumn(ColumnName = "effective_date", ColumnDescription = "生效日期", IsNullable = true)]
public DateTime? EffectiveDate { get; set; }
[SugarColumn(ColumnName = "expiring_date", ColumnDescription = "失效日期", IsNullable = true)]
public DateTime? ExpiringDate { get; set; }
[SugarColumn(ColumnName = "quota_rate", ColumnDescription = "配额比例(%)", ColumnDataType = "decimal(18,4)", IsNullable = true)]
public decimal? QuotaRate { get; set; }
[SugarColumn(ColumnName = "lead_time", ColumnDescription = "采购前置期(天)", IsNullable = true)]
public int? LeadTime { get; set; }
[SugarColumn(ColumnName = "qty_min", ColumnDescription = "最小订货数量", ColumnDataType = "decimal(18,4)", IsNullable = true)]
public decimal? QtyMin { get; set; }
[SugarColumn(ColumnName = "packaging_qty", ColumnDescription = "每箱包装数量", ColumnDataType = "decimal(18,4)", IsNullable = true)]
public decimal? PackagingQty { get; set; }
[SugarColumn(ColumnName = "order_rector_name", ColumnDescription = "下单负责人名称", Length = 100, IsNullable = true)]
public string? OrderRectorName { get; set; }
[SugarColumn(ColumnName = "order_rector_num", ColumnDescription = "下单负责人编号", Length = 100, IsNullable = true)]
public string? OrderRectorNum { get; set; }
[SugarColumn(ColumnName = "is_require_goods", ColumnDescription = "采购类型(需到货)", ColumnDataType = "boolean")]
public bool IsRequireGoods { get; set; }
[SugarColumn(ColumnName = "create_user", ColumnDescription = "创建人", Length = 100, IsNullable = true)]
public string? CreateUser { get; set; }
[SugarColumn(ColumnName = "create_time", ColumnDescription = "创建时间")]
public DateTime CreateTime { get; set; } = DateTime.Now;
[SugarColumn(ColumnName = "update_user", ColumnDescription = "更新人", Length = 100, IsNullable = true)]
public string? UpdateUser { get; set; }
[SugarColumn(ColumnName = "update_time", ColumnDescription = "更新时间", IsNullable = true)]
public DateTime? UpdateTime { get; set; }
/// 列表:物料编码(来自物料主数据,不落库)
[SugarColumn(IsIgnore = true)]
public string? MaterialCode { get; set; }
/// 列表:规格型号(来自物料主数据)
[SugarColumn(IsIgnore = true)]
public string? Model { get; set; }
/// 列表:订货单位(来自物料主数据)
[SugarColumn(IsIgnore = true)]
public string? Unit { get; set; }
/// 列表:物料类型展示(默认原材料)
[SugarColumn(IsIgnore = true)]
public string? ItemTypeLabel { get; set; }
/// 列表:物料编码+名称组合
[SugarColumn(IsIgnore = true)]
public string? Icitem { get; set; }
/// 列表:供应商名称+编码组合
[SugarColumn(IsIgnore = true)]
public string? Supplier { get; set; }
}