using CMS.Plugin.HIAWms.Domain.Shared.Enums;
using CmsQueryExtensions;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Domain.Entities;
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsContainers;
/// 
/// WmsContainer数据参数对象
/// 
public class WmsContainerDto : ExtensibleEntityDto, IHasConcurrencyStamp
{
    /// 
    /// 托盘编号
    /// 
    public string ContainerNo { get; set; }
    /// 
    /// 托盘类型
    /// 
    public ContainerTypeEnum ContainerType { get; set; }
    /// 
    /// 托盘类型
    /// 
    public string ContainerTypeDesc
    {
        get
        {
            return GetEnumDescriptionUtil.GetEnumDescription(ContainerType);
        }
    }
    /// 
    /// 托盘状态
    /// 
    public ContainerStatusEnum ContainerStatus { get; set; }
    /// 
    /// 托盘状态
    /// 
    public string ContainerStatusDesc
    {
        get
        {
            return GetEnumDescriptionUtil.GetEnumDescription(ContainerStatus);
        }
    }
    /// 
    /// 长度
    /// 
    public decimal? SpecLength { get; set; }
    /// 
    /// 宽度
    /// 
    public decimal? SpecWidth { get; set; }
    /// 
    /// 高度
    /// 
    public decimal? SpecHeight { get; set; }
    /// 
    /// 限长
    /// 
    public decimal? LimitLength { get; set; }
    /// 
    /// 限宽
    /// 
    public decimal? LimitWidth { get; set; }
    /// 
    /// 限高
    /// 
    public decimal? LimitHeight { get; set; }
    /// 
    /// 载重上限
    /// 
    public decimal? MaxWeight { get; set; }
    /// 
    /// 异常数量
    /// 
    public int? ExceptionNumber { get; set; }
    /// 
    ///物料数量
    /// 
    public int? MaterialNumber { get; set; }
    /// 
    /// 冗余字段1 - 预留扩展用途
    /// 
    public string RedundantField1 { get; set; }
    /// 
    /// 冗余字段2 - 预留扩展用途
    /// 
    public string RedundantField2 { get; set; }
    /// 
    /// 冗余字段3 - 预留扩展用途
    /// 
    public string RedundantField3 { get; set; }
    /// 
    /// 排序
    /// 
    public virtual int Sort { get; set; }
    /// 
    /// 备注
    /// 
    public virtual string Remark { get; set; }
    /// 
    /// 是否禁用
    /// 
    public virtual bool? IsDisabled { get; set; }
    /// 
    /// 并发戳
    /// 
    public string ConcurrencyStamp { get; set; }
    /// 
    /// Gets the export data.
    /// 
    /// 
    public Dictionary GetExportData()
    {
        var exportData = new Dictionary();
        foreach (var property in this.GetType().GetProperties())
        {
            exportData.Add(property.Name, property.GetValue(this));
        }
        return exportData;
    }
}