namespace Admin.NET.Plugin.AiDOP.Entity.S0.Manufacturing;
///
/// 工序流转卡主数据(与工单控制参数 WorkOrdControl 语义区分)。
///
[SugarTable("S0ProcessFlowCard", "工序流转卡主数据")]
[SugarIndex("uk_S0ProcessFlowCard_factory_flowcard",
nameof(TenantId), OrderByType.Asc, nameof(FactoryRefId), OrderByType.Asc, nameof(FlowCardNo), OrderByType.Asc, IsUnique = true)]
public class AdoS0ProcessFlowCard : ITenantIdFilter
{
[SugarColumn(ColumnName = "rec_id", IsPrimaryKey = true, IsIdentity = true, ColumnDataType = "bigint")]
public long Id { get; set; }
[SugarColumn(ColumnName = "company_ref_id", ColumnDataType = "bigint")]
public long CompanyRefId { get; set; }
[SugarColumn(ColumnName = "factory_ref_id", ColumnDataType = "bigint")]
public long FactoryRefId { get; set; }
[SugarColumn(ColumnName = "domain_code", Length = 50, IsNullable = true)]
public string? DomainCode { get; set; }
[SugarColumn(ColumnName = "work_order_no", Length = 100)]
public string WorkOrderNo { get; set; } = string.Empty;
[SugarColumn(ColumnName = "work_order_batch_no", Length = 100, IsNullable = true)]
public string? WorkOrderBatchNo { get; set; }
[SugarColumn(ColumnName = "flow_card_no", Length = 100)]
public string FlowCardNo { get; set; } = string.Empty;
[SugarColumn(ColumnName = "nature", Length = 100, IsNullable = true)]
public string? Nature { get; set; }
[SugarColumn(ColumnName = "item_num", Length = 100)]
public string ItemNum { get; set; } = string.Empty;
[SugarColumn(ColumnName = "item_name", Length = 200, IsNullable = true)]
public string? ItemName { get; set; }
[SugarColumn(ColumnName = "drawing_no", Length = 100, IsNullable = true)]
public string? DrawingNo { get; set; }
[SugarColumn(ColumnName = "bom_version", Length = 50, IsNullable = true)]
public string? BomVersion { get; set; }
[SugarColumn(ColumnName = "routing_code", Length = 100, IsNullable = true)]
public string? RoutingCode { get; set; }
[SugarColumn(ColumnName = "remarks", Length = 500, IsNullable = true)]
public string? Remarks { get; set; }
[SugarColumn(ColumnName = "is_active", ColumnDataType = "boolean")]
public bool IsActive { get; set; } = true;
[SugarColumn(ColumnName = "create_user", Length = 100, IsNullable = true)]
public string? CreateUser { get; set; }
[SugarColumn(ColumnName = "create_time")]
public DateTime CreateTime { get; set; } = DateTime.Now;
[SugarColumn(ColumnName = "update_user", Length = 100, IsNullable = true)]
public string? UpdateUser { get; set; }
[SugarColumn(ColumnName = "update_time", IsNullable = true)]
public DateTime? UpdateTime { get; set; }
///
/// 租户Id。IsOnlyIgnoreUpdate=true:租户归属只在插入时按 AdoS0TenantScope 解析结果落定,
/// 任何 UPDATE 都不得改写(与框架 EntityBase.TenantId 同口径),杜绝改单据时被搬到别的租户。
///
[SugarColumn(ColumnName = "tenant_id", IsNullable = true, IsOnlyIgnoreUpdate = true)]
public long? TenantId { get; set; }
}