using SqlSugar;
using WIDESEA_Core.DB.Models;
namespace WIDESEA_Model.Models;
///
/// 出库分拣表
///
[SugarTable("Dt_OutOrderSorting", "出库分拣表")]
public class Dt_OutOrderSorting : BaseEntity
{
///
/// 分拣单号,唯一标识分拣任务。
///
[SugarColumn(ColumnName = "SortingID", IsPrimaryKey = true, Length = 50, IsNullable = false, IsIdentity = true, ColumnDescription = "分拣单号,唯一标识分拣任务。")]
public int SortingID { get; set; }
///
/// 订单号,关联出库订单编号。
///
[SugarColumn(ColumnName = "OrderID", Length = 50, IsNullable = false, ColumnDescription = "订单号,关联出库订单编号。")]
public string OrderCode { get; set; }
///
/// 客户名称。
///
[SugarColumn(ColumnName = "CustomerName", Length = 100, IsNullable = true, ColumnDescription = "客户名称。")]
public string? CustomerName { get; set; }
///
/// 分拣日期,分拣任务的执行日期。
///
[SugarColumn(ColumnName = "SortingDate", IsNullable = true, ColumnDescription = "分拣日期,分拣任务的执行日期。")]
public DateTime? SortingDate { get; set; }
///
/// 分拣员,执行分拣任务的员工名称或编号。
///
[SugarColumn(ColumnName = "Picker", Length = 50, IsNullable = true, ColumnDescription = "分拣员,执行分拣任务的员工名称或编号。")]
public string? Picker { get; set; }
///
/// 分拣状态,分拣任务的状态(如:未开始、进行中、已完成、已取消)。
///
[SugarColumn(ColumnName = "SortingStatus", Length = 50, IsNullable = true, ColumnDescription = "分拣状态,分拣任务的状态(如:未开始、进行中、已完成、已取消)。")]
public string? SortingStatus { get; set; }
///
/// 产品编码,产品的唯一标识码。
///
[SugarColumn(ColumnName = "MaterielCode", Length = 50, IsNullable = false, ColumnDescription = "产品编码,产品的唯一标识码。")]
public string MaterielCode { get; set; }
///
/// 产品名称。
///
[SugarColumn(ColumnName = "MaterielName", Length = 100, IsNullable = true, ColumnDescription = "产品名称。")]
public string? MaterielName { get; set; }
///
/// 规格型号,产品的规格或型号。
///
[SugarColumn(ColumnName = "Specification", Length = 100, IsNullable = true, ColumnDescription = "规格型号,产品的规格或型号。")]
public string? Specification { get; set; }
///
/// 单位,产品的计量单位(如:件、箱、托盘)。
///
[SugarColumn(ColumnName = "Unit", Length = 20, IsNullable = true, ColumnDescription = "单位,产品的计量单位(如:件、箱、托盘)。")]
public string? Unit { get; set; }
///
/// 需求数量,订单中需要分拣的产品数量。
///
[SugarColumn(ColumnName = "RequiredQuantity", IsNullable = true, ColumnDescription = "需求数量,订单中需要分拣的产品数量。")]
public int? RequiredQuantity { get; set; }
///
/// 分拣数量,实际分拣的产品数量。
///
[SugarColumn(ColumnName = "SortedQuantity", IsNullable = true, ColumnDescription = "分拣数量,实际分拣的产品数量。")]
public int? SortedQuantity { get; set; }
///
/// 库存位置,产品在仓库中的存储位置。
///
[SugarColumn(ColumnName = "StockLocation", Length = 50, IsNullable = true, ColumnDescription = "库存位置,产品在仓库中的存储位置。")]
public string? StockLocation { get; set; }
///
/// 分拣顺序,分拣任务的执行顺序。
///
[SugarColumn(ColumnName = "SortingOrder", IsNullable = true, ColumnDescription = "分拣顺序,分拣任务的执行顺序。")]
public int? SortingOrder { get; set; }
///
/// 分拣区域,产品所在的仓库区域。
///
[SugarColumn(ColumnName = "SortingZone", Length = 50, IsNullable = true, ColumnDescription = "分拣区域,产品所在的仓库区域。")]
public string? SortingZone { get; set; }
///
/// 分拣方式,分拣的方法(如:人工分拣、自动化分拣)。
///
[SugarColumn(ColumnName = "SortingMethod", Length = 50, IsNullable = true, ColumnDescription = "分拣方式,分拣的方法(如:人工分拣、自动化分拣)。")]
public string? SortingMethod { get; set; }
///
/// 分拣备注,分拣过程中的特殊说明或注意事项。
///
[SugarColumn(ColumnName = "SortingRemarks", Length = 500, IsNullable = true, ColumnDescription = "分拣备注,分拣过程中的特殊说明或注意事项。")]
public string? SortingRemarks { get; set; }
///
/// 分拣完成时间,分拣任务完成的具体时间。
///
[SugarColumn(ColumnName = "SortingCompletionTime", IsNullable = true, ColumnDescription = "分拣完成时间,分拣任务完成的具体时间。")]
public DateTime? SortingCompletionTime { get; set; }
///
/// 分拣差异,需求数量与分拣数量的差异。
///
[SugarColumn(ColumnName = "SortingDifference", IsNullable = true, ColumnDescription = "分拣差异,需求数量与分拣数量的差异。")]
public int? SortingDifference { get; set; }
///
/// 差异原因,分拣差异的原因(如:库存不足、分拣错误)。
///
[SugarColumn(ColumnName = "DifferenceReason", Length = 500, IsNullable = true, ColumnDescription = "差异原因,分拣差异的原因(如:库存不足、分拣错误)。")]
public string? DifferenceReason { get; set; }
///
/// 复核员,对分拣结果进行复核的员工姓名或编号。
///
[SugarColumn(ColumnName = "Reviewer", Length = 50, IsNullable = true, ColumnDescription = "复核员,对分拣结果进行复核的员工姓名或编号。")]
public string? Reviewer { get; set; }
///
/// 复核结果,复核的结果(如:通过、需重新分拣)。
///
[SugarColumn(ColumnName = "ReviewResult", Length = 50, IsNullable = true, ColumnDescription = "复核结果,复核的结果(如:通过、需重新分拣)。")]
public string? ReviewResult { get; set; }
///
/// 备注,其他需要记录的信息或特殊说明。
///
[SugarColumn(ColumnName = "Comments", Length = 500, IsNullable = true, ColumnDescription = "备注,其他需要记录的信息或特殊说明。")]
public string? Comments { get; set; }
}