using Masuit.Tools.Core.Validator;
using SqlSugar;
using System.ComponentModel.DataAnnotations;
using WIDESEA_Core.DB.Models;
namespace WIDESEA_Model.Models
{
    [SugarTable(nameof(DtBoxingInfo), "组盘信息")]
    public class DtBoxingInfo : BaseEntity
    {
        /// 
        /// 主键
        /// 
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int Id { get; set; }
        /// 
        /// 托盘编码
        /// 
        [Required]
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "托盘编号")]
        public string PalletCode { get; set; }
        /// 
        /// 是否满盘
        /// 
        [Required]
        [SugarColumn(IsNullable = true, ColumnDescription = "是否满盘")]
        public bool IsFull { get; set; } = true;
        /// 
        /// 备注
        /// 
        [SugarColumn(IsNullable = true, ColumnDescription = "备注")]
        public string Remark { get; set; }
        /// 
        /// 生产产线
        /// 
        [SugarColumn(IsNullable = true, ColumnDescription = "生产产线")]
        public string ProductionLine { get; set; }
        /// 
        /// 当前工序
        /// 
        [SugarColumn(IsNullable = true, ColumnDescription = "当前工序")]
        public string ProcessCode { get; set; }
        /// 
        /// 下一工序
        /// 
        [SugarColumn(IsNullable = true, ColumnDescription = "下一工序")]
        public string NextProcessCode { get; set; }
        /// 
        /// 库存明细
        /// 
        [MinItemsCount(1)] // 检测集合元素最少1个
        [SugarColumn(ColumnName = "BoxingInfoDetails")]
        [Navigate(NavigateType.OneToMany, nameof(DtBoxingInfoDetail.BoxingInfoId))]
        public List? BoxingInfoDetails { get; set; }
    }
}