using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.Attributes;
using WIDESEA_Core.DB.Models;
namespace WIDESEA_Model.Models
{
///
/// 出库详情
///
[SugarTable(nameof(Dt_OutStockLockInfo), "出库详情")]
public class Dt_OutStockLockInfo : BaseEntity
{
///
/// 主键
///
[SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
public int Id { get; set; }
///
/// 单据编号
///
[SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "单据编号")]
public string OrderNo { get; set; }
///
/// 单据明细主键
///
[SugarColumn(IsNullable = false, ColumnDescription = "单据明细主键")]
public int OrderDetailId { get; set; }
///
/// 单据类型
///
[SugarColumn(IsNullable = false, ColumnDescription = "单据类型")]
public int OrderType { get; set; }
///
/// 批次号
///
[SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "批次号")]
public string BatchNo { get; set; }
///
/// 物料编号
///
[SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "物料编号")]
public string MaterielCode { get; set; }
///
/// 物料名称
///
[SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "物料名称")]
public string MaterielName { get; set; }
///
/// 库存主键
///
[SugarColumn(IsNullable = false, ColumnDescription = "库存主键")]
public int StockId { get; set; }
///
/// 单据数量
///
[SugarColumn(IsNullable = false, ColumnDescription = "单据数量")]
public decimal OrderQuantity { get; set; }
///
/// 原始库存量
///
[SugarColumn(IsNullable = false, ColumnDescription = "原始库存量")]
public decimal OriginalQuantity { get; set; }
///
/// 分配出库量
///
[SugarColumn(IsNullable = false, ColumnDescription = "分配出库量")]
public decimal AssignQuantity { get; set; }
///
/// 已拣选数量
///
[SugarColumn(IsNullable = false, ColumnDescription = "已拣选数量")]
public decimal PickedQty { get; set; } //
///
/// 货位编号
///
[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "货位编号")]
public string LocationCode { get; set; }
///
/// 托盘编号
///
[SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "托盘编号")]
public string PalletCode { get; set; }
///
/// 单位
///
[SugarColumn(IsNullable = true, ColumnDescription = "单位")]
public string Unit { get; set; }
///
/// 任务号
///
[SugarColumn(IsNullable = true, ColumnDescription = "任务号")]
public int? TaskNum { get; set; }
public string SupplyCode { get; set; }
[SugarColumn(ColumnName = "lineNo", ColumnDescription = "行号")]
public string? lineNo { get; set; }
public string WarehouseCode { get; set; }
///
/// 状态 状态:0-已分配 1-出库中 2-部分拣选 3已拣选
///
[SugarColumn(IsNullable = false, ColumnDescription = "状态")]
public int Status { get; set; }
[SugarColumn(Length = 100)]
public string CurrentBarcode { get; set; } // 当前条码(拆包后可能变化)
public decimal OriginalLockQuantity { get; set; } // 原始锁定数量
public int IsSplitted { get; set; } // 是否已拆包 0-否 1-是
public int? ParentLockId { get; set; }
[SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "操作者")]
public string Operator { get; set; }
public decimal BarcodeQty { get; set; }
public string BarcodeUnit { get; set; }
public string OutboundBatchNo { get; set; }
[Navigate(NavigateType.OneToOne, nameof(StockInfo))]//一对一 SchoolId是StudentA类里面的
public Dt_StockInfo StockInfo { get; set; } //不能赋值只能是null
public int IsUnallocated { get; set; } = 0;
public string FactoryArea { get; set; }
[SqlSugar.SugarColumn(IsIgnore = true)]
public decimal RemainQuantity => AssignQuantity - PickedQty;
}
}