using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Khd.Core.Domain.Models
{
    [Table("wms_raw_preferred_out")]
    public class WmsRawPreferredOut
    {
        [Key]
        [Column("raw_preferred_out_id")]
        public long RawPreferredOutId { get; set; } // 优先出库ID

        [Column("warehouse_id")]
        public long WarehouseId { get; set; } // 仓库ID

        [Column("warehouse_floor")]
        public int? WarehouseFloor { get; set; } // 仓库楼层

        [Column("location_code")]
        [Required]
        [MaxLength(64)]
        public string LocationCode { get; set; } // 库位编码

        [Column("stock_type")]
        [Required]
        [MaxLength(1)]
        public string StockType { get; set; } // 库存类型：1原材料，2成品

        [Column("material_id")]
        public long MaterialId { get; set; } // 物料ID

        [Column("create_by")]
        [MaxLength(64)]
        public string CreateBy { get; set; } // 创建人

        [Column("create_date")]
        public DateTime? CreateDate { get; set; } // 创建时间

        [Column("update_by")]
        [MaxLength(64)]
        public string UpdateBy { get; set; } // 最后更新人

        [Column("update_date")]
        public DateTime? UpdateDate { get; set; } // 最后更新时间

        [Column("use_flag")]
        [Required]
        [MaxLength(1)]
        public string UseFlag { get; set; } = "1"; // 有效标记
    }
}
