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.CodeConfigEnum;
using WIDESEA_Core.DB.Models;
namespace WIDESEA_Model.Models
{
    /// 
    /// 
    /// 
    [SugarTable(nameof(Dt_MesOutboundOrder))]
    public class Dt_MesOutboundOrder : BaseEntity
    {
        /// 
        /// 主键
        /// 
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int Id { get; set; }
        /// 
        /// 仓库主键
        /// 
        [SugarColumn(IsNullable = false, ColumnDescription = "仓库主键")]
        public int WarehouseId { get; set; }
        /// 
        /// 单据编号
        /// 
        [CodeRule(RuleCodeEnum.OutboundOrderRule)]
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "单据编号", IsOnlyIgnoreUpdate = true)]
        public string OrderNo { get; set; }
        /// 
        /// 任务单号
        /// 
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "任务单号")]
        public string TaskNo { get; set; }
        /// 
        /// 单据类型
        /// 
        [SugarColumn(IsNullable = false, ColumnDescription = "单据类型", IsOnlyIgnoreUpdate = true)]
        public int OrderType { get; set; }
        /// 
        /// 单据状态
        /// 
        [SugarColumn(IsNullable = false, ColumnDescription = "单据状态")]
        public int OrderStatus { get; set; }
        /// 
        /// 创建方式
        /// 
        [SugarColumn(IsNullable = false, ColumnDescription = "创建方式", IsOnlyIgnoreUpdate = true)]
        public int CreateType { get; set; }
        /// 
        /// 物料编号
        /// 
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "物料编号")]
        public string MaterialCode { get; set; }
        /// 
        /// 物料名称
        /// 
        [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "物料名称")]
        public string MaterialName { get; set; }
        /// 
        /// 单位
        /// 
        [SugarColumn(IsNullable = true, ColumnDescription = "单位")]
        public string Unit { get; set; }
        /// 
        /// 单据数量
        /// 
        [SugarColumn(IsNullable = false, ColumnDescription = "单据数量")]
        public float OrderQuantity { get; set; }
        /// 
        /// 锁定数量
        /// 
        [SugarColumn(IsNullable = false, ColumnDescription = "锁定数量", DefaultValue = "0")]
        public float LockQuantity { get; set; }
        /// 
        /// 已出数量
        /// 
        [SugarColumn(IsNullable = false, ColumnDescription = "已出数量", DefaultValue = "0")]
        public float OverOutQuantity { get; set; }
        /// 
        /// 线体
        /// 
        [SugarColumn(IsNullable = true, ColumnDescription = "线体")]
        public string Line { get; set; }
        /// 
        /// 线边仓地址码
        /// 
        [SugarColumn(IsNullable = true, ColumnDescription = "线边仓地址码")]
        public string TargetAddressCode { get; set; }
        /// 
        /// 裁切宽
        /// 
        [SugarColumn(IsNullable = true, ColumnDescription = "裁切宽")]
        public float Width { get; set; }
    }
}