using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WCS.BLL.DbModels
{
    ///<summary>
    ///物料明细表
    ///</summary>
    [SugarTable("wcs_mat_info")]
    public class MatInfo
    {
        /// <summary>
        /// 主键 Id 自增
        /// </summary>
        [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsNullable = false, IsIdentity = true)]
        public int Id { get; set; }

        /// <summary>
        /// 物料编码
        /// </summary>
        [SugarColumn(ColumnName = "mat_Sn", Length = 200, IsNullable = false, ColumnDescription = "物料唯一码")]
        public string MatSn { get; set; }

        /// <summary>
        /// 物料编码
        /// </summary>
        [SugarColumn(ColumnName = "mat_code", Length = 100, IsNullable = false, ColumnDescription = "物料编号")]
        public string MatCode { get; set; }
        /// <summary>
        /// 物料名称
        /// </summary>           
        [SugarColumn(ColumnName = "mat_name", Length = 150, IsNullable = false, ColumnDescription = "物料名称")]
        public string MatName { get; set; }

        /// <summary>
        /// 物料规格
        /// </summary>           
        [SugarColumn(ColumnName = "mat_spec", Length = 150, IsNullable = true, ColumnDescription = "物料规格")]
        public string? MatSpec { get; set; }


        [SugarColumn(ColumnName = "mat_unit", Length = 100, IsNullable = true, ColumnDescription = "物料单位")]
        public string? MatUnit { get; set; }

        /// <summary>
        /// 物料批次
        /// </summary>           
        [SugarColumn(ColumnName = "mat_batch", Length = 150, IsNullable = true, ColumnDescription = "物料批次")]
        public string? MatBatch { get; set; }

        /// <summary>
        /// 物料供应商
        /// </summary>           
        [SugarColumn(ColumnName = "mat_supplier", Length = 150, IsNullable = true, ColumnDescription = "物料供应商")]
        public string? MatSupplier { get; set; }

        /// <summary>
        /// 物料客户
        /// </summary>           
        [SugarColumn(ColumnName = "mat_customer", Length = 150, IsNullable = true, ColumnDescription = "物料客户")]
        public string? MatCustomer { get; set; }

        /// <summary>
        /// 物料数量 
        /// </summary>
        [SugarColumn(ColumnName = "mat_qty", IsNullable = false, ColumnDescription = "物料数量")]
        public int MatQty { get; set; }

        /// <summary>
        /// 是否已打印
        /// </summary>
        [SugarColumn(ColumnName = "is_printed", ColumnDescription = "是否已打印")]
        public bool IsPrinted { get; set; } = false;

        /// <summary>
        /// 打印次数
        /// </summary>
        [SugarColumn(ColumnName = "printed_times", DefaultValue = "0", ColumnDescription = "打印次数")]
        public int PrintedTimes { get; set; }

        /// <summary>
        /// Desc:更新人
        /// Default:
        /// Nullable:True
        /// </summary>           
        [SugarColumn(ColumnName = "modify_user", IsNullable = true, Length = 50, ColumnDescription = "更新人")]
        public string? ModifyUser { get; set; }

        /// <summary>
        /// Desc:更新时间
        /// Default:
        /// Nullable:True
        /// </summary>           
        [SugarColumn(ColumnName = "modify_time", IsNullable = true, ColumnDescription = "更新时间")]
        public DateTime? ModifyTime { get; set; } = DateTime.Now;

        /// <summary>
        /// 用于绑定DataGrid中是否选择
        /// </summary>
        [SugarColumn(IsIgnore = true)]
        public bool IsSelected { get; set; }

        /// <summary>
        /// 用于绑定中显示序号
        /// </summary>
        [SugarColumn(IsIgnore = true)]
        public int RowNumber { get; set; }
    }
}
