using Admin.NET.Core;
using System.Security.AccessControl;
namespace Admin.NET.Application.Entity;
///
///所有状态库存信息-实时库存报表用
///总库存、锁定库存、库位、库区、物料、跟踪码等【add by liuwq, 2024/06/11】
///
[MySugarTableViewAttribute("v_wms_stock_quan", "所有状态库存信息")]
public class v_wms_stock_quan : EntityBase
{
#region 是否可用库存
///
/// 不可用原因
///
public string? DisabledReason { get; set; }
///
/// 可用/不可用
///
public string? UsableFlagStr { get; set; }
///
/// 可用/不可用标记
///
public UsableFlagEnum UsableFlag { get; set; }
#endregion
#region 锁定
///
/// 锁定状态
///
[SugarColumn(ColumnName = "LockStatus", ColumnDescription = "锁定状态")]
public LockStatusEnum LockStatus { get; set; }
///
/// 锁定原因
///
[SugarColumn(ColumnName = "LockReason", ColumnDescription = "锁定原因", Length = 255)]
public string? LockReason { get; set; }
///
/// 锁定人
///
[SugarColumn(ColumnName = "LockUser", ColumnDescription = "锁定人", Length = 50)]
public string? LockUser { get; set; }
///
/// 锁定时间
///
[SugarColumn(ColumnName = "LockTime", ColumnDescription = "锁定时间")]
public DateTime? LockTime { get; set; }
#endregion
#region 操作有关
///
/// 操作原因
///
public string? OperReason { get; set; }
///
/// 操作人
///
public string? OperUser { get; set; }
///
/// 操作时间
///
public DateTime? OperTime { get; set; }
#endregion
///
/// 关联单号
///
public string? RelationNo { get; set; }
///
/// 物料编码
///
[Required]
[SugarColumn(ColumnName = "MaterialCode", ColumnDescription = "物料编码", Length = 50)]
public string MaterialCode { get; set; }
///
/// 物料名称
///
[SugarColumn(ColumnName = "MaterialName", ColumnDescription = "物料名称", Length = 50)]
public string? MaterialName { get; set; }
///
/// 库存数量
///
[Required]
[SugarColumn(ColumnName = "Quantity", ColumnDescription = "库存数量", Length = 10, DecimalDigits = 3)]
public decimal Quantity { get; set; }
///
/// 库存锁定数量
///
[Required]
[SugarColumn(ColumnName = "LockedQty", ColumnDescription = "库存锁定数量", Length = 10, DecimalDigits = 3)]
public decimal LockedQty { get; set; }
///
/// 容器编码
///
[Required]
[SugarColumn(ColumnName = "ContainerCode", ColumnDescription = "容器编码", Length = 50)]
public string ContainerCode { get; set; }
///
/// 容器类型编号
///
public string ContainerTypeCode { get; set; }
///
/// 容器类型名称
///
public string ContainerTypeName { get; set; }
///
/// 物料类型编号
///
public string MaterialTypeCode { get; set; }
///
/// 物料类型名称
///
public string MaterialTypeName { get; set; }
///
/// 容器名称
///
[SugarColumn(ColumnName = "ContainerName", ColumnDescription = "容器名称")]
public string ContainerName { get; set; }
///
/// 所属库位编号
///
[SugarColumn(ColumnName = "PlaceCode", ColumnDescription = "所属库位编号")]
public string PlaceCode { get; set; }
///
/// 所属库位名称
///
[SugarColumn(ColumnName = "PlaceName", ColumnDescription = "所属库位名称")]
public string PlaceName { get; set; }
///
/// 库位属性
///
[SugarColumn(ColumnName = "PlaceStatus", ColumnDescription = "库位属性")]
public PlaceStatusEnum PlaceStatus { get; set; }
///
/// 是否虚拟库区
///
[SugarColumn(ColumnName = "IsVirtuallyArea", ColumnDescription = "是否虚拟库区")]
public bool? IsVirtuallyArea { get; set; }
///
/// 是否虚拟库位
///
[SugarColumn(ColumnName = "IsVirtuallyPlace", ColumnDescription = "是否虚拟库位")]
public bool? IsVirtuallyPlace { get; set; }
///
/// 是否禁用库位
///
[SugarColumn(ColumnName = "IsDisabledPlace", ColumnDescription = "是否禁用库位")]
public bool? IsDisabledPlace { get; set; }
///
/// 是否禁用库区
///
[SugarColumn(ColumnName = "IsDisabledPlace", ColumnDescription = "是否禁用库区")]
public bool? IsDisabledArea { get; set; }
///
/// 所属库区编号
///
[SugarColumn(ColumnName = "AreaCode", ColumnDescription = "所属库区编号")]
public string AreaCode { get; set; }
///
/// 所属库区名称
///
[SugarColumn(ColumnName = "AreaName", ColumnDescription = "所属库区名称")]
public string AreaName { get; set; }
///
/// 所属库区类型
///
[SugarColumn(ColumnName = "AreaType", ColumnDescription = "所属库区类型")]
public AreaTypeEnum AreaType { get; set; }
///
/// 所属仓库编号
///
[SugarColumn(ColumnName = "WarehouseCode", ColumnDescription = "所属仓库编号", Length = 50)]
public string? WarehouseCode { get; set; }
///
/// 所属仓库名称
///
[SugarColumn(ColumnName = "WarehouseName", ColumnDescription = "所属仓库名称", Length = 50)]
public string? WarehouseName { get; set; }
///
/// 收货时间
///
[SugarColumn(ColumnName = "RecordInsertTime", ColumnDescription = "收货时间")]
public DateTime RecordInsertTime { get; set; }
///
/// 供应商编号
///
[SugarColumn(ColumnName = "SupplierCode", ColumnDescription = "供应商编号", Length = 50)]
public string? SupplierCode { get; set; }
///
/// 供应商名称
///
[SugarColumn(ColumnName = "SupplierName", ColumnDescription = "供应商名称", Length = 50)]
public string? SupplierName { get; set; }
///
/// 操作备注
///
[SugarColumn(ColumnName = "ActionRemark", ColumnDescription = "操作备注", Length = 255)]
public string? ActionRemark { get; set; }
///
/// 操作时间
///
[SugarColumn(ColumnName = "ActionTime", ColumnDescription = "操作时间")]
public DateTime? ActionTime { get; set; }
///
/// 库存状态
///
[Required]
[SugarColumn(ColumnName = "StockStatus", ColumnDescription = "库存状态")]
public StockStatusEnum StockStatus { get; set; }
///
/// 库存状态名称
///
[Required]
[SugarColumn(ColumnName = "StockStatusName", ColumnDescription = "库存状态名称", Length = 50)]
public string StockStatusName { get; set; }
///
/// 一维条码
///
[SugarColumn(ColumnName = "SN_1d", ColumnDescription = "一维条码", Length = 255)]
public string? SN_1d { get; set; }
///
/// 二维条码
///
[SugarColumn(ColumnName = "SN_2d", ColumnDescription = "二维条码", Length = 255)]
public string? SN_2d { get; set; }
///
/// 跟踪码
///
[Required]
[SugarColumn(ColumnName = "SNCode", ColumnDescription = "跟踪码", Length = 255)]
public string SNCode { get; set; }
///
/// 源跟踪码
///
[SugarColumn(ColumnName = "SourceSNCode", ColumnDescription = "源跟踪码", Length = 255)]
public string? SourceSNCode { get; set; }
///
/// ERP凭证
///
[SugarColumn(ColumnName = "ErpVoucher", ColumnDescription = "ERP凭证", Length = 255)]
public string? ErpVoucher { get; set; }
///
/// ERP单号
///
[SugarColumn(ColumnName = "ErpOrderNo", ColumnDescription = "ERP单号", Length = 50)]
public string? ErpOrderNo { get; set; }
///
/// ERP库存地
///
[SugarColumn(ColumnName = "ErpCode", ColumnDescription = "ERP库存地", Length = 50)]
public string? ErpCode { get; set; }
///
/// 供应商批次
///
[SugarColumn(ColumnName = "SupplierBatch", ColumnDescription = "供应商批次", Length = 50)]
public string? SupplierBatch { get; set; }
///
/// 批次
///
[SugarColumn(ColumnName = "Batch", ColumnDescription = "批次", Length = 255)]
public string? Batch { get; set; }
///
/// 质检状态
///
[SugarColumn(ColumnName = "QCStatus", ColumnDescription = "质检状态")]
public StockQcStatusEnum QCStatus { get; set; }
///
/// 质检状态名称
///
[SugarColumn(ColumnName = "QCStatusName", ColumnDescription = "质检状态名称", Length = 50)]
public string? QCStatusName { get; set; }
///
/// 容器是否禁用
///
public bool? ContainerIsDisabled { get; set; }
///
/// 库存单位
///
public string? MaterialUnit { get; set; }
///
/// 采购单位
///
public string? POUnit { get; set; }
///
/// 跟踪码最大索引
///
public int? MaxIndex { get; set; }
}