using FluentValidation; using Kean.Domain.Stock.Models; using System; using System.Collections.Generic; namespace Kean.Domain.Task.Commands { /// <summary> /// 创建申请出库命令 /// </summary> public class ApplyOutCommand : CommandValidator<ApplyOutCommand>, ICommand { /// <summary> /// 库房 /// </summary> public int Warehouse { get; set; } /// <summary> /// 托盘条码 /// </summary> public string Barcode { get; set; } /// <summary> /// 目标位置 /// </summary> public object Destination { get; set; } public object Original { get; set; } /// <summary> /// 优先级 /// </summary> public int? Priority { get; set; } /// <summary> /// 操作者 /// </summary> public int Operator { get; set; } /// <summary> /// 是否手动 /// </summary> public bool Manual { get; set; } /// <summary> /// 标签 /// </summary> public string Tag { get; set; } /// <summary> /// 前续连接 /// </summary> public int? Previous { get; set; } /// <summary> /// 物料 /// </summary> public IEnumerable<int> Materials { get; set; } /// <summary> /// /// </summary> public Batch Batch { get; set; } /// <summary> /// 时间戳 /// </summary> internal DateTime? Timestamp { get; set; } /// <summary> /// 验证项 /// </summary> protected override void Validation() { RuleFor(r => r.Destination).NotEmpty().WithMessage("目标位置不允许空"); } /// <summary> /// 标识 /// </summary> [Output] public int Id { get; private set; } /// <summary> /// 事务 /// </summary> public string Transaction { get; set; } /// <summary> /// 申请编号 /// </summary> public string RequestNo { get; set; } /// <summary> /// 极片卷数量 /// </summary> public int Qty { get; set; } /// <summary> /// 物料属性 状态 /// </summary> public string Qc { get; set; } /// <summary> /// 物料属性 是否可用 /// </summary> public bool enable { get; set; } /// <summary> /// 物料属性 是否本地 /// </summary> public string IsLocal { get; set; } /// <summary> /// 备注 /// </summary> public string Remark { get; set; } } }