using SqlSugar;
using WIDESEA_Core.DB.Models;
namespace WIDESEA_Model.Models
{
    /// 
    /// 出库订单库存数据明细表
    ///
    [SugarTable("Dt_OutOrderAndStock_Hty", "出库订单库存数据明细表")]
    public class Dt_OutOrderAndStock_Hty : BaseEntity
    {
        /// 
        /// 备  注:主键ID
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键ID")]
        public int Id { get; set; }
        /// 
        /// 备  注:出库订单头ID(外键)
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "OutOrderId", ColumnDescription = "出库订单头ID(外键)", IsNullable = false)]
        public int OutOrderId { get; set; }
        /// 
        /// 备  注:库存头ID(外键)
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "GroupId", ColumnDescription = "库存头ID(外键)", IsNullable = false)]
        public int GroupId { get; set; }
        /// 
        /// 备  注:货位编号(外键)
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "LocationCode", ColumnDescription = "货位编号(外键)", IsNullable = false)]
        public string LocationCode { get; set; } = null!;
        /// 
        /// 备  注:订单编号
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "OrderNumber", ColumnDescription = "订单编号", IsNullable = false)]
        public string OrderNumber { get; set; } = null!;
        /// 
        /// 备  注:批次号
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "BatchNumber", ColumnDescription = "批次号", IsNullable = false)]
        public string BatchNumber { get; set; } = null!;
        /// 
        /// 备  注:出库数量
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "OutboundQuantity", ColumnDescription = "出库数量", IsNullable = false)]
        public decimal OutboundQuantity { get; set; }
        /// 
        /// 备  注:分配数量
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "AllocatedQuantity", ColumnDescription = "分配数量", IsNullable = false)]
        public decimal AllocatedQuantity { get; set; }
        /// 
        /// 备  注:完成数量
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "CompletedQuantity", ColumnDescription = "完成数量", IsNullable = false)]
        public decimal CompletedQuantity { get; set; }
        /// 
        /// 备  注:托盘号
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "PalletCode", ColumnDescription = "托盘号", IsNullable = false)]
        public string PalletCode { get; set; } = null!;
        /// 
        /// 备  注:物料编号
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "MaterialNo", ColumnDescription = "物料编号", IsNullable = false)]
        public string MaterialNo { get; set; } = null!;
        /// 
        /// 备  注:物料名称
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "MaterialName", ColumnDescription = "物料名称", IsNullable = false)]
        public string MaterialName { get; set; } = null!;
        /// 
        /// 备  注:库存状态
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "State", ColumnDescription = "库存状态", IsNullable = false)]
        public int State { get; set; } 
        /// 
        /// 备  注:库存数量
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "palletQuantity", ColumnDescription = "库存数量", IsNullable = false)]
        public decimal PalletQuantity { get; set; }
        /// 
        /// 备  注:完成时间
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "FinishTime", ColumnDescription = "完成时间", IsNullable = false)]
        public DateTime FinishTime { get; set; }
        /// 
        /// 备  注: 操作类型
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "OperateType", ColumnDescription = "操作类型", IsNullable = false)]
        public int OperateType { get; set; } 
        /// 
        /// 备  注: 源单ID
        /// 默认值:
        ///
        [SugarColumn(ColumnName = "SourceId", ColumnDescription = "源单ID", IsNullable = false)]
        public int SourceId { get; set; }
        ///// 
        ///// 库存头明细数据
        ///// 
        //[SugarColumn(IsIgnore = true)]
        //[Navigate(NavigateType.OneToOne, nameof(GroupId), nameof(Dt_BillGroupStock_Hty.GroupId))]
        //public Dt_BillGroupStock_Hty? StockList { get; set; }
        /// 
        /// 订单头明细数据
        /// 
        [SugarColumn(IsIgnore = true)]
        [Navigate(NavigateType.OneToOne, nameof(OutOrderId), nameof(Dt_OutOrder_Hty.Id))]
        public Dt_OutOrder_Hty? OrderList { get; set; }
    }
}