using Admin.NET.Core;
using System.ComponentModel.DataAnnotations;
namespace Admin.NET.Application;
    /// 
    /// 包过程履历基础输入参数
    /// 
    public class WmsRecordPackageProcessBaseInput
    {
        /// 
        /// 包装号
        /// 
        public virtual string PackageCode { get; set; }
        
        /// 
        /// 生产单号
        /// 
        public virtual string Info5 { get; set; }
        
        /// 
        /// 批次号
        /// 
        public virtual string PlanNo { get; set; }
        
        /// 
        /// 订单号
        /// 
        public virtual string OrderId { get; set; }
        
        /// 
        /// 包状态
        /// 
        public virtual Admin.NET.Application.UpiStatusEnum UpiStatus { get; set; }
        
        /// 
        /// 标记
        /// 
        public virtual Admin.NET.Application.UpiFlagEnum? UpiFlag { get; set; }
        
        /// 
        /// 位置
        /// 
        public virtual string Location { get; set; }
        
        /// 
        /// 备注
        /// 
        public virtual string OperRemark { get; set; }
        
        /// 
        /// 创建时间
        /// 
        public virtual DateTime? CreateTime { get; set; }
        
        /// 
        /// 创建人Id
        /// 
        public virtual long? CreateUserId { get; set; }
        
        /// 
        /// 创建人
        /// 
        public virtual string CreateUserName { get; set; }
        
    }
    /// 
    /// 包过程履历分页查询输入参数
    /// 
    public class WmsRecordPackageProcessInput : BasePageInput
    {
        /// 
        /// 关键字查询
        /// 
        public string? SearchKey { get; set; }
        /// 
        /// 包装号
        /// 
        public string? PackageCode { get; set; }
        
        /// 
        /// 生产单号
        /// 
        public string? Info5 { get; set; }
        
        /// 
        /// 批次号
        /// 
        public string? PlanNo { get; set; }
        
        /// 
        /// 订单号
        /// 
        public string? OrderId { get; set; }
        
        /// 
        /// 包状态
        /// 
        public Admin.NET.Application.UpiStatusEnum? UpiStatus { get; set; }
        
        /// 
        /// 标记
        /// 
        public Admin.NET.Application.UpiFlagEnum? UpiFlag { get; set; }
        
        /// 
        /// 位置
        /// 
        public string? Location { get; set; }
        
        /// 
        /// 备注
        /// 
        public string? OperRemark { get; set; }
        
        /// 
        /// 创建时间
        /// 
        public DateTime? CreateTime { get; set; }
        
        /// 
         /// 创建时间范围
         /// 
         public List CreateTimeRange { get; set; } 
    }
    /// 
    /// 包过程履历增加输入参数
    /// 
    public class AddWmsRecordPackageProcessInput : WmsRecordPackageProcessBaseInput
    {
        /// 
        /// 包装号
        /// 
        [Required(ErrorMessage = "包装号不能为空")]
        public override string PackageCode { get; set; }
        
        /// 
        /// 批次号
        /// 
        [Required(ErrorMessage = "批次号不能为空")]
        public override string PlanNo { get; set; }
        
        /// 
        /// 订单号
        /// 
        [Required(ErrorMessage = "订单号不能为空")]
        public override string OrderId { get; set; }
        
        /// 
        /// 包状态
        /// 
        [Required(ErrorMessage = "包状态不能为空")]
        public override Admin.NET.Application.UpiStatusEnum UpiStatus { get; set; }
        
    }
    /// 
    /// 包过程履历删除输入参数
    /// 
    public class DeleteWmsRecordPackageProcessInput : BaseIdInput
    {
    }
    /// 
    /// 包过程履历更新输入参数
    /// 
    public class UpdateWmsRecordPackageProcessInput : AddWmsRecordPackageProcessInput
    {
        /// 
        /// 主键Id
        /// 
        [Required(ErrorMessage = "主键Id不能为空")]
        public long Id { get; set; }
        
    }
    /// 
    /// 包过程履历主键查询输入参数
    /// 
    public class QueryByIdWmsRecordPackageProcessInput : DeleteWmsRecordPackageProcessInput
    {
    }